diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 08bf2fefc9f..c572710e85a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,17 +3,19 @@ ## Описание - + -## Ссылка на предложение/Причина создания ПР +## Причина создания ПР / Почему это хорошо для игры - - + + + + ## Демонстрация изменений - + ## Тесты - + diff --git a/.github/workflows/testmerge.yml b/.github/workflows/testmerge.yml index ecc9206c851..177bc370ab0 100644 --- a/.github/workflows/testmerge.yml +++ b/.github/workflows/testmerge.yml @@ -150,6 +150,15 @@ jobs: git commit -m "Automatic changelog generation" fi + # Generate TGUI bundle + ./tgui/bin/tgui + CHANGES=$(git diff --name-only --cached | wc -l) + if [ "$CHANGES" -gt 0 ] ; then + git config --local user.email "action@github.com" + git config --local user.name "TGUI bundle Generation" + git commit -m "Testmerge TGUI bundle build generation" + fi + git push -f origin ${{ env.TESTMERGE_BRANCH }} # Output the list of merged PRs diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm index 7888e455df4..e1b88a5d516 100644 --- a/_maps/map_files/Delta/delta.dmm +++ b/_maps/map_files/Delta/delta.dmm @@ -897,13 +897,9 @@ /area/quartermaster/delivery) "ajG" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/effect/decal/warning_stripes/east, @@ -1662,6 +1658,9 @@ /area/maintenance/fore) "aqe" = ( /obj/effect/landmark/start/trainee_engineer, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -13402,8 +13401,6 @@ "bGW" = ( /obj/effect/decal/warning_stripes/southwestcorner, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable/yellow{ @@ -17371,8 +17368,6 @@ "cam" = ( /obj/effect/decal/warning_stripes/east, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ @@ -18008,9 +18003,7 @@ icon_state = "4-8" }, /obj/effect/decal/warning_stripes/south, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel, /area/engineering/engine) "cdj" = ( @@ -19753,6 +19746,10 @@ /area/maintenance/banya) "cml" = ( /obj/machinery/vending/autodrobe, +/obj/machinery/camera{ + c_tag = "Clown Office"; + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "bar" }, @@ -19873,6 +19870,9 @@ dir = 4 }, /obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -19885,11 +19885,6 @@ }, /area/hydroponics) "cmR" = ( -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, /obj/effect/decal/warning_stripes/east, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -19897,6 +19892,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/engineering/engine) "cmV" = ( @@ -19906,6 +19904,9 @@ /obj/structure/sign/fire{ pixel_x = 32 }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -19999,14 +20000,14 @@ /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "cnq" = ( -/obj/machinery/camera{ - c_tag = "Clown Office" - }, /obj/structure/bed, /obj/item/bedsheet/clown, /obj/structure/sign/poster/official/random{ pixel_y = 32 }, +/obj/machinery/light{ + dir = 1 + }, /turf/simulated/floor/plasteel{ icon_state = "bar" }, @@ -20037,6 +20038,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/storage/secure) "cnD" = ( @@ -20411,6 +20415,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -21153,8 +21160,6 @@ /area/hydroponics) "ctV" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/machinery/atmospherics/unary/vent_scrubber/on, @@ -21506,8 +21511,6 @@ "cvI" = ( /obj/effect/decal/warning_stripes/east, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/simulated/floor/plasteel, @@ -24384,12 +24387,12 @@ "cHz" = ( /obj/structure/bed, /obj/item/bedsheet/mime, -/obj/machinery/camera{ - c_tag = "Mime Office" - }, /obj/structure/sign/poster/official/random{ pixel_y = 32 }, +/obj/machinery/light{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "tranquillite" @@ -26063,7 +26066,8 @@ }, /obj/structure/filingcabinet/chestdrawer, /obj/item/radio/intercom{ - pixel_y = -28 + pixel_y = -26; + pixel_x = 0 }, /turf/simulated/floor/plasteel{ dir = 6; @@ -26821,8 +26825,6 @@ }, /obj/effect/decal/warning_stripes/northeastcorner, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/simulated/floor/plasteel, @@ -26876,8 +26878,6 @@ /obj/machinery/atmospherics/pipe/manifold/visible, /obj/effect/decal/warning_stripes/north, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/simulated/floor/plasteel, @@ -33444,8 +33444,6 @@ /obj/effect/decal/warning_stripes/south, /obj/structure/cable/yellow, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -34863,9 +34861,7 @@ /area/security/permabrig) "dBp" = ( /obj/effect/decal/warning_stripes/south, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel, /area/engineering/engine) "dBr" = ( @@ -35089,6 +35085,7 @@ pixel_y = 4 }, /obj/item/book/manual/engineering_particle_accelerator, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "yellow" @@ -35580,6 +35577,9 @@ /turf/simulated/floor/engine/o2, /area/atmos) "dEs" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, /turf/simulated/floor/plasteel, /area/engineering/engine) "dEt" = ( @@ -36758,8 +36758,6 @@ icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/lattice/catwalk, @@ -37986,11 +37984,6 @@ /turf/space, /area/space) "dOM" = ( -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, /obj/effect/decal/warning_stripes/northwest, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -38374,6 +38367,9 @@ dir = 4 }, /obj/effect/decal/warning_stripes/east, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/simulated/floor/plating, /area/engineering/engine) "dQB" = ( @@ -38434,16 +38430,6 @@ }, /area/quartermaster/miningdock) "dQQ" = ( -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, /obj/item/twohanded/required/kirbyplants, /obj/effect/decal/warning_stripes/west, /obj/machinery/computer/security/telescreen/singularity{ @@ -38464,11 +38450,6 @@ }, /area/quartermaster/storage) "dQS" = ( -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/effect/landmark/start/engineer, /turf/simulated/floor/plasteel{ icon_state = "yellowfull" @@ -38477,11 +38458,6 @@ "dQT" = ( /obj/structure/disposalpipe/segment, /obj/machinery/hologram/holopad, -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/effect/decal/warning_stripes/yellow/hollow, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -38492,6 +38468,9 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -38539,6 +38518,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -38551,6 +38533,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -38655,6 +38640,9 @@ }, /area/chapel/office) "dRw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -38874,20 +38862,13 @@ /turf/simulated/floor/plasteel, /area/crew_quarters/locker/locker_toilet) "dSy" = ( +/obj/effect/decal/warning_stripes/east, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; - icon_state = "2-4" + icon_state = "1-2" }, -/obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plating, /area/engineering/engine) "dSz" = ( -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/effect/decal/warning_stripes/yellow, /obj/machinery/door/poddoor/preopen{ id_tag = "Singularity"; @@ -38913,11 +38894,6 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, /obj/effect/decal/warning_stripes/southwest, /turf/simulated/floor/plasteel, /area/engineering/engine) @@ -39382,8 +39358,6 @@ /area/quartermaster/miningdock) "dUA" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ @@ -39761,8 +39735,6 @@ /area/hydroponics) "dVW" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/warning_stripes/northwest, @@ -40196,13 +40168,9 @@ /area/medical/medbay) "dXn" = ( /obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/effect/decal/warning_stripes/north, @@ -44084,9 +44052,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/decal/warning_stripes/south, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel, /area/engineering/engine) "eMg" = ( @@ -44994,6 +44960,14 @@ }, /turf/simulated/floor/plasteel, /area/security/main) +"eWl" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "neutralfull" + }, +/area/engineering/engine) "eWs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -46873,7 +46847,6 @@ /area/quartermaster/office) "fui" = ( /obj/structure/cable/yellow{ - d2 = 8; icon_state = "0-8" }, /obj/machinery/power/smes{ @@ -47213,8 +47186,6 @@ /area/security/customs) "fyJ" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -47966,6 +47937,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/storage/secure) "fIg" = ( @@ -48477,7 +48451,9 @@ }, /area/engineering/engine) "fPD" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "yellowfull" }, @@ -48542,9 +48518,11 @@ /turf/simulated/floor/plating, /area/maintenance/fpmaint) "fQv" = ( -/turf/simulated/floor/plasteel{ - icon_state = "yellowfull" +/obj/effect/decal/warning_stripes/west, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, +/turf/simulated/floor/plasteel, /area/engineering/engine) "fQD" = ( /obj/structure/chair/comfy/red{ @@ -49733,6 +49711,7 @@ }, /area/maintenance/kitchen) "geb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "yellow" @@ -50310,9 +50289,6 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /mob/living/simple_animal/possum/Poppy, /obj/structure/bed/dogbed/pet, /turf/simulated/floor/plasteel, @@ -50477,13 +50453,9 @@ icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/lattice/catwalk, @@ -51302,13 +51274,9 @@ /area/toxins/storage) "gzX" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ @@ -51585,8 +51553,6 @@ "gDQ" = ( /obj/structure/grille, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/effect/decal/warning_stripes/southwest, @@ -61476,6 +61442,9 @@ /area/maintenance/portsolar) "iYh" = ( /obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -66106,8 +66075,6 @@ req_access = list(10,13) }, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /turf/simulated/floor/plating/airless, @@ -68157,8 +68124,6 @@ "kHo" = ( /obj/structure/grille, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable/yellow{ @@ -69325,8 +69290,6 @@ "kZJ" = ( /obj/structure/grille, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/effect/decal/warning_stripes/north, @@ -73239,6 +73202,14 @@ icon_state = "dark" }, /area/security/warden) +"lYo" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "neutralfull" + }, +/area/engineering/engine) "lYu" = ( /obj/effect/decal/warning_stripes/southeastcorner, /obj/machinery/light/small{ @@ -76170,7 +76141,6 @@ }, /area/medical/medbay2) "mGs" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ icon_state = "1-2" }, @@ -76178,6 +76148,9 @@ dir = 8 }, /obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -78198,8 +78171,6 @@ /area/crew_quarters/fitness) "nfv" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/cable/yellow{ @@ -78792,8 +78763,6 @@ /area/medical/virology/lab) "nml" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/effect/decal/warning_stripes/southwest, @@ -79469,6 +79438,9 @@ d2 = 2; icon_state = "1-2" }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -79930,11 +79902,9 @@ /area/security/prison/cell_block/A) "nAz" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; - icon_state = "1-4" + icon_state = "1-2" }, -/obj/effect/decal/warning_stripes/east, +/obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating, /area/engineering/engine) "nAA" = ( @@ -80502,8 +80472,6 @@ icon_state = "1-2" }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/lattice/catwalk, @@ -80511,6 +80479,10 @@ /area/space) "nGG" = ( /obj/machinery/vending/autodrobe, +/obj/machinery/camera{ + c_tag = "Mime Office"; + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "tranquillite" @@ -83322,8 +83294,6 @@ "oqc" = ( /obj/structure/grille, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/warning_stripes/south, @@ -84351,6 +84321,9 @@ c_tag = "Research Central Hallway"; network = list("Research","SS13") }, +/obj/machinery/alarm{ + pixel_y = 22 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" @@ -85963,6 +85936,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/simulated/floor/plasteel{ icon_state = "purplefull" }, @@ -87934,12 +87910,10 @@ /turf/simulated/floor/plating, /area/maintenance/garden) "ptE" = ( +/obj/effect/decal/warning_stripes/northeastcorner, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" + icon_state = "1-4" }, -/obj/effect/decal/warning_stripes/northeastcorner, /turf/simulated/floor/plasteel, /area/engineering/engine) "pua" = ( @@ -90400,8 +90374,6 @@ "pUS" = ( /obj/structure/grille, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/warning_stripes/northwest, @@ -91989,8 +91961,6 @@ /area/security/interrogation) "qlZ" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/structure/lattice/catwalk, @@ -94046,6 +94016,15 @@ icon_state = "neutralfull" }, /area/storage/tech) +"qJy" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "yellow" + }, +/area/engineering/engine) "qJB" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable{ @@ -94209,8 +94188,6 @@ "qKZ" = ( /obj/structure/grille, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/warning_stripes/southeastcorner, @@ -95870,9 +95847,6 @@ }, /area/toxins/xenobiology) "rfz" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, /obj/effect/decal/warning_stripes/south, /obj/item/twohanded/required/kirbyplants, /obj/structure/window/reinforced{ @@ -99176,6 +99150,16 @@ }, /turf/simulated/floor/plating, /area/security/prison/cell_block/A) +"rVk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/cable, +/obj/machinery/power/apc{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/plasteel, +/area/storage/secure) "rVt" = ( /obj/structure/cable{ icon_state = "4-8" @@ -100994,6 +100978,20 @@ icon_state = "dark" }, /area/security/prisonershuttle) +"srT" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "yellowfull" + }, +/area/engineering/engine) "srW" = ( /obj/structure/cable{ icon_state = "1-8" @@ -101150,8 +101148,6 @@ "sui" = ( /obj/structure/grille, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ @@ -106067,22 +106063,15 @@ }, /area/medical/research/shallway) "tED" = ( -/obj/structure/cable/yellow{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "yellowfull" }, @@ -108150,8 +108139,12 @@ /turf/simulated/floor/plasteel, /area/toxins/xenobiology) "ual" = ( -/obj/machinery/alarm{ - pixel_y = 22 +/obj/machinery/power/apc{ + dir = 1; + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "0-2" }, /turf/simulated/floor/plasteel{ dir = 1; @@ -110390,14 +110383,13 @@ /turf/simulated/wall, /area/maintenance/asmaint) "uCs" = ( -/obj/structure/cable/yellow{ - d2 = 2; - icon_state = "0-2" - }, /obj/machinery/power/terminal{ dir = 1 }, /obj/effect/decal/warning_stripes/northeast, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, /turf/simulated/floor/plasteel, /area/engineering/engine) "uCv" = ( @@ -110938,8 +110930,6 @@ req_access = list(10,13) }, /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /turf/simulated/floor/plating/airless, @@ -112097,8 +112087,6 @@ /area/hallway/primary/central/ne) "uXS" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ @@ -114774,8 +114762,6 @@ /area/engineering/break_room) "vCh" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ @@ -116689,8 +116675,6 @@ /area/security/prisonershuttle) "wav" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/cable/yellow{ @@ -116894,16 +116878,15 @@ /area/engineering/aienter) "wcz" = ( /obj/structure/cable/yellow{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/warning_stripes/east, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, /turf/simulated/floor/plasteel, /area/engineering/engine) "wcB" = ( @@ -120499,9 +120482,6 @@ }, /area/maintenance/kitchen) "wXm" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/machinery/door/window/eastleft{ dir = 1; req_access = list(10) @@ -121465,8 +121445,6 @@ /area/maintenance/engineering) "xiR" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/structure/lattice/catwalk, @@ -122038,8 +122016,6 @@ "xqC" = ( /obj/structure/grille, /obj/structure/cable/yellow{ - d1 = 1; - d2 = 4; icon_state = "1-4" }, /obj/effect/decal/warning_stripes/northeastcorner, @@ -125740,8 +125716,6 @@ /area/maintenance/engineering) "ybT" = ( /obj/structure/cable/yellow{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/effect/decal/warning_stripes/southeastcorner, @@ -148231,7 +148205,7 @@ cwu cwu cwu dVW -eQV +nAz hWL eQV nml @@ -149511,12 +149485,12 @@ mPg cCp dBp dCv -tzM -tzM +eWl +lYo dQD bXU dXo -nAz +dSy dQA dSy dUC @@ -149783,7 +149757,7 @@ tzM mQp eAb uyI -tzM +eIu wXm gVN pgt @@ -150026,7 +150000,7 @@ dza dUI dCz egF -egF +qJy xNt dJD pei @@ -150040,7 +150014,7 @@ egF egF nQt uyI -fQv +dza gmI bXU hLD @@ -150283,7 +150257,7 @@ eIu cbc tPh tPh -tPh +fQv tPh tPh tPh @@ -150540,7 +150514,7 @@ ryM dXD nkf dXD -nkf +srT dXD nkf dXD @@ -153887,7 +153861,7 @@ utt jtS coh cmV -dOZ +rVk ufR mDe smf diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm index 1fad6ae212c..85a6f8c9e40 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm @@ -1402,6 +1402,14 @@ }, /turf/simulated/mineral/volcanic/lava_land_surface, /area/lavaland/surface/outdoors) +"qj" = ( +/obj/structure/stone_tile/cracked{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_lava, +/obj/effect/decal/cleanable/ashrune, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "zz" = ( /obj/effect/mapping_helpers/no_lava, /obj/structure/stone_tile{ @@ -1606,7 +1614,7 @@ ak ak cg cb -cg +qj cn bL dr diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cube.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cube.dmm index 5f12c66b757..39c5fe42e28 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cube.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cube.dmm @@ -10,6 +10,7 @@ /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "d" = ( +/obj/effect/mapping_helpers/no_lava, /turf/simulated/wall/indestructible, /area/lavaland/surface/outdoors) "e" = ( diff --git a/_maps/map_files/RandomZLevels/spacebattle.dmm b/_maps/map_files/RandomZLevels/spacebattle.dmm index 841225c8c6c..39b0dc4245f 100644 --- a/_maps/map_files/RandomZLevels/spacebattle.dmm +++ b/_maps/map_files/RandomZLevels/spacebattle.dmm @@ -1432,7 +1432,7 @@ id = "GATE"; req_access = list(150) }, -/obj/machinery/door/poddoor{ +/obj/machinery/door/poddoor/impassable{ id_tag = "GATE"; layer = 2.8 }, @@ -6895,7 +6895,7 @@ /area/awaymission/spacebattle/hallway9) "tC" = ( /obj/structure/table/reinforced, -/obj/machinery/door_control{ +/obj/machinery/door_control/secure{ id = "GATE"; name = "Nuke Vault Door Controller" }, diff --git a/_maps/map_files/RandomZLevels/stationCollision.dmm b/_maps/map_files/RandomZLevels/stationCollision.dmm index 1fa06f86925..54e29b02b74 100644 --- a/_maps/map_files/RandomZLevels/stationCollision.dmm +++ b/_maps/map_files/RandomZLevels/stationCollision.dmm @@ -1007,7 +1007,7 @@ }, /area/awaymission/research) "dm" = ( -/obj/singularity/narsie/sc_Narsie, +/obj/singularity/god/narsie/sc_Narsie, /turf/space, /area/awaymission/research) "dn" = ( diff --git a/_maps/map_files/RandomZLevels/wildwest.dmm b/_maps/map_files/RandomZLevels/wildwest.dmm index 679f0dc5313..f1e41c891cd 100644 --- a/_maps/map_files/RandomZLevels/wildwest.dmm +++ b/_maps/map_files/RandomZLevels/wildwest.dmm @@ -28,17 +28,6 @@ tag = "icon-bcircuitoff" }, /area/awaymission/wwvault) -"ah" = ( -/turf/simulated/wall/cult, -/area/awaymission/wwvault) -"ai" = ( -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/simulated/wall/cult, -/area/awaymission/wwvault) "aj" = ( /turf/simulated/floor/shuttle/plating{ icon_state = "cultdamage3"; @@ -62,14 +51,6 @@ tag = "icon-bcircuitoff" }, /area/awaymission/wwvault) -"an" = ( -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/simulated/wall/indestructible/cult, -/area/awaymission/wwvault) "ao" = ( /turf/simulated/floor/shuttle/plating{ icon_state = "gcircuitoff"; @@ -198,41 +179,22 @@ /area/awaymission/wwvault) "aF" = ( /obj/machinery/door/airlock/vault{ - locked = 1 + locked = 1; + use_power = 0 }, /turf/simulated/floor/engine/cult, -/area/awaymission/wwvaultdoors) +/area/awaymission/wwvault) "aG" = ( /turf/simulated/mineral, /area/space/nearstation) "aH" = ( -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/power/apc/noalarm{ - dir = 1; - pixel_y = 32 - }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "barber" - }, -/area/awaymission/wwmines) -"aI" = ( -/obj/machinery/power/smes/magical, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "barber" +/obj/machinery/door/airlock/vault{ + locked = 1; + use_power = 0 }, -/area/awaymission/wwmines) -"aJ" = ( /obj/machinery/door/airlock/vault{ - locked = 1 + locked = 1; + use_power = 0 }, /turf/simulated/floor/engine/cult, /area/awaymission/wwvault) @@ -248,55 +210,34 @@ /area/awaymission/wwmines) "aM" = ( /turf/simulated/mineral/random, -/area/awaymission/wwmines) +/area/space/nearstation) "aN" = ( /turf/simulated/mineral, /area/awaymission/wwmines) "aO" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "barber" - }, -/area/awaymission/wwmines) +/turf/simulated/floor/engine/cult, +/area/space/nearstation) "aP" = ( /obj/effect/forcefield{ desc = "You can't get in. Heh."; layer = 1; - name = "Blocker" + name = "Blocker"; + lifetime = 0; + icon = 'icons/mob/actions/actions.dmi'; + icon_state = "cultforcewall" }, /turf/space, /area/space/nearstation) "aQ" = ( -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/simulated/mineral, +/turf/simulated/wall/indestructible/mineral_rock, /area/space/nearstation) "aR" = ( -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/simulated/mineral, +/turf/simulated/wall/indestructible/mineral_rock, /area/awaymission/wwmines) "aS" = ( /obj/effect/mob_spawn/human/corpse/syndicatecommando, /turf/simulated/floor/engine/cult, -/area/awaymission/wwvault) -"aT" = ( -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/simulated/mineral/random, -/area/awaymission/wwmines) +/area/space/nearstation) "aU" = ( /turf/simulated/wall/mineral/sandstone, /area/awaymission/wwrefine) @@ -309,18 +250,10 @@ info = "meat grinder requires sacri" }, /turf/simulated/floor/engine/cult, -/area/awaymission/wwvault) +/area/space/nearstation) "aX" = ( /turf/simulated/floor/plating/ironsand, /area/awaymission/wwmines) -"aY" = ( -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/simulated/mineral, -/area/awaymission/wwrefine) "aZ" = ( /obj/effect/decal/cleanable/cobweb, /turf/simulated/floor/plating, @@ -332,14 +265,6 @@ /obj/machinery/door/airlock/sandstone, /turf/simulated/floor/plating, /area/awaymission/wwrefine) -"bc" = ( -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/simulated/wall/mineral/sandstone, -/area/awaymission/wwmines) "bd" = ( /obj/effect/decal/cleanable/blood/gibs/body{ icon_state = "gibup1"; @@ -347,9 +272,6 @@ }, /turf/simulated/floor/plating/ironsand, /area/awaymission/wwmines) -"be" = ( -/turf/simulated/wall/mineral/sandstone, -/area/space/nearstation) "bf" = ( /obj/structure/largecrate, /turf/simulated/floor/plating, @@ -2434,15 +2356,6 @@ }, /turf/simulated/floor/wood, /area/awaymission/wwmines) -"gN" = ( -/obj/effect/decal/cleanable/blood/splatter, -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/simulated/mineral, -/area/awaymission/wwmines) "gO" = ( /obj/item/pickaxe/gold, /turf/simulated/floor/wood, @@ -2493,15 +2406,6 @@ /obj/structure/window/reinforced, /turf/simulated/floor/grass, /area/awaymission/wwgov) -"hg" = ( -/obj/effect/decal/cleanable/blood, -/obj/effect/forcefield{ - desc = "You can't get in. Heh."; - layer = 1; - name = "Blocker" - }, -/turf/simulated/mineral, -/area/awaymission/wwmines) "hj" = ( /obj/machinery/door/airlock/titanium, /turf/simulated/floor/shuttle{ @@ -10201,7 +10105,7 @@ aa ab ac ac -ah +ab ac ac ab @@ -10457,9 +10361,9 @@ aa aa ab ac -ah -ah -ah +ab +ab +ab ac ab ab @@ -10715,15 +10619,15 @@ aa ab ac ac -ah -ah +ab +ab ac ac ac ac ac ac -ah +ab ab aa aa @@ -10958,8 +10862,8 @@ ab ab ac ac -ah -ah +ab +ab ac ac ab @@ -10973,14 +10877,14 @@ ab ab ac ac -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab ac -ah +ab ab ab aa @@ -11216,7 +11120,7 @@ ab ac ac ac -ah +ab ac ac ac @@ -11228,16 +11132,16 @@ ab ab ab ab -ah +ab ac -ah -ah +ab +ab ac ac ac ac ac -ah +ab ac ab aa @@ -11473,28 +11377,28 @@ ab ac ac ac -ah -ah +ab +ab ac ac ac ac -ah +ab ac ac ac ac -ah +ab ac ac -ah +ab ac af -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ac ab ab @@ -11731,27 +11635,27 @@ ac af ac ad -ah +ab ac ac ac ac -ah +ab ac ac -ah +ab ac -ah +ab af ac -ah +ab ac -ah -ah +ab +ab ac ac ac -ah +ab ac ac ab @@ -11983,32 +11887,32 @@ ab ab ab ac -ah +ab ac ac ac -ah -ah +ab +ab ac ac af ac -ah +ab ac ac -ah +ab ac -ah +ab ac ac -ah +ab ac ac ac ac ac ac -ah +ab ac ac ab @@ -12240,32 +12144,32 @@ ac ac ac ac -ah +ab ac ac -ah -ah -ah -ah +ab +ab +ab +ab ac ac ac -ah +ab ac ac -ah +ab ac ac ac ad -ah +ab ac ad ac ac ac ac -ah +ab ac ac ab @@ -12497,32 +12401,32 @@ ac ac ac ac -ah -ah +ab +ab ac -ah +ab ac ac -ah +ab ac ac ac -ah -ah +ab +ab ac -ah +ab ac ac ac ac -ah +ab ac ac ac -ah +ab ac ac -ah +ab ac ac ab @@ -12747,7 +12651,7 @@ aa aa ab ab -ah +ab ac ac ac @@ -12755,31 +12659,31 @@ ac ac ac ac -ah +ab ac -ah +ab ac af -ah -ah +ab +ab ac ac ac -ah +ab ac -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab ac ac ac -ah +ab ac ac -ah +ab ac ac ac @@ -13004,39 +12908,39 @@ aa ab ab ac -ah +ab ac ac ac -ah -ah +ab +ab ac ac -ah +ab ac -ah +ab ac ac ac -ah +ab ad ac ac -ah +ab ac ac ac ac ac ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ac ac -ah +ab ac ad ac @@ -13261,27 +13165,27 @@ ab ab ac ac -ah -ah +ab +ab ac ac ac -ah +ab ac ac -ah +ab ac -ah -ah +ab +ab ac ac -ah -ah +ab +ab ac -ah -ah +ab +ab ac -ah +ab ac ac ac @@ -13289,11 +13193,11 @@ ac ac ad ac -ah +ab ac ac ac -ah +ab ac ac ac @@ -13519,38 +13423,38 @@ ac ac ac ac -ah +ab ac ac ac -ah +ab ad ac -ah +ab ac ac -ah +ab ac ac ac ac ac -ah +ab ac ac -ah -ah -ah +ab +ab +ab af ac ac ac ac -ah +ab ac ac ac -ah +ab ac ac ac @@ -13776,38 +13680,38 @@ ac ac ac ac -ah -ah +ab +ab ac ac -ah +ab ac ac -ah +ab ac ac -ah -ah -ah +ab +ab +ab ac ac ac -ah +ab ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac -ah +ab ac ac ac -ah +ab ac ad ac @@ -14029,42 +13933,42 @@ ab ac ac ac -ah +ab ad ac ac ac -ah +ab ac ac -ah +ab ac ac -ah +ab ac ac ac ac -ah -ah +ab +ab ac ac -ah -ah +ab +ab ac ac ac ac ac -ah -ah +ab +ab ac ac -ah +ab ac af ac -aJ +aF ac ac ac @@ -14072,9 +13976,9 @@ ac ac ac ab -ac -ac -ac +aO +aO +aO aa aa aa @@ -14282,46 +14186,46 @@ aa aa ab ab -ah +ab ac ac ac -ah -ah +ab +ab ac af ac -ah +ab ac ac -ah +ab ac ac -ah +ab ad ac ac ac ac -ah -ah +ab +ab ac ac -ah -ah +ab +ab ac ac ac ac ac -ah +ab ac ac -ah +ab ac ac ac -aJ +aF ac ac ac @@ -14331,8 +14235,8 @@ ac ab aa aa -ac -ac +aO +aO aa aa aa @@ -14539,46 +14443,46 @@ aa aa ab ac -ah -ah +ab +ab ac ac ac -ah +ab ac ac ac -ah +ab af ac -ah +ab ac ac -ah -ah +ab +ab ac ac -ah +ab ac ac -ah +ab ac ac ac -ah -ah -ah +ab +ab +ab ad ac ac -ah +ab ac ac -ah +ab ac ac ac -ah +ab ac ad ac @@ -14589,7 +14493,7 @@ ab aa aa aa -ac +aO aa aa aa @@ -14797,45 +14701,45 @@ aa ab ac ac -ah +ab ac ac ac -ah +ab ac ac ac -ah +ab ac ac -ah +ab ac ac ac -ah +ab ac ac -ah +ab ac ac -ah -ah +ab +ab ac ac ac af -ah -ah +ab +ab ac ac -ah +ab ac ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ac ac ac @@ -14843,8 +14747,8 @@ ac ac ac ab -ac -ac +aO +aO aa aa aa @@ -15054,45 +14958,45 @@ aa ab ac ac -ah -ah +ab +ab ac ac -ah +ab ac ac ac -ah +ab ac ac -ah +ab ac ac ac -ah +ab ac ac -ah +ab ac ac ac -ah -ah +ab +ab ac ac ac ac -ah -ah +ab +ab ac -ah +ab ac ac ac ac ac ac -ah +ab ac ac ac @@ -15101,8 +15005,8 @@ ac ac ab aa -ac -ac +aO +aO aa aa aa @@ -15312,44 +15216,44 @@ ab ac ac ac -ah +ab ac ac -ah +ab ac ac ac -ah +ab ac ac -ah -ah +ab +ab ac ac -ah +ab ac ac -ah -ah +ab +ab ac ac ac -ah +ab ac ac ac ac ac -ah +ab ac -ah -ah +ab +ab ac ac ac ac ac -ah +ab ac ad aK @@ -15357,11 +15261,11 @@ ac ac ac ab -ac -ac -ac -ac -ac +aO +aO +aO +aO +aO aa aa aa @@ -15567,32 +15471,32 @@ aa aa ab ac -ah +ab ac -ah +ab ac ac -ah +ab ac ac ac -ah +ab ac ac ac -ah +ab ac ac -ah +ab ac ac ac -ah +ab ac af ac -ah -ah +ab +ab ac ac ac @@ -15600,13 +15504,13 @@ ac ac ac ac -ah +ab ac ac ac ac ac -ah +ab ac ac ac @@ -15615,9 +15519,9 @@ ac ac ab aa -ac -ac -ac +aO +aO +aO aa aa aa @@ -15824,46 +15728,46 @@ aa aa ab ac -ah +ab ac af ac ac -ah +ab ac ac -ah -ah +ab +ab ac ac ac -ah +ab ac ac -ah -ah +ab +ab ac ac -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab ac ac ac ac ac ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ac ac -ah +ab ac ac af @@ -15871,11 +15775,11 @@ ac ac ac ab -ac -ac -ac -ac -ac +aO +aO +aO +aO +aO aa aa aa @@ -16081,46 +15985,46 @@ aa aa ab ac -ah -ah +ab +ab ac ac ac -ah +ab ac ac -ah +ab ad ac ac ac -ah +ab ac ac ac -ah -ah +ab +ab ac ac ac ac ac ac -ah -ah +ab +ab ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac ac ac ac -ah +ab ac ad ac @@ -16132,7 +16036,7 @@ aa aa aa aa -ac +aO aa aa aa @@ -16339,36 +16243,36 @@ aa ab ac ac -ah +ab ad ac ac -ah +ab ac ac -ah +ab ac ac ac ac -ah -ah +ab +ab ad ac ac -ah -ah -ah -ah +ab +ab +ab +ab ac ac ac ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ac ac ac @@ -16377,7 +16281,7 @@ ac ac ac ac -ah +ab ac ac ac @@ -16389,8 +16293,8 @@ aa aa aa aa -ac -ac +aO +aO aa aa aa @@ -16596,11 +16500,11 @@ aa ab ac ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ac ac ac @@ -16609,20 +16513,20 @@ ac ac ac ac -ah -ah +ab +ab ac ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac -ah +ab ac ac ac @@ -16634,7 +16538,7 @@ ac ad ac ac -ah +ab ac ac ac @@ -16646,9 +16550,9 @@ ab ab ab ab -ac -ac -ac +aO +aO +aO aa aa aa @@ -16857,17 +16761,17 @@ ac ac ac ac -ah +ab ac ac ac ac ac ac -ah -ah -ah -ah +ab +ab +ab +ab ac af ac @@ -16875,23 +16779,23 @@ ac ac ac ad -ah +ab ac af ac -ah +ab ac ac ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac -ah +ab ac ad ac @@ -16901,14 +16805,14 @@ ac aF aW aS -ac -ac -ac -ac -ac -ac -ac -ac +aO +aO +aO +aO +aO +aO +aO +aO aa aa aa @@ -17109,19 +17013,19 @@ aa aa ab ab -ah -ah -ah +ab +ab +ab ac ac -ah -ah -ah +ab +ab +ab ac ac ac -ah -ah +ab +ab ac ac ac @@ -17132,23 +17036,23 @@ ac ac ac ac -ah +ab ac ac -ah -ah +ab +ab ac ac ac ac -ah -ah -ah +ab +ab +ab ac -ah +ab ac ac -ah +ab ac ac ac @@ -17156,17 +17060,17 @@ ac ac ac aF -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac -ac +aO +aO +aO +aO +aO +aO +aO +aO +aO +aO +aO aa aa aa @@ -17368,44 +17272,44 @@ aa ab ab ac -ah -ah +ab +ab ac ac ac -ah -ah -ah +ab +ab +ab ac -ah +ab ac ac -ah -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab +ab ac ac -ah +ab ac ac -ah +ab ac ac ac ac -ah -ah +ab +ab ad ac ac -ah +ab ac ac -ah +ab ac ac ac @@ -17417,12 +17321,12 @@ ab ab ab ab -ac -ac -ac -ac -ac -ac +aO +aO +aO +aO +aO +aO aa aa aa @@ -17626,43 +17530,43 @@ aa ab ac ac -ah +ab ac ac ac ac ad -ah -ah -ah +ab +ab +ab ac ac -ah +ab ac af ac ac ac -ah +ab ac ac ac ac ac -ah -ah +ab +ab ac ac ac -ah +ab ac ac af ac -ah +ab ac ac -ah +ab ac ad ac @@ -17883,31 +17787,31 @@ aa ab ac ac -ah -ah +ab +ab ac ac ac ac ac ac -ah +ab ac ac -ah +ab ac ac ac ac ac -ah -ah +ab +ab ac ac ac ac ac -ah +ab ac ac ac @@ -17916,10 +17820,10 @@ ac ac ac ac -ah +ab ac ac -ah +ab ac ac ac @@ -17929,8 +17833,8 @@ ac ab aa aa -ac -ac +aO +aO aa aa aa @@ -18141,42 +18045,42 @@ ab ac ac ac -ah +ab ac ac ac ac ac ac -ah +ab ac ac -ah -ah -ah -ah +ab +ab +ab +ab ac ac ac -ah +ab ac ac ac ac ac -ah +ab ac ac ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac -ah +ab ac ac ac @@ -18184,9 +18088,9 @@ ac ac ac ab -ac -ac -ac +aO +aO +aO aa aa aa @@ -18398,42 +18302,42 @@ ab ac ac ac -ah +ab ac ac ac ac ac ac -ah +ab ac ac ac ac ad -ah +ab ac ac ac -ah -ah -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab +ab +ab ac ac ac ac -ah -ah +ab +ab ac ac ac ac -ah +ab ac ad ac @@ -18441,10 +18345,10 @@ ac ac ac ab -ac -ac -ac -ac +aO +aO +aO +aO aa aa aa @@ -18655,21 +18559,21 @@ ab ac ac ac -ah -ah +ab +ab ac ac ac ac ac -ah +ab ac ac ac ac ac -ah -ah +ab +ab ac ac ac @@ -18679,18 +18583,18 @@ ac ac ac ac -ah -ah +ab +ab ac -ah -ah -ah +ab +ab +ab ac ac ac ac af -ah +ab ac ac ac @@ -18913,21 +18817,21 @@ ac ac ac ac -ah -ah +ab +ab ac ac ac ac -ah -ah +ab +ab ac ac ac ac ac -ah -ah +ab +ab ac ac ac @@ -18937,9 +18841,9 @@ ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac @@ -18947,16 +18851,16 @@ ac ac ac ac -ah +ab ac ac ab ab ab ab -ac -ac -ac +aO +aO +aO aa aa aa @@ -19171,25 +19075,25 @@ af ac ac ac -ah -ah +ab +ab ac ac ac ac -ah +ab ac ac ac ac ac ac -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab ad ac ac @@ -19209,12 +19113,12 @@ ab ab ab aa -ac +aO aa aa aa -ac -ac +aO +aO aa aa aa @@ -19421,7 +19325,7 @@ aa aa ab ab -ah +ab ac ac ac @@ -19429,22 +19333,22 @@ ac ac ac ac -ah +ab ac ac ac ac -ah -ah -ah -ah +ab +ab +ab +ab ac ac ac ac ac ac -ah +ab ac ac ac @@ -19466,13 +19370,13 @@ aa aa aa aa -ac +aO aa aa aa aa -ac -ac +aO +aO aa aa aa @@ -19677,39 +19581,39 @@ aa aa ab ab -ai +ab ac ac ac ad -ah +ab ac ac ac -ah -ah +ab +ab ac ac ac ac ac ac -ah +ab ac ac ac ac af -ah -ah +ab +ab ac ac ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ac ac ac @@ -19723,13 +19627,13 @@ aa aa aa aa -ac -ac -ac +aO +aO +aO aa aa aa -ac +aO aa aa aa @@ -19934,45 +19838,45 @@ aa ab ab ac -ai -ai +ab +ab ac ac ac -ah +ab ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac af ac -ah +ab ac ac -ah -ah -ah -ah +ab +ab +ab +ab ac ac ac ac -ah +ab af ac ac -ah -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab +ab ab aa aa @@ -19982,11 +19886,11 @@ aa aa aa aa -ac +aO aa aa aa -ac +aO aG aa aa @@ -20050,7 +19954,7 @@ aG aG aG aG -aN +aG aG aG aG @@ -20192,26 +20096,26 @@ ab ac ac ac -ai -ai +ab +ab ac ac -ah -ah +ab +ab ac ac ac ac ad -ah +ab ac ac ac ac -ah +ab ac ac -ah +ab ac ac ac @@ -20219,14 +20123,14 @@ ac ac ac ac -ah +ab ac ac ac ac ac -ah -ah +ab +ab ac ac ab @@ -20297,9 +20201,9 @@ aG aG aG aG -aN -aN -aN +aG +aG +aG aG aG aR @@ -20307,7 +20211,7 @@ aR aR aR aR -aN +aG aG aG aG @@ -20450,33 +20354,33 @@ ac ac ac ac -ai -ai +ab +ab ac ac -ah -ah -ah +ab +ab +ab ac ac ac -ah -ah -ah +ab +ab +ab ad ac -ah +ab ac ac -ah +ab ac ac ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ac ac ac @@ -20550,13 +20454,13 @@ aR aR aV aR -aN -aN -aN -aN -aN -aN -aN +aG +aG +aG +aG +aG +aG +aG aR aR aR @@ -20564,7 +20468,7 @@ aX aX aX aR -aN +aG aG aG aG @@ -20708,38 +20612,38 @@ ac ac ac ac -ai -ai +ab +ab ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac -ah -ah +ab +ab ac -ah +ab ac ac -ah +ab ac ac ac -ah +ab ad ac ac ac ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ac ac ac @@ -20807,8 +20711,8 @@ aX aX aX aR -aN -aN +aG +aG aR aR aR @@ -20966,23 +20870,23 @@ ac ac ac ac -ai +ab ac ac ac ac ad -ah +ab ac ac ac ac ac ac -ah +ab ac ac -ah +ab ac ac ac @@ -20991,11 +20895,11 @@ ac ac ac ac -ah -ah +ab +ab ad -ah -ah +ab +ab ac ac ac @@ -21018,8 +20922,8 @@ aQ aQ aQ aQ -be -be +aU +aU aU bf ba @@ -21223,32 +21127,32 @@ ac ac ac ac -ai +ab ac ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac ac -ah +ab ac ac -ah -ah -ah +ab +ab +ab ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac af @@ -21480,30 +21384,30 @@ ac ac ac ac -ai -ai +ab +ab ac ac ac af ac ac -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab ac ac ac af -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab ac ac ac @@ -21593,7 +21497,7 @@ aX aX aX aR -aN +aG aG aG "} @@ -21738,9 +21642,9 @@ ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac @@ -21750,8 +21654,8 @@ ac ac ac ad -ah -ah +ab +ab ac ac ac @@ -21764,11 +21668,11 @@ ac ac ac ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ab aa aa @@ -21850,7 +21754,7 @@ aX aX aX aR -aN +aG aG aG "} @@ -21997,9 +21901,9 @@ ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac @@ -22008,8 +21912,8 @@ ac ac ac ac -ah -ah +ab +ab ad ac ac @@ -22021,7 +21925,7 @@ ac ac ac ac -ah +ab ac ac ac @@ -22042,7 +21946,7 @@ aG aG aG aG -aY +aQ aU ba ba @@ -22107,7 +22011,7 @@ aX aX aX aR -aN +aG aG aG "} @@ -22256,7 +22160,7 @@ ac ac ac ac -ah +ab ac ac ac @@ -22266,10 +22170,10 @@ ac ac ac ac -ah -ah -ah -ah +ab +ab +ab +ab ac ac ac @@ -22277,8 +22181,8 @@ ac ac ac ac -ah -ah +ab +ab ac ac ac @@ -22298,8 +22202,8 @@ aG aG aG aG +aG aQ -aY aU ba ba @@ -22364,7 +22268,7 @@ gi gi gi aR -aN +aG aG aG "} @@ -22513,12 +22417,12 @@ ac ac ac ac -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab ac ac ac @@ -22526,15 +22430,15 @@ ac ac ac ac -ah -ah +ab +ab ac ac ac -ah -ah -ah -ah +ab +ab +ab +ab af ac ac @@ -22555,9 +22459,9 @@ aG aG aG aG +aG aQ aU -aU ba ba aU @@ -22611,7 +22515,7 @@ aX aX aX aX -gN +aR aR aR aX @@ -22621,7 +22525,7 @@ gi gi gi aR -aN +aG aG aG "} @@ -22775,26 +22679,26 @@ ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac ac af ac -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab ad ac ac ac ac -ah +ab ac ac ab @@ -22810,10 +22714,10 @@ aG aG aG aG -aN +aG +aR aR aR -bc aU bb bb @@ -23034,9 +22938,9 @@ ac ac ac ac -ah -ah -ah +ab +ab +ab ac ac ac @@ -23051,7 +22955,7 @@ ac ac ac ac -ah +ab ac ac ab @@ -23293,10 +23197,10 @@ ac ac ac ac -ah -ah -ah -ah +ab +ab +ab +ab ac ac ac @@ -23306,9 +23210,9 @@ ac ac ac ac -ah -ah -ah +ab +ab +ab ac af ab @@ -23323,7 +23227,7 @@ aG aG aG aG -aN +aG aR aV aX @@ -23391,7 +23295,7 @@ aR aX aX aX -gN +aR aG aG aG @@ -23553,17 +23457,17 @@ ac ac ac ac -ah -ah +ab +ab ac ac ac ac ac -ah -ah -ah -ah +ab +ab +ab +ab ad ac ac @@ -23582,7 +23486,7 @@ aG aG aR aR -aT +aR aX aX aX @@ -23634,7 +23538,7 @@ aN aR aX aX -gN +aR aR aX aX @@ -23644,7 +23548,7 @@ aX aR aN aR -gN +aR aR aX aX @@ -23811,13 +23715,13 @@ ac ac ac ac -ah -ah -ah -ah -ah -ah -ah +ab +ab +ab +ab +ab +ab +ab ac ac ac @@ -23837,9 +23741,9 @@ aG aG aG aG -aT +aR aX -aT +aR aX aX aX @@ -24074,7 +23978,7 @@ ac ac ac ac -ah +ab ac ac ac @@ -24094,7 +23998,7 @@ aG aG aG aG -aT +aR aX aX aX @@ -24331,15 +24235,15 @@ ac ac ac ac -ah -aF +ab aF -ah -ah -ah -ah -ai -ai +aH +ab +ab +ab +ab +ab +ab ab aP aQ @@ -24351,7 +24255,7 @@ aQ aQ aQ aQ -aT +aR aX aX aX @@ -24421,8 +24325,8 @@ aX aX aX aR -aG -aG +aQ +aQ "} (86,1,1) = {" aa @@ -24608,7 +24512,7 @@ aG aG aG aR -aT +aR aX aX aX @@ -24665,7 +24569,7 @@ aX aX aX aR -gN +aR aX aX aX @@ -25122,7 +25026,7 @@ aG aG aG aR -aT +aR aX aX aX @@ -25173,7 +25077,7 @@ aN aN aN aN -gN +aR aX er aX @@ -25379,7 +25283,7 @@ aG aG aG aM -aT +aR aX aX aX @@ -25448,7 +25352,7 @@ aR aX aX aX -gN +aR aG aG "} @@ -25636,7 +25540,7 @@ aG aG aG aG -aT +aR aX aX aX @@ -25894,7 +25798,7 @@ aG aG aG aR -aT +aR aX aX aX @@ -25957,7 +25861,7 @@ aN aR aX aX -gN +aR aR aX aX @@ -26150,8 +26054,8 @@ aG aG aG aG -aN -aT +aG +aR aX aX aX @@ -26407,8 +26311,8 @@ aG aG aG aG -aN -aT +aG +aR aX aX aX @@ -26665,7 +26569,7 @@ aG aG aG aG -aT +aR aX aX aX @@ -26720,7 +26624,7 @@ aX aX aX aR -gN +aR aX aX aX @@ -26922,7 +26826,7 @@ aG aG aG aR -aT +aR aX aX aX @@ -27178,7 +27082,7 @@ aG aG aG aG -aT +aR aX aX aX @@ -27236,15 +27140,15 @@ eX eX aR aR -hg +aR er aX bd -hg aR aR aR -gN +aR +aR aX aX aR @@ -27435,7 +27339,7 @@ aG aG aG aG -aT +aR aX aX aX @@ -27500,7 +27404,7 @@ aX aX aX aR -aN +aG aR aR aR @@ -27757,11 +27661,11 @@ aX aX aX aR -aN aG aG aG -aN +aG +aG aG aG "} @@ -28009,7 +27913,7 @@ aX er aX aX -hg +aR aR aR aR @@ -28463,7 +28367,7 @@ aa aa aa aG -aN +aG aR aX aX @@ -28521,7 +28425,7 @@ bh fc aX aR -gN +aR aR aR aa @@ -28778,7 +28682,7 @@ bh aX aX aR -aN +aG aG aG aa @@ -29035,7 +28939,7 @@ bh eX fc aR -aN +aG aG aG aa @@ -29292,7 +29196,7 @@ bh eX eX aR -aN +aG aG aG aa @@ -29549,7 +29453,7 @@ eo eX eX aR -aN +aG aG aG aG @@ -29748,7 +29652,7 @@ aa aa aa aG -aQ +aR aR aX aX @@ -29806,7 +29710,7 @@ bh eX aX aR -aN +aG aG aG aG @@ -29992,7 +29896,7 @@ aD ad ac ac -ab +ac ab aa aa @@ -30005,7 +29909,7 @@ aa aa aa aG -aQ +aR aX aX aX @@ -30063,7 +29967,7 @@ bh eX aX aR -aN +aG aG aG aG @@ -30248,8 +30152,8 @@ ac ac ac ac -ab -ab +ac +ac ab aa aa @@ -30262,7 +30166,7 @@ aa aa aG aG -aQ +aR aR aX aX @@ -30504,9 +30408,9 @@ ac ac ac ac -ab -ab -ab +ac +ac +ac ab aa aa @@ -30761,9 +30665,9 @@ ac ac ac ac -ab -aI -aO +ac +ac +ac ab aa aa @@ -31018,9 +30922,9 @@ ac ac al ac -ab -aH -aL +ac +ac +ac ab aa aa @@ -31275,8 +31179,8 @@ ac ac ac ac -ab -ab +ac +ac ab ab aa @@ -31348,7 +31252,7 @@ bh eX aX aR -aN +aG aG aG aa @@ -31533,7 +31437,7 @@ ac ac ac ac -ab +ac ab aa aa @@ -31605,7 +31509,7 @@ bh eX aX aR -aN +aG aG aG aa @@ -31790,7 +31694,7 @@ ac ac ac ac -ab +ac ab aa aa @@ -31862,7 +31766,7 @@ gP eB dK aR -aN +aG aG aG aa @@ -32047,7 +31951,7 @@ ac ac ac ac -ab +ac ab aa aa @@ -32891,7 +32795,7 @@ eX aX aR aR -aN +aG aG aG aa @@ -33148,7 +33052,7 @@ eX aX aR aR -aN +aG aG aa aa @@ -33405,7 +33309,7 @@ eX aX aX aR -aN +aG aG aG aa @@ -33662,7 +33566,7 @@ eX aX aX aR -aN +aG aG aG aG @@ -34332,11 +34236,11 @@ ac ag ag aj -an -an +ab +ab ag -an -an +ab +ab ag ag ag @@ -34589,11 +34493,11 @@ ac ad ag ag -an +ab ag ag ag -an +ab ag ag ag @@ -34630,7 +34534,7 @@ aa aa aG aG -aN +aG aR aR aX @@ -34845,13 +34749,13 @@ ac ac ac ac -an -an +ab +ab ag -an +ab ag -an -an +ab +ab ag ag ag @@ -35102,13 +35006,13 @@ ab ac ac ac -an +ab ag ac ag ag ag -an +ab ag ag ag @@ -35359,13 +35263,13 @@ ab ac ac ac -an +ab ag ag ag ag ag -an +ab ag ag ag @@ -35460,8 +35364,8 @@ eX eX aR aR -aR -aN +aG +aG aG aa aa @@ -35616,13 +35520,13 @@ ab ac ac ac -an +ab ac ad ag aB ac -an +ab ac ac ag @@ -35659,7 +35563,7 @@ aG aG aG aG -aN +aG aR aR aX @@ -35716,9 +35620,9 @@ do bh eX aR -aN -aN -aN +aG +aG +aG aG aa aa @@ -35870,18 +35774,18 @@ aa aa aa ab -an -an -an -an -an -an +ab +ab +ab +ab +ab +ab ao -an -an -an -an -an +ab +ab +ab +ab +ab ac ad ag @@ -35916,7 +35820,7 @@ aG aG aG aG -aN +aG aR aX aX @@ -35973,9 +35877,9 @@ bh bh eX aR -aN -aN -aN +aG +aG +aG aG aG aG @@ -36127,8 +36031,8 @@ aa aa aa ab -an -an +ab +ab ar au ax @@ -36138,7 +36042,7 @@ ao ao ao ao -an +ab ac ac ac @@ -36230,9 +36134,9 @@ cw gP eX aR -aN -aN -aN +aG +aG +aG aG aG aG @@ -36385,7 +36289,7 @@ aa aa ab ab -an +ab at aw az @@ -36395,7 +36299,7 @@ ao ao ao ao -an +ab ac ac ac @@ -36487,9 +36391,9 @@ bB bh eX aR -aN -aN -aN +aG +aG +aG aG aG aG @@ -36642,7 +36546,7 @@ aa aa aa ab -an +ab as av ay @@ -36652,7 +36556,7 @@ ao aq ao ao -an +ab ac ac ac @@ -36744,9 +36648,9 @@ bB bh eX aR -aN -aN -aN +aG +aG +aG aG aG aG @@ -36899,17 +36803,17 @@ aa aa aa ab -an -an +ab +ab ao ao ao ao ao -an -an -an -an +ab +ab +ab +ab ac ac ac @@ -36944,8 +36848,8 @@ aa aG aG aG -aN -aN +aG +aG aR aX aX @@ -37001,9 +36905,9 @@ bh cw eX aR -aN -aN -aN +aG +aG +aG aG aG aG @@ -37157,13 +37061,13 @@ aa aa ab ab -an +ab ao ao ao ao -an -an +ab +ab ab ab ab @@ -37201,7 +37105,7 @@ aa aa aG aG -aN +aG aR aR aX @@ -37258,9 +37162,9 @@ eX cf eX aR -aN -aN -aN +aG +aG +aG aG aG aa @@ -37414,12 +37318,12 @@ aa aa aa ab -an +ab ao ao ao -an -an +ab +ab ab ab aa @@ -37458,7 +37362,7 @@ aa aa aG aG -aN +aG aR aX aX @@ -37515,9 +37419,9 @@ bh bh eX aR -aN -aN -aN +aG +aG +aG aG aG aa @@ -37671,11 +37575,11 @@ aa aa aa ab -an +ab ab ao ab -an +ab ab ab aa @@ -37715,7 +37619,7 @@ aa aa aG aG -aN +aG aR aX aX @@ -37772,9 +37676,9 @@ bh bh eX aR -aN -aN -aN +aG +aG +aG aG aG aG @@ -37972,7 +37876,7 @@ aa aa aG aG -aN +aG aR aX aX @@ -38029,9 +37933,9 @@ bv gP eX aR -aN -aN -aN +aG +aG +aG aG aG aG @@ -38286,8 +38190,8 @@ bh bh eX aR -aN -aN +aG +aG aG aG aG @@ -38543,8 +38447,8 @@ bh eo eX aR -aN -aN +aG +aG aG aG aG @@ -38800,8 +38704,8 @@ cw bh eX aR -aN -aN +aG +aG aG aG aG @@ -39057,8 +38961,8 @@ bh bh eX aR -aN -aN +aG +aG aG aG aa @@ -39314,8 +39218,8 @@ bh bh eX aR -aN -aN +aG +aG aG aG aa @@ -39514,7 +39418,7 @@ aa aG aG aG -aN +aG aR aX aX @@ -39571,8 +39475,8 @@ bh gP eX aR -aN -aN +aG +aG aG aa aa @@ -39828,8 +39732,8 @@ bh bh eX aR -aN -aN +aG +aG aG aG aG @@ -40085,8 +39989,8 @@ bh bh eX aR -aN -aN +aG +aG aG aG aa @@ -40342,8 +40246,8 @@ bh fP eX aR -aN -aN +aG +aG aG aG aa @@ -40599,8 +40503,8 @@ bh cw eX aR -aN -aN +aG +aG aG aa aa @@ -40799,8 +40703,8 @@ aa aa aa aG -aN -aN +aG +aG aR aX aX @@ -40856,8 +40760,8 @@ bh bh eX aR -aN -aN +aG +aG aG aa aa @@ -41056,8 +40960,8 @@ aa aa aa aG -aN -aN +aG +aG aR aX aX @@ -41113,8 +41017,8 @@ bh gP eX aR -aN -aN +aG +aG aG aa aa @@ -41313,8 +41217,8 @@ aa aa aG aG -aN -aN +aG +aG aR aX aX @@ -41370,8 +41274,8 @@ bv bh eX aR -aN -aN +aG +aG aG aa aa @@ -41571,7 +41475,7 @@ aa aG aG aG -aN +aG aR aX aX @@ -41627,7 +41531,7 @@ bh bh eX aR -aN +aG aG aG aG @@ -41828,7 +41732,7 @@ aa aG aG aG -aN +aG aR aR aR @@ -41884,7 +41788,7 @@ eX eX eX aR -aN +aG aG aG aG @@ -42086,8 +41990,8 @@ aG aG aG aG -aN -aN +aG +aG aR aR aX @@ -42344,7 +42248,7 @@ aG aG aG aG -aN +aG aR aX aX @@ -42599,9 +42503,9 @@ aa aG aG aG -aN -aN -aN +aG +aG +aG aR aX aX @@ -42858,7 +42762,7 @@ aG aG aG aG -aN +aG aR aX aX @@ -43116,8 +43020,8 @@ aG aG aG aG -aQ -aQ +aR +aR aR aR aX @@ -43374,8 +43278,8 @@ aG aG aG aG -aN -aN +aG +aG aR aR aR @@ -43403,29 +43307,29 @@ aR aX aR aR -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG aG aG aG @@ -43632,17 +43536,17 @@ aG aG aG aG -aN -aN -aN -aN -aN -aN +aG +aG +aG +aG +aG +aG aR aR aR aR -aN +aG aR aR aR @@ -43659,30 +43563,30 @@ aR aR aR aR -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN -aN aG -aN -aN -aN -aN -aN +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG +aG aG aG aG @@ -43891,20 +43795,20 @@ aG aG aG aG -aN -aN -aN -aN -aN aG aG aG aG aG -aN -aN -aQ -aQ +aG +aG +aG +aG +aG +aG +aG +aG +aG aG aG aG diff --git a/_maps/map_files/celestation/celestation.dmm b/_maps/map_files/celestation/celestation.dmm index 55b610b5610..1372e974525 100644 --- a/_maps/map_files/celestation/celestation.dmm +++ b/_maps/map_files/celestation/celestation.dmm @@ -7411,12 +7411,13 @@ }, /area/engineering/gravitygenerator) "bfw" = ( -/obj/machinery/conveyor{ - id = "garbage" - }, /obj/structure/window/reinforced{ dir = 8 }, +/obj/machinery/conveyor/inverted{ + dir = 5; + id = "garbage" + }, /turf/simulated/floor/plating, /area/maintenance/disposal) "bfB" = ( @@ -29523,9 +29524,6 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, -/obj/machinery/disposal/deliveryChute{ - dir = 8 - }, /obj/structure/window/reinforced{ dir = 4 }, @@ -29534,6 +29532,10 @@ dir = 6; pixel_y = 32 }, +/obj/structure/disposaloutlet{ + dir = 8; + eject_range = 2 + }, /turf/simulated/floor/plating, /area/maintenance/disposal) "elp" = ( @@ -50469,14 +50471,14 @@ }, /area/medical/research) "ini" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "garbage" - }, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 }, +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "garbage" + }, /turf/simulated/floor/plating, /area/maintenance/disposal) "ink" = ( @@ -55182,9 +55184,6 @@ }, /area/turret_protected/aisat_interior/secondary) "jfp" = ( -/obj/machinery/disposal/deliveryChute{ - dir = 1 - }, /obj/structure/window/reinforced{ dir = 4 }, @@ -55193,6 +55192,10 @@ dir = 1; id = "CargoTransfer" }, +/obj/structure/disposaloutlet{ + dir = 1; + eject_range = 2 + }, /turf/simulated/floor/plating, /area/maintenance/disposal) "jfE" = ( diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 7730bec2a81..85289102a09 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -51522,14 +51522,6 @@ icon_state = "neutral" }, /area/hallway/secondary/entry) -"dcY" = ( -/obj/effect/decal/warning_stripes/north, -/obj/machinery/conveyor{ - dir = 4; - id = "garbage" - }, -/turf/simulated/floor/plating, -/area/quartermaster/storage) "dda" = ( /obj/machinery/atmospherics/meter, /obj/machinery/light{ @@ -87435,7 +87427,7 @@ /obj/structure/plasticflaps/mining, /obj/machinery/conveyor{ dir = 4; - id = "garbage" + id = "QMLoad2" }, /turf/simulated/floor/plating, /area/quartermaster/storage) @@ -87452,7 +87444,7 @@ }, /obj/machinery/conveyor{ dir = 4; - id = "garbage" + id = "QMLoad2" }, /turf/simulated/floor/plating, /area/quartermaster/storage) @@ -87474,7 +87466,7 @@ }, /obj/machinery/conveyor{ dir = 4; - id = "garbage" + id = "QMLoad2" }, /turf/simulated/floor/plating, /area/quartermaster/storage) @@ -87606,7 +87598,7 @@ /obj/machinery/light, /obj/machinery/conveyor{ dir = 4; - id = "garbage" + id = "QMLoad2" }, /turf/simulated/floor/plating, /area/quartermaster/storage) @@ -105833,7 +105825,7 @@ nMQ bKz bYy bKz -dcY +sfT rmn uTI uTI @@ -106090,7 +106082,7 @@ nMQ vkZ bYy vkZ -dcY +sfT rmn uTI ylx @@ -106347,7 +106339,7 @@ nMQ vkZ bYy vkZ -dcY +sfT rmn uTI ylx @@ -106604,7 +106596,7 @@ nMQ vkZ whC vkZ -dcY +sfT rmn uTI ylx diff --git a/_maps/map_files/event/Station/delta_old.dmm b/_maps/map_files/event/Station/delta_old.dmm index 11e9489913c..1135d1e919e 100644 --- a/_maps/map_files/event/Station/delta_old.dmm +++ b/_maps/map_files/event/Station/delta_old.dmm @@ -19417,10 +19417,16 @@ /area/hallway/secondary/entry/commercial) "cod" = ( /obj/effect/decal/warning_stripes/southeast, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/engineering/engine) "cof" = ( /obj/effect/decal/warning_stripes/southeast, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/storage/secure) "coh" = ( @@ -19646,12 +19652,18 @@ /area/engineering/engine) "cpi" = ( /obj/effect/decal/warning_stripes/southeastcorner, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/engineering/engine) "cpk" = ( /obj/machinery/power/tesla_coil, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/storage/secure) "cpl" = ( @@ -19934,6 +19946,9 @@ "cqU" = ( /obj/machinery/pipedispenser/disposal, /obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/storage/secure) "cqW" = ( @@ -19973,6 +19988,9 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/storage/secure) "crg" = ( @@ -35900,6 +35918,14 @@ icon_state = "whitepurplecorner" }, /area/medical/research/restroom) +"dFo" = ( +/obj/machinery/power/emitter, +/obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/storage/secure) "dFp" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -39165,6 +39191,9 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/plasteel{ icon_state = "yellowfull" }, @@ -42800,6 +42829,19 @@ icon_state = "neutralfull" }, /area/crew_quarters/locker) +"ewf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/turf/simulated/floor/plasteel, +/area/storage/secure) "ewt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -45929,6 +45971,18 @@ icon_state = "purplefull" }, /area/medical/research/nhallway) +"fnW" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor{ + id_tag = "engstorage"; + name = "Secure Storage Blast Doors" + }, +/obj/effect/decal/warning_stripes/west, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/storage/secure) "foa" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/carpet/arcade, @@ -91636,6 +91690,13 @@ icon_state = "vault" }, /area/security/securearmory) +"rHh" = ( +/obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel, +/area/storage/secure) "rHl" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 8; @@ -91686,6 +91747,9 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/storage/secure) "rHD" = ( @@ -141668,7 +141732,7 @@ utt cpm nqL fId -nqL +fnW cpm mDe bQr @@ -142696,7 +142760,7 @@ utt wUC dOZ dRd -cso +dFo cso mDe vDd @@ -142953,7 +143017,7 @@ dJU lTF xKq cmO -cso +dFo cpr mDe iVc @@ -143467,7 +143531,7 @@ utt dNd qFn dRw -dWc +rHh kpR mDe yfQ @@ -143724,7 +143788,7 @@ utt qFn teJ dRw -dWc +rHh xvB mDe vly @@ -144238,7 +144302,7 @@ utt jtS coh cmV -dOZ +ewf ufR mDe smf diff --git a/_maps/map_files/generic/CentComm.dmm b/_maps/map_files/generic/CentComm.dmm index 0975e33a88b..4e984801dc8 100644 --- a/_maps/map_files/generic/CentComm.dmm +++ b/_maps/map_files/generic/CentComm.dmm @@ -2454,50 +2454,50 @@ /turf/simulated/floor/carpet/black, /area/centcom/bridge) "beG" = ( -/obj/item/gun/energy/gun/advtaser{ - pixel_y = -2 +/obj/structure/rack/gunrack, +/obj/machinery/recharger/wallcharger{ + pixel_x = -24; + pixel_y = -3 }, -/obj/item/gun/energy/gun/advtaser{ - pixel_y = -2 +/obj/machinery/recharger/wallcharger{ + pixel_x = -24; + pixel_y = 5 }, -/obj/item/gun/energy/gun/advtaser{ - pixel_y = -2 +/obj/machinery/recharger/wallcharger{ + pixel_x = -24; + pixel_y = -11 }, +/obj/effect/decal/warning_stripes/white, /obj/item/gun/energy/gun/advtaser{ - pixel_y = -2 + pixel_x = -6 }, /obj/item/gun/energy/gun/advtaser{ - pixel_y = -2 + pixel_x = -6 }, /obj/item/gun/energy/gun/advtaser{ - pixel_y = 7 + pixel_x = -6 }, /obj/item/gun/energy/gun/advtaser{ - pixel_y = 7 + pixel_x = -6 }, /obj/item/gun/energy/gun/advtaser{ - pixel_y = 7 + pixel_x = -6 }, /obj/item/gun/energy/gun/advtaser{ - pixel_y = 7 + pixel_x = 6 }, /obj/item/gun/energy/gun/advtaser{ - pixel_y = 7 + pixel_x = 6 }, -/obj/structure/rack/gunrack, -/obj/machinery/recharger/wallcharger{ - pixel_x = -24; - pixel_y = -3 +/obj/item/gun/energy/gun/advtaser{ + pixel_x = 6 }, -/obj/machinery/recharger/wallcharger{ - pixel_x = -24; - pixel_y = 5 +/obj/item/gun/energy/gun/advtaser{ + pixel_x = 6 }, -/obj/machinery/recharger/wallcharger{ - pixel_x = -24; - pixel_y = -11 +/obj/item/gun/energy/gun/advtaser{ + pixel_x = 6 }, -/obj/effect/decal/warning_stripes/white, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -4637,9 +4637,8 @@ "cgX" = ( /obj/machinery/door/poddoor/shutters/invincible{ dir = 2; - id_tag = "CC_Armory_shotgun" + id_tag = "CC_Armory_DAE" }, -/obj/effect/decal/warning_stripes/red, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -4754,26 +4753,28 @@ /turf/simulated/floor/mineral/plastitanium/red, /area/syndicate_mothership/control) "cjN" = ( -/obj/item/gun/projectile/shotgun/riot{ - pixel_x = 3; - pixel_y = 8 +/obj/structure/rack/gunrack, +/obj/effect/decal/warning_stripes/green/hollow, +/obj/item/gun/projectile/automatic/m90{ + name = "\improper DAE 5.56 Compact GL"; + pixel_x = -6 }, -/obj/item/gun/projectile/shotgun/riot{ - pixel_x = 3; - pixel_y = 8 +/obj/item/gun/projectile/automatic/m90{ + name = "\improper DAE 5.56 Compact GL"; + pixel_x = -6 }, -/obj/item/gun/projectile/shotgun/riot/short, -/obj/item/gun/projectile/shotgun/riot/short, -/obj/item/gun/projectile/shotgun/riot{ - pixel_x = 3; - pixel_y = 8 +/obj/item/gun/projectile/automatic/m90{ + name = "\improper DAE 5.56 Compact GL"; + pixel_x = 6 }, -/obj/item/gun/projectile/shotgun/riot{ - pixel_x = 3; - pixel_y = 8 +/obj/item/gun/projectile/automatic/m90{ + name = "\improper DAE 5.56 Compact GL"; + pixel_x = 6 + }, +/obj/item/gun/projectile/automatic/m90{ + name = "\improper DAE 5.56 Compact GL"; + pixel_x = 6 }, -/obj/structure/rack/gunrack, -/obj/effect/decal/warning_stripes/green/hollow, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -10465,53 +10466,48 @@ }, /area/syndicate_mothership) "eTs" = ( +/obj/structure/rack/gunrack, +/obj/effect/decal/warning_stripes/white, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = 2 + pixel_x = -6 }, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = 2 + pixel_x = -6 }, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = 2 + pixel_x = -6 }, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = 2 + pixel_x = -6 }, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = 2 + pixel_x = -6 }, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = -2; - pixel_y = 7 + pixel_x = 6 }, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = -2; - pixel_y = 7 + pixel_x = 6 }, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = -2; - pixel_y = 7 + pixel_x = 6 }, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = -2; - pixel_y = 7 + pixel_x = 6 }, /obj/item/gun/projectile/automatic/pistol/enforcer{ icon_state = "enforcer_black"; - pixel_x = -2; - pixel_y = 7 + pixel_x = 6 }, -/obj/structure/rack/gunrack, -/obj/effect/decal/warning_stripes/white, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -10577,10 +10573,6 @@ icon_state = "dark" }, /area/centcom/evac) -"eWz" = ( -/obj/structure/lattice, -/turf/space, -/area/centcom/specops) "eWA" = ( /turf/space{ icon_state = "black" @@ -11887,8 +11879,8 @@ /area/centcom/zone3) "fBu" = ( /obj/machinery/door_control/secure{ - id = "CC_Armory_shotgun"; - name = "Shotguns"; + id = "CC_Armory_DAE"; + name = "DAE"; pixel_x = -24; pixel_y = 24; req_access = list(114) @@ -13025,17 +13017,37 @@ /area/centcom/jail) "gcn" = ( /obj/structure/rack/gunrack, -/obj/item/gun/projectile/automatic/sfg, -/obj/item/gun/projectile/automatic/sfg, -/obj/item/gun/projectile/automatic/sfg, -/obj/item/gun/projectile/automatic/sfg, -/obj/item/gun/projectile/automatic/sfg, -/obj/item/gun/projectile/automatic/sfg, -/obj/item/gun/projectile/automatic/sfg, -/obj/item/gun/projectile/automatic/sfg, -/obj/item/gun/projectile/automatic/sfg, -/obj/item/gun/projectile/automatic/sfg, /obj/effect/decal/warning_stripes/red/hollow, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = 6 + }, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = 6 + }, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = 6 + }, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = 6 + }, +/obj/item/gun/projectile/automatic/sfg{ + pixel_x = 6 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -16148,16 +16160,6 @@ icon_state = "grimy" }, /area/syndicate_mothership) -"hDk" = ( -/obj/effect/decal/warning_stripes/red, -/obj/machinery/door/poddoor/shutters/invincible{ - dir = 2; - id_tag = "CC_Armory_shotgun" - }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/centcom/specops) "hDO" = ( /obj/structure/toilet, /turf/simulated/floor/plasteel{ @@ -20448,7 +20450,6 @@ dir = 2; id_tag = "CC_Armory_NG" }, -/obj/effect/decal/warning_stripes/red, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -21074,6 +21075,36 @@ /obj/item/ammo_box/magazine/sfg9mm, /obj/item/ammo_box/magazine/sfg9mm, /obj/effect/decal/warning_stripes/red/hollow, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, +/obj/item/ammo_box/magazine/sfg9mm{ + pixel_x = 8 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -31367,17 +31398,35 @@ }, /area/centcom/specops) "ozP" = ( -/obj/item/gun/projectile/automatic/lasercarbine, -/obj/item/gun/projectile/automatic/lasercarbine, -/obj/item/gun/projectile/automatic/lasercarbine, -/obj/item/gun/projectile/automatic/lasercarbine, -/obj/item/gun/projectile/automatic/lasercarbine, -/obj/item/gun/projectile/automatic/lasercarbine, -/obj/item/gun/projectile/automatic/lasercarbine, -/obj/item/gun/projectile/automatic/lasercarbine, -/obj/item/gun/projectile/automatic/lasercarbine, /obj/structure/rack/gunrack, /obj/effect/decal/warning_stripes/blue/hollow, +/obj/item/gun/projectile/automatic/lasercarbine{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/lasercarbine{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/lasercarbine{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/lasercarbine{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/lasercarbine{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/lasercarbine{ + pixel_x = 6 + }, +/obj/item/gun/projectile/automatic/lasercarbine{ + pixel_x = 6 + }, +/obj/item/gun/projectile/automatic/lasercarbine{ + pixel_x = 6 + }, +/obj/item/gun/projectile/automatic/lasercarbine{ + pixel_x = 6 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -31525,23 +31574,26 @@ }, /area/syndicate_mothership) "oEt" = ( +/obj/structure/rack/gunrack, +/obj/effect/decal/warning_stripes/green/hollow, /obj/item/gun/energy/gun/pdw9{ - pixel_x = 4; - pixel_y = 8 + pixel_x = -6 }, -/obj/item/gun/energy/gun/pdw9, /obj/item/gun/energy/gun/pdw9{ - pixel_x = 4; - pixel_y = 8 + pixel_x = -6 }, /obj/item/gun/energy/gun/pdw9{ - pixel_x = 4; - pixel_y = 8 + pixel_x = -6 + }, +/obj/item/gun/energy/gun/pdw9{ + pixel_x = 6 + }, +/obj/item/gun/energy/gun/pdw9{ + pixel_x = 6 + }, +/obj/item/gun/energy/gun/pdw9{ + pixel_x = 6 }, -/obj/item/gun/energy/gun/pdw9, -/obj/item/gun/energy/gun/pdw9, -/obj/structure/rack/gunrack, -/obj/effect/decal/warning_stripes/green/hollow, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -33640,26 +33692,26 @@ /turf/simulated/floor/wood, /area/centcom/zone1) "pDr" = ( +/obj/structure/rack/gunrack, +/obj/effect/decal/warning_stripes/red/hollow, /obj/item/gun/energy/gun/nuclear{ - pixel_y = 8 + pixel_x = -6 }, /obj/item/gun/energy/gun/nuclear{ - pixel_y = -2 + pixel_x = -6 }, /obj/item/gun/energy/gun/nuclear{ - pixel_y = -2 + pixel_x = -6 }, /obj/item/gun/energy/gun/nuclear{ - pixel_y = 8 + pixel_x = 6 }, -/obj/structure/rack/gunrack, /obj/item/gun/energy/gun/nuclear{ - pixel_y = -2 + pixel_x = 6 }, /obj/item/gun/energy/gun/nuclear{ - pixel_y = 8 + pixel_x = 6 }, -/obj/effect/decal/warning_stripes/red/hollow, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -39327,7 +39379,6 @@ }, /area/syndicate_mothership/cargo) "seQ" = ( -/obj/effect/decal/warning_stripes/red, /obj/machinery/door/poddoor/shutters/invincible{ dir = 2; id_tag = "CC_Armory_PDW" @@ -39731,12 +39782,10 @@ /area/centcom/supply) "sqO" = ( /obj/item/gun/energy/sniperrifle{ - pixel_x = 3; - pixel_y = 8 + pixel_x = -6 }, /obj/item/gun/energy/sniperrifle{ - pixel_x = 3; - pixel_y = -3 + pixel_x = 6 }, /obj/structure/rack/gunrack, /obj/effect/decal/warning_stripes/red/hollow, @@ -39927,13 +39976,23 @@ /turf/simulated/floor/carpet/arcade, /area/centcom/zone1) "svw" = ( -/obj/item/gun/projectile/automatic/ar, -/obj/item/gun/projectile/automatic/ar, -/obj/item/gun/projectile/automatic/ar, -/obj/item/gun/projectile/automatic/ar, -/obj/item/gun/projectile/automatic/ar, /obj/structure/rack/gunrack, /obj/effect/decal/warning_stripes/red/hollow, +/obj/item/gun/projectile/automatic/ar{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/ar{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/ar{ + pixel_x = -6 + }, +/obj/item/gun/projectile/automatic/ar{ + pixel_x = 6 + }, +/obj/item/gun/projectile/automatic/ar{ + pixel_x = 6 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -43372,10 +43431,19 @@ /area/centcom/specops) "tYP" = ( /obj/structure/rack, -/obj/item/ammo_box/shotgun/rubbershot, -/obj/item/ammo_box/shotgun/rubbershot, -/obj/item/ammo_box/shotgun/rubbershot, /obj/effect/decal/warning_stripes/green/hollow, +/obj/item/ammo_box/a40mm, +/obj/item/ammo_box/a40mm, +/obj/item/ammo_box/magazine/m556, +/obj/item/ammo_box/magazine/m556, +/obj/item/ammo_box/magazine/m556, +/obj/item/ammo_box/magazine/m556, +/obj/item/ammo_box/magazine/m556, +/obj/item/ammo_box/magazine/m556, +/obj/item/ammo_box/magazine/m556, +/obj/item/ammo_box/magazine/m556, +/obj/item/ammo_box/magazine/m556, +/obj/item/ammo_box/magazine/m556, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -50604,32 +50672,26 @@ }, /area/syndicate_mothership) "xjB" = ( +/obj/structure/rack/gunrack, +/obj/effect/decal/warning_stripes/blue/hollow, /obj/item/gun/projectile/shotgun/automatic/combat{ - pixel_x = 3; - pixel_y = 8 + pixel_x = -6 }, /obj/item/gun/projectile/shotgun/automatic/combat{ - pixel_x = 3; - pixel_y = -2 + pixel_x = -6 }, /obj/item/gun/projectile/shotgun/automatic/combat{ - pixel_x = 3; - pixel_y = 8 + pixel_x = -6 }, /obj/item/gun/projectile/shotgun/automatic/combat{ - pixel_x = 3; - pixel_y = 8 + pixel_x = 6 }, /obj/item/gun/projectile/shotgun/automatic/combat{ - pixel_x = 3; - pixel_y = -2 + pixel_x = 6 }, /obj/item/gun/projectile/shotgun/automatic/combat{ - pixel_x = 3; - pixel_y = -2 + pixel_x = 6 }, -/obj/structure/rack/gunrack, -/obj/effect/decal/warning_stripes/blue/hollow, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -98782,7 +98844,7 @@ nAN nAN nAN nAN -fID +mVX mVX mVX mVX @@ -106224,7 +106286,7 @@ cAo iGP nAN cjN -hDk +cgX rTJ hBW lYK @@ -109807,8 +109869,8 @@ tgn nFb uSN uSN -eWz -eWz +jMD +jMD nAN eHW eHW @@ -110063,10 +110125,10 @@ nAN uSN uSN uSN -eWz +jMD mVX mVX -eWz +jMD eHW eHW eHW diff --git a/_maps/map_files/nova/Lavaland.dmm b/_maps/map_files/nova/Lavaland.dmm index bca7828f3cc..c424fe138db 100644 --- a/_maps/map_files/nova/Lavaland.dmm +++ b/_maps/map_files/nova/Lavaland.dmm @@ -1,8 +1,5 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 2 - }, /obj/machinery/camera{ c_tag = "Mining Post South-East Hallway"; dir = 2; @@ -35,11 +32,23 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/mine/laborcamp) +"an" = ( +/obj/machinery/status_display, +/turf/simulated/wall, +/area/mine/storage) "ao" = ( /obj/effect/mapping_helpers/no_lava, /obj/structure/ore_box, /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/explored) +"ap" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/mine/storage) "as" = ( /obj/structure/cable{ icon_state = "1-8" @@ -130,6 +139,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/effect/baseturf_helper/lava_land/surface, /turf/simulated/floor/plasteel, /area/mine/eva) "aM" = ( @@ -142,13 +152,12 @@ /obj/structure/stone_tile, /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) +"aS" = ( +/obj/effect/turf_decal/delivery, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "bf" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, +/obj/machinery/door/firedoor, /turf/simulated/floor/plasteel, /area/mine/living_quarters) "bg" = ( @@ -205,9 +214,7 @@ /area/lavaland/surface/outdoors) "bG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel, /area/mine/lobby) "bH" = ( @@ -312,7 +319,7 @@ dir = 4; icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "dm" = ( /obj/structure/stone_tile/block/cracked, /turf/simulated/floor/lava/lava_land_surface, @@ -422,15 +429,29 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/simulated/floor/plasteel, /area/mine/living_quarters) +"eg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "brown" + }, +/area/mine/living_quarters) "ej" = ( /obj/structure/table, /obj/item/reagent_containers/food/drinks/cans/beer, @@ -829,6 +850,15 @@ icon_state = "brownfull" }, /area/mine/laborcamp) +"gE" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/sign/poster/random{ + pixel_x = -32 + }, +/turf/simulated/floor/plasteel/dark, +/area/mine/maintenance) "gF" = ( /obj/structure/cable{ d1 = 4; @@ -917,6 +947,29 @@ /obj/structure/stone_tile, /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) +"he" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -25; + pixel_y = 0 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"hh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance{ + name = "Mining Station Communications"; + req_access = list(48) + }, +/turf/simulated/floor/plasteel/dark, +/area/mine/maintenance) "ho" = ( /obj/machinery/atmospherics/binary/pump/on{ desc = "Отправляет дыхательную смесь из трубы распространяться по аванпосту через вентиляцию."; @@ -936,6 +989,10 @@ /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, /area/mine/laborcamp) +"ht" = ( +/obj/structure/sign/mining, +/turf/simulated/wall, +/area/mine/living_quarters) "hu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1036,6 +1093,13 @@ "hQ" = ( /turf/simulated/wall, /area/lavaland/surface/outdoors/explored) +"hT" = ( +/obj/machinery/conveyor{ + id = "mining_internal"; + use_power = 0 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "hX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -1255,6 +1319,9 @@ d2 = 8; icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/wood, /area/mine/cafeteria) "jE" = ( @@ -1324,13 +1391,9 @@ /turf/simulated/floor/wood, /area/mine/cafeteria) "jM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel, -/area/mine/living_quarters) +/obj/effect/spawner/window/reinforced, +/turf/simulated/floor/plating, +/area/mine/storage) "jU" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -1340,10 +1403,6 @@ /area/mine/necropolis) "jW" = ( /obj/structure/fans/tiny, -/obj/machinery/door/airlock/external{ - id_tag = "laborcamp_away2"; - name = "Lava Camp Airlock" - }, /obj/machinery/access_button{ command = "cycle_exterior"; frequency = 1379; @@ -1351,6 +1410,15 @@ name = "exterior access button"; pixel_y = -25 }, +/obj/machinery/door/airlock/external{ + frequency = 1379; + glass = 1; + id_tag = "mining_outer"; + locked = 1; + name = "Mining External Airlock"; + opacity = 0; + req_access = list(54) + }, /turf/simulated/floor/plating, /area/mine/lobby) "jX" = ( @@ -1397,18 +1465,14 @@ }, /area/mine/laborcamp) "kf" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 2 - }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/camera{ - c_tag = "Mining Communications Relay"; - network = list("Mining Outpost") + c_tag = "Mining Smeltery"; + network = list("Mining Outpost"); + dir = 4 }, -/turf/simulated/floor/plasteel/dark, -/area/mine/maintenance) +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "kg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -1503,12 +1567,18 @@ /turf/simulated/floor/lava/lava_land_surface, /area/mine/necropolis) "kR" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" }, -/turf/simulated/floor/plasteel{ - icon_state = "browncorner" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, +/turf/simulated/floor/plasteel, /area/mine/living_quarters) "lb" = ( /obj/structure/sink{ @@ -1652,7 +1722,6 @@ /turf/simulated/floor/plating, /area/mine/living_quarters) "lJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment{ dir = 6 @@ -1724,9 +1793,6 @@ /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/necropolis) "me" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "browncorner" @@ -1830,6 +1896,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/decal/warning_stripes/yellow, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/plasteel, /area/mine/living_quarters) "nb" = ( @@ -1880,6 +1949,9 @@ /obj/machinery/light{ dir = 4 }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 26 + }, /turf/simulated/floor/plasteel/dark, /area/mine/cafeteria) "nA" = ( @@ -1891,12 +1963,14 @@ /turf/simulated/wall, /area/mine/living_quarters) "nM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 +/obj/machinery/alarm{ + pixel_y = 24 }, -/turf/simulated/floor/plasteel, -/area/mine/lobby) +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "brown" + }, +/area/mine/living_quarters) "nN" = ( /obj/machinery/suit_storage_unit/lavaland, /turf/simulated/floor/plasteel{ @@ -1980,10 +2054,10 @@ /area/mine/lobby) "on" = ( /obj/machinery/light/small{ - dir = 1 + dir = 4 }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 2 +/obj/structure/sign/poster/random{ + pixel_x = 32 }, /turf/simulated/floor/plasteel/dark, /area/mine/maintenance) @@ -2016,6 +2090,18 @@ icon_state = "browncorner" }, /area/mine/living_quarters) +"oy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/conveyor_switch/oneway{ + id = "mining_internal"; + name = "mining conveyor"; + use_power = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "oz" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -2273,6 +2359,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel, /area/mine/laborcamp) +"pP" = ( +/obj/machinery/mineral/processing_unit_console{ + use_power = 0 + }, +/turf/simulated/wall, +/area/mine/living_quarters) "pS" = ( /obj/structure/stone_tile/block/cracked{ dir = 8 @@ -2452,11 +2544,15 @@ "rv" = ( /obj/structure/closet/secure_closet/miner, /obj/item/pickaxe/safety, +/obj/machinery/alarm{ + dir = 1; + pixel_y = -24 + }, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "rC" = ( /obj/machinery/atmospherics/unary/outlet_injector/on{ dir = 4; @@ -2525,7 +2621,7 @@ dir = 1; icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "se" = ( /obj/structure/table, /obj/machinery/light{ @@ -2694,6 +2790,21 @@ /obj/effect/decal/warning_stripes/yellow, /turf/simulated/floor/plating, /area/mine/laborcamp) +"ts" = ( +/obj/effect/decal/cleanable/dirt, +/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 + }, +/obj/item/twohanded/required/kirbyplants, +/turf/simulated/floor/plasteel/dark, +/area/mine/cafeteria) "tv" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ dir = 1 @@ -2819,9 +2930,10 @@ dir = 1 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" }, /turf/simulated/floor/plasteel, /area/mine/living_quarters) @@ -2989,15 +3101,17 @@ }, /area/mine/laborcamp) "uV" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/cable{ d1 = 4; d2 = 8; icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/plasteel, /area/mine/living_quarters) "va" = ( @@ -3010,14 +3124,18 @@ "vb" = ( /obj/structure/bed, /obj/item/bedsheet/brown, -/obj/item/toy/plushie/ashwalkerplushie{ - name = "Зюзя" - }, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "brown" }, /area/mine/living_quarters) +"vc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel{ + icon_state = "darkredfull" + }, +/area/mine/laborcamp/security) "ve" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -3126,6 +3244,18 @@ /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) +"vA" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "vB" = ( /turf/template_noop, /area/lavaland/surface/outdoors/necropolis) @@ -3174,6 +3304,14 @@ icon_state = "brown" }, /area/mine/lobby) +"vW" = ( +/obj/structure/plasticflaps, +/obj/machinery/conveyor{ + id = "mining_internal"; + use_power = 0 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "vX" = ( /obj/structure/stone_tile/cracked{ dir = 8 @@ -3196,6 +3334,21 @@ }, /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) +"wc" = ( +/obj/effect/decal/cleanable/dirt, +/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 + }, +/obj/machinery/tcomms/relay/mining, +/turf/simulated/floor/bluegrid, +/area/mine/maintenance) "we" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ @@ -3227,7 +3380,7 @@ dir = 1; icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "wo" = ( /obj/structure/stone_tile/block{ dir = 1 @@ -3414,6 +3567,9 @@ }, /turf/simulated/floor/plasteel, /area/mine/lobby) +"xV" = ( +/turf/simulated/floor/plasteel, +/area/mine/storage) "xW" = ( /obj/structure/window/reinforced/clockwork{ dir = 4; @@ -3664,6 +3820,21 @@ /obj/machinery/mineral/equipment_vendor/labor, /turf/simulated/floor/plating, /area/mine/laborcamp) +"zO" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "mining_internal"; + use_power = 0 + }, +/obj/machinery/mineral/unloading_machine{ + dir = 1; + icon_state = "unloader-corner"; + input_dir = 2; + output_dir = 1; + use_power = 0 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "zP" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -3682,12 +3853,11 @@ /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) "zT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel/dark, -/area/mine/cafeteria) +/turf/simulated/floor/plasteel, +/area/mine/lobby) "zY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -3802,11 +3972,15 @@ /turf/simulated/floor/plasteel/dark, /area/mine/cafeteria) "Ay" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 +/obj/machinery/alarm{ + dir = 4; + pixel_x = -22 }, -/turf/simulated/floor/plasteel, -/area/mine/lobby) +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "brown" + }, +/area/mine/living_quarters) "AA" = ( /obj/structure/fluff/drake_statue, /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, @@ -3901,6 +4075,10 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, +/obj/item/toy/plushie/ashwalkerplushie{ + name = "Зюзя"; + desc = "Мило выглядящая плюшевая игрушка пеплоходца с странным именем." + }, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "brown" @@ -3951,6 +4129,16 @@ }, /turf/simulated/floor/lava/lava_land_surface, /area/mine/necropolis) +"Bm" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Bn" = ( /obj/structure/stone_tile/block, /obj/structure/stone_tile{ @@ -3993,8 +4181,12 @@ }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/plasteel, -/area/mine/living_quarters) +/area/mine/storage) "Bz" = ( /obj/structure/safe/floor, /obj/item/whetstone/cult{ @@ -4147,15 +4339,21 @@ /area/lavaland/surface/outdoors/necropolis) "Cn" = ( /obj/machinery/door/firedoor, -/obj/machinery/light/small{ - dir = 1 - }, /obj/effect/decal/warning_stripes/yellow, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "brown" }, /area/mine/living_quarters) +"Cr" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "brown" + }, +/area/mine/living_quarters) "Cs" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 8 @@ -4322,18 +4520,26 @@ /turf/simulated/floor/lava/lava_land_surface, /area/mine/necropolis) "Dh" = ( -/obj/machinery/hologram/holopad, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/simulated/floor/plasteel/dark, -/area/mine/maintenance) +/obj/machinery/alarm{ + pixel_y = 24 + }, +/obj/machinery/camera{ + c_tag = "Mining Communications Relay"; + network = list("Mining Outpost") + }, +/turf/simulated/floor/bluegrid, +/area/lavaland/surface/outdoors) "Dl" = ( /obj/structure/stone_tile/slab/cracked, /turf/simulated/floor/indestructible/boss, @@ -4425,11 +4631,8 @@ dir = 4 }, /turf/simulated/floor/plasteel, -/area/mine/living_quarters) +/area/mine/storage) "DW" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, @@ -4442,6 +4645,9 @@ /obj/structure/disposalpipe/segment{ dir = 5 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/wood, /area/mine/cafeteria) "Ej" = ( @@ -4493,11 +4699,20 @@ dir = 8; network = list("Mining Outpost") }, +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 26 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "Es" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -4527,6 +4742,12 @@ icon_state = "freezerfloor" }, /area/mine/living_quarters) +"ET" = ( +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "brown" + }, +/area/mine/storage) "EU" = ( /obj/structure/stone_tile{ dir = 1 @@ -4569,7 +4790,7 @@ dir = 6; icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "Fv" = ( /obj/structure/stone_tile/center, /obj/structure/stone_tile/surrounding, @@ -4629,6 +4850,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/effect/baseturf_helper/lava_land/surface, /turf/simulated/floor/plasteel/dark, /area/mine/cafeteria) "FJ" = ( @@ -4661,7 +4883,7 @@ dir = 8 }, /turf/simulated/floor/plasteel, -/area/mine/living_quarters) +/area/mine/storage) "FX" = ( /obj/structure/stone_tile/block/burnt{ dir = 1 @@ -4695,6 +4917,14 @@ icon_state = "clockwork_floor" }, /area/mine/necropolis) +"Gi" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "mining_internal"; + use_power = 0 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Gm" = ( /obj/structure/stone_tile/cracked{ dir = 4 @@ -4819,6 +5049,12 @@ icon_state = "brown" }, /area/mine/eva) +"GX" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/lobby) "GY" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -5017,7 +5253,6 @@ /turf/simulated/floor/plasteel, /area/mine/lobby) "IF" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -5058,17 +5293,16 @@ /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) "Jl" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Mining Communications APC"; - pixel_x = 1; - pixel_y = 25 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, /obj/structure/cable{ - d2 = 4; - icon_state = "0-4" + icon_state = "1-2" }, -/turf/simulated/floor/bluegrid, +/turf/simulated/floor/plasteel/dark, /area/mine/maintenance) "Jm" = ( /obj/structure/fluff/drake_statue{ @@ -5159,8 +5393,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/baseturf_helper/lava_land/surface, /turf/simulated/floor/plasteel, -/area/mine/living_quarters) +/area/mine/storage) "Kb" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/beer, @@ -5266,6 +5507,15 @@ }, /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) +"KJ" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "brown" + }, +/area/mine/living_quarters) "KO" = ( /obj/structure/window/reinforced/clockwork{ dir = 8; @@ -5371,24 +5621,30 @@ }, /area/mine/laborcamp) "Lo" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/machinery/light_switch{ +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 1; pixel_y = -25 }, -/turf/simulated/floor/plasteel/dark, +/turf/simulated/floor/bluegrid, /area/mine/maintenance) "Lp" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 30 - }, /obj/machinery/light{ dir = 4 }, @@ -5423,8 +5679,25 @@ }, /area/mine/necropolis) "LI" = ( -/obj/machinery/tcomms/relay/mining, -/turf/simulated/floor/plasteel/dark, +/obj/effect/decal/cleanable/dirt, +/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 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4; + pixel_y = 0 + }, +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/turf/simulated/floor/bluegrid, /area/mine/maintenance) "LK" = ( /obj/structure/stone_tile/surrounding/cracked{ @@ -5619,9 +5892,6 @@ /turf/simulated/floor/plasteel, /area/mine/laborcamp) "MI" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ @@ -5702,14 +5972,27 @@ }, /turf/simulated/floor/plasteel, /area/mine/lobby) +"Nw" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/conveyor{ + id = "mining_internal"; + use_power = 0 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "NA" = ( /obj/item/trash/syndi_cakes{ layer = 1.9; pixel_x = -6; pixel_y = -6 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, -/area/mine/living_quarters) +/area/mine/storage) "NC" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -5763,6 +6046,13 @@ }, /turf/simulated/floor/plating, /area/mine/laborcamp) +"NW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel/dark, +/area/mine/maintenance) "NY" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 4 @@ -5781,11 +6071,13 @@ /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/necropolis) "Ob" = ( -/obj/machinery/alarm{ - pixel_y = 24 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, -/turf/simulated/floor/bluegrid, -/area/mine/maintenance) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Og" = ( /obj/machinery/door/airlock, /obj/effect/decal/cleanable/dirt, @@ -5795,10 +6087,6 @@ /obj/effect/decal/warning_stripes/yellow/hollow, /obj/structure/fans/tiny, /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - id_tag = "laborcamp_away2"; - name = "Lava Camp Airlock" - }, /obj/machinery/access_button{ command = "cycle_interior"; frequency = 1379; @@ -5806,6 +6094,15 @@ name = "interior access button"; pixel_y = 25 }, +/obj/machinery/door/airlock/external{ + frequency = 1379; + glass = 1; + id_tag = "mining_inner"; + locked = 1; + name = "Mining External Airlock"; + opacity = 0; + req_access = list(54) + }, /turf/simulated/floor/plasteel/dark, /area/mine/lobby) "Ol" = ( @@ -5839,6 +6136,19 @@ "Oy" = ( /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/necropolis) +"OB" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "Mining Communications APC"; + pixel_x = 1; + pixel_y = 25 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor/plasteel/dark, +/area/mine/maintenance) "OF" = ( /obj/structure/table, /obj/item/clothing/gloves/fingerless, @@ -5847,7 +6157,7 @@ dir = 5; icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "OL" = ( /obj/machinery/suit_storage_unit/lavaland, /obj/machinery/light{ @@ -5939,6 +6249,13 @@ icon_state = "brown" }, /area/mine/laborcamp) +"Pk" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Pl" = ( /obj/machinery/disposal, /obj/effect/decal/warning_stripes/yellow, @@ -5971,6 +6288,27 @@ }, /turf/simulated/floor/plasteel, /area/mine/living_quarters) +"Pt" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/light, +/turf/simulated/floor/plasteel{ + icon_state = "brown" + }, +/area/mine/living_quarters) +"Pu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Pv" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -6101,6 +6439,15 @@ }, /turf/simulated/floor/plasteel, /area/mine/laborcamp) +"Qm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/nuke{ + pixel_y = -32; + pixel_x = -32 + }, +/turf/simulated/floor/plasteel/dark, +/area/mine/cafeteria) "Qo" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 8 @@ -6115,18 +6462,8 @@ /turf/simulated/floor/plasteel/white, /area/mine/laborcamp) "Qr" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance{ - name = "Mining Station Communications"; - req_access = list(48) - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel/dark, -/area/mine/maintenance) +/turf/simulated/wall, +/area/mine/storage) "Qs" = ( /obj/structure/stone_tile/block/cracked{ dir = 8 @@ -6152,6 +6489,15 @@ icon_state = "clockwork_floor" }, /area/mine/necropolis) +"Qw" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/structure/sign/poster/random{ + pixel_x = -32 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Qz" = ( /obj/structure/stone_tile/block/burnt{ dir = 4 @@ -6243,8 +6589,15 @@ /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) "Rc" = ( -/obj/machinery/light/small{ - dir = 1 +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 2 + }, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1; + on = 1 }, /turf/simulated/floor/plasteel{ dir = 1; @@ -6398,14 +6751,14 @@ /area/lavaland/surface/outdoors/necropolis) "St" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = -28; + pixel_x = -25; pixel_y = -32 }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "Sy" = ( /obj/structure/stone_tile/block{ dir = 8 @@ -6417,8 +6770,13 @@ }, /area/mine/necropolis) "Sz" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/plasteel, -/area/mine/living_quarters) +/area/mine/storage) "SA" = ( /obj/structure/stone_tile/block, /obj/structure/stone_tile{ @@ -6440,6 +6798,9 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/wood, /area/mine/cafeteria) "SD" = ( @@ -6477,11 +6838,19 @@ pixel_x = -32 }, /obj/structure/table, +/obj/item/twohanded/required/kirbyplants, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "brown" }, /area/mine/living_quarters) +"SH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "SI" = ( /obj/structure/stone_tile/block/cracked{ dir = 4 @@ -6517,6 +6886,23 @@ }, /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) +"Te" = ( +/obj/machinery/conveyor{ + dir = 6; + id = "mining_internal"; + use_power = 0 + }, +/obj/machinery/mineral/processing_unit{ + dir = 1; + input_dir = 2; + output_dir = 1; + use_power = 0 + }, +/obj/effect/decal/cleanable/cobweb2{ + layer = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Tf" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -6586,14 +6972,14 @@ /turf/simulated/floor/lava/lava_land_surface, /area/mine/necropolis) "TA" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 2 - }, /obj/machinery/camera{ c_tag = "Mining Post South-West Hallway"; dir = 2; network = list("Mining Outpost") }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 2 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "brown" @@ -6691,6 +7077,7 @@ /obj/machinery/alarm{ pixel_y = 24 }, +/obj/item/twohanded/required/kirbyplants, /turf/simulated/floor/plasteel/dark, /area/mine/cafeteria) "Uw" = ( @@ -6699,7 +7086,7 @@ /turf/simulated/floor/plasteel{ icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "Uy" = ( /turf/simulated/mineral/random/high_chance/volcanic, /area/lavaland/surface/outdoors) @@ -6714,6 +7101,31 @@ tag = "icon-whiteblue (WEST)" }, /area/mine/lobby) +"UC" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/baseturf_helper/lava_land/surface, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) +"UG" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 26 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "brown" + }, +/area/mine/living_quarters) "UI" = ( /obj/structure/closet/secure_closet/personal, /turf/simulated/floor/plasteel{ @@ -6772,11 +7184,15 @@ name = "Emergency NanoMed"; pixel_x = -28 }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = 27 + }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "Va" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6787,6 +7203,20 @@ icon_state = "brown" }, /area/mine/laborcamp) +"Vb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Vd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel, @@ -6827,11 +7257,9 @@ }, /area/mine/necropolis) "Vy" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/turf/simulated/floor/plasteel/dark, -/area/mine/maintenance) +/obj/item/twohanded/required/kirbyplants, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Vz" = ( /obj/structure/stone_tile/surrounding_tile{ dir = 8 @@ -6879,7 +7307,7 @@ /turf/simulated/floor/plasteel{ icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "VG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/vending/sustenance, @@ -6910,6 +7338,14 @@ /obj/structure/chair/stool, /turf/simulated/floor/plasteel/dark, /area/mine/cafeteria) +"VW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "brown" + }, +/area/mine/living_quarters) "VY" = ( /obj/machinery/power/port_gen/pacman{ anchored = 1 @@ -7041,6 +7477,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/item/twohanded/required/kirbyplants, /turf/simulated/floor/plasteel/dark, /area/mine/cafeteria) "WI" = ( @@ -7056,8 +7493,13 @@ "WJ" = ( /obj/item/radio/beacon, /obj/machinery/hologram/holopad, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/baseturf_helper/lava_land/surface, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, /turf/simulated/floor/plasteel, /area/mine/lobby) "WR" = ( @@ -7068,6 +7510,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, +/obj/effect/baseturf_helper/lava_land/surface, /turf/simulated/floor/plasteel, /area/mine/laborcamp) "WT" = ( @@ -7100,6 +7543,9 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/plasteel/dark, /area/mine/cafeteria) "Xf" = ( @@ -7175,10 +7621,13 @@ }, /turf/simulated/floor/indestructible/boss, /area/mine/necropolis) +"Ya" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Ye" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -7201,7 +7650,7 @@ /turf/simulated/floor/plasteel{ icon_state = "brown" }, -/area/mine/living_quarters) +/area/mine/storage) "Yl" = ( /obj/structure/stone_tile/surrounding_tile, /obj/structure/stone_tile/surrounding_tile{ @@ -7320,6 +7769,10 @@ }, /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/necropolis) +"Zb" = ( +/obj/effect/turf_decal/loading_area, +/turf/simulated/floor/plasteel, +/area/mine/living_quarters) "Zc" = ( /obj/structure/stone_tile/cracked{ dir = 4 @@ -7427,11 +7880,15 @@ }, /area/mine/necropolis) "ZC" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/cable{ - icon_state = "1-4" + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/plasteel, /area/mine/living_quarters) "ZD" = ( @@ -13939,7 +14396,7 @@ tf dI aE Es -Es +vc HV dI Ne @@ -18309,8 +18766,8 @@ DH DH Ne Ne -Ne -Ne +bB +tG Ne Ne Ne @@ -18566,9 +19023,9 @@ DH DH Ne bB -Ne -Ne -Ne +bB +tG +tG Ne Ne Ne @@ -18825,8 +19282,8 @@ Ne bB bB bB -Ne -Ne +tG +tG Ne Ne Ne @@ -19083,8 +19540,8 @@ bB bB bB bB -Ne -Ne +tG +bB Ne Ne "} @@ -19341,7 +19798,7 @@ bB bB bB bB -Ne +bB Ne Ne "} @@ -19598,8 +20055,8 @@ Ne bB bB bB -Ne -Ne +bB +bB Ne "} (48,1,1) = {" @@ -20617,12 +21074,12 @@ Ne Ne uq uq -Fc +ts As sU CJ Fc -XJ +Qm fi hw bB @@ -20878,7 +21335,7 @@ QF sU ib sU -CJ +gn Fc CS hw @@ -21121,18 +21578,18 @@ Ne Ne Ne Ne -Ne -Ne -Ne -Ne -dg +CO +CO +CO +CO +CO oL dg oL eT bg sU -gn +CJ FI Sf WY @@ -21378,10 +21835,10 @@ Ne Ne Ne Ne -Ne -Ne -CO CO +wc +gE +LI CO dA SG @@ -21635,18 +22092,18 @@ Ne Ne Ne Ne -Ne -CO CO +OB +NW Jl -CO -Pm -Sz +hh +eg +Pu ou kA CJ pg -zT +CJ Kb ka jq @@ -21892,14 +22349,14 @@ Ne Ne Ne Ne -Ne CO +Dh on Lo CO -TA -bf +KJ kR +JN cT fX eR @@ -22147,16 +22604,16 @@ Ne Ne Ne Ne -Ne -Ne -Ne +dg +dg CO -LI -Dh -Qr -jM +CO +CO +CO +CO +TA ZC -iB +Pt Ul nz Bz @@ -22404,13 +22861,13 @@ Ne Ne Ne Ne -Ne -Ne -Ne -CO +dg +aS +Qw +he kf Vy -CO +dg Cn vk lY @@ -22661,24 +23118,24 @@ Ne Ne Ne Ne -Ne -Ne -bB -CO -CO +oL +zO +oL +oy +Pk Ob -CO -Ls -AQ +Ya +VW +Bm ou cH Ha Ha -Ha -Ha +Ay +WX Oq Em -WX +Ha Ha qv Hs @@ -22918,28 +23375,28 @@ Ne Ne Ne Ne -Ne -Ne -bB -bB -CO -CO -CO -gk +oL +Gi +ht +oL +pP +SH +bf +Ls us -Dd +AN mY -Dd -Dd -Dd -Dd -Dd +AN +AN +AN +AN +AN ed Dd Dd jc iB -dg +oL bB Ne "} @@ -23175,21 +23632,21 @@ Ne Ne Ne Ne -Ne -Ne -Ne -bB -bB -bB dg -Ls +Te +Nw +hT +vW +Zb +dg +Cr AQ JN Hy vq vq vq -vq +UG vl Em vq @@ -23431,23 +23888,23 @@ bB bB bB Ne -bB -Ne -Ne -Ne Ne -bB -bB +dg +dg oL -Ls -AQ -iB -uL -uL oL oL -uL -uL +dg +dg +gk +Vb +iB +Qr +Qr +jM +jM +Qr +Qr pv uL IP @@ -23688,23 +24145,23 @@ bB bB bB bB -bB -bB Ne Ne Ne Ne bB -oL -Ls -AQ -iB -uL +bB +bB +dg +Rc +vA +VC +Qr UV -Ha +ET St rv -uL +Qr Ah uL mI @@ -23950,18 +24407,18 @@ bB bB Ne Ne -Ne bB -dg -Rc +bB +oL +Ls AQ iB -oL +jM wn DV -Sz +xV Yg -uL +Qr Ah uL AP @@ -24211,14 +24668,14 @@ Ne bB oL Ls -vH -Vd +UC +AN Bw -Vd +ap Ka Sz VE -uL +Qr Ah dg dg @@ -24466,16 +24923,16 @@ bB Ne Ne bB -oL -Ls +dg +nM AQ iB -oL +jM sb FU NA Uw -uL +Qr Ah dg bB @@ -24726,13 +25183,13 @@ bB dg aa uV -VC -uL +iB +Qr OF dh Er Fq -uL +Qr jE dg bB @@ -24982,14 +25439,14 @@ Ne bB oL Ls -AQ +Vb iB -nH -uL -uL -uL -uL -uL +an +Qr +Qr +Qr +Qr +Qr Ah dg bB @@ -25496,8 +25953,8 @@ bB bB dg Rc -AQ -iB +vA +VC uL UI MA @@ -26256,7 +26713,7 @@ oY zt xZ TQ -IE +GX me Xu Jb @@ -26514,7 +26971,7 @@ uH yX bG WJ -nM +yX Gq yX yX @@ -26769,8 +27226,8 @@ hu pA zt EZ -Ay IE +zT gX xY AO diff --git a/_maps/map_files/nova/nova.dmm b/_maps/map_files/nova/nova.dmm index f8997e7806c..a660768c920 100644 --- a/_maps/map_files/nova/nova.dmm +++ b/_maps/map_files/nova/nova.dmm @@ -513,31 +513,11 @@ /turf/simulated/floor/plasteel/dark, /area/engineering/controlroom) "aek" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/machinery/hologram/holopad, -/obj/effect/decal/warning_stripes/green/hollow, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/item/radio/intercom{ - pixel_x = 28; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel{ - icon_state = "white" +/obj/machinery/atmospherics/binary/valve{ + dir = 4 }, -/area/medical/virology) +/turf/simulated/floor/plating, +/area/medical/virology/lab) "aeq" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -1021,7 +1001,9 @@ dir = 1; pixel_y = -24 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "ahH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -1048,11 +1030,12 @@ }, /area/medical/research/nhallway) "ahS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ + d1 = 1; + d2 = 2; icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitegreen" @@ -1242,6 +1225,10 @@ name = "east station intercom (General)"; pixel_x = 28 }, +/obj/machinery/camera{ + c_tag = "Central Ring Hallway West 1"; + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "neutral" @@ -1293,7 +1280,7 @@ scrub_Toxins = 1 }, /turf/simulated/floor/plasteel{ - dir = 1 + icon_state = "red" }, /area/security/lobby) "ajJ" = ( @@ -1312,11 +1299,11 @@ /turf/simulated/floor/plating, /area/maintenance/fpmaint) "ajO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "darkredfull" }, /area/turret_protected/ai) "ajQ" = ( @@ -1497,6 +1484,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plasteel{ + dir = 10; icon_state = "darkred" }, /area/turret_protected/ai) @@ -1642,6 +1630,7 @@ /area/quartermaster/storage) "ama" = ( /obj/effect/decal/cleanable/dirt, +/obj/item/folder, /turf/simulated/floor/plasteel, /area/maintenance/xenozoo) "amf" = ( @@ -1973,10 +1962,17 @@ /turf/simulated/floor/grass, /area/hydroponics) "aok" = ( -/obj/structure/closet/l3closet/virology, -/obj/machinery/atmospherics/pipe/simple/hidden/cyan, -/turf/simulated/floor/plating, -/area/medical/virology/lab) +/obj/structure/table/reinforced, +/obj/item/storage/ashtray/glass{ + pixel_x = 6 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust, +/obj/item/lighter, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "red" + }, +/area/security/interrogation) "aop" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2062,7 +2058,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "aoU" = ( /obj/item/twohanded/required/kirbyplants, @@ -2579,7 +2577,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "atT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/nanotrasen_logo{ @@ -2782,7 +2780,7 @@ dir = 6; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "avP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3202,9 +3200,6 @@ pixel_y = -22; req_access = list(39) }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/cable{ icon_state = "1-4" }, @@ -3213,6 +3208,9 @@ /obj/structure/disposalpipe/segment{ dir = 9 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitegreen" @@ -3251,10 +3249,6 @@ "azJ" = ( /obj/structure/table, /obj/item/aicard, -/obj/item/folder/blue{ - pixel_x = 2; - pixel_y = 2 - }, /obj/machinery/status_display{ pixel_x = -32 }, @@ -3547,8 +3541,8 @@ /obj/effect/turf_decal/caution/red{ dir = 4 }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" +/turf/simulated/floor/engine{ + slowdown = -0.3 }, /area/hallway/primary/central) "aBV" = ( @@ -3735,7 +3729,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "aCQ" = ( /obj/machinery/door/airlock/security/glass{ id = "Interrogation"; @@ -3956,8 +3950,6 @@ dir = 8; pixel_x = 24 }, -/obj/structure/table/wood, -/obj/item/stack/wrapping_paper, /obj/machinery/light/small{ dir = 4 }, @@ -3965,6 +3957,7 @@ name = "north newscaster"; pixel_y = 34 }, +/obj/machinery/vending/artvend, /turf/simulated/floor/wood, /area/civilian/pet_store) "aED" = ( @@ -3984,7 +3977,7 @@ /turf/simulated/floor/carpet/royalblue, /area/crew_quarters/captain/bedroom) "aEL" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /obj/structure/sign/poster/contraband/lamarr{ @@ -4115,7 +4108,6 @@ }, /obj/machinery/power/apc{ dir = 4; - name = "east bump"; pixel_x = 26 }, /turf/simulated/floor/plasteel{ @@ -4233,7 +4225,7 @@ }, /area/hallway/primary/central/second/east) "aGk" = ( -/obj/structure/closet/wardrobe/pink, +/obj/machinery/vending/artvend, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "neutralcorner" @@ -4313,8 +4305,8 @@ dir = 8; pixel_x = -28 }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 6 }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) @@ -4520,7 +4512,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plasteel, -/area/engineering/engine) +/area/engineering/break_room) "aIf" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -4570,7 +4562,7 @@ /turf/simulated/floor/plating, /area/magistrateoffice) "aIt" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -4700,13 +4692,7 @@ dir = 8; do_not_delete_me = 1 }, -/obj/structure/chair/stool/bar{ - icon = 'icons/obj/lighting.dmi'; - icon_state = "lantern-on"; - light_color = "#FFBF00"; - light_range = 6; - name = "lantern" - }, +/obj/item/flashlight/lantern, /turf/simulated/floor/carpet/red, /area/chapel/main) "aJv" = ( @@ -4744,12 +4730,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/landmark/start/botanist, /turf/simulated/floor/plasteel{ - dir = 0; + dir = 6; icon_state = "green" }, /area/hydroponics) @@ -4804,7 +4787,6 @@ }, /area/crew_quarters/fitness) "aJZ" = ( -/obj/effect/spawner/random_spawners/crate_spawner, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 1 @@ -4919,7 +4901,6 @@ "aKJ" = ( /obj/machinery/hologram/holopad, /obj/effect/turf_decal/box, -/obj/effect/landmark/start/shaft_miner, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -5338,6 +5319,18 @@ icon_state = "purple" }, /area/hallway/primary/fore) +"aNX" = ( +/obj/structure/window/reinforced, +/obj/item/flag/nt, +/obj/structure/sign/beautyplaque{ + pixel_y = 32; + name = "Благодарственное Письмо от Главного Инженера станции Нова"; + desc = "Важное Уточнение! Рабочие пожелали оставаться анонимными, поэтому, обойдёмся их прозвищами. За помощь Главному Инженеру Новы в поисках и устранении неисправностей на станции НаноТрейзен. С благодарностью, Saad603. Слава НаноТрейзен!" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/bridge) "aOb" = ( /obj/structure/table/wood/fancy/royalblack, /obj/item/clothing/under/syndicate/blackops_civ, @@ -5650,9 +5643,10 @@ id = "mining_home"; name = "mining shuttle bay"; width = 7; - turf_type = /turf/simulated/floor/plating + turf_type = /turf/simulated/floor/plating; + area_type = /area/quartermaster/miningdock }, -/turf/space{ +/turf/space/openspace{ icon_state = "black" }, /area/quartermaster/miningdock) @@ -5764,7 +5758,8 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "aQG" = ( @@ -6214,6 +6209,11 @@ dir = 8; pixel_x = 24 }, +/obj/machinery/camera{ + c_tag = "Research West Hallway 2"; + network = list("Research","SS13"); + dir = 9 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitepurple"; @@ -6734,6 +6734,10 @@ tag = "icon-shower (EAST)" }, /obj/effect/landmark/start/captain, +/obj/item/radio/intercom{ + dir = 1; + pixel_y = 25 + }, /turf/simulated/floor/plasteel/freezer, /area/crew_quarters/captain/bedroom) "aYf" = ( @@ -7936,6 +7940,8 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/item/radio/beacon, +/obj/machinery/hologram/holopad, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -7990,6 +7996,9 @@ "bhW" = ( /obj/structure/closet/bombcloset, /obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/sign/poster/official/random{ + pixel_x = -32 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whitepurple" @@ -8038,6 +8047,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, /turf/simulated/floor/plasteel{ icon_state = "whiteblue" }, @@ -8203,6 +8215,11 @@ /obj/effect/decal/cleanable/dust, /turf/simulated/floor/wood, /area/maintenance/fsmaint) +"bjD" = ( +/obj/effect/decal/cleanable/dust, +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/wood, +/area/maintenance/library) "bjG" = ( /obj/structure/cable{ icon_state = "4-8" @@ -8365,15 +8382,21 @@ /turf/simulated/floor/carpet/black, /area/chapel/main) "bkx" = ( -/obj/effect/decal/warning_stripes/northeast, -/obj/machinery/chem_master{ - pixel_x = -1 - }, /obj/structure/cable{ d1 = 4; d2 = 8; icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/reagent_containers/dropper/precision, +/obj/item/reagent_containers/dropper/precision, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/dropper, +/obj/item/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, /turf/simulated/floor/plasteel, /area/medical/virology/lab) "bky" = ( @@ -8533,6 +8556,12 @@ icon_state = "neutral" }, /area/hallway/primary/central/sw) +"bmb" = ( +/obj/machinery/door/airlock/maintenance{ + req_access = list(12) + }, +/turf/simulated/floor/plating, +/area/maintenance/fsmaint3) "bmd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random_spawners/blood_20, @@ -8606,11 +8635,11 @@ /turf/simulated/floor/plating, /area/security/permabrig) "bmP" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ +/obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/plasteel{ - dir = 1 + icon_state = "redcorner" }, /area/security/prison/cell_block/A) "bmR" = ( @@ -8720,7 +8749,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "bnN" = ( /obj/effect/decal/cleanable/dirt, @@ -9024,7 +9055,7 @@ "bpz" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/machinery/vending/wallmed{ - pixel_x = 26 + pixel_x = 25 }, /obj/effect/decal/warning_stripes/yellow/hollow, /obj/effect/decal/warning_stripes/south, @@ -9155,13 +9186,14 @@ /turf/simulated/floor/wood, /area/maintenance/fsmaint) "bqo" = ( -/obj/effect/decal/warning_stripes/northwestcorner, -/obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb2, -/obj/item/toy/figure/scientist, /obj/machinery/light/small{ dir = 1 }, +/obj/structure/closet/l3closet/scientist, +/obj/effect/decal/warning_stripes/yellow/hollow, +/obj/effect/decal/warning_stripes/northwestcorner, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/xenozoo) "bqr" = ( @@ -9176,7 +9208,7 @@ dir = 9; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "bqA" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -9464,7 +9496,8 @@ /obj/effect/decal/warning_stripes/yellow/hollow, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plasteel{ - icon_state = "neutralfull" + icon_state = "redfull"; + tag = "icon-redfull (NORTHWEST)" }, /area/atmos) "bso" = ( @@ -9756,7 +9789,7 @@ dir = 4; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "buq" = ( /obj/machinery/firealarm{ dir = 8; @@ -9943,7 +9976,9 @@ codes_txt = "patrol;next_patrol=C9"; location = "C8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "bvn" = ( /obj/structure/cable{ @@ -10060,7 +10095,9 @@ /area/hallway/primary/central/second/north) "bvT" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "bvV" = ( /obj/docking_port/stationary{ @@ -10128,21 +10165,26 @@ }, /area/maintenance/fpmaint) "bwt" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ - dir = 4 +/obj/structure/cable/multiz{ + color = "#dd1010" }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/table/glass, +/obj/item/paper_bin, +/obj/item/pen/red, +/obj/item/reagent_containers/spray/cleaner/medical{ + pixel_x = 7; + pixel_y = 9 }, -/obj/structure/disposalpipe/segment{ - invisibility = 101 +/obj/item/reagent_containers/spray/cleaner/medical{ + pixel_x = -2; + pixel_y = 9 }, -/turf/simulated/floor/plating, +/obj/effect/decal/warning_stripes/north, +/turf/simulated/floor/plasteel, /area/medical/virology/lab) "bwE" = ( /obj/effect/decal/cleanable/dirt, @@ -10389,11 +10431,6 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos/glass{ - name = "Supermatter Chamber"; - req_access = list(24); - security_level = 1 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/door/poddoor{ @@ -10403,6 +10440,11 @@ name = "Engineering Lockdown"; opacity = 0 }, +/obj/machinery/door/airlock/atmos{ + req_access = list(24); + name = "Supermatter Chamber"; + security_level = 1 + }, /turf/simulated/floor/plasteel/dark, /area/engineering/controlroom) "byL" = ( @@ -10469,7 +10511,7 @@ }, /area/medical/cloning) "bzd" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/wood, @@ -10684,16 +10726,29 @@ /obj/item/storage/ashtray, /turf/simulated/floor/plating, /area/maintenance/apmaint) +"bAU" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/turret_protected/ai) "bAV" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/iv_bag/bloodsynthetic/nitrogenis, +/obj/item/reagent_containers/iv_bag/bloodsynthetic/oxygenis, +/obj/item/reagent_containers/iv_bag/bloodsynthetic/oxygenis, +/obj/machinery/light/small{ + dir = 8 }, -/turf/simulated/floor/plasteel{ - icon_state = "white" +/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ + dir = 8 }, -/area/medical/virology) +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/turf/simulated/floor/plating, +/area/medical/virology/lab) "bAX" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -10773,6 +10828,21 @@ icon_state = "darkred" }, /area/security/evidence) +"bBs" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/turret_protected/ai) "bBt" = ( /obj/structure/rack{ dir = 8; @@ -11011,17 +11081,10 @@ }, /area/security/processing) "bDb" = ( -/obj/machinery/atmospherics/unary/vent_scrubber{ - name = "standard air scrubber"; - on = 1; - scrub_N2O = 1; - scrub_Toxins = 1; - dir = 1 - }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "bDc" = ( /obj/structure/chair/stool, /obj/effect/decal/cleanable/dust, @@ -11430,6 +11493,10 @@ "bFK" = ( /obj/item/hand_labeler, /obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = 1; + pixel_y = 3 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -11638,16 +11705,7 @@ }, /area/toxins/misc_lab) "bGQ" = ( -/obj/machinery/firealarm{ - pixel_y = 24 - }, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "brown" - }, +/turf/simulated/openspace, /area/quartermaster/miningstorage) "bGZ" = ( /obj/structure/table/reinforced, @@ -11775,9 +11833,8 @@ "bIi" = ( /obj/structure/table, /obj/item/storage/box/donkpockets, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -28 +/obj/structure/sign/poster/official/random{ + pixel_x = -32 }, /turf/simulated/floor/plasteel{ dir = 1 @@ -11809,8 +11866,11 @@ /turf/simulated/floor/plating, /area/maintenance/maintcentral) "bIu" = ( +/obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, -/turf/simulated/floor/plating, +/turf/simulated/floor/plasteel{ + icon_state = "yellowcorner" + }, /area/maintenance/apmaint) "bIw" = ( /obj/machinery/door/airlock/public/glass{ @@ -11851,6 +11911,7 @@ /turf/simulated/floor/wood, /area/maintenance/library) "bIH" = ( +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plasteel{ icon_state = "whitebluecorner"; tag = "icon-whitebluecorner" @@ -12468,14 +12529,14 @@ dir = 8; icon_state = "vault" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "bNL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /obj/structure/disposalpipe/segment, @@ -12519,6 +12580,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -12687,6 +12751,7 @@ /obj/effect/decal/cleanable/dirt, /obj/item/wrench, /obj/effect/spawner/random_spawners/rodent, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plasteel, /area/maintenance/medroom) "bPt" = ( @@ -12976,6 +13041,15 @@ }, /turf/simulated/floor/grass, /area/maintenance/fore2) +"bRc" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "brown" + }, +/area/quartermaster/miningstorage) "bRg" = ( /obj/structure/sign/poster/official/nanotrasen_logo{ pixel_y = 32 @@ -13060,11 +13134,6 @@ /turf/simulated/floor/plating, /area/hallway/secondary/exit) "bRE" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/structure/cable{ d1 = 1; d2 = 4; @@ -13136,15 +13205,9 @@ /turf/simulated/floor/plating, /area/maintenance/secpost) "bRX" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -5; - pixel_y = 30 - }, -/obj/structure/table, /obj/machinery/atmospherics/pipe/multiz, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival{ - pixel_x = 6 +/obj/structure/closet/crate{ + icon_state = "crateopen" }, /turf/simulated/floor/plasteel{ dir = 1; @@ -13182,30 +13245,20 @@ }, /area/hallway/primary/central/second/east) "bSF" = ( -/obj/structure/table/reinforced, -/obj/item/storage/ashtray/glass{ - pixel_x = 6 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robust, -/obj/item/lighter, -/obj/item/radio/intercom{ - pixel_y = 24 - }, -/turf/simulated/floor/plasteel{ - dir = 9; - icon_state = "red" +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 }, -/area/security/interrogation) +/turf/simulated/floor/plating, +/area/maintenance/asmaint4) "bSJ" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, /obj/structure/cable{ icon_state = "1-8" }, /obj/structure/cable{ icon_state = "1-4" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -13599,7 +13652,9 @@ name = "Officer Uploadsky"; desc = "It's Officer Uploadsky! Powered by a potato and a shot of whiskey." }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "bVz" = ( /obj/structure/cable{ @@ -13729,6 +13784,10 @@ icon_state = "neutralfull" }, /area/hallway/primary/central/north) +"bWi" = ( +/obj/structure/flora/ausbushes/leafybush, +/turf/simulated/floor/grass, +/area/maintenance/garden) "bWj" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable{ @@ -14076,7 +14135,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "bYT" = ( /obj/machinery/camera{ @@ -14303,7 +14364,8 @@ /obj/machinery/door/firedoor, /obj/effect/turf_decal/caution/red, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "caz" = ( @@ -14313,7 +14375,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "caB" = ( /obj/item/twohanded/required/kirbyplants, /turf/simulated/floor/plasteel{ @@ -14675,7 +14737,7 @@ dir = 4; icon_state = "darkredcorners" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "cdq" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -14783,7 +14845,7 @@ dir = 8; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "cej" = ( /obj/structure/grille/broken, /turf/simulated/floor/plating, @@ -14933,12 +14995,6 @@ }, /area/atmos) "cfF" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, @@ -14948,6 +15004,14 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitegreen" @@ -15036,11 +15100,13 @@ }, /area/hallway/primary/command/east) "cgz" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 +/obj/structure/table, +/obj/item/folder/blue{ + pixel_x = 2; + pixel_y = 2 }, /turf/simulated/floor/plasteel{ - icon_state = "darkredfull" + icon_state = "dark" }, /area/turret_protected/ai) "cgA" = ( @@ -15241,7 +15307,9 @@ dir = 1; pixel_y = -24 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "cij" = ( /obj/structure/chair/office/dark{ @@ -15437,7 +15505,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "cjO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16049,9 +16117,7 @@ /turf/simulated/floor/plating, /area/maintenance/tourist) "con" = ( -/obj/vehicle/ridden/janicart{ - dir = 4 - }, +/obj/vehicle/ridden/janicart, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "purple" @@ -16178,7 +16244,11 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) +"cpg" = ( +/obj/effect/spawner/random_spawners/crate_spawner, +/turf/simulated/floor/plating, +/area/maintenance/starboard) "cpj" = ( /turf/simulated/floor/plasteel{ icon_state = "darkgrey" @@ -16232,6 +16302,7 @@ dir = 4; tag = "icon-bulb1 (EAST)" }, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -16239,7 +16310,7 @@ "cpJ" = ( /obj/machinery/computer/security, /turf/simulated/floor/redgrid, -/area/tcommsat/chamber) +/area/tcommsat/server) "cpN" = ( /obj/structure/table/wood, /obj/item/flashlight/flare{ @@ -16433,15 +16504,20 @@ /turf/simulated/floor/plating, /area/maintenance/asmaint) "cqS" = ( -/obj/machinery/light/small{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 8 +/obj/item/radio/intercom{ + pixel_x = 28; + pixel_y = 26 }, -/turf/simulated/floor/plasteel{ - icon_state = "freezerfloor" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/light{ + dir = 4 }, +/turf/simulated/floor/carpet/green, /area/medical/virology) "cqU" = ( /obj/effect/spawner/window/reinforced, @@ -16464,7 +16540,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "crc" = ( /obj/machinery/power/apc{ @@ -16796,6 +16874,14 @@ }, /turf/simulated/floor/plating, /area/bridge/checkpoint/south) +"ctD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "barber" + }, +/area/maintenance/medroom) "ctE" = ( /obj/machinery/vending/cola, /obj/effect/decal/warning_stripes/red/hollow, @@ -16856,7 +16942,7 @@ }, /area/security/reception) "ctX" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /obj/machinery/light{ @@ -17106,6 +17192,17 @@ icon_state = "floorgrime" }, /area/maintenance/fsmaint) +"cvl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/toolbox_tiles, +/turf/simulated/floor/plating, +/area/maintenance/tourist) "cvr" = ( /obj/structure/cable{ icon_state = "2-8" @@ -17138,7 +17235,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "cvY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17440,7 +17537,9 @@ dir = 4 }, /obj/structure/window/reinforced, -/obj/item/twohanded/required/kirbyplants, +/obj/item/twohanded/required/kirbyplants{ + layer = 3.1 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -17520,6 +17619,12 @@ /area/crew_quarters/locker) "czo" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 2 + }, +/obj/structure/sign/poster/official/random{ + pixel_x = -32 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkred" @@ -18026,17 +18131,6 @@ icon_state = "caution" }, /area/atmos/control) -"cDr" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/simulated/floor/plasteel{ - dir = 1 - }, -/area/security/prison/cell_block/A) "cDE" = ( /turf/simulated/floor/plasteel{ dir = 8; @@ -18556,7 +18650,7 @@ /turf/simulated/floor/glass, /area/hallway/primary/fore) "cHa" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plasteel/dark, @@ -18666,7 +18760,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "cHO" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=A2"; @@ -18849,7 +18943,7 @@ dir = 5; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "cJZ" = ( /obj/machinery/smartfridge, /obj/machinery/door/window/eastleft{ @@ -18863,6 +18957,11 @@ }, /turf/simulated/floor/plating, /area/crew_quarters/kitchen) +"cKa" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance/tripple, +/turf/simulated/floor/plating, +/area/maintenance/asmaint4) "cKc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -18905,10 +19004,6 @@ "cKm" = ( /obj/structure/table, /obj/item/aiModule/freeform, -/obj/machinery/camera/motion{ - c_tag = "AI Upload Chamber"; - dir = 8 - }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -19014,7 +19109,9 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "cLn" = ( /obj/structure/disposalpipe/segment{ @@ -19118,7 +19215,6 @@ }, /area/hallway/secondary/entry) "cMg" = ( -/obj/structure/chair/office, /obj/machinery/light{ dir = 8 }, @@ -19129,6 +19225,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -25 }, +/obj/structure/chair/office, /turf/simulated/floor/wood/oak, /area/crew_quarters/courtroom) "cMj" = ( @@ -19474,6 +19571,9 @@ c_tag = "Brig Cell 2"; dir = 10 }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, /turf/simulated/floor/carpet/cyan, /area/security/prison/cell_block/A) "cOz" = ( @@ -19525,9 +19625,6 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light{ - dir = 4 - }, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "darkred" @@ -19861,10 +19958,10 @@ "cQQ" = ( /obj/structure/table, /obj/item/stack/sheet/metal{ - amount = 10 + amount = 30 }, /obj/item/stack/sheet/glass{ - amount = 10 + amount = 30 }, /obj/machinery/recharger/wallcharger{ pixel_x = 5; @@ -19897,7 +19994,17 @@ /turf/simulated/floor/wood, /area/security/hos) "cRf" = ( -/obj/structure/disposalpipe/junction/reversed{ +/obj/machinery/door/window/eastleft{ + name = "Mail"; + req_access = list(50); + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/effect/decal/warning_stripes/yellow, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/plasteel, @@ -20004,9 +20111,6 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -20120,11 +20224,6 @@ /obj/structure/sign/xenobio{ pixel_x = 32 }, -/obj/machinery/camera{ - c_tag = "Research East Hallway"; - dir = 8; - network = list("Research","SS13") - }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitepurple" @@ -20380,7 +20479,8 @@ icon_state = "2-4" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "cUZ" = ( @@ -20769,12 +20869,6 @@ tag = "icon-wood-broken" }, /area/maintenance/casino) -"cXR" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/plasteel{ - dir = 1 - }, -/area/security/prison/cell_block/A) "cXW" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 1; @@ -21202,6 +21296,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/random/tool, +/obj/item/clothing/head/welding, /turf/simulated/floor/plating, /area/maintenance/tourist) "dbs" = ( @@ -21284,6 +21379,10 @@ icon_state = "purplefull" }, /area/medical/research/nhallway) +"dcl" = ( +/obj/effect/spawner/random_spawners/blood_5, +/turf/simulated/floor/plating, +/area/maintenance/secpost) "dcq" = ( /turf/simulated/wall/r_wall, /area/toxins/xenobiology) @@ -21306,10 +21405,6 @@ /obj/effect/spawner/lootdrop/maintenance/tripple, /turf/simulated/floor/plating, /area/maintenance/fore2) -"dcD" = ( -/obj/machinery/mineral/processing_unit_console, -/turf/simulated/wall, -/area/quartermaster/miningstorage) "dcH" = ( /obj/structure/railing{ dir = 4 @@ -21353,7 +21448,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "ddi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/tiles/damageturf, @@ -21526,12 +21621,14 @@ }, /area/crew_quarters/sleep/secondary) "dfe" = ( +/obj/structure/railing{ + dir = 4 + }, /turf/simulated/floor/plasteel{ - dir = 5; - icon_state = "whitepurple"; - tag = "icon-whitepurple (SOUTHWEST)" + dir = 1; + icon_state = "rampbottom" }, -/area/toxins/launch) +/area/maintenance/casino) "dff" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, @@ -21669,16 +21766,9 @@ /turf/simulated/floor/plating, /area/maintenance/starboard) "dgD" = ( -/obj/machinery/door/airlock/maintenance{ - req_access = list(12,39); - name = "Virology maintenance" - }, -/obj/structure/cable{ - icon_state = "1-2"; - tag = "" +/turf/simulated/floor/plasteel{ + icon_state = "ramptop" }, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/plating, /area/maintenance/asmaint4) "dgH" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ @@ -21742,6 +21832,8 @@ pixel_x = -22 }, /obj/item/reagent_containers/hypospray/safety, +/obj/item/storage/belt/medical, +/obj/item/clothing/glasses/hud/health, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whiteblue"; @@ -21929,7 +22021,7 @@ /turf/simulated/floor/wood, /area/security/permabrig) "dhR" = ( -/obj/structure/chair/stool/holostool, +/obj/structure/chair/stool, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "dhS" = ( @@ -22278,7 +22370,9 @@ /obj/effect/decal/novastation{ icon_state = "NStation3" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "dlb" = ( /obj/effect/decal/cleanable/dirt, @@ -22363,6 +22457,12 @@ /obj/machinery/light, /turf/simulated/floor/plasteel, /area/toxins/storage) +"dlr" = ( +/obj/structure/disposalpipe/trunk/multiz{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/quartermaster/sorting) "dlD" = ( /turf/simulated/wall/r_wall, /area/security/prison/cell_block/A) @@ -22533,6 +22633,20 @@ icon_state = "redfull" }, /area/security/checkpoint) +"dnh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + pixel_x = -26; + pixel_y = -26 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/chapel/office) "dni" = ( /obj/structure/table/wood, /obj/machinery/fishtank/bowl, @@ -22541,6 +22655,7 @@ pixel_y = 3; pixel_x = 2 }, +/obj/item/stack/wrapping_paper, /turf/simulated/floor/wood, /area/civilian/pet_store) "dnj" = ( @@ -23274,7 +23389,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "dso" = ( /obj/effect/decal/cleanable/dirt, @@ -23580,15 +23697,10 @@ /turf/simulated/floor/carpet/royalblack, /area/hallway/secondary/exit) "duz" = ( -/obj/effect/turf_decal/loading_area{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, -/turf/simulated/floor/plasteel{ - icon_state = "brown" - }, +/turf/simulated/floor/plasteel, /area/quartermaster/miningstorage) "duC" = ( /obj/effect/decal/cleanable/dust, @@ -23688,7 +23800,9 @@ name = "Emergency NanoMed"; pixel_y = 30 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "dvi" = ( /obj/structure/cable{ @@ -23749,6 +23863,11 @@ dir = 1 }, /area/hallway/primary/central/second/west) +"dvO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/caution, +/turf/simulated/floor/plating, +/area/maintenance/fsmaint) "dvT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -23965,6 +24084,10 @@ }, /turf/simulated/floor/carpet, /area/medical/psych) +"dxq" = ( +/obj/structure/flora/ausbushes/grassybush, +/turf/simulated/floor/grass, +/area/maintenance/garden) "dxv" = ( /obj/structure/cable{ icon_state = "1-2" @@ -24055,6 +24178,7 @@ /area/bridge) "dyb" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/oil, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -24082,7 +24206,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "dyi" = ( /obj/effect/decal/cleanable/dirt, @@ -24249,6 +24375,7 @@ /area/medical/cmo) "dzH" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/wood{ icon_state = "wood-broken" }, @@ -24479,6 +24606,14 @@ }, /turf/simulated/floor/glass/reinforced, /area/quartermaster/qm) +"dAX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/chapel/massdriver) "dAZ" = ( /obj/machinery/door/airlock/silver{ name = "Bathroom" @@ -24708,6 +24843,11 @@ /obj/effect/decal/ants, /turf/simulated/floor/plating, /area/security/permabrig) +"dCH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random_spawners/crate_spawner, +/turf/simulated/floor/plating, +/area/maintenance/tourist) "dCL" = ( /obj/structure/chair/sofa/right, /obj/effect/decal/cleanable/dirt, @@ -24809,7 +24949,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plasteel{ @@ -25290,9 +25430,6 @@ }, /area/hallway/primary/central/west) "dId" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -25545,8 +25682,11 @@ }, /area/security/brigstaff) "dKd" = ( -/obj/machinery/vending/tool, /obj/effect/decal/cleanable/dust, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-dead"; + tag = "plant-dead" + }, /turf/simulated/floor/carpet, /area/maintenance/casino) "dKf" = ( @@ -25923,6 +26063,13 @@ /area/security/interrogation) "dNe" = ( /obj/effect/decal/cleanable/dirt, +/obj/structure/safe/floor, +/obj/item/reagent_containers/food/condiment/cheesesauce, +/obj/item/reagent_containers/food/condiment/garlicsauce, +/obj/item/reagent_containers/food/condiment/diablosauce, +/obj/item/reagent_containers/food/condiment/mushroomsauce, +/obj/item/reagent_containers/food/condiment/herbs, +/obj/item/reagent_containers/food/condiment/soysauce, /turf/simulated/floor/plasteel{ icon_state = "bar" }, @@ -26340,11 +26487,10 @@ }, /area/crew_quarters/fitness) "dQa" = ( -/obj/machinery/light/small{ - dir = 4; - tag = "icon-bulb1 (EAST)" +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "dQc" = ( @@ -26553,6 +26699,7 @@ dir = 1; pixel_y = -25 }, +/obj/item/reagent_containers/spray/pestspray, /turf/simulated/floor/grass, /area/maintenance/garden) "dRw" = ( @@ -26697,7 +26844,7 @@ pixel_y = -30 }, /turf/simulated/floor/plasteel{ - dir = 1 + icon_state = "red" }, /area/security/lobby) "dSt" = ( @@ -26917,6 +27064,9 @@ /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plating/airless, /area/space) +"dUj" = ( +/turf/simulated/floor/carpet/green, +/area/medical/virology) "dUt" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -26963,9 +27113,17 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) +"dUZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/plasteel{ + icon_state = "tranquillite" + }, +/area/maintenance/trading) "dVa" = ( /obj/structure/window/reinforced{ dir = 1 @@ -27156,20 +27314,24 @@ }, /area/toxins/xenobiology) "dWV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /obj/structure/disposalpipe/segment{ dir = 9 }, +/obj/machinery/light_switch{ + pixel_x = -26; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "dXb" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -27216,7 +27378,7 @@ icon_state = "whitegreen"; tag = "icon-whitegreen (EAST)" }, -/area/medical/virology/lab) +/area/medical/virology) "dXy" = ( /obj/machinery/vending/clothing/departament/security, /obj/effect/decal/warning_stripes/red/hollow, @@ -27319,9 +27481,8 @@ /turf/simulated/floor/plating, /area/maintenance/tourist) "dYK" = ( -/obj/structure/closet/l3closet/scientist, -/obj/effect/decal/warning_stripes/yellow/hollow, /obj/effect/decal/cleanable/dirt, +/obj/item/paper_bin, /turf/simulated/floor/plasteel, /area/maintenance/xenozoo) "dYN" = ( @@ -27380,6 +27541,20 @@ icon_state = "darkbluecornersalt" }, /area/crew_quarters/fitness) +"dYX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + pixel_x = -26; + pixel_y = 26 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/chapel/office) "dZb" = ( /obj/structure/cable{ icon_state = "1-2" @@ -27435,6 +27610,9 @@ name = "Труба дыхательной смеси" }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "yellow" @@ -27519,7 +27697,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "dZM" = ( @@ -27547,10 +27726,10 @@ /turf/simulated/floor/plating, /area/maintenance/apmaint) "eab" = ( -/obj/item/twohanded/required/kirbyplants, /obj/machinery/vending/wallmed{ pixel_y = -30 }, +/obj/machinery/vending/artvend, /turf/simulated/floor/wood/oak, /area/civilian/barber) "eae" = ( @@ -27747,6 +27926,18 @@ icon_state = "green" }, /area/hallway/secondary/exit) +"ebq" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/warning_stripes/yellow, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + dir = 1 + }, +/area/quartermaster/lobby) "ebr" = ( /obj/structure/window/reinforced{ dir = 8; @@ -28090,6 +28281,14 @@ icon_state = "neutralfull" }, /area/security/nuke_storage) +"edG" = ( +/obj/structure/table, +/obj/item/robot_parts/l_leg, +/obj/item/robot_parts/r_leg, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/turret_protected/ai) "edO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/vomit, @@ -28152,6 +28351,18 @@ icon_state = "vault" }, /area/engineering/mechanic_workshop) +"edZ" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/quartermaster/sorting) "eeb" = ( /obj/machinery/camera{ c_tag = "Prisoners Lockers"; @@ -28321,6 +28532,13 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/fore) +"efz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/simulated/floor/plating, +/area/maintenance/tourist) "efA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -28435,7 +28653,7 @@ dir = 10; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "egq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 5 @@ -28634,7 +28852,9 @@ icon_state = "4-8" }, /obj/machinery/light, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "ehA" = ( /obj/effect/decal/cleanable/dirt, @@ -29094,6 +29314,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, /area/maintenance/trading) +"ekJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint) "ekP" = ( /obj/structure/railing{ dir = 10 @@ -29268,7 +29500,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "elH" = ( /obj/machinery/door/poddoor{ @@ -29388,6 +29622,17 @@ icon_state = "red" }, /area/security/processing) +"emp" = ( +/obj/machinery/light, +/obj/machinery/vending/wallmed{ + layer = 3.3; + name = "Emergency NanoMed"; + pixel_y = -30 + }, +/turf/simulated/floor/plasteel{ + dir = 1 + }, +/area/hallway/primary/central/second/east) "emr" = ( /obj/structure/flora/ausbushes/ppflowers, /obj/structure/flora/ausbushes/ywflowers, @@ -29576,10 +29821,10 @@ dir = 4 }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-8" }, /obj/structure/cable{ - icon_state = "1-8" + icon_state = "2-8" }, /turf/simulated/floor/plasteel{ dir = 8; @@ -29674,7 +29919,7 @@ pixel_x = -28 }, /turf/simulated/floor/redgrid, -/area/tcommsat/chamber) +/area/tcommsat/server) "eoV" = ( /obj/machinery/porta_turret{ dir = 8 @@ -29684,9 +29929,6 @@ }, /area/turret_protected/ai_upload) "eoY" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, @@ -29701,6 +29943,9 @@ name = "Janitor"; sortType = 22 }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -29802,6 +30047,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -30006,7 +30252,6 @@ icon_state = "4-8" }, /obj/machinery/photocopier, -/obj/structure/table, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "purple" @@ -30234,6 +30479,15 @@ icon_state = "dark" }, /area/security/securearmory) +"etN" = ( +/obj/item/pen, +/obj/structure/table, +/obj/item/toy/figure/scientist, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/xenozoo) "etQ" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ @@ -30532,7 +30786,7 @@ name = "fore bay 1"; width = 9 }, -/turf/space{ +/turf/space/openspace{ icon_state = "black" }, /area/space) @@ -31014,6 +31268,23 @@ }, /turf/simulated/floor/carpet, /area/maintenance/casino) +"ezg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "grimy" + }, +/area/chapel/office) "ezi" = ( /obj/structure/table/reinforced, /obj/item/clothing/ears/earmuffs, @@ -31126,11 +31397,14 @@ }, /area/medical/cloning) "ezI" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/structure/disposalpipe/trunk{ + dir = 4 }, -/area/security/interrogation) +/obj/structure/disposaloutlet{ + dir = 8 + }, +/turf/simulated/floor/plating/airless, +/area/space) "ezJ" = ( /obj/structure/table, /obj/item/storage/fancy/cigarettes/cigpack_robust{ @@ -31550,6 +31824,7 @@ /area/crew_quarters/fitness) "eCB" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plasteel{ icon_state = "whiteblue"; tag = "icon-whitehall (WEST)" @@ -31820,7 +32095,7 @@ }, /area/chapel/office) "eFg" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plating, @@ -32135,11 +32410,14 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "eHH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -32335,13 +32613,11 @@ /turf/simulated/floor/carpet/red, /area/security/warden) "eJc" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 +/obj/structure/cable{ + icon_state = "2-8" }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "whitepurple"; - tag = "icon-whitepurple (NORTH)" + icon_state = "purplefull" }, /area/toxins/launch) "eJf" = ( @@ -32499,7 +32775,7 @@ dir = 5; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "eKz" = ( /turf/simulated/wall, /area/clownoffice) @@ -32544,11 +32820,16 @@ /turf/simulated/floor/plasteel, /area/crew_quarters/toilet) "eKM" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_y = 28; + pixel_x = 28 + }, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "eLa" = ( /obj/structure/flora/ausbushes/ppflowers, /obj/structure/flora/ausbushes/ywflowers, @@ -32773,16 +33054,13 @@ name = "Труба дыхательной смеси" }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc{ - dir = 4; - name = "east bump"; - pixel_x = 26 - }, /obj/structure/cable{ icon_state = "0-8" }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/machinery/power/apc/worn_out{ + cell_type = 0; + dir = 4; + pixel_x = 26 }, /turf/simulated/floor/plating, /area/maintenance/atmospherics) @@ -33118,7 +33396,7 @@ dir = 8; icon_state = "vault" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "eOZ" = ( /obj/machinery/power/tesla_coil, /obj/effect/decal/warning_stripes/yellow/hollow, @@ -33280,6 +33558,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel, /area/storage/eva) +"eQx" = ( +/obj/item/reagent_containers/food/snacks/grown/tomato, +/turf/simulated/floor/plasteel{ + icon_state = "tranquillite" + }, +/area/maintenance/trading) "eQD" = ( /obj/machinery/light/small, /turf/simulated/floor/plasteel{ @@ -33291,7 +33575,7 @@ "eQG" = ( /obj/machinery/firealarm{ dir = 4; - pixel_x = 28 + pixel_x = 26 }, /turf/simulated/floor/plasteel{ dir = 6; @@ -33351,17 +33635,11 @@ /turf/simulated/floor/wood, /area/security/permabrig) "eRj" = ( -/obj/machinery/shower{ - dir = 8; - tag = "icon-shower (WEST)" - }, -/obj/item/radio/intercom{ - pixel_x = 32; - pixel_y = 4 - }, -/turf/simulated/floor/plasteel{ - icon_state = "freezerfloor" +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 }, +/obj/item/twohanded/required/kirbyplants, +/turf/simulated/floor/carpet/green, /area/medical/virology) "eRo" = ( /obj/machinery/door/airlock/maintenance{ @@ -33443,19 +33721,12 @@ }, /area/hallway/primary/command/west) "eSe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom{ - pixel_x = 28; - pixel_y = -2 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkred" +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 }, -/area/security/interrogation) +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/maintenance/asmaint4) "eSn" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -33475,9 +33746,6 @@ pixel_y = 24; req_access = list(66) }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/door/poddoor{ density = 0; icon_state = "open"; @@ -33515,7 +33783,7 @@ dir = 9; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "eSV" = ( /obj/machinery/gateway{ dir = 1 @@ -34255,12 +34523,19 @@ "eYK" = ( /obj/structure/grille/broken, /obj/effect/decal/cleanable/dirt, -/obj/item/shard, +/obj/item/soap/nanotrasen, /obj/item/shard{ icon_state = "medium"; pixel_x = 1; pixel_y = -9 }, +/obj/item/shard, +/obj/structure/curtain/open/shower/security{ + alpha = 255; + name = "backstage"; + anchored = 1; + pixel_y = 0 + }, /turf/simulated/floor/plating, /area/maintenance/backstage) "eYL" = ( @@ -34411,6 +34686,15 @@ name = "Officer Rightsky"; desc = "It's Officer Rightsky! Powered by a potato and a shot of whiskey." }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -34532,7 +34816,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/hologram/holopad, /obj/effect/decal/warning_stripes/green/hollow, /obj/structure/disposalpipe/junction, /turf/simulated/floor/plasteel{ @@ -34605,8 +34888,8 @@ d2 = 4; icon_state = "0-4" }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/disposalpipe/segment{ + dir = 4 }, /turf/simulated/floor/plating, /area/medical/virology/lab) @@ -34657,7 +34940,7 @@ icon_state = "whitegreen"; tag = "icon-whitegreen (EAST)" }, -/area/medical/virology/lab) +/area/medical/virology) "fbw" = ( /obj/structure/cable{ icon_state = "4-8" @@ -34724,9 +35007,6 @@ /turf/simulated/floor/carpet/cyan, /area/security/prison/cell_block/A) "fbU" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/cable{ icon_state = "1-4" }, @@ -35044,7 +35324,8 @@ pixel_x = 28 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "fee" = ( @@ -35057,6 +35338,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plasteel, /area/maintenance/apmaint) "fev" = ( @@ -35101,7 +35383,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "feN" = ( /obj/machinery/computer/arcade/orion_trail, @@ -35304,7 +35586,7 @@ dir = 6; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "fgy" = ( /turf/simulated/floor/plasteel{ dir = 2; @@ -35393,14 +35675,12 @@ /turf/simulated/floor/plating, /area/maintenance/starboard) "fhc" = ( -/obj/machinery/camera{ - c_tag = "Virology Bedroom 1"; - dir = 8; - network = list("Medical","SS13") - }, -/obj/item/twohanded/required/kirbyplants, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, /turf/simulated/floor/carpet/green, /area/medical/virology) @@ -35493,8 +35773,7 @@ c_tag = "Mining Lobby West" }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "brown" + dir = 1 }, /area/quartermaster/lobby) "fhz" = ( @@ -35537,6 +35816,16 @@ }, /turf/simulated/floor/carpet/black, /area/crew_quarters/bar/atrium) +"fhS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool, +/turf/simulated/floor/plating, +/area/maintenance/tourist) "fhT" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ name = "standard air scrubber"; @@ -35662,9 +35951,28 @@ /turf/simulated/floor/shuttle, /area/shuttle/arrival/station) "fjf" = ( -/obj/structure/dresser, -/turf/simulated/floor/carpet/green, -/area/medical/virology) +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id_tag = "Virology1"; + name = "Virology Shutters" + }, +/obj/machinery/door/poddoor{ + density = 0; + icon_state = "open"; + id_tag = "Biohazard_medi"; + name = "Quarantine Lockdown"; + opacity = 0 + }, +/obj/structure/cable{ + d2 = 4; + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/spawner/window/reinforced, +/turf/simulated/floor/plating, +/area/medical/virology/lab) "fjk" = ( /obj/structure/disposalpipe/junction/reversed{ dir = 2 @@ -35905,7 +36213,10 @@ /area/turret_protected/aisat_interior/secondary) "fkL" = ( /obj/machinery/vending/boozeomat, -/turf/simulated/floor/carpet/royalblack, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/simulated/floor/wood/dark, /area/ntrep) "fkO" = ( /obj/structure/railing/corner{ @@ -35943,9 +36254,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -35956,6 +36264,9 @@ /obj/effect/turf_decal/siding/white{ dir = 1 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/glass, /area/crew_quarters/locker) "flc" = ( @@ -36529,6 +36840,18 @@ icon_state = "whitebluefull" }, /area/medical/surgery/south) +"fps" = ( +/obj/structure/window/reinforced, +/obj/item/flag/nt, +/obj/structure/sign/tajarplaque{ + desc = "Важное Уточнение! Рабочие пожелали оставаться анонимными, поэтому, обойдёмся их прозвищами. Особая благодарность за помощь Главному Инженеру Новы в поисках и устранении неисправностей на станции НаноТрейзен. С благодарностью, Daeberdir. Слава НаноТрейзен!"; + name = "Благодарственное Письмо от Главного Инженера станции Нова"; + pixel_y = 32 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/bridge) "fpt" = ( /obj/item/radio/intercom{ pixel_x = 28 @@ -36694,10 +37017,9 @@ /turf/simulated/floor/plating, /area/maintenance/gambling_den) "fqA" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/barricade/wooden, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/maintenance/atmospherics) "fqI" = ( /obj/item/radio/intercom{ pixel_x = -28 @@ -36842,12 +37164,14 @@ /area/maintenance/banya) "frL" = ( /obj/structure/cable{ - d2 = 4; - icon_state = "0-4" + d1 = 4; + d2 = 8; + icon_state = "4-8" }, -/obj/effect/spawner/window/reinforced, -/turf/simulated/floor/plating, -/area/medical/virology) +/obj/machinery/computer/pandemic, +/obj/effect/decal/warning_stripes/northeast, +/turf/simulated/floor/plasteel, +/area/medical/virology/lab) "frO" = ( /obj/structure/cable{ icon_state = "4-8" @@ -36982,16 +37306,13 @@ "fsy" = ( /obj/effect/decal/cleanable/vomit, /obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc{ - name = "south bump"; - pixel_y = -26 +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/structure/cable{ + d1 = 4; d2 = 8; - icon_state = "0-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 + icon_state = "4-8" }, /turf/simulated/floor/plating, /area/maintenance/disposal) @@ -37261,6 +37582,16 @@ /obj/effect/landmark/start/chaplain, /turf/simulated/floor/carpet, /area/chapel/office) +"fve" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + icon_state = "neutralfull" + }, +/area/hallway/primary/central/ne) "fvl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37412,6 +37743,13 @@ /obj/machinery/light{ dir = 1 }, +/obj/structure/extinguisher_cabinet{ + name = "west extinguisher cabinet"; + pixel_x = -27 + }, +/obj/machinery/alarm{ + pixel_y = 24 + }, /turf/simulated/floor/plasteel, /area/toxins/launch) "fwg" = ( @@ -37764,7 +38102,7 @@ }, /area/medical/chemistry) "fyx" = ( -/obj/structure/chair/office, +/obj/structure/chair, /obj/effect/landmark/start/civilian, /obj/item/radio/intercom{ dir = 8; @@ -37841,7 +38179,7 @@ /area/medical/medbay2) "fyU" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /obj/effect/landmark/start/scientist, @@ -37887,6 +38225,7 @@ }, /area/medical/genetics) "fzn" = ( +/obj/structure/flora/ausbushes/ppflowers, /obj/item/storage/bag/plants/portaseeder, /turf/simulated/floor/grass, /area/maintenance/garden) @@ -37944,10 +38283,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, +/obj/machinery/light_switch{ + pixel_x = -26; + pixel_y = -26 + }, /turf/simulated/floor/plasteel{ icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "fzE" = ( /obj/machinery/door_control{ id = "xeno5"; @@ -38186,7 +38529,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plasteel{ @@ -38194,6 +38537,15 @@ icon_state = "neutral" }, /area/bridge/checkpoint/south) +"fBr" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "browncorner" + }, +/area/quartermaster/miningstorage) "fBt" = ( /obj/structure/window/plasmareinforced{ dir = 4 @@ -38216,6 +38568,10 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/storage/secure) +"fBy" = ( +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/plating, +/area/maintenance/secpost) "fBE" = ( /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -38251,15 +38607,26 @@ icon_state = "green" }, /area/hallway/secondary/exit) +"fCh" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + pixel_x = 25 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "neutral" + }, +/area/crew_quarters/serviceyard) "fCk" = ( /turf/simulated/floor/shuttle, /area/shuttle/arrival/station) "fCq" = ( -/obj/structure/chair/office, /obj/effect/turf_decal/siding/wood{ dir = 4; do_not_delete_me = 1 }, +/obj/structure/chair/office, /turf/simulated/floor/wood/oak, /area/crew_quarters/courtroom) "fCw" = ( @@ -38437,6 +38804,11 @@ /area/medical/medrest) "fDM" = ( /obj/machinery/light, +/obj/machinery/vending/wallmed{ + layer = 3.3; + name = "Emergency NanoMed"; + pixel_y = -30 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -38489,7 +38861,7 @@ dir = 4; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "fDY" = ( /turf/simulated/wall, /area/crew_quarters/kitchen) @@ -38765,6 +39137,7 @@ /area/hallway/secondary/entry/lounge) "fFA" = ( /obj/structure/table/reinforced, +/obj/item/storage/firstaid/adv, /obj/item/reagent_containers/spray/cleaner/medical, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" @@ -39213,7 +39586,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/structure/disposalpipe/junction/reversed{ +/obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/plasteel{ @@ -39375,19 +39748,11 @@ /turf/simulated/floor/grass, /area/hydroponics) "fKM" = ( -/obj/effect/spawner/window/reinforced/polarized{ - id = "vir2" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id_tag = "Virology1"; - name = "Virology Shutters" - }, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/atmospherics/unary/tank/air{ + dir = 8 }, /turf/simulated/floor/plating, -/area/medical/virology) +/area/medical/virology/lab) "fKP" = ( /obj/effect/decal/cleanable/flour, /obj/machinery/light/small{ @@ -39513,12 +39878,12 @@ /turf/simulated/floor/plasteel, /area/engineering/controlroom) "fLX" = ( -/obj/machinery/camera{ - c_tag = "Mining Furnace"; - dir = 5 +/obj/machinery/firealarm{ + dir = 8; + name = "west fire alarm"; + pixel_x = -24 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/light/small{ +/obj/machinery/light{ dir = 8 }, /turf/simulated/floor/plasteel{ @@ -39610,6 +39975,7 @@ dir = 4 }, /obj/machinery/hologram/holopad, +/obj/effect/decal/warning_stripes/blue/hollow, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -39685,7 +40051,9 @@ }, /area/security/permabrig) "fNi" = ( -/obj/structure/statue/unknown, +/obj/structure/statue/unknown{ + max_integrity = 500 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -39723,8 +40091,9 @@ pixel_x = 25 }, /turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "whitepurple" + dir = 6; + icon_state = "whitepurple"; + tag = "icon-whitepurple (SOUTHEAST)" }, /area/toxins/mixing) "fNy" = ( @@ -39921,11 +40290,10 @@ }, /area/medical/cryo) "fON" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-dead"; - tag = "plant-dead" - }, /obj/effect/decal/cleanable/dust, +/obj/structure/sign/poster/contraband/revolver{ + pixel_y = 32 + }, /turf/simulated/floor/carpet, /area/maintenance/casino) "fOQ" = ( @@ -39976,6 +40344,7 @@ /obj/structure/sign/poster/contraband/tools{ pixel_y = 32 }, +/obj/item/clothing/gloves/color/yellow, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -40027,6 +40396,17 @@ }, /turf/simulated/floor/plating, /area/teleporter) +"fPV" = ( +/obj/machinery/door/airlock/highsecurity{ + heat_proof = 1; + id_tag = "smbolts"; + locked = 1; + name = "Supermatter Chamber"; + req_access = list(10,24) + }, +/obj/structure/fans/tiny, +/turf/simulated/floor/engine, +/area/engineering/supermatter) "fQa" = ( /obj/machinery/atmospherics/pipe/simple/visible, /obj/effect/decal/warning_stripes/east, @@ -40079,12 +40459,12 @@ }, /area/maintenance/medroom) "fQn" = ( -/obj/structure/chair/office{ - dir = 4 - }, /obj/machinery/light{ dir = 8 }, +/obj/structure/chair{ + dir = 4 + }, /turf/simulated/floor/wood, /area/crew_quarters/serviceyard) "fQo" = ( @@ -40154,6 +40534,7 @@ icon_state = "1-8" }, /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit, /turf/simulated/floor/plating, /area/maintenance/tourist) "fQN" = ( @@ -40185,6 +40566,11 @@ }, /turf/simulated/floor/carpet/red, /area/lawoffice) +"fQX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit, +/turf/simulated/floor/plating, +/area/maintenance/secpost) "fQY" = ( /obj/effect/decal/cleanable/dirt, /obj/item/ammo_casing{ @@ -40563,6 +40949,14 @@ /obj/item/twohanded/required/kirbyplants, /turf/simulated/floor/carpet/royalblue, /area/crew_quarters/captain/bedroom) +"fTL" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/turret_protected/ai) "fTO" = ( /obj/machinery/atmospherics/trinary/mixer{ dir = 8 @@ -40730,6 +41124,11 @@ id = "AI"; pixel_y = -27 }, +/obj/machinery/camera/motion{ + c_tag = "AI Upload Chamber"; + dir = 1; + pixel_x = 10 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -40771,6 +41170,7 @@ /turf/simulated/floor/plasteel, /area/assembly/showroom) "fVo" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/wood{ icon_state = "wood-broken5"; tag = "icon-wood-broken5" @@ -40894,7 +41294,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "fWi" = ( /obj/machinery/light_switch{ @@ -41336,6 +41738,9 @@ "fZj" = ( /obj/effect/turf_decal/siding/wood/corner, /obj/effect/decal/cleanable/dust, +/obj/structure/railing/corner{ + dir = 8 + }, /turf/simulated/floor/carpet, /area/maintenance/casino) "fZk" = ( @@ -41381,6 +41786,11 @@ }, /turf/simulated/floor/wood/dark, /area/ntrep) +"fZu" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/ppflowers, +/turf/simulated/floor/grass, +/area/maintenance/garden) "fZz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/drip{ @@ -41511,7 +41921,6 @@ /turf/simulated/floor/wood/fancy/cherry, /area/magistrateoffice) "gaj" = ( -/obj/structure/chair/office, /obj/machinery/light{ dir = 4 }, @@ -41519,6 +41928,7 @@ dir = 4; do_not_delete_me = 1 }, +/obj/structure/chair/office, /turf/simulated/floor/wood/oak, /area/crew_quarters/courtroom) "gay" = ( @@ -41718,7 +42128,7 @@ }, /area/assembly/chargebay) "gcz" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /obj/structure/sign/poster/contraband/commando{ @@ -41757,7 +42167,6 @@ }, /area/hallway/secondary/exit/maint) "gcH" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -41767,6 +42176,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -41892,8 +42304,7 @@ c_tag = "Mining Lobby East" }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "brown" + dir = 1 }, /area/quartermaster/lobby) "gdP" = ( @@ -42238,7 +42649,7 @@ dir = 6; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "gfP" = ( /turf/simulated/openspace, /area/quartermaster/delivery) @@ -42263,6 +42674,20 @@ icon_state = "bar" }, /area/maintenance/backstage) +"ggd" = ( +/obj/effect/decal/warning_stripes/west, +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "neutral" + }, +/area/toxins/mixing) +"ggm" = ( +/obj/structure/sign/chinese, +/turf/simulated/wall, +/area/crew_quarters/mrchangs) "ggn" = ( /turf/simulated/floor/plasteel{ dir = 1 @@ -42498,9 +42923,6 @@ /turf/simulated/floor/carpet/orange, /area/maintenance/casino) "gig" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/structure/cable{ icon_state = "2-4" }, @@ -42510,6 +42932,11 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "red" @@ -42571,7 +42998,7 @@ }, /area/hallway/primary/fore) "giL" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 1 }, /turf/simulated/floor/wood, @@ -42668,6 +43095,16 @@ icon_state = "barber" }, /area/maintenance/medroom) +"gjt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit, +/turf/simulated/floor/plating, +/area/maintenance/tourist) "gjx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -42698,7 +43135,7 @@ dir = 9; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "gjB" = ( /obj/structure/table/reinforced, /obj/item/taperecorder, @@ -42950,6 +43387,12 @@ }, /turf/simulated/floor/glass, /area/crew_quarters/chief) +"gkR" = ( +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkredcorners" + }, +/area/tcommsat/server) "gkT" = ( /obj/effect/turf_decal/siding/wood{ dir = 8; @@ -43058,16 +43501,11 @@ }, /area/toxins/mixing) "gmd" = ( -/obj/machinery/conveyor{ - id = "mining_internal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small{ +/obj/machinery/light{ dir = 4 }, -/turf/simulated/floor/plating, +/obj/effect/turf_decal/loading_area, +/turf/simulated/floor/plasteel, /area/quartermaster/miningstorage) "gmg" = ( /obj/machinery/vending/cola, @@ -43249,11 +43687,13 @@ tag_airpump = "ai_pump"; tag_chamber_sensor = "ai_sensor"; tag_exterior_door = "ai_outer"; - tag_interior_door = "ai_inner" + tag_interior_door = "ai_inner"; + pixel_y = -3 }, /obj/machinery/airlock_sensor{ id_tag = "ai_sensor"; - pixel_x = -28 + pixel_x = 28; + pixel_y = 4 }, /turf/simulated/floor/plasteel{ dir = 8; @@ -43525,7 +43965,8 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "gph" = ( @@ -43568,9 +44009,6 @@ /turf/simulated/floor/plasteel, /area/security/permabrig) "gpy" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/cable{ @@ -43580,6 +44018,11 @@ /obj/effect/turf_decal/siding/white{ dir = 1 }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/glass, /area/crew_quarters/locker) "gpI" = ( @@ -43652,7 +44095,7 @@ /obj/structure/railing/corner{ dir = 4 }, -/obj/structure/chair/office, +/obj/structure/chair, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "whitehall" @@ -43741,7 +44184,9 @@ /obj/structure/cable{ icon_state = "2-4" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "gqV" = ( /obj/machinery/gateway{ @@ -43873,7 +44318,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "grY" = ( /obj/structure/sign/directions/cargo{ dir = 4 @@ -43928,23 +44373,22 @@ /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "robotics_solar_airlock"; layer = 3.3; - pixel_y = -25; + pixel_y = -30; req_access = list(13); tag_airpump = "robotics_solar_pump"; tag_chamber_sensor = "robotics_solar_sensor"; tag_exterior_door = "robotics_solar_outer"; tag_interior_door = "robotics_solar_inner" }, -/obj/machinery/airlock_sensor{ - id_tag = "robotics_solar_sensor"; - layer = 3.3; - pixel_x = 12; - pixel_y = -25 - }, /obj/effect/decal/warning_stripes/yellow, /obj/machinery/light/small{ dir = 1 }, +/obj/machinery/airlock_sensor{ + id_tag = "robotics_solar_sensor"; + layer = 3.3; + pixel_y = -23 + }, /turf/simulated/floor/plating, /area/maintenance/portsolar) "gsB" = ( @@ -44365,11 +44809,11 @@ /turf/simulated/floor/plating, /area/security/customs) "gvO" = ( -/obj/structure/sign/nosmoking_2{ - pixel_y = 32 - }, /obj/structure/dispenser, /obj/effect/decal/warning_stripes/yellow/hollow, +/obj/machinery/firealarm{ + pixel_y = 27 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple"; @@ -44566,29 +45010,29 @@ /area/crew_quarters/chief) "gxr" = ( /obj/effect/decal/warning_stripes/northwest, -/obj/machinery/light{ - dir = 8 - }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "darkred" }, /area/security/securearmory) "gxv" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/machinery/camera{ + c_tag = "Virology Bedroom 1"; + dir = 5; + network = list("Medical","SS13"); + pixel_y = 9 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, /obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" + icon_state = "2-4" }, -/obj/item/radio/intercom{ - pixel_x = 28; - pixel_y = 26 +/obj/machinery/vending/wallmed{ + pixel_x = -26 }, /turf/simulated/floor/carpet/green, /area/medical/virology) @@ -44642,7 +45086,12 @@ /area/maintenance/fore) "gxY" = ( /obj/structure/window/reinforced, -/obj/structure/statue/gold/hop{ +/obj/structure/sign/goldenplaque{ + pixel_y = 32; + desc = "Важное Уточнение! Рабочие пожелали оставаться анонимными, поэтому, обойдёмся их прозвищами. За помощь Главному Инженеру Новы в поисках и устранении неисправностей на станции НаноТрейзен. С благодарностью, Zhojaba. Слава НаноТрейзен!"; + name = "Благодарственное Письмо от Главного Инженера станции Нова" + }, +/obj/structure/statue/gold/hos{ pixel_y = 7 }, /turf/simulated/floor/plasteel{ @@ -44857,12 +45306,10 @@ }, /area/maintenance/trading) "gAb" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk, -/turf/simulated/floor/plating/airless, -/area/space) +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/remains/human, +/turf/simulated/floor/plating, +/area/maintenance/asmaint4) "gAe" = ( /obj/structure/cable{ icon_state = "4-8" @@ -44928,6 +45375,20 @@ icon_state = "tranquillite" }, /area/crew_quarters/kitchen) +"gAS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/fancy/cigarettes/cigpack_robust, +/turf/simulated/floor/plating, +/area/maintenance/tourist) "gAY" = ( /obj/structure/spacepoddoor{ dir = 4; @@ -44951,24 +45412,14 @@ }, /area/crew_quarters/theatre) "gBh" = ( -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/iv_bag/bloodsynthetic/nitrogenis, -/obj/item/reagent_containers/iv_bag/bloodsynthetic/oxygenis, -/obj/item/reagent_containers/iv_bag/bloodsynthetic/oxygenis, -/obj/machinery/status_display{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1; - in_use = 1 - }, -/turf/simulated/floor/plasteel{ - icon_state = "white" +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/wrench, +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 6 }, -/area/medical/virology) +/turf/simulated/floor/plating, +/area/medical/virology/lab) "gBD" = ( /obj/structure/table/wood, /obj/item/kitchen/utensil/fork, @@ -45165,9 +45616,6 @@ icon_state = "1-2" }, /obj/effect/turf_decal/caution/stand_clear, -/obj/structure/cable{ - icon_state = "2-4" - }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -45178,7 +45626,7 @@ dir = 6; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "gDC" = ( /obj/structure/cable{ icon_state = "4-8" @@ -45269,10 +45717,6 @@ req_access = list(1); color = "red" }, -/obj/item/clothing/suit/armor/riot, -/obj/item/shield/riot, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/head/helmet/riot, /obj/structure/window/reinforced{ color = "red" }, @@ -45284,6 +45728,10 @@ color = "red"; dir = 4 }, +/obj/item/clothing/head/helmet/riot, +/obj/item/clothing/head/helmet/riot, +/obj/item/clothing/head/helmet/riot, +/obj/item/clothing/head/helmet/riot, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -45317,14 +45765,7 @@ /area/bridge/meeting_room) "gEI" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small{ - dir = 4; - tag = "icon-bulb1 (EAST)" - }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/effect/spawner/random_spawners/cobweb_right_rare, +/obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "gEO" = ( @@ -45345,7 +45786,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plasteel{ - icon_state = "red" + dir = 1 }, /area/security/seceqstorage) "gFc" = ( @@ -45382,7 +45823,7 @@ }, /obj/structure/cable, /turf/simulated/floor/plasteel{ - dir = 1 + icon_state = "red" }, /area/security/lobby) "gFE" = ( @@ -45476,11 +45917,12 @@ dir = 8; pixel_x = 25 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ + d1 = 1; + d2 = 2; icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "whitegreen" @@ -45580,7 +46022,9 @@ /obj/structure/cable{ icon_state = "2-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "gGH" = ( /obj/effect/decal/warning_stripes/yellow/hollow, @@ -46193,6 +46637,7 @@ dir = 9 }, /turf/simulated/floor/plasteel{ + dir = 6; icon_state = "darkred" }, /area/turret_protected/ai) @@ -46304,27 +46749,8 @@ /turf/simulated/floor/plating, /area/medical/virology/lab) "gLO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/button/windowtint{ - id = "vir2"; - pixel_x = -24; - pixel_y = 24 - }, -/obj/machinery/light_switch{ - pixel_x = -32; - pixel_y = 24 - }, -/turf/simulated/floor/carpet/green, +/obj/structure/sign/biohazard, +/turf/simulated/wall/r_wall, /area/medical/virology) "gLP" = ( /obj/machinery/vending/wallmed{ @@ -46352,13 +46778,16 @@ /turf/simulated/floor/plasteel, /area/hallway/secondary/entry/commercial) "gMD" = ( -/obj/machinery/conveyor{ - id = "mining_internal" +/obj/structure/extinguisher_cabinet{ + pixel_x = 26 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "brown" }, -/turf/simulated/floor/plating, /area/quartermaster/miningstorage) "gMK" = ( /obj/machinery/door/airlock/command{ @@ -46483,6 +46912,20 @@ icon_state = "neutral" }, /area/crew_quarters/serviceyard) +"gND" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel{ + dir = 1 + }, +/area/quartermaster/lobby) "gNJ" = ( /turf/simulated/floor/plasteel{ dir = 6; @@ -46566,7 +47009,8 @@ /area/bridge/meeting_room) "gOD" = ( /obj/structure/stairs{ - dir = 1 + dir = 1; + layer = 2 }, /obj/structure/railing{ dir = 8 @@ -46729,7 +47173,8 @@ /area/engineering/mechanic_workshop/hangar) "gPX" = ( /obj/structure/stairs{ - dir = 8 + dir = 8; + layer = 2 }, /turf/simulated/floor/plasteel, /area/engineering/controlroom) @@ -47072,6 +47517,9 @@ /area/medical/research/nhallway) "gSZ" = ( /obj/item/twohanded/required/kirbyplants, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "red" @@ -47097,7 +47545,16 @@ }, /area/crew_quarters/fitness) "gTr" = ( -/obj/structure/reagent_dispensers/fueltank, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 4 + }, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "gTu" = ( @@ -47119,12 +47576,6 @@ /area/maintenance/fpmaint) "gTN" = ( /obj/item/twohanded/required/kirbyplants, -/obj/structure/curtain/open/shower/security{ - alpha = 255; - name = "backstage"; - anchored = 1; - pixel_y = 32 - }, /obj/effect/decal/cleanable/glass, /turf/simulated/floor/carpet/red, /area/maintenance/backstage) @@ -47194,7 +47645,9 @@ color = "#dd1010" }, /obj/structure/cable, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "gUA" = ( /obj/effect/turf_decal/stripes/gold{ @@ -47305,7 +47758,7 @@ /area/bridge) "gVD" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plating, @@ -47850,16 +48303,15 @@ /turf/simulated/floor/plating/airless, /area/space) "gYE" = ( -/obj/machinery/ai_slipper{ - uses = 10 - }, /obj/machinery/turretid/lethal{ check_synth = 1; name = "AI Chamber Turret Control"; pixel_y = 28; req_access = list(75) }, -/turf/simulated/floor/greengrid, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, /area/turret_protected/ai) "gYJ" = ( /obj/structure/cable/yellow{ @@ -48133,7 +48585,8 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "hah" = ( @@ -48266,7 +48719,8 @@ icon_state = "0-8" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "hbl" = ( @@ -48295,7 +48749,11 @@ /turf/simulated/floor/glass/reinforced, /area/hallway/secondary/exit) "hbx" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/stripes/line, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "hbz" = ( @@ -48566,7 +49024,12 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -30 + }, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "hdt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -48703,7 +49166,7 @@ }, /obj/machinery/airlock_sensor{ id_tag = "aisole_sensor"; - pixel_y = -28 + pixel_y = 35 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ frequency = 1379; @@ -48742,7 +49205,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plasteel, -/area/engineering/engine) +/area/engineering/break_room) "hes" = ( /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" @@ -48823,6 +49286,9 @@ /area/security/brig) "hfj" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/structure/chair/sofa/pew/left{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "chapel" }, @@ -49145,12 +49611,9 @@ /area/maintenance/apmaint) "hho" = ( /obj/effect/decal/warning_stripes/southwest, -/obj/machinery/light{ - dir = 8 - }, /obj/machinery/firealarm{ dir = 4; - pixel_x = -28 + pixel_x = -26 }, /turf/simulated/floor/plasteel{ dir = 10; @@ -49183,6 +49646,12 @@ icon_state = "neutral" }, /area/crew_quarters/serviceyard) +"hhB" = ( +/obj/structure/sign/directions/floor/alt{ + dir = 6 + }, +/turf/simulated/wall, +/area/crew_quarters/theatre) "hhF" = ( /obj/structure/chair/sofa/pew/left{ dir = 1 @@ -49210,21 +49679,14 @@ }, /area/quartermaster/office) "hic" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/wood/fancy/light, /area/crew_quarters/serviceyard) "him" = ( -/obj/machinery/atmospherics/unary/vent_scrubber{ - name = "standard air scrubber"; - on = 1; - scrub_N2O = 1; - scrub_Toxins = 1; - dir = 8 - }, /turf/simulated/floor/plasteel{ - icon_state = "white" + icon_state = "whitepurple" }, /area/toxins/mixing) "hio" = ( @@ -49246,7 +49708,9 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/twohanded/required/kirbyplants, +/obj/item/twohanded/required/kirbyplants{ + layer = 3.1 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -49368,7 +49832,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "hjv" = ( /obj/effect/decal/warning_stripes/north, /turf/simulated/floor/plasteel{ @@ -49595,7 +50059,8 @@ pixel_x = 24 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "hlb" = ( @@ -49619,17 +50084,17 @@ /turf/simulated/floor/plasteel/white, /area/teleporter) "hlh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp{ + layer = 4; + pixel_x = 7; + pixel_y = 12 }, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/item/radio/intercom/department/security, +/turf/simulated/floor/plasteel{ + icon_state = "dark" }, -/turf/simulated/floor/plating, -/area/maintenance/asmaint4) +/area/security/interrogation) "hlo" = ( /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plasteel{ @@ -49781,22 +50246,16 @@ }, /area/crew_quarters/theatre) "hmj" = ( -/obj/structure/window/reinforced{ - color = "red" - }, -/obj/machinery/flasher/portable, -/obj/effect/decal/warning_stripes/red/hollow, -/obj/machinery/light, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/security/securearmory) +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random_spawners/blood_5, +/turf/simulated/floor/plating, +/area/maintenance/tourist) "hmk" = ( /obj/effect/decal/warning_stripes/northeastsouth, -/obj/vehicle/ridden/ambulance{ +/obj/machinery/light{ dir = 4 }, -/obj/machinery/light{ +/obj/vehicle/ridden/ambulance{ dir = 4 }, /turf/simulated/floor/plasteel{ @@ -50027,7 +50486,7 @@ }, /obj/machinery/airlock_sensor{ id_tag = "engineering_west_sensor"; - pixel_y = 7; + pixel_y = 3; pixel_x = 25 }, /turf/simulated/floor/plasteel{ @@ -50046,10 +50505,10 @@ }, /area/medical/virology/lab) "how" = ( -/obj/effect/spawner/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/railing/corner{ + dir = 1 }, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/asmaint4) "hoC" = ( @@ -50183,13 +50642,13 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=A17"; location = "A16" }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -50328,7 +50787,9 @@ codes_txt = "patrol;next_patrol=C3"; location = "C2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "hrn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -50559,6 +51020,9 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, +/obj/structure/chair/sofa/pew/right{ + dir = 4 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "chapel" @@ -50602,6 +51066,7 @@ pixel_y = -32 }, /obj/structure/grille/broken, +/obj/effect/spawner/random_spawners/blood_5, /turf/simulated/floor/carpet/royalblack, /area/maintenance/fsmaint2) "htF" = ( @@ -50680,7 +51145,7 @@ dir = 1 }, /turf/simulated/floor/plasteel{ - dir = 9; + dir = 1; icon_state = "brown" }, /area/quartermaster/lobby) @@ -50774,10 +51239,12 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "huy" = ( -/obj/structure/chair/office, +/obj/structure/chair, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -50825,7 +51292,7 @@ dir = 5; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "hva" = ( /obj/item/chair/wood/wings, /obj/effect/decal/remains/human, @@ -50843,8 +51310,7 @@ }, /area/crew_quarters/locker) "hvj" = ( -/obj/structure/table, -/obj/item/soap, +/obj/structure/closet/wardrobe/xenos, /turf/simulated/floor/plasteel{ icon_state = "barber" }, @@ -50941,7 +51407,8 @@ /area/toxins/rdoffice) "hwg" = ( /obj/structure/stairs{ - dir = 8 + dir = 8; + layer = 2 }, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) @@ -50983,12 +51450,12 @@ d2 = 8; icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "red" @@ -51094,7 +51561,7 @@ dir = 9; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "hxl" = ( /obj/effect/decal/cleanable/dust, /turf/simulated/floor/carpet/orange, @@ -51148,6 +51615,11 @@ icon_state = "neutral" }, /area/hallway/spacebridge/comcar) +"hxM" = ( +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/turf/simulated/floor/plating/airless, +/area/toxins/test_area) "hya" = ( /turf/simulated/floor/plasteel{ dir = 9; @@ -51224,12 +51696,15 @@ /turf/simulated/floor/carpet/cyan, /area/maintenance/livingcomplex) "hzd" = ( -/obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/light{ + dir = 4 + }, /turf/simulated/floor/plasteel{ - dir = 6; + dir = 4; icon_state = "brown" }, /area/quartermaster/miningstorage) @@ -51470,11 +51945,18 @@ /obj/structure/chair{ dir = 1 }, +/obj/item/radio/intercom{ + name = "south station intercom (General)"; + pixel_x = -28 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) +"hBC" = ( +/turf/simulated/wall/r_wall, +/area/tcommsat/server) "hBG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -51511,12 +51993,8 @@ /turf/simulated/floor/carpet, /area/maintenance/library) "hBY" = ( -/obj/machinery/atmospherics/unary/vent_scrubber{ - dir = 1; - name = "standard air scrubber"; - on = 1; - scrub_N2O = 1; - scrub_Toxins = 1 +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -51700,7 +52178,7 @@ /turf/space/openspace, /area/solar/starboard) "hDy" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 1 }, /turf/simulated/floor/wood/fancy/light, @@ -51807,6 +52285,10 @@ /obj/structure/table, /obj/effect/decal/warning_stripes/yellow/hollow, /obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular{ + pixel_x = 2; + pixel_y = 2 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -51816,7 +52298,9 @@ dir = 1; color = "#444444" }, -/turf/simulated/floor/glass, +/turf/simulated/floor/glass{ + slowdown = -0.3 + }, /area/hallway/primary/central) "hEG" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -51887,6 +52371,15 @@ icon_state = "darkbluealt" }, /area/hallway/primary/command/east) +"hFd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/shard{ + icon_state = "medium"; + pixel_x = 13; + pixel_y = 8 + }, +/turf/simulated/floor/plating, +/area/maintenance/tourist) "hFe" = ( /obj/structure/table/reinforced, /obj/item/storage/belt/utility, @@ -52145,7 +52638,7 @@ /area/crew_quarters/captain/bedroom) "hHY" = ( /obj/machinery/door/airlock/mining{ - name = "Mining Dock"; + name = "Mining Storage"; req_access = list(31) }, /obj/structure/cable{ @@ -52303,10 +52796,6 @@ /turf/simulated/floor/carpet/royalblack, /area/hallway/secondary/exit) "hJq" = ( -/obj/machinery/door/airlock/mining/glass{ - name = "Processing Area"; - req_access = list(48) - }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -52314,10 +52803,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/simulated/floor/plasteel{ + icon_state = "brownfull" }, -/turf/simulated/floor/plasteel, /area/quartermaster/miningstorage) "hJs" = ( /obj/structure/cable{ @@ -52368,6 +52856,7 @@ req_access = list(3,4); dir = 2 }, +/obj/effect/turf_decal/siding/wood, /turf/simulated/floor/wood, /area/security/detectives_office) "hJH" = ( @@ -52453,6 +52942,14 @@ "hKK" = ( /turf/simulated/floor/carpet/orange, /area/maintenance/casino) +"hKO" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "ramptop" + }, +/area/maintenance/asmaint4) "hKS" = ( /obj/structure/cable{ d1 = 4; @@ -52655,9 +53152,6 @@ /turf/simulated/floor/wood, /area/security/detectives_office) "hNs" = ( -/obj/machinery/light_switch{ - pixel_x = -26 - }, /obj/machinery/light{ dir = 8 }, @@ -53044,7 +53538,7 @@ pixel_x = 28 }, /turf/simulated/floor/redgrid, -/area/tcommsat/chamber) +/area/tcommsat/server) "hQr" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -53300,10 +53794,13 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "hSz" = ( /turf/simulated/floor/plasteel{ icon_state = "darkbluealt" @@ -53441,6 +53938,10 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/sign/directions/floor/alt{ + dir = 8; + pixel_y = 32 + }, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "hTx" = ( @@ -53586,7 +54087,8 @@ /area/quartermaster/qm) "hUk" = ( /obj/structure/stairs{ - dir = 1 + dir = 1; + layer = 2 }, /obj/structure/railing{ dir = 8 @@ -54180,7 +54682,8 @@ /area/toxins/xenobiology) "hYO" = ( /obj/structure/stairs{ - dir = 1 + dir = 1; + layer = 2 }, /turf/simulated/floor/plasteel{ dir = 5; @@ -54222,6 +54725,13 @@ /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, /area/maintenance/fore) +"hZu" = ( +/obj/effect/decal/cleanable/dust, +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/plasteel{ + icon_state = "tranquillite" + }, +/area/maintenance/trading) "hZx" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -54377,6 +54887,7 @@ "iaB" = ( /obj/effect/decal/cleanable/dirt, /mob/living/simple_animal/moth, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/wood, /area/maintenance/livingcomplex) "iaP" = ( @@ -54823,7 +55334,7 @@ dir = 9; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "idu" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -54868,7 +55379,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "idL" = ( /obj/item/radio/intercom{ dir = 4; @@ -55089,11 +55600,14 @@ }, /area/security/prisonlockers) "ifd" = ( +/obj/machinery/camera{ + c_tag = "Central Ring Hallway South 6"; + dir = 10 + }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "browncorner" + icon_state = "neutral" }, -/area/quartermaster/lobby) +/area/hallway/primary/central/sw) "ifo" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/structure/flora/ausbushes/fernybush, @@ -55166,7 +55680,7 @@ /obj/structure/railing{ dir = 10 }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /obj/effect/landmark/start/cargo_technician, @@ -55374,7 +55888,7 @@ dir = 6; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "ihk" = ( /turf/simulated/floor/plasteel{ dir = 1; @@ -55386,9 +55900,6 @@ /turf/simulated/floor/plating, /area/maintenance/secpost) "ihz" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -55398,6 +55909,9 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -55467,6 +55981,7 @@ /obj/structure/extinguisher_cabinet{ pixel_x = 25 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "brown" @@ -55657,6 +56172,9 @@ /obj/effect/decal/warning_stripes/southeast, /turf/simulated/floor/plasteel, /area/hallway/secondary/entry/additional) +"ijt" = ( +/turf/simulated/wall, +/area/chapel/massdriver) "ijx" = ( /obj/effect/decal/warning_stripes/yellow, /obj/machinery/door/window/eastright{ @@ -56094,7 +56612,7 @@ name = "Emergency NanoMed"; pixel_x = 26 }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /obj/machinery/camera{ @@ -56698,10 +57216,10 @@ /turf/simulated/floor/plating, /area/maintenance/cafeteria) "iqw" = ( -/obj/structure/rack, /obj/effect/decal/cleanable/cobweb2, -/obj/effect/spawner/lootdrop/maintenance, /obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance/tripple, /turf/simulated/floor/plating, /area/maintenance/apmaint) "iqC" = ( @@ -56889,6 +57407,14 @@ icon_state = "neutral" }, /area/hallway/primary/central/second/south) +"irY" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "grimy" + }, +/area/chapel/office) "irZ" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable{ @@ -56937,7 +57463,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "isz" = ( /turf/simulated/wall, /area/crew_quarters/serviceyard) @@ -57053,6 +57579,9 @@ /obj/machinery/light/small{ dir = 1 }, +/obj/structure/sign/poster/official/obey{ + pixel_y = 32 + }, /turf/simulated/floor/plasteel, /area/security/permabrig) "itq" = ( @@ -57182,6 +57711,16 @@ icon_state = "neutral" }, /area/hallway/primary/central/se) +"itY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + dir = 1 + }, +/area/quartermaster/lobby) "iub" = ( /obj/structure/table, /obj/random/plushie, @@ -57293,6 +57832,21 @@ /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plasteel, /area/engineering/controlroom) +"iuS" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "red" + }, +/area/hallway/primary/central/second/west) "iuU" = ( /obj/effect/decal/warning_stripes/southwest, /obj/machinery/r_n_d/protolathe{ @@ -57320,6 +57874,14 @@ icon_state = "bar" }, /area/clownoffice) +"ivf" = ( +/obj/effect/spawner/random_spawners/grille_50, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint) "ivi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -57571,11 +58133,14 @@ /obj/structure/chair{ dir = 1 }, +/obj/structure/sign/poster/official/nanotrasen_logo{ + pixel_x = 32 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "ixj" = ( /obj/structure/chair/office/dark, /obj/structure/cable{ @@ -57617,7 +58182,8 @@ dir = 5 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "ixt" = ( @@ -57767,7 +58333,8 @@ icon_state = "2-8" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "iyK" = ( @@ -57843,6 +58410,9 @@ d2 = 8; icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -57891,13 +58461,6 @@ }, /turf/space, /area/solar/starboardaux) -"izA" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating, -/area/maintenance/fsmaint3) "izB" = ( /obj/item/radio/intercom{ pixel_y = -30 @@ -58006,11 +58569,13 @@ /turf/simulated/floor/plating, /area/blueshield) "izO" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, -/area/medical/virology/lab) +/area/medical/virology) "izT" = ( /obj/structure/rack, /mob/living/simple_animal/bot/floorbot{ @@ -58100,7 +58665,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ - icon_state = "purplefull" + icon_state = "white" }, /area/toxins/mixing) "iAw" = ( @@ -58142,13 +58707,11 @@ }, /area/engineering/engine) "iAN" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" +/obj/structure/railing/corner{ + dir = 1 }, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk/multiz/down, /turf/simulated/floor/plasteel{ - dir = 8; + dir = 9; icon_state = "brown" }, /area/quartermaster/miningstorage) @@ -58185,7 +58748,9 @@ }, /area/toxins/lab) "iBe" = ( -/obj/structure/stairs, +/obj/structure/stairs{ + layer = 2 + }, /turf/simulated/floor/plasteel, /area/crew_quarters/serviceyard) "iBi" = ( @@ -58613,6 +59178,7 @@ do_not_delete_me = 1 }, /obj/effect/decal/cleanable/dust, +/obj/item/stack/spacecash/c20, /turf/simulated/floor/carpet/green, /area/maintenance/casino) "iFv" = ( @@ -58784,14 +59350,6 @@ name = "AI Requests Console"; pixel_y = 32 }, -/obj/machinery/camera{ - c_tag = "Minisat AI Core Centre"; - network = list("Minisat","SS13"); - dir = 10 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, /turf/simulated/floor/greengrid, /area/turret_protected/ai) "iHg" = ( @@ -58998,10 +59556,12 @@ }, /area/maintenance/secpost) "iIT" = ( -/obj/effect/decal/warning_stripes/southeast, +/obj/structure/railing/corner{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 1; - icon_state = "neutralcorner" + icon_state = "whitepurplecorner" }, /area/toxins/mixing) "iIU" = ( @@ -59041,7 +59601,7 @@ /turf/simulated/floor/plating, /area/maintenance/apmaint) "iJl" = ( -/obj/structure/chair/office, +/obj/structure/chair, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/trading) @@ -59057,9 +59617,7 @@ "iJH" = ( /obj/structure/cable, /obj/machinery/power/apc{ - cell_type = 5000; - name = "south bump Important Area"; - pixel_y = -24 + pixel_y = -26 }, /turf/simulated/floor/redgrid, /area/aisat/aihallway) @@ -59083,11 +59641,14 @@ pixel_x = 2; pixel_y = 4 }, +/obj/structure/sign/fire{ + pixel_y = 32 + }, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "iJR" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -59198,7 +59759,6 @@ }, /area/toxins/xenobiology) "iKJ" = ( -/obj/machinery/light, /obj/structure/disposalpipe/segment{ dir = 5 }, @@ -59227,7 +59787,7 @@ }, /area/security/lobby) "iLd" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -59424,6 +59984,7 @@ /area/storage/secure) "iMC" = ( /obj/effect/spawner/random_spawners/cobweb_right_rare, +/obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "iMF" = ( @@ -59563,7 +60124,7 @@ dir = 4 }, /turf/simulated/floor/plasteel, -/area/engineering/engine) +/area/engineering/break_room) "iNO" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -59626,6 +60187,11 @@ icon_state = "darkbluealt" }, /area/hallway/primary/command/east) +"iOm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stock_parts/cell/high, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint) "iOp" = ( /obj/machinery/optable, /obj/machinery/shower{ @@ -59697,7 +60263,9 @@ /area/quartermaster/qm) "iOP" = ( /obj/structure/window/reinforced, -/obj/item/twohanded/required/kirbyplants, +/obj/item/twohanded/required/kirbyplants{ + layer = 3.1 + }, /obj/machinery/light{ dir = 1; in_use = 1 @@ -59707,7 +60275,8 @@ }, /area/bridge) "iOW" = ( -/obj/structure/ore_box, +/obj/structure/table, +/obj/item/coin/iron, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "brown" @@ -59847,7 +60416,7 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet/red, /area/security/prison/cell_block/A) "iQp" = ( @@ -60162,12 +60731,13 @@ }, /area/hallway/primary/command/east) "iTG" = ( -/obj/structure/stairs{ - dir = 1 - }, /obj/structure/railing{ dir = 4 }, +/obj/structure/stairs{ + dir = 1; + layer = 2 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -60486,7 +61056,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "iWt" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ name = "standard air scrubber"; @@ -60525,6 +61095,9 @@ name = "east station intercom (General)"; pixel_x = 28 }, +/obj/structure/railing/corner, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/stripes/line, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "iWH" = ( @@ -60554,7 +61127,9 @@ color = "#444444"; dir = 4 }, -/turf/simulated/floor/glass, +/turf/simulated/floor/glass{ + slowdown = -0.3 + }, /area/hallway/primary/central) "iWT" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ @@ -60750,7 +61325,8 @@ dir = 8 }, /obj/structure/stairs{ - dir = 1 + dir = 1; + layer = 2 }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -60912,10 +61488,10 @@ /turf/simulated/floor/plating, /area/maintenance/starboard) "iZx" = ( -/obj/machinery/conveyor{ - id = "packageSort2" +/obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 4 }, -/obj/structure/plasticflaps, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "iZA" = ( @@ -61136,14 +61712,14 @@ /area/medical/cmostore) "jbh" = ( /obj/machinery/door/morgue{ - name = "Chapel Morgue"; + name = "Crematorium"; req_access = list(22) }, /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "jbj" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -61276,11 +61852,12 @@ /turf/simulated/floor/engine, /area/toxins/explab) "jcp" = ( -/obj/machinery/atmospherics/unary/tank/air{ - dir = 1 +/obj/structure/stairs{ + dir = 1; + layer = 2 }, /turf/simulated/floor/plating, -/area/medical/virology/lab) +/area/maintenance/asmaint4) "jcr" = ( /obj/effect/decal/warning_stripes/south, /obj/machinery/atmospherics/pipe/simple/insulated, @@ -61310,11 +61887,6 @@ }, /turf/simulated/floor/wood, /area/medical/cmo) -"jcD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder, -/turf/simulated/floor/plating, -/area/maintenance/fsmaint2) "jcK" = ( /obj/structure/railing/corner{ dir = 4 @@ -61451,7 +62023,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "jdJ" = ( /obj/structure/table/wood, @@ -61591,6 +62163,7 @@ dir = 10 }, /obj/machinery/hologram/holopad, +/obj/effect/decal/warning_stripes/blue/hollow, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -61738,6 +62311,20 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) +"jfx" = ( +/obj/structure/curtain/open/shower/security{ + alpha = 255; + icon_state = "closed"; + name = "backstage"; + opacity = 1; + anchored = 1 + }, +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/snacks/grown/tomato, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/maintenance/trading) "jfA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance/tripple, @@ -61764,7 +62351,17 @@ /area/hallway/secondary/exit) "jfO" = ( /obj/structure/table/reinforced, -/obj/item/lock_buster, +/obj/item/flashlight/sectaclight{ + pixel_y = 2; + pixel_x = -2 + }, +/obj/item/flashlight/sectaclight{ + pixel_y = 0 + }, +/obj/item/flashlight/sectaclight{ + pixel_y = -2; + pixel_x = 2 + }, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "dark" @@ -61829,7 +62426,8 @@ /area/toxins/launch) "jgv" = ( /obj/structure/disposaloutlet{ - dir = 2 + dir = 2; + eject_range = 1 }, /obj/structure/disposalpipe/trunk{ dir = 4 @@ -61942,6 +62540,8 @@ pixel_x = -3; pixel_y = 6 }, +/obj/item/storage/belt/bandolier, +/obj/item/storage/belt/bandolier, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -62011,7 +62611,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/door/airlock/mining/glass{ +/obj/machinery/door/airlock/mining{ name = "Cargo Bay"; req_access = list(31) }, @@ -62142,6 +62742,10 @@ /obj/machinery/light{ dir = 8 }, +/obj/machinery/vending/wallmed{ + pixel_y = 0; + pixel_x = -26 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "red" @@ -62236,13 +62840,13 @@ /turf/simulated/floor/plating, /area/maintenance/apmaint) "jiU" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /turf/simulated/floor/plating, /area/maintenance/brig) "jiV" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /turf/simulated/floor/plasteel{ @@ -62374,13 +62978,10 @@ }, /area/aisat/aihallway) "jjR" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/simulated/floor/plasteel{ - dir = 1 - }, -/area/security/interrogation) +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing/corner, +/turf/simulated/floor/plasteel, +/area/maintenance/xenozoo) "jjS" = ( /obj/machinery/light{ dir = 8 @@ -62390,7 +62991,8 @@ pixel_x = -28 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "jjV" = ( @@ -62403,7 +63005,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "jjX" = ( /obj/structure/window/reinforced{ dir = 4 @@ -62692,7 +63294,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - dir = 1 + icon_state = "red" }, /area/security/lobby) "jmH" = ( @@ -62777,8 +63379,8 @@ /area/hallway/primary/central/ne) "jmY" = ( /turf/simulated/floor/plasteel{ - icon_state = "redfull"; - tag = "icon-redfull (NORTHWEST)" + dir = 8; + icon_state = "redcorner" }, /area/security/seceqstorage) "jna" = ( @@ -62878,17 +63480,14 @@ /turf/simulated/floor/plating, /area/bridge/checkpoint/south) "jnG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/turf/simulated/floor/plasteel{ - dir = 1 +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/light/small, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 }, -/area/security/interrogation) +/turf/simulated/floor/plating, +/area/maintenance/asmaint4) "jnH" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -63188,12 +63787,8 @@ /turf/simulated/floor/plasteel, /area/engineering/engine) "jqb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2"; - tag = "" - }, -/obj/structure/disposalpipe/segment, +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance/double, /turf/simulated/floor/plating, /area/maintenance/asmaint4) "jqf" = ( @@ -63202,6 +63797,8 @@ /obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/regular, /obj/item/reagent_containers/hypospray/safety, +/obj/item/storage/belt/medical, +/obj/item/clothing/glasses/hud/health, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -63288,6 +63885,9 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/simulated/floor/plating, /area/maintenance/disposal) "jqP" = ( @@ -63327,6 +63927,15 @@ icon_state = "dark" }, /area/security/permahallway) +"jqW" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "brown" + }, +/area/quartermaster/miningstorage) "jqY" = ( /obj/structure/closet/cardboard, /obj/effect/decal/cleanable/dirt, @@ -63497,8 +64106,8 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" +/turf/simulated/floor/engine{ + slowdown = -0.3 }, /area/hallway/primary/central) "jsj" = ( @@ -63612,7 +64221,7 @@ }, /area/maintenance/gambling_den) "jtk" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /turf/simulated/floor/plasteel/dark, @@ -63768,9 +64377,17 @@ }, /area/hallway/primary/central/second/east) "juQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "browncorner" + dir = 1 }, /area/quartermaster/lobby) "juU" = ( @@ -63815,6 +64432,14 @@ icon_state = "vault" }, /area/chapel/office) +"jvf" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/box, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "brown" + }, +/area/quartermaster/miningstorage) "jvj" = ( /obj/structure/railing, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -63863,7 +64488,8 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "jvC" = ( @@ -63873,6 +64499,9 @@ layer = 5; pixel_y = -5 }, +/obj/item/radio/intercom{ + pixel_x = -28 + }, /turf/simulated/floor/plasteel/freezer, /area/ntrep) "jvL" = ( @@ -64207,6 +64836,8 @@ /obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/regular, /obj/item/reagent_containers/hypospray/safety, +/obj/item/storage/belt/medical, +/obj/item/clothing/glasses/hud/health, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "whiteblue"; @@ -64313,7 +64944,9 @@ req_access = list(48) }, /obj/machinery/door/firedoor, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/plasteel{ + icon_state = "brownfull" + }, /area/quartermaster/miningstorage) "jzv" = ( /obj/structure/table/wood, @@ -64431,7 +65064,7 @@ }, /area/medical/cmostore) "jAm" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -64532,7 +65165,7 @@ }, /area/quartermaster/sorting) "jAM" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plasteel{ @@ -64646,7 +65279,9 @@ /obj/structure/cable{ icon_state = "0-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "jBM" = ( /turf/simulated/floor/engine/co2, @@ -64855,8 +65490,11 @@ }, /area/janitor) "jDV" = ( -/obj/structure/sign/poster/random{ - pixel_x = 32 +/obj/structure/stairs{ + layer = 2 + }, +/obj/structure/railing{ + dir = 4 }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) @@ -64907,7 +65545,7 @@ name = "gamma dock"; width = 7 }, -/turf/space{ +/turf/space/openspace{ icon_state = "black" }, /area/space) @@ -65000,7 +65638,8 @@ "jEX" = ( /obj/machinery/floodlight, /turf/simulated/floor/plasteel{ - dir = 5 + dir = 4; + icon_state = "blue" }, /area/hydroponics) "jFa" = ( @@ -65066,7 +65705,7 @@ dir = 4; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "jFz" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ name = "standard air scrubber"; @@ -65142,13 +65781,15 @@ }, /area/hallway/primary/central/second/west) "jFO" = ( -/obj/structure/railing, -/obj/machinery/door/firedoor/border_only, +/obj/machinery/camera{ + c_tag = "Second Floor Central Ring South Hallway 2"; + dir = 2 + }, /turf/simulated/floor/plasteel{ - dir = 6; - icon_state = "brown" + dir = 1; + icon_state = "red" }, -/area/hallway/primary/central/second/east) +/area/hallway/primary/central/second/west) "jFP" = ( /obj/machinery/alarm{ pixel_y = 22 @@ -65168,6 +65809,16 @@ /area/medical/cmo) "jFR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/ore_box, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + dir = 4; + pixel_x = 32; + pixel_y = 4 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "brown" @@ -65386,7 +66037,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "jHy" = ( /turf/simulated/wall/r_wall, /area/security/warden) @@ -65567,18 +66218,20 @@ }, /area/atmos/control) "jIQ" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "jIT" = ( /obj/structure/chair/office/dark{ dir = 8 @@ -65709,7 +66362,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plasteel{ @@ -66002,7 +66655,9 @@ icon_state = "4-8" }, /obj/machinery/light, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "jLA" = ( /obj/machinery/atmospherics/pipe/simple/visible/purple{ @@ -66062,6 +66717,8 @@ }, /obj/item/clothing/accessory/holster, /obj/item/gun/projectile/revolver/mateba, +/obj/item/ammo_box/tox46x30mm, +/obj/item/ammo_box/inc46x30mm, /turf/simulated/floor/carpet/red, /area/security/hos) "jLH" = ( @@ -66190,17 +66847,20 @@ /turf/simulated/floor/bluegrid, /area/assembly/showroom) "jMH" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 4 +/obj/machinery/light, +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_x = -1; + pixel_y = 9 }, -/obj/structure/cable/multiz{ - color = "#dd1010" +/obj/item/stack/sheet/mineral/plasma{ + amount = 5 }, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 }, -/turf/simulated/floor/plating, +/obj/effect/decal/warning_stripes/north, +/turf/simulated/floor/plasteel, /area/medical/virology/lab) "jMK" = ( /obj/effect/spawner/window/reinforced/plasma, @@ -66425,7 +67085,10 @@ pixel_y = -33; req_access = list(73) }, -/turf/simulated/floor/carpet/royalblack, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 2 + }, +/turf/simulated/floor/carpet/black, /area/ntrep) "jOs" = ( /obj/structure/cable{ @@ -66446,17 +67109,11 @@ /turf/simulated/floor/wood, /area/maintenance/casino) "jOz" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/alarm{ - pixel_y = 24 - }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "red" - }, -/area/security/interrogation) +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/obj/effect/decal/warning_stripes/yellow/hollow, +/turf/simulated/floor/plating, +/area/maintenance/xenozoo) "jOA" = ( /turf/simulated/floor/plasteel{ icon_state = "redfull" @@ -66493,11 +67150,10 @@ /area/maintenance/tourist) "jPf" = ( /obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/effect/mapping_helpers/table_flip, /turf/simulated/floor/wood, /area/maintenance/library) "jPg" = ( @@ -66547,7 +67203,9 @@ /area/medical/research/nhallway) "jPA" = ( /obj/machinery/hologram/holopad, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "jPE" = ( /obj/structure/table, @@ -66726,9 +67384,6 @@ /turf/simulated/floor/plating, /area/maintenance/tourist) "jRe" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, @@ -66741,6 +67396,9 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -67019,7 +67677,8 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "jTE" = ( @@ -67051,7 +67710,6 @@ "jTS" = ( /obj/structure/table/reinforced, /obj/item/storage/firstaid/o2, -/obj/item/reagent_containers/spray/cleaner/medical, /obj/structure/extinguisher_cabinet{ name = "west extinguisher cabinet"; pixel_x = -27 @@ -67061,6 +67719,7 @@ dir = 4; network = list("SS13","Medical") }, +/obj/item/reagent_containers/spray/cleaner/medical, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" }, @@ -67204,6 +67863,10 @@ }, /turf/simulated/floor/plating, /area/maintenance/asmaint) +"jVi" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/turf/simulated/floor/grass, +/area/maintenance/garden) "jVl" = ( /obj/machinery/conveyor_switch/oneway{ id = "QMLoad"; @@ -67359,7 +68022,8 @@ /area/atmos) "jWz" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/remains/mouse, +/obj/structure/closet/firecloset, +/obj/effect/decal/warning_stripes/yellow/hollow, /turf/simulated/floor/plasteel, /area/maintenance/xenozoo) "jWA" = ( @@ -67394,6 +68058,24 @@ icon_state = "dark" }, /area/quartermaster/qm) +"jWG" = ( +/obj/structure/dresser, +/obj/machinery/button/windowtint{ + id = "vir2"; + pixel_x = 24; + pixel_y = 24 + }, +/obj/machinery/light_switch{ + pixel_y = 24; + pixel_x = 32 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/carpet/green, +/area/medical/virology) "jWH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line, @@ -67637,7 +68319,6 @@ pixel_x = 26; pixel_y = -24 }, -/obj/item/twohanded/required/kirbyplants, /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, @@ -67653,8 +68334,9 @@ network = list("Research Outpost"); dir = 1 }, +/obj/item/twohanded/required/kirbyplants, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple" + icon_state = "purplefull" }, /area/toxins/launch) "jYX" = ( @@ -67722,7 +68404,8 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "kac" = ( @@ -67976,12 +68659,6 @@ icon_state = "darkred" }, /area/security/permahallway) -"kbY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/wood/fancy/black, -/obj/item/deck/cards, -/turf/simulated/floor/carpet/royalblack, -/area/maintenance/fsmaint2) "kbZ" = ( /turf/simulated/floor/plasteel, /area/quartermaster/miningdock) @@ -68002,13 +68679,11 @@ /area/maintenance/apmaint) "kch" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ icon_state = "red" }, @@ -68019,6 +68694,11 @@ icon_state = "redcorner" }, /area/security/prison/cell_block/A) +"kct" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/plating, +/area/maintenance/gambling_den) "kcG" = ( /obj/machinery/firealarm{ dir = 1; @@ -68048,6 +68728,7 @@ /area/engineering/break_room) "kcN" = ( /obj/effect/decal/remains/mouse, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/wood, /area/maintenance/livingcomplex) "kcQ" = ( @@ -68152,7 +68833,7 @@ /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high, /turf/simulated/floor/redgrid, -/area/tcommsat/chamber) +/area/tcommsat/server) "kdy" = ( /obj/machinery/computer/secure_data{ dir = 8 @@ -68560,6 +69241,9 @@ }, /obj/structure/bed, /obj/machinery/light, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -68744,7 +69428,7 @@ }, /area/crew_quarters/toilet4) "kiq" = ( -/obj/structure/chair/office, +/obj/structure/chair, /turf/simulated/floor/plasteel, /area/hallway/spacebridge/comcar) "kiz" = ( @@ -68898,8 +69582,14 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) +"kjI" = ( +/obj/structure/flora/ausbushes/ywflowers, +/turf/simulated/floor/grass, +/area/maintenance/garden) "kjL" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -69744,6 +70434,9 @@ }, /turf/simulated/openspace, /area/quartermaster/delivery) +"kqy" = ( +/turf/simulated/wall, +/area/chapel/morgue) "kqz" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable{ @@ -70327,7 +71020,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "kvy" = ( /obj/effect/decal/cleanable/ash, /turf/simulated/floor/plasteel, @@ -70348,7 +71041,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "kvG" = ( @@ -70492,8 +71186,7 @@ /obj/machinery/shower{ dir = 1; layer = 5; - pixel_y = -5; - on = 1 + pixel_y = -5 }, /obj/structure/curtain/open/shower, /obj/item/soap, @@ -70505,8 +71198,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = -24; + pixel_x = -24 }, /turf/simulated/floor/plasteel{ dir = 8; @@ -70651,10 +71348,6 @@ /area/engineering/mechanic_workshop/hangar) "kxH" = ( /obj/machinery/light, -/obj/machinery/camera{ - c_tag = "Second Floor Central Ring South Hallway 2"; - dir = 1 - }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -70724,7 +71417,9 @@ /obj/structure/cable{ icon_state = "1-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "kyh" = ( /obj/structure/cable{ @@ -70939,10 +71634,10 @@ /area/maintenance/fsmaint) "kAy" = ( /obj/effect/decal/warning_stripes/east, -/obj/machinery/flasher/portable, /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, +/obj/machinery/flasher/portable, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -71084,10 +71779,6 @@ /turf/simulated/floor/plasteel, /area/engineering/gravitygenerator) "kBz" = ( -/obj/machinery/alarm{ - dir = 4; - pixel_x = -24 - }, /obj/item/flag/sec, /turf/simulated/floor/plasteel{ dir = 1 @@ -71104,6 +71795,7 @@ pixel_x = 4; pixel_y = 4 }, +/obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, /area/maintenance/tourist) "kBH" = ( @@ -71213,6 +71905,12 @@ /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, /area/security/securehallway) +"kCy" = ( +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkredcorners" + }, +/area/tcommsat/server) "kCC" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 2; @@ -71341,11 +72039,20 @@ }, /area/hallway/primary/fore) "kDD" = ( -/obj/structure/ore_box, -/obj/effect/turf_decal/bot, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining{ + name = "Mining Deep Storage"; + req_access = list(31) + }, +/obj/machinery/door/poddoor{ + density = 0; + icon_state = "open"; + id_tag = "Brig_lockdown"; + name = "Cargo Lockdown"; + opacity = 0 + }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "brown" + icon_state = "brownfull" }, /area/quartermaster/miningstorage) "kDG" = ( @@ -71538,13 +72245,16 @@ /turf/simulated/floor/wood, /area/crew_quarters/theatre) "kFL" = ( -/obj/structure/closet/crate, -/obj/machinery/alarm{ - pixel_y = 23 +/obj/structure/railing{ + dir = 8 }, -/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/kitchen/knife/combat/survival{ + pixel_x = 6 + }, +/obj/item/kitchen/knife/combat/survival, /turf/simulated/floor/plasteel{ - dir = 1; + dir = 9; icon_state = "brown" }, /area/quartermaster/miningstorage) @@ -71594,6 +72304,7 @@ c_tag = "Brig Cell 5"; dir = 6 }, +/obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -72015,7 +72726,8 @@ }, /obj/machinery/hologram/holopad, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "kJc" = ( @@ -72264,12 +72976,13 @@ }, /area/hallway/primary/central/second/south) "kLA" = ( -/obj/structure/stairs{ - dir = 1 - }, /obj/structure/railing{ dir = 4 }, +/obj/structure/stairs{ + dir = 1; + layer = 2 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -72287,7 +73000,9 @@ /obj/structure/sign/poster/official/random{ pixel_y = 32 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "kLQ" = ( /obj/structure/cable{ @@ -72521,7 +73236,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "kNN" = ( /obj/effect/decal/warning_stripes/west, @@ -72602,6 +73319,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -72671,7 +73389,7 @@ color = "#996633" }, /obj/item/reagent_containers/food/snacks/meatsteak, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "kPe" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction, @@ -72731,6 +73449,24 @@ icon_state = "bluecorner" }, /area/hallway/primary/fore) +"kPp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + dir = 1 + }, +/area/security/lobby) "kPq" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=A37"; @@ -72756,11 +73492,7 @@ }, /area/hallway/primary/central/east) "kPs" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/warning_stripes/yellow/hollow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_construct, -/turf/simulated/floor/plasteel, +/turf/simulated/openspace, /area/maintenance/xenozoo) "kPw" = ( /obj/structure/cable{ @@ -72915,7 +73647,7 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -73154,13 +73886,10 @@ }, /obj/machinery/hologram/holopad, /obj/effect/decal/warning_stripes/green/hollow, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, /turf/simulated/floor/plasteel{ icon_state = "white" }, -/area/medical/virology/lab) +/area/medical/virology) "kTd" = ( /obj/effect/spawner/window/reinforced, /obj/structure/sign/securearea{ @@ -73181,7 +73910,7 @@ /area/chapel/office) "kTl" = ( /obj/effect/decal/warning_stripes/yellow, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/plating, /area/maintenance/tourist) "kTo" = ( /obj/machinery/atmospherics/unary/portables_connector, @@ -73315,13 +74044,13 @@ dir = 4; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "kUj" = ( /obj/machinery/camera{ c_tag = "NT Representative's Office 2"; dir = 6 }, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "kUn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -73334,9 +74063,6 @@ /turf/space/openspace, /area/space) "kUw" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ dir = 10; @@ -73503,7 +74229,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "kVB" = ( /obj/machinery/mech_bay_recharge_port{ @@ -73536,6 +74262,15 @@ /obj/structure/lattice, /turf/space/openspace, /area/space) +"kVT" = ( +/obj/machinery/vending/wallmed{ + pixel_x = -25 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "neutral" + }, +/area/hallway/primary/central/west) "kVV" = ( /obj/structure/chair{ dir = 8 @@ -73606,6 +74341,7 @@ }, /obj/item/rcs, /obj/structure/table/reinforced, +/obj/item/rcs, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -73884,17 +74620,18 @@ }, /area/medical/morgue) "kYo" = ( -/obj/machinery/light{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/clown{ + pixel_y = 0; + pixel_x = 32 }, /turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "red" + icon_state = "bar" }, -/area/security/interrogation) +/area/maintenance/backstage) "kYp" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 }, /turf/simulated/floor/plasteel{ dir = 1 @@ -74512,15 +75249,14 @@ /turf/simulated/floor/carpet/red, /area/lawoffice) "lcj" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/machinery/light{ - dir = 4 +/obj/structure/table/glass, +/obj/item/flashlight/lamp{ + pixel_y = 8 }, -/obj/structure/cable{ - icon_state = "1-2"; - tag = "" +/obj/item/storage/belt/medical, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = 0; + pixel_x = -32 }, /turf/simulated/floor/carpet/green, /area/medical/virology) @@ -74547,6 +75283,21 @@ icon_state = "freezerfloor" }, /area/medical/virology/lab) +"lcB" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/turret_protected/ai) "lcH" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/siding/wood{ @@ -74632,6 +75383,15 @@ }, /turf/simulated/floor/greengrid, /area/security/nuke_storage) +"ldG" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/warning_stripes/yellow, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + icon_state = "neutralfull" + }, +/area/hallway/secondary/entry/commercial) "ldJ" = ( /obj/structure/barricade/security, /obj/effect/decal/cleanable/dirt, @@ -74674,6 +75434,16 @@ }, /turf/simulated/floor/wood, /area/hallway/primary/central/west) +"ldZ" = ( +/obj/machinery/power/apc{ + name = "south bump"; + pixel_y = -26 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/simulated/floor/greengrid, +/area/turret_protected/ai) "led" = ( /obj/machinery/door/firedoor, /obj/effect/decal/warning_stripes/yellow, @@ -75024,6 +75794,10 @@ icon_state = "bluefull" }, /area/hallway/primary/fore) +"lgM" = ( +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/carpet/red, +/area/maintenance/backstage) "lgR" = ( /turf/simulated/floor/plasteel{ icon_state = "red" @@ -75340,13 +76114,14 @@ }, /area/crew_quarters/kitchen) "ljB" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/railing/corner{ + dir = 8 }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "whitepurple"; - tag = "icon-whitepurple (NORTH)" + icon_state = "purplefull" }, /area/toxins/launch) "ljG" = ( @@ -75405,7 +76180,8 @@ /area/crew_quarters/theatre) "lki" = ( /obj/structure/stairs{ - dir = 1 + dir = 1; + layer = 2 }, /turf/simulated/floor/plating, /area/maintenance/asmaint2) @@ -75903,7 +76679,10 @@ /area/maintenance/fsmaint) "loQ" = ( /obj/machinery/disposal, -/turf/simulated/floor/carpet/royalblack, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/simulated/floor/carpet/black, /area/ntrep) "loR" = ( /obj/effect/decal/warning_stripes/yellow, @@ -76050,10 +76829,11 @@ id_tag = "ntstation"; locked = 1 }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/plating, /area/maintenance/tourist) "lpK" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/wood{ icon_state = "wood-broken3"; tag = "icon-wood-broken3" @@ -76233,19 +77013,15 @@ }, /area/medical/surgery/south) "lqY" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - layer = 4; - pixel_x = 7; - pixel_y = 12 - }, -/obj/item/radio/intercom/department/security{ - pixel_y = -4 - }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/machinery/door/airlock/external{ + frequency = 1379; + id_tag = "vir_maint2_outer"; + locked = 1; + name = "West Maintenance External Access" }, -/area/security/interrogation) +/obj/effect/decal/warning_stripes/west, +/turf/simulated/floor/plating, +/area/maintenance/asmaint4) "lqZ" = ( /obj/effect/decal/warning_stripes/northeast, /turf/simulated/floor/plasteel, @@ -76844,6 +77620,15 @@ /obj/structure/disposalpipe/trunk, /turf/simulated/floor/wood, /area/crew_quarters/arcade) +"lwL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkred" + }, +/area/security/interrogation) "lxc" = ( /obj/structure/railing/corner{ dir = 4 @@ -76926,6 +77711,9 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/trunk/multiz{ + dir = 2 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "dark" @@ -77031,6 +77819,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -77132,6 +77925,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -77303,7 +78097,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/chapel/main) +/area/chapel/massdriver) "lAj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -77559,6 +78353,9 @@ /turf/simulated/floor/plating, /area/toxins/rdoffice) "lCp" = ( +/obj/machinery/status_display{ + pixel_y = 32 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitegreen" @@ -77573,7 +78370,7 @@ dir = 9; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "lCA" = ( /turf/simulated/wall, /area/hallway/primary/port/south) @@ -77660,7 +78457,7 @@ dir = 8; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "lDe" = ( /obj/machinery/atmospherics/unary/outlet_injector/on{ dir = 1 @@ -77755,10 +78552,17 @@ /turf/simulated/floor/plasteel, /area/engineering/engine) "lDX" = ( -/obj/structure/closet/bombcloset, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + dir = 8; + name = "west bump"; + pixel_x = -26 + }, +/obj/structure/railing/corner, /turf/simulated/floor/plasteel{ - dir = 9; - icon_state = "whitepurple" + icon_state = "purplefull" }, /area/toxins/launch) "lEk" = ( @@ -78059,7 +78863,8 @@ }, /obj/effect/turf_decal/caution/red, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "lGe" = ( @@ -78221,18 +79026,16 @@ }, /area/maintenance/trading) "lHD" = ( -/obj/machinery/door/airlock/silver{ - name = "Bathroom" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/plasteel{ - icon_state = "freezerfloor" +/obj/structure/cable{ + icon_state = "1-8" }, +/turf/simulated/floor/carpet/green, /area/medical/virology) "lHL" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ @@ -78442,7 +79245,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "lJU" = ( /obj/structure/window/reinforced{ dir = 8 @@ -78522,7 +79325,8 @@ /area/medical/chemistry) "lKB" = ( /obj/structure/stairs{ - dir = 1 + dir = 1; + layer = 2 }, /turf/simulated/floor/plasteel{ dir = 1 @@ -78705,6 +79509,9 @@ dir = 4 }, /obj/structure/window/reinforced, +/obj/machinery/light{ + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "darkblue" @@ -78802,7 +79609,7 @@ /obj/structure/closet/radiation, /obj/effect/decal/warning_stripes/southeast, /turf/simulated/floor/plasteel, -/area/engineering/engine) +/area/engineering/break_room) "lNh" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -78962,16 +79769,12 @@ }, /area/medical/biostorage) "lOv" = ( -/obj/machinery/disposal, /obj/machinery/vending/wallmed{ pixel_x = -25 }, -/obj/effect/decal/warning_stripes/yellow, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + dir = 8; + icon_state = "green" }, /area/hydroponics) "lOz" = ( @@ -79140,6 +79943,10 @@ dir = 1; pixel_y = -24 }, +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/iv_bag/bloodsynthetic/nitrogenis, +/obj/item/reagent_containers/iv_bag/bloodsynthetic/oxygenis, +/obj/item/reagent_containers/iv_bag/bloodsynthetic/oxygenis, /turf/simulated/floor/plasteel{ icon_state = "whitegreen" }, @@ -79498,6 +80305,15 @@ }, /turf/simulated/floor/plating, /area/maintenance/starboard) +"lSD" = ( +/obj/machinery/alarm{ + pixel_y = 24 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "neutral" + }, +/area/hallway/primary/central/south) "lSL" = ( /obj/effect/decal/warning_stripes/yellow/hollow, /obj/effect/decal/warning_stripes/east, @@ -79997,9 +80813,9 @@ }, /area/maintenance/fsmaint3) "lWn" = ( -/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ - dir = 1 + dir = 1; + icon_state = "redcorner" }, /area/security/lobby) "lWo" = ( @@ -80089,6 +80905,7 @@ /area/maintenance/library) "lWJ" = ( /obj/structure/window/full/plasmareinforced, +/obj/structure/grille, /turf/simulated/floor/plating, /area/engineering/engine) "lWN" = ( @@ -80199,7 +81016,7 @@ }, /area/security/prisonlockers) "lXG" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 1 }, /obj/effect/decal/cleanable/dirt, @@ -80253,6 +81070,7 @@ }, /obj/effect/decal/cleanable/blood/drip, /obj/effect/decal/cleanable/dust, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plasteel, /area/maintenance/medroom) "lXP" = ( @@ -80274,6 +81092,7 @@ /area/maintenance/trading) "lYj" = ( /obj/machinery/hologram/holopad, +/obj/effect/decal/warning_stripes/blue/hollow, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -80306,9 +81125,6 @@ /turf/simulated/floor/plasteel, /area/engineering/controlroom) "lYF" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, /turf/simulated/floor/plasteel{ icon_state = "red" }, @@ -80400,10 +81216,18 @@ /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "2-8" }, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "2-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -80655,6 +81479,9 @@ /obj/item/radio/intercom{ pixel_x = -28 }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = 30 + }, /turf/simulated/floor/wood, /area/library) "mbz" = ( @@ -80816,7 +81643,8 @@ dir = 1 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "mcp" = ( @@ -80895,8 +81723,8 @@ pixel_x = -26 }, /turf/simulated/floor/plasteel{ - dir = 9; - icon_state = "blue" + icon_state = "blue"; + dir = 8 }, /area/hydroponics) "mcM" = ( @@ -81011,6 +81839,10 @@ pixel_x = -4; pixel_y = 4 }, +/obj/machinery/recharger{ + pixel_x = 1; + pixel_y = 3 + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -81260,13 +82092,14 @@ }, /area/quartermaster/miningstorage) "meT" = ( -/obj/machinery/mineral/processing_unit{ - dir = 1 +/obj/structure/table, +/obj/item/flashlight/lantern{ + on = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "brown" }, -/turf/simulated/floor/plating, /area/quartermaster/miningstorage) "meV" = ( /obj/machinery/door/airlock/maintenance{ @@ -81372,12 +82205,9 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "mfx" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, /obj/structure/cable{ d1 = 4; d2 = 8; @@ -81568,9 +82398,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "brown" @@ -81627,6 +82455,32 @@ /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, /area/toxins/server) +"mhj" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/effect/decal/warning_stripes/red/hollow, +/obj/structure/window/reinforced{ + color = "red" + }, +/obj/structure/window/reinforced{ + color = "red"; + dir = 1 + }, +/obj/machinery/door/window{ + name = "Secure Armory"; + req_access = list(1); + color = "red" + }, +/obj/item/clothing/shoes/jackboots/armored, +/obj/item/clothing/shoes/jackboots/armored, +/obj/item/clothing/shoes/jackboots/armored, +/obj/item/clothing/shoes/jackboots/armored, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/security/securearmory) "mht" = ( /obj/item/pod_parts/core, /obj/item/circuitboard/mecha/pod, @@ -81666,7 +82520,7 @@ dir = 6; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "mhK" = ( /obj/structure/sink/kitchen{ pixel_y = 25 @@ -81715,6 +82569,21 @@ }, /turf/simulated/floor/glass/reinforced, /area/quartermaster/office) +"mio" = ( +/obj/structure/table/socle, +/obj/item/storage/funeral_urn/random{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/machinery/firealarm{ + dir = 1; + name = "south fire alarm"; + pixel_y = 26 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/chapel/office) "mir" = ( /obj/structure/cable{ icon_state = "1-2" @@ -82056,7 +82925,8 @@ "mkD" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Customs"; - req_access = list(1) + req_access = list(1); + security_level = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -82219,6 +83089,11 @@ }, /turf/simulated/floor/wood, /area/crew_quarters/arcade) +"mlt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random_spawners/crate_spawner, +/turf/simulated/floor/plasteel, +/area/maintenance/apmaint) "mlz" = ( /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom{ @@ -82380,18 +83255,16 @@ }, /area/quartermaster/office) "mmo" = ( -/obj/effect/decal/warning_stripes/east, -/obj/effect/turf_decal/number/number_2{ - dir = 1; - pixel_y = -18; - pixel_x = -6 +/obj/structure/railing{ + dir = 8 }, -/obj/effect/turf_decal/arrows{ +/obj/item/twohanded/required/kirbyplants, +/obj/machinery/door/firedoor/border_only{ dir = 8 }, /turf/simulated/floor/plasteel{ dir = 8; - icon_state = "neutral" + icon_state = "whitepurple" }, /area/toxins/mixing) "mmr" = ( @@ -82440,11 +83313,14 @@ /obj/structure/disposalpipe/junction/reversed{ dir = 8 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "mmS" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -82492,25 +83368,13 @@ /turf/simulated/floor/wood, /area/library/game_zone) "mnl" = ( -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" - }, -/obj/effect/spawner/window/reinforced, -/obj/machinery/door/poddoor{ - density = 0; - icon_state = "open"; - id_tag = "Biohazard_medi"; - name = "Quarantine Lockdown"; - opacity = 0 +/obj/structure/sign/poster/official/random{ + pixel_y = -32 }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id_tag = "Virology1"; - name = "Virology Shutters" +/turf/simulated/floor/plasteel{ + icon_state = "whitegreen" }, -/turf/simulated/floor/plating, -/area/medical/virology) +/area/medical/virology/lab) "mnp" = ( /turf/simulated/floor/plasteel{ dir = 9; @@ -82716,12 +83580,6 @@ /turf/space/openspace, /area/space) "mpH" = ( -/obj/structure/disposalpipe/sortjunction{ - dir = 1; - name = "Captain's Office"; - sortType = 18; - icon_state = "pipe-j2s" - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -82738,6 +83596,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 }, +/obj/structure/disposalpipe/sortjunction/reversed{ + dir = 1; + name = "Captain Office"; + sortType = 18 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -82819,6 +83682,14 @@ icon_state = "dark" }, /area/maintenance/fsmaint3) +"mqs" = ( +/obj/effect/spawner/window/reinforced, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor/plating, +/area/medical/virology) "mqD" = ( /obj/structure/closet/gmcloset, /obj/item/wrench, @@ -82897,6 +83768,15 @@ /area/maintenance/fpmaint) "mry" = ( /obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/metal{ + amount = 50 + }, +/obj/item/stack/sheet/metal{ + amount = 50 + }, +/obj/item/stack/sheet/glass{ + amount = 50 + }, /obj/effect/spawner/lootdrop/maintenance, /turf/simulated/floor/plating, /area/maintenance/apmaint) @@ -83170,7 +84050,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "blue" + }, /area/hydroponics) "muB" = ( /obj/structure/window/reinforced{ @@ -83534,9 +84417,9 @@ /obj/structure/cable{ icon_state = "0-2" }, -/obj/machinery/power/apc{ +/obj/machinery/power/apc/worn_out{ + cell_type = 0; dir = 1; - name = "north bump"; pixel_y = 26 }, /turf/simulated/floor/plating, @@ -83615,22 +84498,13 @@ /turf/simulated/floor/plating, /area/maintenance/fsmaint3) "mya" = ( -/obj/machinery/atmospherics/binary/valve, -/obj/item/wrench, -/obj/machinery/light/small{ - dir = 4; - pixel_y = 8 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/structure/chair, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 }, -/turf/simulated/floor/plating, -/area/medical/virology/lab) +/turf/simulated/floor/plasteel, +/area/maintenance/xenozoo) "myd" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance, @@ -83769,7 +84643,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "mze" = ( /obj/effect/decal/cleanable/dirt, @@ -83998,16 +84874,21 @@ req_access = list(1); color = "red" }, -/obj/item/gun/projectile/automatic/pistol/enforcer, /obj/structure/window/reinforced{ color = "red"; dir = 4 }, -/obj/item/gun/projectile/automatic/pistol/enforcer{ +/obj/item/gun/projectile/automatic/pistol/enforcer/lethal{ + pixel_y = 0; + pixel_x = -2 + }, +/obj/item/gun/projectile/automatic/pistol/enforcer/lethal{ + pixel_y = 0; pixel_x = 2 }, -/obj/item/gun/projectile/automatic/pistol/enforcer{ - pixel_x = 4 +/obj/item/gun/projectile/automatic/pistol/enforcer/lethal{ + pixel_y = 0; + pixel_x = 6 }, /turf/simulated/floor/plasteel{ dir = 5; @@ -84140,6 +85021,14 @@ icon_state = "darkpurple" }, /area/assembly/chargebay) +"mCK" = ( +/obj/effect/decal/cleanable/dust, +/obj/item/pen{ + pixel_y = -13; + pixel_x = -13 + }, +/turf/simulated/floor/wood, +/area/maintenance/library) "mCP" = ( /obj/machinery/porta_turret{ dir = 4; @@ -84309,6 +85198,7 @@ "mDO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/warning_stripes/yellow/hollow, /turf/simulated/floor/plasteel, /area/maintenance/xenozoo) "mDV" = ( @@ -84399,6 +85289,7 @@ /obj/structure/barricade/wooden/crude{ layer = 4 }, +/obj/structure/cable, /turf/simulated/floor/plating, /area/maintenance/xenozoo) "mEB" = ( @@ -84406,6 +85297,15 @@ icon_state = "plant-22"; tag = "icon-plant-22" }, +/obj/machinery/power/apc{ + dir = 1; + name = "north bump"; + pixel_y = 24 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -84602,12 +85502,12 @@ /obj/machinery/camera{ c_tag = "Brig Cell 2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, /obj/structure/chair/comfy/teal{ dir = 4 }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, /turf/simulated/floor/carpet/cyan, /area/security/prison/cell_block/A) "mGy" = ( @@ -84769,18 +85669,18 @@ /area/hydroponics) "mHJ" = ( /obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ dir = 8 }, +/obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 }, /obj/structure/disposalpipe/trunk{ dir = 8 }, +/obj/structure/window/reinforced{ + dir = 1 + }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "mHL" = ( @@ -84862,13 +85762,6 @@ dir = 1; pixel_y = 32 }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - name = "south bump"; - pixel_y = -26 - }, /turf/simulated/floor/greengrid, /area/turret_protected/ai) "mIv" = ( @@ -85098,19 +85991,11 @@ }, /area/turret_protected/aisat) "mKo" = ( -/obj/structure/closet/l3closet/scientist, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - dir = 8; - name = "west bump"; - pixel_x = -26 - }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "whitepurple" +/obj/structure/sign/directions/floor/alt{ + dir = 6; + pixel_x = -32 }, +/turf/simulated/openspace, /area/toxins/launch) "mKp" = ( /obj/machinery/door/airlock/maintenance, @@ -85231,7 +86116,9 @@ codes_txt = "patrol;next_patrol=C1"; location = "C11" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "mKW" = ( /obj/structure/grille, @@ -85377,6 +86264,9 @@ /obj/machinery/atmospherics/unary/portables_connector, /obj/machinery/portable_atmospherics/canister, /obj/effect/decal/warning_stripes/north, +/obj/machinery/status_display{ + pixel_y = 32 + }, /turf/simulated/floor/plasteel{ icon_state = "neutral" }, @@ -85552,6 +86442,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -85742,6 +86635,7 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -85845,6 +86739,8 @@ /obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/regular, /obj/item/reagent_containers/hypospray/safety, +/obj/item/storage/belt/medical, +/obj/item/clothing/glasses/hud/health, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whiteblue"; @@ -85854,9 +86750,7 @@ "mOm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, -/turf/simulated/floor/plasteel{ - icon_state = "darkgrey" - }, +/turf/simulated/floor/plating, /area/maintenance/gambling_den) "mOA" = ( /obj/effect/decal/cleanable/dirt, @@ -85917,7 +86811,7 @@ dir = 9; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "mOR" = ( /obj/structure/cable{ icon_state = "1-2" @@ -85994,7 +86888,7 @@ /obj/item/twohanded/required/kirbyplants, /obj/machinery/firealarm{ dir = 4; - pixel_x = -28 + pixel_x = -25 }, /obj/machinery/light{ dir = 8 @@ -86003,7 +86897,7 @@ dir = 5; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "mPu" = ( /obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plasteel, @@ -86101,6 +86995,9 @@ /obj/item/clothing/under/retro/medical, /obj/effect/decal/warning_stripes/north, /obj/machinery/light, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -86112,11 +87009,18 @@ /turf/simulated/wall, /area/crew_quarters/serviceyard) "mQk" = ( -/obj/machinery/light{ +/obj/structure/chair{ dir = 8 }, +/obj/machinery/alarm{ + pixel_y = 24 + }, +/obj/item/radio/intercom{ + pixel_y = 24; + pixel_x = -32 + }, /turf/simulated/floor/plasteel{ - dir = 8; + dir = 1; icon_state = "red" }, /area/security/interrogation) @@ -86466,11 +87370,15 @@ /area/toxins/server) "mSP" = ( /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/remains/mouse, /obj/item/radio/intercom{ name = "west station intercom (General)"; - pixel_x = -28 + pixel_x = -28; + pixel_y = 24 + }, +/obj/machinery/light/small{ + dir = 8 }, -/obj/item/folder, /turf/simulated/floor/plating, /area/maintenance/xenozoo) "mSR" = ( @@ -86590,7 +87498,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "mTC" = ( /obj/structure/cable{ icon_state = "1-2" @@ -86775,11 +87683,15 @@ pixel_x = -1; pixel_y = 7 }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "mVb" = ( /obj/structure/window/reinforced{ dir = 8 @@ -86806,6 +87718,7 @@ /obj/machinery/light{ dir = 4 }, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plasteel{ icon_state = "darkgrey" }, @@ -87081,6 +87994,18 @@ /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, /area/maintenance/asmaint2) +"mXr" = ( +/obj/structure/window/reinforced, +/obj/item/flag/nt, +/obj/structure/sign/atmosplaque{ + pixel_y = 32; + desc = "Важное Уточнение! Главный Инженер пожелал оставаться анонимным, поэтому, обойдёмся прозвищем. За выдающиеся успехи в области инженерного менеджмента, а также успешное проектирование станции Нова по всем стандартам НаноТрейзен. Благодарим вас за труд, PiroMage. Слава НаноТрейзен!"; + name = "Благодарственное Письмо Для Главного Инженера Команды Архитекторов Станции Нова" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/bridge) "mXt" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -87109,6 +88034,11 @@ dir = 4; pixel_x = 28 }, +/obj/machinery/camera{ + c_tag = "Research East Hallway"; + dir = 8; + network = list("Research","SS13") + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitepurple" @@ -87140,10 +88070,6 @@ layer = 2.9 }, /obj/effect/decal/warning_stripes/red/hollow, -/obj/item/clothing/suit/armor/riot, -/obj/item/shield/riot, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/head/helmet/riot, /obj/structure/window/reinforced{ color = "red" }, @@ -87161,6 +88087,10 @@ req_access = list(1); color = "red" }, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -87646,6 +88576,7 @@ scrub_N2O = 1; scrub_Toxins = 1 }, +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/wood{ icon_state = "wood-broken6"; tag = "icon-wood-broken6" @@ -87670,19 +88601,6 @@ }, /area/security/processing) "nbu" = ( -/obj/item/ammo_box/magazine/enforcer/lethal{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/ammo_box/magazine/enforcer/lethal, -/obj/item/ammo_box/magazine/enforcer/lethal{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/ammo_box/magazine/enforcer/lethal{ - pixel_x = -6; - pixel_y = 6 - }, /obj/effect/decal/warning_stripes/red/hollow, /obj/structure/rack{ dir = 8; @@ -87700,6 +88618,24 @@ req_access = list(1); color = "red" }, +/obj/item/ammo_box/c9mm, +/obj/item/ammo_box/c9mm{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/ammo_box/magazine/enforcer/lethal{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/ammo_box/magazine/enforcer/lethal, +/obj/item/ammo_box/magazine/enforcer/lethal{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/ammo_box/magazine/enforcer/lethal{ + pixel_x = -6; + pixel_y = 6 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -88058,7 +88994,8 @@ /obj/item/clothing/glasses/welding/superior, /obj/item/radio/intercom{ dir = 4; - pixel_x = 28 + pixel_x = 34; + pixel_y = 3 }, /turf/simulated/floor/carpet/purple, /area/toxins/rdoffice) @@ -88536,9 +89473,6 @@ /turf/simulated/floor/wood/fancy/light, /area/crew_quarters/heads) "nhD" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/cable{ icon_state = "1-4" }, @@ -88547,6 +89481,9 @@ /obj/structure/disposalpipe/junction{ dir = 8 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -88604,16 +89541,12 @@ }, /area/maintenance/trading) "nhZ" = ( -/obj/effect/turf_decal/arrows{ +/obj/structure/closet/l3closet/scientist, +/obj/structure/railing{ dir = 8 }, -/obj/effect/turf_decal/number/number_1{ - dir = 1; - pixel_y = -18; - pixel_x = -5 - }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple" + icon_state = "purplefull" }, /area/toxins/launch) "nic" = ( @@ -88722,7 +89655,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "niY" = ( /obj/structure/cable{ icon_state = "1-2" @@ -88759,7 +89692,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "njf" = ( /obj/effect/decal/warning_stripes/northeast, @@ -88951,6 +89886,9 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" }, @@ -89174,8 +90112,8 @@ frequency = 1379; master_tag = "ex"; name = "interior access button"; - pixel_x = 21; - pixel_y = -21 + pixel_x = 25; + pixel_y = -25 }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -89197,6 +90135,22 @@ icon_state = "whitegreen" }, /area/medical/virology/lab) +"nms" = ( +/obj/structure/safe/floor, +/obj/item/seeds/wheat/meat, +/obj/item/gun/energy/floragun{ + selfcharge = 0; + emagged = 1; + name = "old floral somatoray"; + can_charge = 1; + cell_type = /obj/item/stock_parts/cell/degraded; + ammo_type = list(/obj/item/ammo_casing/energy/flora/beta,/obj/item/ammo_casing/energy/flora/gamma); + current_skin = "oldflora"; + description_info = "Это энергетическое оружие. Имеет 2 режима стрельбы: бета и гамма. Бета изменяет геном растений. Гамма ускоряет рост растений. Чтобы перезарядить это оружие, используйте устройство для подзарядки оружия."; + desc = "Старый ботанический инструмент, испускающий контролируемое излучение, вызывающее мутации в клетках растений, не имеет самозарядки. Чтобы перезарядить это оружие, используйте устройство для подзарядки оружия." + }, +/turf/simulated/floor/grass, +/area/maintenance/garden) "nmx" = ( /obj/structure/cable{ icon_state = "4-8" @@ -89660,6 +90614,11 @@ /area/security/securehallway) "npW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/plasteel{ icon_state = "whitebluecorner" }, @@ -89783,6 +90742,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "dark" @@ -90140,17 +91100,12 @@ /turf/simulated/floor/glass, /area/hallway/secondary/exit) "nuJ" = ( -/obj/item/twohanded/required/kirbyplants, -/obj/machinery/ai_status_display{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/plasteel{ - icon_state = "white" +/obj/structure/closet/l3closet/virology, +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 5 }, -/area/medical/virology) +/turf/simulated/floor/plating, +/area/medical/virology/lab) "nuS" = ( /turf/simulated/floor/plasteel{ icon_state = "whitegreen" @@ -90234,15 +91189,30 @@ /turf/simulated/floor/plasteel, /area/hallway/secondary/exit) "nvF" = ( -/obj/machinery/washing_machine, -/obj/machinery/newscaster{ - pixel_y = 32 +/obj/structure/table, +/obj/item/storage/box/syringes{ + pixel_y = 9 + }, +/obj/item/storage/box/syringes{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/storage/lockbox/vials{ + pixel_y = -3; + pixel_x = 1 + }, +/obj/item/storage/fancy/vials{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/machinery/alarm{ + pixel_y = 24 }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "nvL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -90250,6 +91220,11 @@ amount = 20 }, /obj/machinery/light_construct, +/obj/item/stack/sheet/glass{ + amount = 20; + pixel_x = 2; + pixel_y = 2 + }, /turf/simulated/floor/plasteel{ dir = 0; icon_state = "red" @@ -90295,7 +91270,7 @@ dir = 9; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "nvU" = ( /obj/machinery/vending/wallmed{ pixel_x = 26; @@ -90386,6 +91361,22 @@ icon_state = "dark" }, /area/atmos) +"nwG" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder/reinforced, +/turf/simulated/floor/plating, +/area/maintenance/maintcentral) "nwN" = ( /obj/structure/chair/sofa/corner{ dir = 4 @@ -90659,6 +91650,7 @@ c_tag = "Brig Cell 3"; dir = 6 }, +/obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -90676,7 +91668,7 @@ }, /area/medical/research) "nyO" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /obj/effect/landmark/start/civilian, @@ -90694,7 +91686,6 @@ }, /area/atmos) "nyU" = ( -/obj/structure/closet/wardrobe/xenos, /obj/machinery/light{ dir = 1; in_use = 1 @@ -90702,6 +91693,7 @@ /obj/structure/sign/poster/official/random{ pixel_y = 32 }, +/obj/structure/closet/wardrobe/pink, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "neutralcorner" @@ -90741,6 +91733,7 @@ dir = 6 }, /obj/effect/landmark/event/blobstart, +/obj/item/radio/beacon, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -91183,8 +92176,8 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/structure/disposalpipe/junction/reversed{ + dir = 2 }, /turf/simulated/floor/plasteel{ icon_state = "white" @@ -91685,6 +92678,15 @@ icon_state = "white" }, /area/toxins/explab) +"nFO" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = 30 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "yellow" + }, +/area/engineering/break_room) "nFR" = ( /obj/structure/chair/sofa/right, /obj/machinery/light{ @@ -91999,6 +93001,7 @@ /turf/simulated/floor/plasteel, /area/storage/secure) "nIR" = ( +/obj/effect/decal/cleanable/dust, /turf/simulated/floor/wood{ icon_state = "wood-broken"; tag = "icon-wood-broken" @@ -92389,6 +93392,10 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "vault" @@ -92420,7 +93427,7 @@ scrub_Toxins = 1 }, /turf/simulated/floor/plasteel, -/area/engineering/engine) +/area/engineering/break_room) "nLM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -92616,7 +93623,9 @@ /area/quartermaster/miningdock) "nMX" = ( /obj/effect/decal/warning_stripes/east, -/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/item/videocam, +/obj/item/videocam, +/obj/structure/closet/crate, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -92867,14 +93876,6 @@ dir = 1 }, /area/security/prison/cell_block/A) -"nOM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/plasteel{ - dir = 1 - }, -/area/security/prison/cell_block/A) "nON" = ( /obj/machinery/door/firedoor, /obj/effect/decal/warning_stripes/yellow, @@ -93349,7 +94350,7 @@ dir = 8 }, /turf/simulated/floor/plasteel, -/area/engineering/engine) +/area/engineering/break_room) "nSN" = ( /obj/machinery/light{ dir = 8 @@ -93411,6 +94412,11 @@ /obj/machinery/light/small{ dir = 4 }, +/obj/item/shard{ + icon_state = "medium"; + pixel_x = -7; + pixel_y = -10 + }, /turf/simulated/floor/plating, /area/maintenance/tourist) "nTA" = ( @@ -93493,6 +94499,13 @@ icon_state = "darkblue" }, /area/hallway/secondary/exit) +"nUf" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/warning_stripes/yellow, +/turf/simulated/floor/plasteel{ + dir = 1 + }, +/area/security/lobby) "nUl" = ( /obj/effect/turf_decal/siding/yellow{ dir = 8 @@ -93854,6 +94867,10 @@ d2 = 2; icon_state = "0-2" }, +/obj/machinery/cell_charger{ + pixel_x = -1; + pixel_y = 2 + }, /turf/simulated/floor/plating, /area/maintenance/fpmaint) "nWD" = ( @@ -94041,6 +95058,10 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/apmaint) +"nYP" = ( +/obj/effect/spawner/window/reinforced, +/turf/simulated/floor/plating, +/area/chapel/massdriver) "nYR" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -94125,20 +95146,12 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/turf/simulated/floor/plasteel{ - icon_state = "browncorner" - }, +/turf/simulated/floor/plasteel, /area/quartermaster/miningstorage) "nZH" = ( /obj/structure/chair/sofa/corner{ color = "#85130b" }, -/obj/structure/curtain/open/shower/security{ - alpha = 255; - name = "backstage"; - anchored = 1; - pixel_y = 32 - }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dust, /turf/simulated/floor/wood, @@ -94700,7 +95713,8 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "odx" = ( @@ -94733,9 +95747,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "brown" @@ -94857,18 +95868,15 @@ }, /area/maintenance/trading) "oev" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/decal/warning_stripes/west, -/obj/structure/ladder, /obj/structure/sign/directions/floor/alt{ dir = 8; pixel_x = -32 }, +/obj/structure/railing{ + dir = 4 + }, /turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "neutral" + icon_state = "ramptop" }, /area/toxins/mixing) "oeC" = ( @@ -94966,11 +95974,17 @@ tag_chamber_sensor = "sw_maint2_sensor"; tag_exterior_door = "sw_maint2_outer"; tag_interior_door = "sw_maint2_inner"; - pixel_x = 25 + pixel_x = 25; + pixel_y = -2 }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/airlock_sensor{ + id_tag = "sw_maint2_sensor"; + pixel_y = 5; + pixel_x = 25 + }, /turf/simulated/floor/plating, /area/maintenance/starboard) "ofE" = ( @@ -95155,6 +96169,7 @@ /obj/machinery/light{ dir = 1 }, +/obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/carpet/red, /area/security/prison/cell_block/A) "ohx" = ( @@ -95172,11 +96187,26 @@ }, /area/turret_protected/aisat_interior/secondary) "ohy" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/item/twohanded/required/kirbyplants, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "red" }, /area/security/interrogation) +"ohI" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/camera{ + c_tag = "Minisat AI Core Centre"; + network = list("Minisat","SS13"); + dir = 10 + }, +/turf/simulated/floor/greengrid, +/area/turret_protected/ai) "ohJ" = ( /obj/machinery/door/airlock/command{ name = "Head of Security"; @@ -95270,7 +96300,7 @@ dir = 4; pixel_x = 28 }, -/obj/structure/chair/office, +/obj/structure/chair, /obj/machinery/atmospherics/unary/vent_scrubber{ name = "standard air scrubber"; on = 1; @@ -95304,14 +96334,19 @@ /turf/simulated/floor/plating, /area/security/permabrig) "ojn" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /obj/structure/disposalpipe/segment{ - dir = 9 + dir = 4 }, /turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "red" + dir = 8; + icon_state = "whitegreen" }, -/area/security/interrogation) +/area/medical/virology/lab) "ojo" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ name = "standard air scrubber"; @@ -95360,7 +96395,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ - dir = 1 + icon_state = "red" }, /area/security/lobby) "ojE" = ( @@ -95762,12 +96797,10 @@ }, /area/toxins/xenobiology) "omG" = ( -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "whitepurple"; - tag = "icon-whitepurple (EAST)" - }, -/area/toxins/launch) +/obj/effect/decal/cleanable/dust, +/obj/item/paper_bin, +/turf/simulated/floor/wood, +/area/maintenance/library) "omJ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -95960,11 +96993,13 @@ /area/hallway/secondary/entry/eastarrival) "ooP" = ( /obj/effect/decal/warning_stripes/yellow/hollow, -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, /obj/structure/extinguisher_cabinet{ pixel_y = -32 }, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -95981,19 +97016,12 @@ }, /area/medical/chemistry) "ooX" = ( -/obj/item/radio/intercom{ - dir = 8; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/light/small{ - dir = 4 +/obj/machinery/door/airlock/mining{ + name = "Mining Dock"; + req_access = list(48) }, /turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "brown" + icon_state = "brownfull" }, /area/quartermaster/miningstorage) "ooY" = ( @@ -96104,6 +97132,7 @@ /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance, /obj/effect/spawner/random_spawners/cobweb_left_rare, +/obj/item/storage/box/lights/bulbs, /turf/simulated/floor/plating, /area/maintenance/tourist) "opR" = ( @@ -96351,7 +97380,7 @@ dir = 8; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "osl" = ( /obj/structure/table/reinforced, /obj/item/restraints/legcuffs/beartrap, @@ -96471,7 +97500,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "ote" = ( /obj/effect/decal/warning_stripes/yellow/hollow, /obj/machinery/power/port_gen/pacman, @@ -96586,7 +97615,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/medical/medrest) +/area/maintenance/asmaint) "otS" = ( /obj/structure/closet/secure_closet/engineering_electrical, /obj/effect/decal/warning_stripes/east, @@ -96806,6 +97835,37 @@ /obj/machinery/light/small, /turf/simulated/floor/plasteel/freezer, /area/crew_quarters/heads/hop) +"ovd" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/effect/decal/warning_stripes/red/hollow, +/obj/structure/window/reinforced{ + color = "red" + }, +/obj/structure/window/reinforced{ + color = "red"; + dir = 1 + }, +/obj/structure/window/reinforced{ + color = "red"; + dir = 4 + }, +/obj/machinery/door/window{ + dir = 8; + name = "Secure Armory"; + req_access = list(1); + color = "red" + }, +/obj/item/clothing/suit/armor/riot, +/obj/item/clothing/suit/armor/riot, +/obj/item/clothing/suit/armor/riot, +/obj/item/clothing/suit/armor/riot, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/security/securearmory) "ovn" = ( /obj/structure/table/reinforced, /obj/item/clipboard, @@ -96963,6 +98023,9 @@ /obj/item/tank/internals/oxygen, /obj/item/radio, /obj/item/clothing/mask/breath, +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_y = -32 + }, /turf/simulated/floor/plating, /area/maintenance/apmaint) "ovY" = ( @@ -97813,10 +98876,10 @@ dir = 1; in_use = 1 }, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "oDB" = ( -/obj/item/reagent_containers/spray/pestspray, +/obj/structure/flora/ausbushes/sunnybush, /turf/simulated/floor/grass, /area/maintenance/garden) "oDL" = ( @@ -97957,7 +99020,7 @@ }, /obj/machinery/airlock_sensor{ id_tag = "aisolw_sensor"; - pixel_y = -28 + pixel_y = 35 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ frequency = 1379; @@ -97993,6 +99056,15 @@ icon_state = "neutralfull" }, /area/hallway/secondary/entry/lounge) +"oEP" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -30 + }, +/turf/simulated/floor/wood, +/area/library) "oET" = ( /obj/effect/decal/warning_stripes/northeast, /turf/simulated/floor/plasteel{ @@ -98080,6 +99152,7 @@ d2 = 8; icon_state = "4-8" }, +/obj/structure/barricade/wooden, /turf/simulated/floor/plating, /area/maintenance/atmospherics) "oFD" = ( @@ -98098,9 +99171,11 @@ /turf/simulated/floor/plasteel, /area/crew_quarters/toilet) "oFH" = ( -/obj/item/pen, -/obj/structure/table, -/turf/simulated/floor/plating, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/floor/plasteel, /area/maintenance/xenozoo) "oFT" = ( /obj/structure/cable{ @@ -98671,6 +99746,16 @@ }, /turf/simulated/floor/plasteel/freezer, /area/crew_quarters/toilet2) +"oKn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "rampbottom"; + tag = "icon-stage_stairs"; + dir = 4 + }, +/area/security/hos) "oKr" = ( /obj/machinery/door/poddoor/shutters/preopen{ id_tag = "CMO Shutters"; @@ -98940,7 +100025,6 @@ layer = 2.9 }, /obj/effect/decal/warning_stripes/red/hollow, -/obj/item/clothing/suit/armor/bulletproof, /obj/machinery/door/window{ name = "Secure Armory"; req_access = list(1); @@ -98953,7 +100037,9 @@ color = "red"; dir = 1 }, -/obj/item/clothing/gloves/combat, +/obj/item/clothing/head/helmet/alt, +/obj/item/clothing/head/helmet/alt, +/obj/item/clothing/head/helmet/alt, /obj/item/clothing/head/helmet/alt, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -99017,7 +100103,9 @@ codes_txt = "patrol;next_patrol=C6"; location = "C5" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "oMX" = ( /obj/machinery/camera{ @@ -99155,7 +100243,7 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "white" + icon_state = "purplefull" }, /area/toxins/launch) "oNV" = ( @@ -99232,13 +100320,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, /obj/machinery/button/windowtint{ id = "Interrogation"; pixel_y = -24; req_access = list(63); pixel_x = 24 }, -/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkred" @@ -99306,14 +100394,12 @@ /area/medical/biostorage) "oPd" = ( /obj/effect/decal/warning_stripes/southeast, -/obj/machinery/chem_master{ - pixel_x = -1 - }, /obj/structure/cable{ d1 = 4; d2 = 8; icon_state = "4-8" }, +/obj/machinery/computer/pandemic, /turf/simulated/floor/plasteel, /area/medical/virology/lab) "oPf" = ( @@ -99330,7 +100416,8 @@ icon_state = "0-4" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "oPj" = ( @@ -99380,6 +100467,10 @@ icon_state = "darkred" }, /area/bridge) +"oPt" = ( +/obj/structure/flora/ausbushes/ywflowers/hell, +/turf/simulated/floor/grass, +/area/maintenance/garden) "oPu" = ( /obj/structure/chair/comfy/brown, /turf/simulated/floor/wood, @@ -99624,9 +100715,9 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/structure/table, /obj/item/paper_bin, /obj/item/pen, +/obj/structure/table, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "brown" @@ -99653,6 +100744,15 @@ icon_state = "neutral" }, /area/bridge/checkpoint/south) +"oRJ" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/plasteel{ + icon_state = "grimy" + }, +/area/chapel/office) "oRO" = ( /obj/structure/chair/barber{ dir = 8 @@ -99708,34 +100808,11 @@ }, /area/blueshield) "oSq" = ( -/obj/structure/closet/crate/medical, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -11; - pixel_y = 5 - }, -/obj/item/storage/box/beakers{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/storage/box/beakers{ - pixel_y = -1 - }, -/obj/item/storage/box/syringes{ - pixel_x = 10; - pixel_y = -3 - }, -/obj/item/storage/box/gloves{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 6 +/obj/machinery/chem_master{ + pixel_x = -1 }, -/turf/simulated/floor/plating, +/obj/effect/decal/warning_stripes/northeastcorner, +/turf/simulated/floor/plasteel, /area/medical/virology/lab) "oSw" = ( /obj/structure/railing{ @@ -100070,7 +101147,9 @@ /obj/structure/cable{ icon_state = "2-4" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "oUo" = ( /obj/machinery/door/airlock/external{ @@ -100295,7 +101374,7 @@ /turf/simulated/floor/shuttle/plating, /area/shuttle/arrival/station) "oVW" = ( -/obj/structure/chair/office, +/obj/structure/chair, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "dark" @@ -100341,6 +101420,7 @@ pixel_x = -6; pixel_y = 6 }, +/obj/item/ammo_box/shotgun/stunslug, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -100657,14 +101737,14 @@ /turf/simulated/floor/plating, /area/maintenance/casino) "oYP" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Warden's Office"; - req_access = list(3); - security_level = 1 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Warden's Bedroom"; + req_access = list(3); + security_level = 1 + }, /turf/simulated/floor/plasteel{ icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)" @@ -100755,6 +101835,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel, /area/storage/eva) +"oZp" = ( +/obj/structure/railing/corner, +/turf/simulated/floor/plating, +/area/maintenance/casino) "oZq" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ name = "standard air scrubber"; @@ -101027,7 +102111,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "pbd" = ( /obj/machinery/hologram/holopad, @@ -101075,18 +102161,15 @@ /turf/simulated/floor/wood, /area/maintenance/livingcomplex) "pbA" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "mining_internal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/effect/turf_decal/loading_area{ + dir = 8 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/plasteel, /area/quartermaster/miningstorage) "pbD" = ( /obj/structure/stairs{ - dir = 4 + dir = 4; + layer = 2 }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -101178,12 +102261,6 @@ dir = 4; color = "#85130b" }, -/obj/structure/curtain/open/shower/security{ - alpha = 255; - name = "backstage"; - anchored = 1; - pixel_y = 32 - }, /turf/simulated/floor/wood{ icon_state = "wood-broken3"; tag = "icon-wood-broken3" @@ -101302,9 +102379,7 @@ /area/atmos) "pdg" = ( /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "whitepurple"; - tag = "icon-whitepurple (NORTH)" + icon_state = "purplefull" }, /area/toxins/launch) "pdF" = ( @@ -101423,6 +102498,8 @@ /obj/item/clothing/mask/muzzle, /obj/item/reagent_containers/hypospray/safety, /obj/item/reagent_containers/hypospray/safety, +/obj/item/clothing/glasses/sunglasses/blindfold/black, +/obj/item/storage/belt/medical/surgery/loaded, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "dark" @@ -101676,7 +102753,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "pgr" = ( @@ -102098,7 +103176,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "piU" = ( /obj/structure/sign/directions/engineering{ @@ -102409,7 +103489,9 @@ /obj/structure/cable{ icon_state = "1-4" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "pkT" = ( /obj/structure/table, @@ -102538,8 +103620,7 @@ pixel_y = 32 }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "brown" + dir = 1 }, /area/quartermaster/lobby) "plN" = ( @@ -102576,6 +103657,18 @@ /obj/effect/decal/warning_stripes/north, /turf/simulated/floor/plasteel/airless, /area/toxins/test_area) +"pmm" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/warning_stripes/yellow, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + dir = 1 + }, +/area/security/lobby) "pmo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small, @@ -102622,6 +103715,13 @@ /obj/item/reagent_containers/iv_bag/blood/BMinus, /obj/item/reagent_containers/iv_bag/blood/BPlus, /obj/item/reagent_containers/iv_bag/blood/AMinus, +/obj/machinery/door/window/eastright{ + base_state = "left"; + icon_state = "left"; + name = "Blood Bag Storage"; + req_access = list(5); + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -103079,12 +104179,14 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -103396,7 +104498,7 @@ /obj/effect/decal/warning_stripes/north, /obj/structure/fans/tiny, /turf/simulated/floor/plating, -/area/chapel/main) +/area/chapel/massdriver) "pty" = ( /obj/structure/bookcase{ name = "bookcase (Non-Fiction)" @@ -103441,10 +104543,16 @@ /turf/simulated/floor/plating, /area/security/hos) "ptP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin, +/obj/machinery/door/airlock/external{ + frequency = 1379; + id_tag = "vir_maint2_inner"; + locked = 1; + name = "West Maintenance External Access"; + req_access = list(10,13) + }, +/obj/effect/decal/warning_stripes/west, /turf/simulated/floor/plating, -/area/maintenance/xenozoo) +/area/maintenance/asmaint4) "ptQ" = ( /obj/structure/extinguisher_cabinet{ name = "north extinguisher cabinet"; @@ -103458,9 +104566,6 @@ "ptU" = ( /obj/item/storage/fancy/donut_box, /obj/structure/table/wood/fancy/purple, -/obj/item/radio/intercom{ - pixel_y = -28 - }, /turf/simulated/floor/carpet/purple, /area/crew_quarters/captain) "ptW" = ( @@ -103526,7 +104631,9 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "puy" = ( /obj/effect/decal/cleanable/dirt, @@ -103598,18 +104705,10 @@ }, /area/security/main) "pvk" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Central Ring Hallway West 1"; - dir = 4 - }, /turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutral" + icon_state = "red" }, -/area/hallway/primary/central/west) +/area/security/lobby) "pvn" = ( /obj/structure/bed, /obj/item/bedsheet/medical{ @@ -103705,7 +104804,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "pvI" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "BrigLeft"; @@ -103802,10 +104901,13 @@ c_tag = "Cremator"; dir = 8 }, +/obj/machinery/light_switch{ + pixel_x = 26 + }, /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "pwp" = ( /obj/structure/chair/stool, /obj/effect/decal/cleanable/dust, @@ -103876,7 +104978,7 @@ dir = 8; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "pwZ" = ( /obj/structure/dispenser/oxygen, /obj/machinery/light{ @@ -103954,7 +105056,7 @@ dir = 10; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "pxI" = ( /obj/structure/window/reinforced{ dir = 8 @@ -104016,9 +105118,20 @@ }, /area/hallway/primary/central/sw) "pyi" = ( -/obj/structure/stairs, +/obj/structure/stairs{ + layer = 2 + }, /turf/simulated/floor/plating, /area/maintenance/casino) +"pyk" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "brown" + }, +/area/quartermaster/miningstorage) "pyl" = ( /obj/machinery/door/airlock/maintenance{ name = "Kitchen Maintenance"; @@ -104065,12 +105178,10 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, /obj/structure/cable{ icon_state = "2-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel, /area/maintenance/xenozoo) "pyA" = ( @@ -104256,6 +105367,8 @@ }, /area/hallway/secondary/entry/additional) "pzD" = ( +/obj/machinery/telepad_cargo, +/obj/effect/decal/warning_stripes/yellow/hollow, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurplecorner" @@ -104280,9 +105393,6 @@ /turf/simulated/floor/plating, /area/maintenance/apmaint) "pzK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/turretid/stun{ control_area = "AI Satellite Antechamber"; name = "AI Antechamber Turret Control"; @@ -104301,7 +105411,7 @@ dir = 10; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "pzY" = ( /obj/effect/decal/warning_stripes/south, /obj/item/radio/intercom{ @@ -104494,6 +105604,9 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/atmosia_independence{ + pixel_x = 32 + }, /turf/simulated/floor/plasteel{ icon_state = "yellowfull" }, @@ -104596,13 +105709,17 @@ icon_state = "darkyellow" }, /area/bridge) +"pBJ" = ( +/obj/structure/sign/poster/contraband/random, +/turf/simulated/wall, +/area/maintenance/apmaint) "pBK" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, /obj/structure/chair/comfy/red{ dir = 4 }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, /turf/simulated/floor/carpet/red, /area/security/prison/cell_block/A) "pBN" = ( @@ -104829,7 +105946,9 @@ /area/security/hos) "pDK" = ( /obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "pDN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -105043,6 +106162,10 @@ d2 = 2; icon_state = "0-2" }, +/obj/structure/sign/directions/floor/alt{ + dir = 6; + pixel_y = 32 + }, /turf/simulated/floor/plating, /area/maintenance/apmaint) "pFH" = ( @@ -105081,7 +106204,13 @@ }, /area/security/customs) "pFQ" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/atmospherics/unary/vent_scrubber{ + dir = 2; + name = "standard air scrubber"; + on = 1; + scrub_N2O = 1; + scrub_Toxins = 1 + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -105206,6 +106335,12 @@ icon_state = "neutralfull" }, /area/hallway/secondary/entry/commercial) +"pGo" = ( +/obj/structure/table/glass, +/obj/item/clipboard, +/obj/item/toy/figure/md, +/turf/simulated/floor/carpet/cyan, +/area/medical/medrest) "pGy" = ( /obj/machinery/light{ dir = 4 @@ -105219,7 +106354,8 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "pGz" = ( @@ -105323,7 +106459,7 @@ }, /obj/machinery/airlock_sensor{ id_tag = "station_ai_sensor"; - pixel_y = -10; + pixel_y = 7; pixel_x = 57 }, /turf/simulated/floor/plasteel{ @@ -105338,13 +106474,13 @@ }, /area/bridge) "pHv" = ( -/obj/structure/chair/office{ - dir = 4 - }, /obj/structure/window/reinforced{ dir = 8 }, /obj/effect/landmark/start/civilian, +/obj/structure/chair{ + dir = 4 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_regular_floor = "yellowsiding"; @@ -105483,7 +106619,8 @@ location = "C9" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "pIU" = ( @@ -105850,7 +106987,7 @@ scrub_N2O = 1; scrub_Toxins = 1 }, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "pLX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -106028,7 +107165,7 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -106163,6 +107300,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, /turf/simulated/floor/plating, /area/maintenance/apmaint) "pNR" = ( @@ -106302,13 +107442,12 @@ /turf/simulated/floor/plasteel, /area/engineering/gravitygenerator) "pOS" = ( -/obj/structure/cable{ - icon_state = "1-2"; - tag = "" +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 1 }, -/obj/structure/disposalpipe/segment, +/obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/plating, -/area/medical/virology/lab) +/area/maintenance/asmaint4) "pOZ" = ( /obj/structure/window/reinforced{ dir = 4 @@ -106513,7 +107652,7 @@ dir = 4; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "pQE" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -106715,10 +107854,9 @@ }, /area/engineering/hardsuitstorage) "pSb" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance/tripple, +/obj/machinery/pipedispenser, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/maintenance/atmospherics) "pSd" = ( /turf/simulated/floor/plasteel, /area/storage/primary) @@ -106808,21 +107946,24 @@ }, /area/crew_quarters/serviceyard) "pTe" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, /obj/structure/cable{ d1 = 4; d2 = 8; icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, -/area/medical/virology/lab) +/area/medical/virology) "pTg" = ( /obj/machinery/atmospherics/trinary/tvalve/digital/bypass, /turf/simulated/floor/plasteel, @@ -107126,6 +108267,13 @@ /obj/item/reagent_containers/iv_bag/blood/vulpkanin, /obj/item/reagent_containers/iv_bag/blood/wryn, /obj/effect/decal/warning_stripes/blue/hollow, +/obj/machinery/door/window/eastright{ + base_state = "left"; + icon_state = "left"; + name = "Blood Bag Storage"; + req_access = list(5); + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "whiteblue" @@ -107146,6 +108294,9 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/simulated/floor/plating, /area/maintenance/starboard) "pVm" = ( @@ -107319,6 +108470,15 @@ /obj/machinery/light/small, /turf/simulated/floor/plating, /area/maintenance/brig) +"pWd" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = 30 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkred" + }, +/area/security/permahallway) "pWf" = ( /turf/simulated/floor/plasteel{ dir = 1; @@ -107394,6 +108554,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel, /area/maintenance/xenozoo) "pWx" = ( @@ -107414,10 +108577,10 @@ /turf/simulated/floor/plating, /area/security/range) "pWy" = ( -/obj/effect/spawner/window/reinforced, /obj/structure/cable{ icon_state = "0-2" }, +/obj/effect/spawner/window/reinforced/plasma, /turf/simulated/floor/plating, /area/storage/tech) "pWE" = ( @@ -107427,6 +108590,14 @@ icon_state = "red" }, /area/hallway/primary/central/second/west) +"pWF" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/plating, +/area/maintenance/gambling_den) "pWK" = ( /turf/simulated/wall, /area/crew_quarters/fitness) @@ -107646,7 +108817,7 @@ /turf/simulated/floor/carpet/royalblack, /area/bridge/meeting_room) "pYo" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /obj/structure/sign/poster/contraband/have_a_puff{ @@ -107790,6 +108961,11 @@ "pYS" = ( /obj/structure/window/reinforced, /obj/item/flag/nt, +/obj/structure/sign/tajarplaque{ + desc = "Важное Уточнение! Рабочие пожелали оставаться анонимными, поэтому, обойдёмся их прозвищами. За помощь Главному Инженеру Новы в поисках и устранении неисправностей на станции НаноТрейзен. С благодарностью, Den10g. Слава НаноТрейзен!"; + name = "Благодарственное Письмо от Главного Инженера станции Нова"; + pixel_y = 32 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -107992,12 +109168,12 @@ /obj/structure/table/wood{ color = "#996633" }, -/obj/machinery/photocopier/faxmachine/longrange{ - department = "NT Representative's Office" - }, /obj/item/radio/intercom{ pixel_x = 28 }, +/obj/machinery/photocopier/faxmachine/longrange{ + department = "NT Representative's Office" + }, /turf/simulated/floor/carpet/royalblack, /area/ntrep) "qaJ" = ( @@ -108055,14 +109231,9 @@ /turf/simulated/floor/grass, /area/crew_quarters/fitness) "qbi" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, +/obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/medical/virology/lab) +/area/maintenance/asmaint4) "qbk" = ( /obj/structure/cable{ icon_state = "1-2" @@ -108266,11 +109437,6 @@ }, /area/security/range) "qcz" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/cable{ icon_state = "1-4" }, @@ -108281,6 +109447,17 @@ codes_txt = "patrol;next_patrol=L8"; location = "L7" }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -108452,7 +109629,7 @@ name = "pod4 home dock"; width = 5 }, -/turf/space{ +/turf/space/openspace{ icon_state = "black" }, /area/space) @@ -108677,26 +109854,15 @@ /area/security/permahallway) "qgf" = ( /obj/structure/table, -/obj/item/storage/box/syringes{ - pixel_y = 15 - }, -/obj/item/storage/box/syringes{ - pixel_y = 15; - pixel_x = 4 - }, -/obj/item/storage/fancy/vials{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/storage/lockbox/vials{ - pixel_y = -1; - pixel_x = -2 +/obj/item/storage/box/donkpockets{ + pixel_x = 2; + pixel_y = 3 }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "qgg" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable, @@ -109158,7 +110324,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "qjQ" = ( /turf/simulated/floor/plasteel{ icon_state = "whiteyellow" @@ -109326,6 +110492,11 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, +/mob/living/simple_animal/hostile/killertomato{ + desc = "Прирученный ботаниками томат-убийца. Не подпускать к Сане."; + faction = list("plants","neutral","hostile"); + name = "Витамин" + }, /turf/simulated/floor/plasteel{ dir = 5 }, @@ -109647,13 +110818,13 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/door/airlock/mining/glass{ - name = "Disposal Bay"; - req_access = list(31) - }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay"; + req_access = list(31) + }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "qod" = ( @@ -109848,7 +111019,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "qqq" = ( /obj/structure/chair/comfy/teal{ dir = 8 @@ -109942,7 +111113,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "qrs" = ( /obj/structure/cable{ icon_state = "2-4" @@ -109957,10 +111128,10 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random_spawners/blood_5, /turf/simulated/floor/plating, /area/maintenance/tourist) "qrC" = ( -/obj/item/twohanded/required/kirbyplants, /obj/machinery/firealarm{ dir = 1; pixel_y = 26 @@ -110494,11 +111665,12 @@ }, /area/security/permabrig) "quw" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 +/obj/structure/cable{ + icon_state = "4-8" }, /turf/simulated/floor/plasteel{ dir = 1 @@ -110750,6 +111922,8 @@ /obj/machinery/light{ dir = 4 }, +/obj/machinery/telepad_cargo, +/obj/effect/decal/warning_stripes/yellow/hollow, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "yellow" @@ -110790,9 +111964,22 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) +"qwG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc{ + dir = 1; + pixel_y = 26 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/disposal) "qwI" = ( /turf/simulated/floor/plasteel{ icon_state = "freezerfloor" @@ -110846,12 +112033,12 @@ /obj/item/rcd_ammo, /obj/item/clothing/glasses/meson, /obj/item/clothing/glasses/meson, -/obj/item/clothing/gloves/color/yellow/fake, -/obj/item/clothing/gloves/color/yellow/fake, /obj/machinery/light/small{ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/item/clothing/gloves/color/fyellow, +/obj/item/clothing/gloves/color/fyellow, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -110971,7 +112158,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "qyn" = ( /obj/structure/chair/sofa/pew/right{ dir = 4 @@ -111065,6 +112252,9 @@ on = 1 }, /obj/structure/curtain/open/shower/security, +/obj/item/radio/intercom{ + pixel_x = 30 + }, /turf/simulated/floor/plasteel{ icon_state = "showroomfloor" }, @@ -111076,7 +112266,7 @@ icon_state = "1-4" }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-8" }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -111150,7 +112340,9 @@ /turf/simulated/floor/plating, /area/maintenance/apmaint) "qzm" = ( -/obj/structure/stairs, +/obj/structure/stairs{ + layer = 2 + }, /turf/simulated/floor/plasteel, /area/hallway/primary/fore) "qzn" = ( @@ -111304,7 +112496,13 @@ req_access = list(73); security_level = 1 }, -/turf/simulated/floor/carpet/royalblack, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/simulated/floor/wood/dark, /area/ntrep) "qAG" = ( /obj/machinery/vending/snack, @@ -111318,6 +112516,16 @@ /obj/structure/closet/secure_closet/chaplain, /turf/simulated/floor/carpet, /area/chapel/office) +"qAM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + dir = 1 + }, +/area/security/lobby) "qAN" = ( /obj/structure/cable{ d1 = 4; @@ -111360,7 +112568,8 @@ /obj/machinery/door/firedoor, /obj/effect/turf_decal/caution/red, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "qAY" = ( @@ -111376,7 +112585,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "qBf" = ( /obj/structure/window/reinforced{ @@ -111503,16 +112714,16 @@ /obj/effect/decal/warning_stripes/yellow/hollow, /obj/machinery/light, /turf/simulated/floor/plasteel{ - dir = 6; - icon_state = "whitepurple"; - tag = "icon-whitepurple (SOUTHEAST)" + icon_state = "purplefull" }, /area/toxins/launch) "qBQ" = ( /obj/effect/decal/warning_stripes/northwest, -/obj/machinery/vending/plasmaresearch, -/obj/machinery/firealarm{ - pixel_y = 26 +/obj/machinery/atmospherics/unary/cold_sink/freezer{ + dir = 2 + }, +/obj/structure/sign/fire{ + pixel_y = 32 }, /turf/simulated/floor/plasteel{ icon_state = "neutralcorner" @@ -111562,11 +112773,20 @@ }, /area/maintenance/cafeteria) "qBV" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/machinery/access_button{ + command = "cycle_interior"; + frequency = 1379; + master_tag = "vir_maint2_airlock"; + name = "interior access button"; + pixel_x = -24; + pixel_y = -24 }, -/turf/simulated/floor/plating/airless, -/area/space) +/obj/structure/sign/vacuum{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/maintenance/asmaint4) "qBX" = ( /obj/structure/disposalpipe/junction/reversed{ dir = 4 @@ -111583,6 +112803,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/hologram/holopad, +/obj/effect/decal/warning_stripes/blue/hollow, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -111671,8 +112892,8 @@ dir = 1 }, /obj/machinery/door/firedoor, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" +/turf/simulated/floor/engine{ + slowdown = -0.3 }, /area/hallway/primary/central) "qCP" = ( @@ -111702,7 +112923,7 @@ /turf/simulated/floor/plasteel{ icon_state = "darkredcorners" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "qDk" = ( /obj/machinery/optable, /obj/machinery/shower{ @@ -111885,7 +113106,8 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "qEE" = ( @@ -111966,6 +113188,13 @@ dir = 1 }, /area/hallway/primary/central/second/east) +"qFi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/maintenance/disposal) "qFu" = ( /obj/machinery/door/firedoor, /obj/effect/decal/warning_stripes/yellow, @@ -111981,6 +113210,18 @@ }, /turf/simulated/floor/plating, /area/maintenance/fsmaint3) +"qFH" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "rampbottom" + }, +/area/quartermaster/sorting) "qFJ" = ( /obj/structure/table/reinforced, /obj/machinery/light{ @@ -112016,9 +113257,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, /turf/simulated/floor/carpet/cyan, /area/security/prison/cell_block/A) "qFV" = ( @@ -112043,6 +113281,13 @@ /obj/structure/chair/office/light{ dir = 8 }, +/obj/machinery/atmospherics/unary/vent_scrubber{ + name = "standard air scrubber"; + on = 1; + scrub_N2O = 1; + scrub_Toxins = 1; + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -112203,6 +113448,10 @@ /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, /area/hallway/primary/central/north) +"qHS" = ( +/obj/effect/spawner/random_spawners/fungus_30, +/turf/simulated/wall, +/area/maintenance/trading) "qHU" = ( /obj/structure/chair{ dir = 1 @@ -112316,7 +113565,7 @@ }, /area/security/range) "qIz" = ( -/obj/structure/chair/office, +/obj/structure/chair, /turf/simulated/floor/wood/fancy/light, /area/crew_quarters/serviceyard) "qIC" = ( @@ -112329,6 +113578,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "vault" @@ -112404,7 +113656,7 @@ pixel_y = -25 }, /turf/simulated/floor/plasteel{ - dir = 1 + icon_state = "red" }, /area/security/lobby) "qJQ" = ( @@ -112539,11 +113791,11 @@ /turf/simulated/floor/wood, /area/quartermaster/qm) "qKH" = ( -/obj/structure/chair/office, /obj/effect/turf_decal/siding/wood{ dir = 8; do_not_delete_me = 1 }, +/obj/structure/chair/office, /turf/simulated/floor/wood/oak, /area/crew_quarters/courtroom) "qKI" = ( @@ -112596,11 +113848,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, /obj/machinery/hologram/holopad, /obj/effect/landmark/event/lightsout, +/obj/structure/disposalpipe/junction{ + dir = 4; + tag = "icon-pipe-j1 (EAST)" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -112684,7 +113937,7 @@ /turf/simulated/floor/plating, /area/maintenance/casino) "qMq" = ( -/obj/structure/chair/office, +/obj/structure/chair, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, @@ -112757,12 +114010,14 @@ req_access = list(1); color = "red" }, -/obj/item/clothing/head/helmet/night, -/obj/item/clothing/head/helmet/night{ - pixel_y = -2 +/obj/item/gun/energy/gun/advtaser{ + pixel_x = -3; + pixel_y = 3 }, -/obj/item/clothing/head/helmet/night{ - pixel_y = -4 +/obj/item/gun/energy/gun/advtaser, +/obj/item/gun/energy/gun/advtaser{ + pixel_x = 3; + pixel_y = -3 }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -112916,9 +114171,10 @@ }, /area/quartermaster/miningstorage) "qNY" = ( -/obj/structure/girder/reinforced, -/turf/simulated/floor/plating, -/area/maintenance/maintcentral) +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/tcommsat/server) "qOc" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -113087,13 +114343,27 @@ }, /area/quartermaster/office) "qOG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" +/obj/machinery/atmospherics/unary/vent_pump/high_volume{ + dir = 2; + frequency = 1379; + id_tag = "vir_maint2_pump" + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + id_tag = "vir_maint2_airlock"; + pixel_y = 25; + tag_airpump = "vir_maint2_pump"; + tag_chamber_sensor = "vir_maint2_sensor"; + tag_exterior_door = "vir_maint2_outer"; + tag_interior_door = "vir_maint2_inner" + }, +/obj/machinery/airlock_sensor{ + id_tag = "vir_maint2_sensor"; + pixel_y = 33 + }, +/obj/effect/decal/warning_stripes/yellow, +/obj/machinery/light/small{ + dir = 1 }, -/obj/effect/spawner/random_spawners/rodent, /turf/simulated/floor/plating, /area/maintenance/asmaint4) "qON" = ( @@ -113172,7 +114442,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "qPb" = ( @@ -113382,7 +114653,7 @@ /obj/structure/railing{ dir = 9 }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /obj/effect/landmark/start/cargo_technician, @@ -113413,9 +114684,11 @@ }, /area/engineering/engine) "qQJ" = ( +/obj/structure/table/reinforced, +/obj/item/flash, +/obj/machinery/cell_charger, /turf/simulated/floor/plasteel{ - dir = 10; - icon_state = "darkred" + icon_state = "dark" }, /area/turret_protected/ai) "qQP" = ( @@ -113531,7 +114804,7 @@ dir = 8; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "qRN" = ( /obj/machinery/camera{ c_tag = "Library Games Room"; @@ -113646,7 +114919,7 @@ dir = 5; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "qSA" = ( /obj/machinery/door/airlock/maintenance{ req_access = list(12) @@ -113815,7 +115088,8 @@ icon_state = "4-8" }, /turf/simulated/floor/plasteel{ - icon_state = "white" + dir = 8; + icon_state = "whitepurple" }, /area/toxins/mixing) "qTR" = ( @@ -113888,6 +115162,11 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plating, /area/maintenance/disposal) "qUp" = ( @@ -114158,7 +115437,7 @@ dir = 10; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "qWJ" = ( /obj/structure/table/reinforced, /obj/effect/decal/warning_stripes/yellow/hollow, @@ -114248,12 +115527,9 @@ }, /area/security/hos) "qYa" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "mining_internal" +/turf/simulated/floor/plasteel{ + icon_state = "browncorner" }, -/obj/structure/plasticflaps, -/turf/simulated/floor/plating, /area/quartermaster/miningstorage) "qYb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -114360,6 +115636,10 @@ /obj/structure/chair{ dir = 4 }, +/obj/machinery/alarm{ + dir = 4; + pixel_x = -24 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "red" @@ -114405,7 +115685,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "qZb" = ( /obj/machinery/firealarm{ @@ -114469,7 +115751,8 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "qZw" = ( @@ -114582,16 +115865,12 @@ /turf/simulated/floor/wood, /area/crew_quarters/arcade) "rab" = ( -/obj/structure/table/reinforced, /obj/effect/decal/warning_stripes/yellow/hollow, -/obj/item/storage/toolbox/mechanical, /obj/machinery/light{ dir = 1; in_use = 1 }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 30 - }, +/obj/machinery/vending/plasmaresearch, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "whitepurple" @@ -114666,7 +115945,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "rbe" = ( /obj/effect/decal/warning_stripes/northeast, @@ -114734,7 +116015,7 @@ dir = 4 }, /turf/simulated/floor/plasteel, -/area/engineering/engine) +/area/engineering/break_room) "rcb" = ( /obj/structure/closet/boxinggloves, /turf/simulated/floor/plasteel, @@ -115163,11 +116444,13 @@ /area/crew_quarters/serviceyard) "rfY" = ( /obj/effect/decal/warning_stripes/southeastcorner, -/obj/machinery/computer/pandemic, /obj/machinery/light{ dir = 1; in_use = 1 }, +/obj/machinery/chem_master{ + pixel_x = -1 + }, /turf/simulated/floor/plasteel, /area/medical/virology/lab) "rge" = ( @@ -115210,7 +116493,7 @@ /obj/effect/decal/warning_stripes/northwest, /obj/structure/closet/firecloset, /turf/simulated/floor/plasteel, -/area/engineering/engine) +/area/engineering/break_room) "rgA" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -115447,26 +116730,13 @@ /turf/simulated/floor/plating, /area/security/permabrig) "ris" = ( -/obj/machinery/door/airlock/medical{ - name = "Virology Bedroom"; - req_access = list(39) - }, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/atmospherics/unary/portables_connector{ + layer = 2; dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/carpet/green, -/area/medical/virology) +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/plating, +/area/medical/virology/lab) "riu" = ( /obj/machinery/photocopier, /obj/machinery/camera{ @@ -115582,9 +116852,6 @@ }, /area/aisat/aihallway) "riR" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, @@ -115601,6 +116868,9 @@ /obj/effect/turf_decal/siding/white{ dir = 1 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/glass, /area/crew_quarters/locker) "riV" = ( @@ -115660,7 +116930,7 @@ }, /area/hallway/primary/central/second/north) "rjI" = ( -/obj/structure/chair/office, +/obj/structure/chair, /obj/item/radio/intercom{ dir = 8; pixel_y = 24 @@ -115776,7 +117046,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/carpet/red, /area/security/prison/cell_block/A) "rkW" = ( @@ -115789,7 +117058,8 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "rkX" = ( @@ -115917,6 +117187,41 @@ icon_state = "tranquillite" }, /area/crew_quarters/kitchen) +"rlz" = ( +/obj/structure/closet/crate/medical, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -11; + pixel_y = 5 + }, +/obj/item/storage/box/beakers{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/storage/box/beakers{ + pixel_y = -1 + }, +/obj/item/storage/box/syringes{ + pixel_x = 10; + pixel_y = -3 + }, +/obj/item/storage/box/gloves{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/plating, +/area/medical/virology/lab) "rlC" = ( /obj/effect/spawner/random_spawners/rodent, /turf/simulated/floor/plating, @@ -116182,12 +117487,10 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, /obj/structure/cable{ icon_state = "1-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -116487,7 +117790,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/plasteel{ + icon_state = "brownfull" + }, /area/quartermaster/miningstorage) "rpl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -116523,6 +117828,7 @@ on = 0; pixel_y = 8 }, +/obj/item/deck/cards, /turf/simulated/floor/carpet/royalblack, /area/maintenance/fsmaint2) "rpx" = ( @@ -116917,6 +118223,15 @@ }, /turf/simulated/openspace, /area/crew_quarters/serviceyard) +"rtD" = ( +/obj/structure/chair/sofa/pew/right{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "chapel" + }, +/area/chapel/main) "rtK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -117002,7 +118317,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - dir = 1 + icon_state = "red" }, /area/security/lobby) "ruz" = ( @@ -117023,7 +118338,7 @@ /obj/effect/decal/cleanable/dust, /obj/item/radio/intercom{ name = "north station intercom (General)"; - pixel_y = 28 + pixel_y = 24 }, /obj/machinery/light/small{ dir = 1 @@ -117602,6 +118917,7 @@ pixel_x = 32 }, /obj/effect/decal/cleanable/dirt, +/obj/item/suppressor, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "darkredalt" @@ -117612,18 +118928,17 @@ /obj/effect/decal/cleanable/blood/tracks{ dir = 4 }, -/obj/structure/chair, /obj/structure/cable{ d1 = 1; d2 = 4; icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, /turf/simulated/floor/plating, /area/maintenance/xenozoo) "rxW" = ( @@ -117707,6 +119022,16 @@ icon_state = "neutralfull" }, /area/hallway/primary/central/east) +"ryC" = ( +/obj/item/radio/intercom{ + name = "west station intercom (General)"; + pixel_x = 28 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "blue" + }, +/area/hallway/primary/central/nw) "ryD" = ( /turf/simulated/floor/plasteel{ dir = 4; @@ -117714,7 +119039,7 @@ }, /area/chapel/main) "ryG" = ( -/obj/structure/chair/office, +/obj/structure/chair, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/maintenance/brig) @@ -118068,6 +119393,10 @@ dir = 4 }, /obj/effect/decal/warning_stripes/southwest, +/obj/machinery/firealarm{ + pixel_y = -27; + pixel_x = 27 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "neutralcorner" @@ -118204,17 +119533,13 @@ }, /area/atmos) "rCn" = ( -/obj/structure/railing{ - dir = 1 - }, /obj/structure/sign/cargo{ pixel_x = 32 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, +/obj/machinery/door/firedoor, +/obj/effect/decal/warning_stripes/yellow, /turf/simulated/floor/plasteel{ - dir = 5; + dir = 4; icon_state = "brown" }, /area/quartermaster/lobby) @@ -118486,15 +119811,14 @@ }, /area/quartermaster/office) "rEE" = ( -/obj/item/radio/intercom{ - name = "west station intercom (General)"; - pixel_x = -28 +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/punch_shit{ + pixel_y = -32 }, /turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "blue" + icon_state = "darkgrey" }, -/area/hallway/primary/central/nw) +/area/maintenance/gambling_den) "rEG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -118676,20 +120000,23 @@ /area/maintenance/casino) "rFQ" = ( /obj/structure/table, -/obj/item/storage/box/pillbottles{ - pixel_x = 8; - pixel_y = 4 +/obj/item/storage/box/syringes{ + pixel_x = -6 + }, +/obj/machinery/light{ + dir = 1 }, /obj/item/storage/box/pillbottles{ pixel_x = 8 }, -/obj/item/storage/box/syringes{ - pixel_x = -6 - }, /obj/item/storage/box/syringes{ pixel_x = -6; pixel_y = 4 }, +/obj/item/storage/box/pillbottles{ + pixel_x = 8; + pixel_y = 4 + }, /obj/item/storage/box/autoinjectors{ pixel_x = -6; pixel_y = 8 @@ -118698,9 +120025,6 @@ pixel_x = 8; pixel_y = 8 }, -/obj/machinery/light{ - dir = 1 - }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whiteblue" @@ -118814,6 +120138,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, +/obj/item/stack/spacecash/c20, /turf/simulated/floor/carpet/green, /area/maintenance/casino) "rGy" = ( @@ -119129,8 +120454,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" +/turf/simulated/floor/engine{ + slowdown = -0.3 }, /area/hallway/primary/central) "rJc" = ( @@ -119191,6 +120516,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plating, /area/maintenance/backstage) "rJB" = ( @@ -119209,18 +120535,10 @@ }, /area/hallway/primary/central/east) "rJG" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, +/obj/machinery/door/firedoor, +/obj/effect/decal/warning_stripes/yellow, /turf/simulated/floor/plasteel{ - dir = 1; + dir = 8; icon_state = "red" }, /area/security/lobby) @@ -119292,8 +120610,7 @@ pixel_y = 32 }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "brown" + dir = 1 }, /area/quartermaster/lobby) "rKj" = ( @@ -119308,7 +120625,7 @@ /turf/simulated/floor/plasteel, /area/storage/eva) "rKn" = ( -/turf/space{ +/turf/space/openspace{ icon_state = "black" }, /area/quartermaster/miningdock) @@ -119397,12 +120714,15 @@ }, /area/chapel/office) "rLc" = ( -/obj/effect/decal/warning_stripes/northwest, -/obj/machinery/atmospherics/unary/cold_sink/freezer{ +/obj/structure/stairs{ + dir = 1; + layer = 2 + }, +/obj/structure/railing{ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "neutralcorner" + icon_state = "white" }, /area/toxins/mixing) "rLd" = ( @@ -119465,7 +120785,9 @@ /obj/structure/window/reinforced{ dir = 8 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "rLE" = ( /obj/structure/table/wood, @@ -119513,17 +120835,12 @@ }, /area/security/permabrig) "rLZ" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ +/obj/machinery/light{ dir = 4 }, -/obj/effect/decal/warning_stripes/yellow, -/obj/machinery/door/window/eastleft{ - name = "Mail"; - req_access = list(50); - dir = 1 +/obj/structure/sign/directions/floor/alt{ + dir = 8; + pixel_x = 28 }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) @@ -119535,10 +120852,8 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, -/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "greencorner" + dir = 5 }, /area/hydroponics) "rMb" = ( @@ -119549,38 +120864,35 @@ /area/crew_quarters/fitness) "rMe" = ( /obj/machinery/autolathe/security, -/obj/item/stack/sheet/metal{ - amount = 10 - }, -/obj/item/stack/sheet/glass{ - amount = 10 - }, /obj/item/radio/intercom{ pixel_y = 24 }, /obj/effect/decal/warning_stripes/red/hollow, +/obj/item/stack/sheet/metal{ + amount = 30 + }, +/obj/item/stack/sheet/glass{ + amount = 30 + }, /turf/simulated/floor/plasteel{ icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)" }, /area/security/customs) "rMj" = ( -/obj/machinery/camera{ - c_tag = "Cargo Backroom"; - dir = 8 - }, -/obj/machinery/light{ +/obj/structure/railing{ dir = 4 }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "rampbottom" + }, /area/quartermaster/sorting) "rMo" = ( /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet/cyan, /area/security/prison/cell_block/A) "rMp" = ( @@ -120032,7 +121344,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "rOU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -120237,6 +121549,9 @@ /turf/simulated/floor/carpet/royalblue, /area/blueshield) "rQj" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "brown" @@ -120358,6 +121673,21 @@ icon_state = "dark" }, /area/chapel/office) +"rRp" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "brown" + }, +/area/hallway/primary/central/second/east) "rRu" = ( /obj/structure/flora/ausbushes/brflowers, /obj/structure/flora/ausbushes/ywflowers, @@ -120651,7 +121981,7 @@ /area/hallway/primary/central/south) "rTJ" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-8" }, /turf/simulated/floor/plasteel{ dir = 4; @@ -120886,7 +122216,9 @@ /turf/simulated/floor/plating, /area/toxins/xenobiology) "rVp" = ( -/obj/structure/stairs, +/obj/structure/stairs{ + layer = 2 + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -121469,7 +122801,7 @@ }, /area/medical/medbay) "rZY" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /turf/simulated/floor/wood, @@ -121549,7 +122881,7 @@ }, /obj/item/storage/belt/utility, /turf/simulated/floor/redgrid, -/area/tcommsat/chamber) +/area/tcommsat/server) "saQ" = ( /turf/simulated/floor/plasteel{ dir = 4; @@ -121568,7 +122900,9 @@ dir = 4; color = "#444444" }, -/turf/simulated/floor/glass, +/turf/simulated/floor/glass{ + slowdown = -0.3 + }, /area/hallway/primary/central) "saY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -121821,7 +123155,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "scp" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -121834,6 +123168,24 @@ icon_state = "escape" }, /area/bridge/checkpoint/south) +"scq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "vault" + }, +/area/chapel/massdriver) "scs" = ( /obj/item/stack/cable_coil/random, /turf/simulated/floor/plating, @@ -121904,7 +123256,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ - icon_state = "purplefull" + icon_state = "white" }, /area/toxins/mixing) "scM" = ( @@ -121977,7 +123329,9 @@ dir = 8; color = "#444444" }, -/turf/simulated/floor/glass, +/turf/simulated/floor/glass{ + slowdown = -0.3 + }, /area/hallway/primary/central) "sdm" = ( /obj/structure/sign/biohazard, @@ -122235,12 +123589,10 @@ /turf/space, /area/space) "seH" = ( -/obj/effect/decal/warning_stripes/yellow/hollow, -/obj/machinery/telepad_cargo, -/turf/simulated/floor/plasteel{ - dir = 1 - }, -/area/quartermaster/office) +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/plasteel, +/area/maintenance/apmaint) "seM" = ( /obj/effect/turf_decal/siding/wood/corner, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -122286,7 +123638,6 @@ layer = 2.9 }, /obj/effect/decal/warning_stripes/red/hollow, -/obj/item/clothing/suit/armor/bulletproof, /obj/structure/window/reinforced{ color = "red" }, @@ -122299,8 +123650,10 @@ req_access = list(1); color = "red" }, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/head/helmet/alt, +/obj/item/clothing/suit/armor/bulletproof, +/obj/item/clothing/suit/armor/bulletproof, +/obj/item/clothing/suit/armor/bulletproof, +/obj/item/clothing/suit/armor/bulletproof, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -122494,22 +123847,17 @@ }, /area/hallway/primary/central/second/west) "sgK" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Virology Bedroom"; - req_access = list(39) - }, /obj/structure/cable{ + d1 = 1; + d2 = 2; icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/simulated/floor/plasteel{ - icon_state = "white" +/obj/machinery/atmospherics/pipe/simple/hidden/universal, +/obj/machinery/door/airlock/maintenance{ + req_access = list(12,39) }, -/area/medical/virology) +/turf/simulated/floor/plating, +/area/medical/virology/lab) "sgU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, @@ -122530,7 +123878,7 @@ c_tag = "Toxin Mixing"; network = list("Research","SS13") }, -/obj/machinery/status_display{ +/obj/structure/sign/nosmoking_2{ pixel_y = 32 }, /turf/simulated/floor/plasteel{ @@ -122613,7 +123961,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "shT" = ( /obj/effect/decal/warning_stripes/east, @@ -122627,7 +123977,7 @@ pixel_x = 28 }, /turf/simulated/floor/plasteel, -/area/engineering/engine) +/area/engineering/break_room) "shV" = ( /obj/structure/cable{ icon_state = "1-2" @@ -122760,6 +124110,7 @@ dir = 1; pixel_y = 24 }, +/obj/item/rcs, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" @@ -122811,7 +124162,10 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "greencorner" + }, /area/hydroponics) "sjZ" = ( /obj/structure/sign/comand{ @@ -122883,7 +124237,8 @@ }, /obj/effect/turf_decal/tile/blue, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "skC" = ( @@ -122954,7 +124309,7 @@ dir = 4 }, /obj/effect/landmark/start/nanotrasen_rep, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "skT" = ( /turf/simulated/floor/plasteel{ @@ -122984,9 +124339,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, /obj/effect/landmark/start/botanist, /turf/simulated/floor/plasteel{ icon_state = "blue" @@ -123066,7 +124418,7 @@ /obj/machinery/airlock_sensor{ id_tag = "solar_xeno_sensor"; layer = 3.3; - pixel_y = 36 + pixel_y = 33 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -123127,11 +124479,12 @@ }, /area/engineering/mechanic_workshop) "smD" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ - icon_state = "darkredfull" + icon_state = "darkredcorners" }, /area/turret_protected/ai) "smE" = ( @@ -123663,7 +125016,7 @@ /obj/structure/railing{ dir = 1 }, -/obj/structure/chair/office, +/obj/structure/chair, /obj/effect/landmark/start/doctor, /turf/simulated/floor/plasteel{ icon_state = "whitehall" @@ -123837,7 +125190,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "ssw" = ( /obj/machinery/camera{ c_tag = "Gravity Generator Area"; @@ -123920,7 +125273,8 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "ssS" = ( @@ -123990,7 +125344,9 @@ }, /area/atmos) "stA" = ( -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "stC" = ( /obj/structure/bed, @@ -124013,11 +125369,10 @@ }, /area/toxins/xenobiology) "stL" = ( -/obj/effect/turf_decal/loading_area, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "brown" +/obj/structure/sign/cargo{ + pixel_x = -32 }, +/turf/simulated/openspace, /area/quartermaster/miningstorage) "stR" = ( /obj/structure/disposalpipe/segment{ @@ -124087,10 +125442,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/mining/glass{ - name = "Disposal Bay"; - req_access = list(31) - }, /obj/machinery/door/poddoor{ density = 0; icon_state = "open"; @@ -124099,6 +125450,10 @@ opacity = 0 }, /obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay"; + req_access = list(31) + }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "sud" = ( @@ -124159,7 +125514,7 @@ /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "solar_tool_airlock"; layer = 3.3; - pixel_y = 25; + pixel_y = 26; req_access = list(13); tag_airpump = "solar_tool_pump"; tag_chamber_sensor = "solar_tool_sensor"; @@ -124169,7 +125524,7 @@ /obj/machinery/airlock_sensor{ id_tag = "solar_tool_sensor"; layer = 3.3; - pixel_y = 32 + pixel_y = 33 }, /obj/effect/decal/warning_stripes/yellow, /obj/structure/cable{ @@ -124439,6 +125794,16 @@ /obj/structure/flora/ausbushes/ywflowers/hell, /turf/simulated/floor/grass, /area/hydroponics) +"swm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkredcorners" + }, +/area/turret_protected/ai) "swp" = ( /obj/machinery/door/airlock{ name = "Unisex Showers" @@ -124474,6 +125839,15 @@ icon_state = "dark" }, /area/turret_protected/ai) +"swN" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkred" + }, +/area/turret_protected/ai) "swP" = ( /obj/machinery/power/apc{ dir = 1; @@ -124732,7 +126106,7 @@ pixel_x = -24 }, /turf/simulated/floor/plasteel{ - dir = 8; + dir = 10; icon_state = "darkred" }, /area/turret_protected/ai) @@ -124803,6 +126177,7 @@ /obj/machinery/light/small{ dir = 1 }, +/obj/effect/spawner/lootdrop/maintenance, /turf/simulated/floor/plating, /area/security/permahallway) "szv" = ( @@ -125063,7 +126438,7 @@ /turf/simulated/floor/redgrid, /area/engineering/engine) "sBd" = ( -/obj/structure/chair/office, +/obj/structure/chair, /obj/machinery/camera{ c_tag = "Rec Room North" }, @@ -125128,15 +126503,15 @@ /obj/structure/disposalpipe/segment{ dir = 5 }, -/obj/item/radio/intercom{ - name = "south station intercom (General)"; - pixel_x = -28 +/obj/machinery/alarm{ + dir = 4; + pixel_x = -22 }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "sBo" = ( /obj/effect/decal/warning_stripes/red/hollow, /obj/structure/chair{ @@ -125183,16 +126558,20 @@ }, /area/security/podbay) "sBQ" = ( -/obj/machinery/mineral/unloading_machine{ - dir = 1; - icon_state = "unloader-corner"; - input_dir = 1; - output_dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/camera{ + c_tag = "Mining Deep Storage"; dir = 9 }, -/turf/simulated/floor/plating, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/box, +/obj/machinery/alarm{ + dir = 8; + pixel_x = 24 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "brown" + }, /area/quartermaster/miningstorage) "sBR" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -125404,6 +126783,10 @@ dir = 4 }, /obj/effect/decal/warning_stripes/east, +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + pixel_x = 25 + }, /turf/simulated/floor/plasteel, /area/hallway/secondary/entry/eastarrival) "sDU" = ( @@ -125492,7 +126875,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "sEP" = ( /obj/machinery/atmospherics/unary/outlet_injector/on{ dir = 4; @@ -125611,6 +126994,7 @@ dir = 1; pixel_y = -24 }, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plasteel{ icon_state = "tranquillite" }, @@ -125625,19 +127009,10 @@ /turf/simulated/floor/plating, /area/maintenance/fsmaint3) "sGa" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 12 - }, -/obj/structure/mirror{ - pixel_x = 26 - }, -/obj/structure/toilet{ - pixel_y = 19 - }, -/turf/simulated/floor/plasteel{ - icon_state = "freezerfloor" - }, +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/carpet/green, /area/medical/virology) "sGd" = ( /obj/effect/decal/warning_stripes/south, @@ -125868,12 +127243,10 @@ }, /area/medical/medbay) "sHy" = ( -/obj/machinery/door/airlock/mining/glass{ - name = "Processing Area"; - req_access = list(48) - }, /obj/machinery/door/firedoor, -/turf/simulated/floor/plasteel, +/turf/simulated/floor/plasteel{ + icon_state = "brownfull" + }, /area/quartermaster/miningstorage) "sHB" = ( /obj/machinery/disposal, @@ -126285,7 +127658,9 @@ /area/maintenance/casino) "sKl" = ( /obj/structure/window/reinforced, -/obj/item/twohanded/required/kirbyplants, +/obj/item/twohanded/required/kirbyplants{ + layer = 3.1 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -126494,7 +127869,7 @@ icon_state = "0-8" }, /turf/simulated/floor/plating, -/area/medical/virology/lab) +/area/medical/virology) "sMu" = ( /obj/machinery/camera{ c_tag = "Second Floor Central Lobby North" @@ -126529,6 +127904,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -126537,10 +127915,15 @@ /obj/structure/chair{ dir = 1 }, +/obj/machinery/firealarm{ + dir = 1; + name = "south fire alarm"; + pixel_y = -24 + }, /turf/simulated/floor/plasteel{ icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "sMH" = ( /obj/effect/spawner/window/reinforced, /obj/structure/cable{ @@ -126552,12 +127935,15 @@ /turf/simulated/floor/plating, /area/security/permabrig) "sMR" = ( -/obj/machinery/atmospherics/unary/portables_connector{ - dir = 1 +/obj/structure/stairs{ + dir = 1; + layer = 2 + }, +/obj/structure/railing{ + dir = 4 }, -/obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/plating, -/area/medical/virology/lab) +/area/maintenance/asmaint4) "sMX" = ( /obj/effect/decal/warning_stripes/north, /obj/machinery/camera{ @@ -126647,15 +128033,19 @@ d2 = 8; icon_state = "1-8" }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment{ - invisibility = 101 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, +/obj/structure/disposalpipe/junction/yjunction{ + dir = 8 + }, +/obj/machinery/hologram/holopad, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -126789,11 +128179,19 @@ }, /area/crew_quarters/fitness) "sOA" = ( -/obj/structure/table/glass, -/obj/item/flashlight/lamp{ - pixel_y = 12; - pixel_x = -4 +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/airlock/medical/glass{ + name = "Virology Bedroom"; + req_access = list(39) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, +/obj/machinery/door/firedoor, /turf/simulated/floor/carpet/green, /area/medical/virology) "sOF" = ( @@ -126963,7 +128361,7 @@ /turf/simulated/floor/plating, /area/crew_quarters/sleep/secondary) "sQl" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 1 }, /obj/effect/decal/cleanable/dirt, @@ -126996,7 +128394,9 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "sQA" = ( /obj/effect/turf_decal/stripes/line, @@ -127089,9 +128489,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/cable{ icon_state = "1-8" }, @@ -127102,6 +128499,11 @@ /obj/effect/turf_decal/siding/white{ dir = 1 }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/glass, /area/crew_quarters/locker) "sRy" = ( @@ -127179,20 +128581,18 @@ /turf/simulated/floor/plating, /area/maintenance/starboard) "sSj" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/machinery/light{ - dir = 1; - in_use = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "sSp" = ( /obj/structure/cable{ icon_state = "0-4" @@ -127591,6 +128991,11 @@ dir = 8; tag = "icon-shower (WEST)" }, +/obj/item/radio/intercom{ + dir = 1; + pixel_x = -30; + pixel_y = -8 + }, /turf/simulated/floor/plasteel{ icon_state = "freezerfloor" }, @@ -127963,11 +129368,6 @@ /obj/machinery/light{ dir = 4 }, -/obj/machinery/camera{ - c_tag = "Research West Hallway 2"; - network = list("Research","SS13"); - dir = 8 - }, /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, @@ -128058,19 +129458,13 @@ dir = 4; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "sXx" = ( /obj/structure/rack{ dir = 8; layer = 2.9 }, /obj/effect/decal/warning_stripes/red/hollow, -/obj/item/storage/lockbox/mindshield, -/obj/item/storage/box/trackimp, -/obj/item/storage/box/chemimp{ - pixel_x = 4; - pixel_y = 3 - }, /obj/structure/window/reinforced{ color = "red" }, @@ -128084,6 +129478,13 @@ req_access = list(1); color = "red" }, +/obj/item/lock_buster, +/obj/item/storage/box/trackimp, +/obj/item/storage/box/chemimp{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/storage/lockbox/mindshield, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -128272,9 +129673,7 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/structure/table, -/obj/item/stack/packageWrap, -/obj/item/hand_labeler, +/obj/machinery/vending/artvend, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "brown" @@ -128525,10 +129924,10 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 + dir = 5 }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -128628,16 +130027,19 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 - }, /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=R8"; location = "R7" }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -129207,7 +130609,7 @@ }, /area/crew_quarters/fitness) "tfc" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /obj/structure/sign/poster/contraband/tools{ @@ -129268,9 +130670,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -129281,6 +130680,11 @@ /obj/effect/turf_decal/siding/white{ dir = 1 }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/glass, /area/crew_quarters/locker) "tfx" = ( @@ -129506,10 +130910,26 @@ /turf/simulated/floor/glass/reinforced, /area/engineering/mechanic_workshop/hangar) "tgQ" = ( -/obj/effect/decal/warning_stripes/southwest, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + name = "east extinguisher cabinet"; + pixel_x = -25 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "neutralcorner" + dir = 9; + icon_state = "whitepurple"; + tag = "icon-whitepurple (NORTHWEST)" }, /area/toxins/mixing) "tgT" = ( @@ -129538,9 +130958,21 @@ }, /turf/simulated/floor/carpet, /area/library) +"thc" = ( +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/plasteel{ + icon_state = "tranquillite" + }, +/area/maintenance/trading) "thg" = ( /obj/effect/spawner/window/reinforced, /obj/structure/barricade/wooden/crude, +/obj/structure/curtain/open/shower/security{ + alpha = 255; + name = "backstage"; + anchored = 1; + pixel_y = 0 + }, /turf/simulated/floor/plating, /area/maintenance/backstage) "thk" = ( @@ -129670,6 +131102,16 @@ icon_state = "red" }, /area/security/securehallway) +"tiq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/food/snacks/grown/tomato{ + pixel_x = -10; + pixel_y = -7 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/maintenance/trading) "tiu" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 4 @@ -129678,6 +131120,12 @@ /area/maintenance/secpost) "tiy" = ( /obj/effect/decal/warning_stripes/southeast, +/obj/machinery/firealarm{ + dir = 4; + name = "east fire alarm"; + pixel_x = 26; + pixel_y = 28 + }, /turf/simulated/floor/plasteel, /area/toxins/launch) "tiA" = ( @@ -129736,10 +131184,14 @@ }, /area/toxins/misc_lab) "tiT" = ( -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8; + pixel_y = 8; + pixel_x = -11 }, -/area/security/interrogation) +/turf/simulated/floor/plating, +/area/maintenance/asmaint4) "tiU" = ( /obj/effect/decal/warning_stripes/east, /obj/machinery/light{ @@ -130016,17 +131468,23 @@ /turf/space, /area/space) "tku" = ( -/obj/structure/railing{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/flasher{ + desc = "A floor-mounted flashbulb device."; + id = "brigkpp"; + layer = 5; + pixel_y = 0; + range = 3; + pixel_x = -55 }, /turf/simulated/floor/plasteel{ - dir = 5; - icon_state = "brown" + dir = 1 }, -/area/quartermaster/lobby) +/area/hallway/primary/central/second/west) "tkE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb2{ @@ -130072,17 +131530,22 @@ }, /area/hallway/primary/central/second/north) "tkW" = ( -/obj/effect/decal/warning_stripes/northeast, -/obj/machinery/atmospherics/unary/portables_connector{ - dir = 8 - }, /obj/item/radio/intercom{ dir = 1; pixel_y = 28 }, +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, /turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralcorner" + dir = 9; + icon_state = "whitepurple"; + tag = "icon-whitepurple (NORTHWEST)" }, /area/toxins/mixing) "tld" = ( @@ -130171,7 +131634,7 @@ "tlF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/double, +/obj/effect/spawner/lootdrop/maintenance, /obj/machinery/light/small, /turf/simulated/floor/plating, /area/maintenance/asmaint4) @@ -130208,12 +131671,6 @@ dir = 8; do_not_delete_me = 1 }, -/obj/structure/curtain/open/shower/security{ - alpha = 255; - name = "backstage"; - anchored = 1; - pixel_y = 32 - }, /obj/effect/decal/cleanable/dust, /turf/simulated/floor/wood, /area/maintenance/backstage) @@ -130289,7 +131746,7 @@ "tns" = ( /obj/structure/sign/holy, /turf/simulated/wall, -/area/chapel/main) +/area/chapel/massdriver) "tnu" = ( /turf/simulated/floor/plasteel{ dir = 1; @@ -130370,6 +131827,7 @@ "toQ" = ( /obj/structure/table/wood/poker, /obj/effect/decal/cleanable/dust, +/obj/item/stack/spacecash/c100, /turf/simulated/floor/carpet/green, /area/maintenance/casino) "toS" = ( @@ -130477,6 +131935,32 @@ icon_state = "neutralfull" }, /area/hallway/secondary/entry/lounge) +"tpw" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/effect/decal/warning_stripes/red/hollow, +/obj/structure/window/reinforced{ + color = "red" + }, +/obj/structure/window/reinforced{ + color = "red"; + dir = 1 + }, +/obj/machinery/door/window{ + name = "Secure Armory"; + req_access = list(1); + color = "red" + }, +/obj/item/clothing/gloves/color/black/ballistic, +/obj/item/clothing/gloves/color/black/ballistic, +/obj/item/clothing/gloves/color/black/ballistic, +/obj/item/clothing/gloves/color/black/ballistic, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/security/securearmory) "tpz" = ( /obj/effect/decal/warning_stripes/south, /obj/structure/sign/poster/official/space_a{ @@ -130572,7 +132056,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "tqt" = ( /obj/structure/table/glass, /obj/item/paper_bin{ @@ -130915,6 +132399,11 @@ }, /obj/effect/decal/warning_stripes/yellow/hollow, /obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/food/condiment/tomatosauce, +/obj/item/reagent_containers/food/condiment/herbs, +/obj/item/reagent_containers/food/snacks/grown/tomato, +/obj/item/reagent_containers/food/snacks/grown/tomato, +/obj/item/reagent_containers/food/snacks/grown/tomato, /turf/simulated/floor/plasteel{ icon_state = "freezerfloor" }, @@ -131567,7 +133056,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating, -/area/medical/virology/lab) +/area/medical/virology) "twu" = ( /obj/effect/decal/warning_stripes/yellow/hollow, /obj/machinery/vending/assist, @@ -131646,14 +133135,14 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "twF" = ( /obj/effect/decal/warning_stripes/yellow/hollow, /obj/structure/disposalpipe/junction/reversed, @@ -131821,7 +133310,8 @@ /area/engineering/gravitygenerator) "txG" = ( /obj/structure/stairs{ - dir = 8 + dir = 8; + layer = 2 }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -131893,8 +133383,8 @@ /area/maintenance/fore) "typ" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/oil, /obj/effect/spawner/random_spawners/cobweb_left_rare, +/obj/machinery/vending/tool, /turf/simulated/floor/plating, /area/maintenance/electrical) "tyr" = ( @@ -131966,12 +133456,6 @@ /area/hallway/secondary/entry/additional) "tyK" = ( /obj/item/twohanded/required/kirbyplants, -/obj/structure/curtain/open/shower/security{ - alpha = 255; - name = "backstage"; - anchored = 1; - pixel_y = 32 - }, /turf/simulated/floor/carpet/red, /area/maintenance/backstage) "tyM" = ( @@ -132103,6 +133587,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -132143,7 +133630,7 @@ dir = 6; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "tAm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb2{ @@ -132235,6 +133722,7 @@ icon_state = "1-2" }, /obj/structure/window/full/plasmareinforced, +/obj/structure/grille, /turf/simulated/floor/plating, /area/engineering/engine) "tBj" = ( @@ -132910,7 +134398,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ - icon_state = "white" + dir = 1; + icon_state = "whitepurple"; + tag = "icon-whitepurple (NORTH)" }, /area/toxins/mixing) "tFY" = ( @@ -132968,6 +134458,14 @@ /obj/machinery/light{ dir = 4 }, +/obj/structure/window/reinforced, +/obj/machinery/door/window/eastright{ + base_state = "left"; + icon_state = "left"; + name = "Blood Bag Storage"; + req_access = list(5); + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -133394,11 +134892,9 @@ }, /area/security/warden) "tJq" = ( -/obj/machinery/mineral/mint{ - input_dir = 4 - }, +/obj/structure/disposalpipe/trunk/multiz/down, /turf/simulated/floor/plasteel{ - dir = 9; + dir = 4; icon_state = "brown" }, /area/quartermaster/miningstorage) @@ -133489,16 +134985,12 @@ /turf/simulated/floor/plasteel, /area/hallway/secondary/entry/commercial) "tJU" = ( -/obj/structure/chair/stool/bar{ - icon = 'icons/obj/lighting.dmi'; - icon_state = "lantern-on"; - light_color = "#FFBF00"; - light_range = 6; - name = "lantern" - }, /obj/structure/sign/poster/official/nanotrasen_logo{ pixel_y = 32 }, +/obj/item/flashlight/lantern{ + on = 1 + }, /turf/simulated/floor/grass, /area/hallway/primary/central/nw) "tJV" = ( @@ -133617,13 +135109,20 @@ icon_state = "neutral" }, /area/hallway/primary/central/se) +"tLm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/food/snacks/grown/tomato, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/maintenance/trading) "tLn" = ( /obj/machinery/firealarm{ dir = 1; name = "south fire alarm"; pixel_y = 26 }, -/obj/structure/chair/office, +/obj/structure/chair, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "dark" @@ -133704,8 +135203,24 @@ /obj/machinery/newscaster{ pixel_y = 32 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) +"tLT" = ( +/obj/machinery/door/window/westleft{ + dir = 2; + name = "Disposal"; + req_access = list(50) + }, +/obj/effect/decal/warning_stripes/south, +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/turf/simulated/floor/plasteel{ + icon_state = "brown" + }, +/area/quartermaster/sorting) "tMg" = ( /turf/simulated/openspace, /area/hallway/primary/central/south) @@ -133807,6 +135322,9 @@ /obj/effect/turf_decal/siding/wood{ dir = 1 }, +/obj/structure/railing/corner{ + dir = 4 + }, /turf/simulated/floor/wood, /area/maintenance/casino) "tNj" = ( @@ -133907,7 +135425,7 @@ }, /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka{ pixel_x = 5; - pixel_y = -3 + pixel_y = 4 }, /turf/simulated/floor/plasteel{ icon_state = "darkred" @@ -134001,7 +135519,7 @@ dir = 1 }, /turf/simulated/floor/plasteel{ - dir = 1 + icon_state = "red" }, /area/security/lobby) "tOl" = ( @@ -134107,9 +135625,6 @@ /turf/simulated/wall/r_wall, /area/quartermaster/delivery) "tPu" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/cable{ icon_state = "1-4" }, @@ -134122,6 +135637,9 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/simulated/floor/carpet/purple, /area/janitor) "tPz" = ( @@ -134318,7 +135836,8 @@ pixel_x = -24 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "tQM" = ( @@ -134863,6 +136382,14 @@ }, /turf/simulated/floor/glass, /area/hallway/primary/fore) +"tUf" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/medical/paramedic) "tUi" = ( /obj/structure/cable{ icon_state = "1-2" @@ -134939,6 +136466,17 @@ icon_state = "darkbluealt" }, /area/hallway/primary/command/west) +"tUE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/obj/item/toy/crayon/spraycan, +/obj/item/assembly/prox_sensor{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/storage/pill_bottle/random_drug_bottle, +/turf/simulated/floor/plating, +/area/maintenance/fsmaint2) "tUO" = ( /obj/machinery/newscaster{ pixel_x = -32 @@ -134954,7 +136492,9 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "tVb" = ( /obj/effect/decal/cleanable/dirt, @@ -134988,8 +136528,8 @@ /obj/machinery/door/airlock/public/glass{ name = "Walkway" }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" +/turf/simulated/floor/engine{ + slowdown = -0.3 }, /area/hallway/primary/central) "tVh" = ( @@ -135121,7 +136661,9 @@ icon_state = "4-8" }, /obj/machinery/light, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "tWb" = ( /obj/effect/decal/cleanable/dust, @@ -135149,7 +136691,7 @@ icon_state = "0-4" }, /turf/simulated/floor/plating, -/area/medical/virology/lab) +/area/medical/virology) "tWl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -135301,7 +136843,8 @@ icon_state = "2-8" }, /turf/simulated/floor/plasteel{ - icon_state = "white" + dir = 6; + icon_state = "whitepurple" }, /area/toxins/mixing) "tXf" = ( @@ -135417,6 +136960,7 @@ /area/toxins/xenobiology) "tXY" = ( /obj/structure/closet/emcloset, +/obj/effect/spawner/lootdrop/maintenance, /turf/simulated/floor/plating/airless, /area/toxins/test_area) "tYb" = ( @@ -135488,19 +137032,14 @@ }, /area/hallway/spacebridge/somsec) "tYA" = ( -/obj/effect/decal/warning_stripes/northeast, -/obj/structure/table/glass, -/obj/item/radio/intercom{ - pixel_y = -28 - }, -/obj/item/reagent_containers/dropper/precision, -/obj/item/reagent_containers/dropper/precision, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/dropper, -/obj/machinery/atmospherics/unary/vent_pump/on{ +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ dir = 4 }, -/turf/simulated/floor/plasteel, +/obj/effect/decal/warning_stripes/red, +/turf/simulated/floor/plasteel{ + icon_state = "whitegreenfull" + }, /area/medical/virology/lab) "tYB" = ( /obj/structure/railing{ @@ -135578,15 +137117,17 @@ /turf/simulated/floor/carpet, /area/maintenance/livingcomplex) "tYQ" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/plasteel{ - icon_state = "white" + icon_state = "purplefull" }, /area/toxins/launch) "tYT" = ( @@ -135909,7 +137450,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "ubx" = ( /obj/machinery/newscaster{ pixel_y = -30 @@ -136083,10 +137624,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "brown" - }, +/turf/simulated/floor/plasteel, /area/quartermaster/miningstorage) "ucQ" = ( /obj/structure/table, @@ -136143,6 +137681,25 @@ }, /turf/simulated/floor/plating, /area/security/permabrig) +"udr" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/preopen{ + id_tag = "Biohazard_medi"; + name = "Quarantine Lockdown" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id_tag = "Virology1"; + layer = 3.2; + name = "Virology Shutters" + }, +/obj/effect/spawner/window/reinforced/polarized{ + id = "vir2" + }, +/turf/simulated/floor/plating, +/area/medical/virology) "udt" = ( /obj/effect/landmark/tiles/damageturf, /obj/effect/spawner/random_spawners/blood_20, @@ -136165,7 +137722,8 @@ }, /obj/machinery/hologram/holopad, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "udF" = ( @@ -136327,7 +137885,7 @@ /obj/machinery/airlock_sensor{ id_tag = "port5_sensor"; pixel_x = 25; - pixel_y = 5 + pixel_y = 3 }, /turf/simulated/floor/plating, /area/maintenance/asmaint) @@ -136404,10 +137962,6 @@ /turf/simulated/floor/plasteel/dark, /area/maintenance/starboardaux) "ufB" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_y = -28 - }, /obj/structure/showcase{ density = 0; dir = 1; @@ -136416,11 +137970,19 @@ name = "Cyborg Statue" }, /obj/machinery/light, +/obj/machinery/power/apc{ + cell_type = 5000; + name = "south bump Important Area"; + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "ufI" = ( /obj/machinery/power/apc{ dir = 4; @@ -136559,8 +138121,9 @@ }, /area/security/lobby) "ugL" = ( -/obj/structure/disposalpipe/segment, /obj/effect/decal/warning_stripes/yellow, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "ugS" = ( @@ -136788,6 +138351,10 @@ dir = 4 }, /obj/item/reagent_containers/spray/cleaner/janitor, +/obj/item/hair_dye_bottle{ + pixel_y = -10; + pixel_x = -6 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "dark" @@ -136962,16 +138529,9 @@ /turf/simulated/floor/plasteel, /area/toxins/mixing) "ujT" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "mining_internal"; - name = "mining conveyor" - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "brown" - }, +/turf/simulated/floor/plasteel, /area/quartermaster/miningstorage) "ukb" = ( /obj/effect/decal/warning_stripes/south, @@ -137077,6 +138637,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/hologram/holopad, /obj/effect/turf_decal/box, +/obj/item/radio/beacon, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" }, @@ -137200,6 +138761,13 @@ /obj/machinery/portable_atmospherics/canister/sleeping_agent, /turf/simulated/floor/plating, /area/security/permabrig) +"umr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random_spawners/crate_spawner, +/turf/simulated/floor/plasteel{ + dir = 1 + }, +/area/maintenance/trading) "umD" = ( /obj/structure/chair/office/dark, /obj/structure/cable{ @@ -137279,7 +138847,7 @@ req_access = list(63) }, /obj/structure/window/reinforced, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /turf/simulated/floor/carpet, @@ -137621,9 +139189,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/effect/turf_decal/caution/stand_clear, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -137701,7 +139266,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "urd" = ( @@ -137891,6 +139457,7 @@ dir = 4; pixel_x = -24 }, +/obj/machinery/telepad_cargo, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "brown" @@ -137928,7 +139495,7 @@ }, /area/medical/ward) "usy" = ( -/obj/structure/chair/office, +/obj/structure/chair, /turf/simulated/floor/wood, /area/crew_quarters/serviceyard) "usA" = ( @@ -138075,7 +139642,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "utz" = ( /obj/machinery/door/airlock{ @@ -138093,7 +139662,7 @@ /turf/simulated/floor/plating, /area/maintenance/banya) "utP" = ( -/obj/structure/chair/office, +/obj/structure/chair, /obj/machinery/atmospherics/unary/vent_scrubber{ name = "standard air scrubber"; on = 1; @@ -138311,6 +139880,10 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, +/obj/item/poster/random_contraband{ + pixel_x = 1; + pixel_y = 6 + }, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "uvI" = ( @@ -138597,10 +140170,12 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -138763,6 +140338,7 @@ name = "Труба на фильтрацию" }, /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/spiderling_remains, /turf/simulated/floor/plating, /area/maintenance/atmospherics) "uzb" = ( @@ -138823,7 +140399,7 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /obj/structure/disposalpipe/junction{ @@ -138841,9 +140417,7 @@ dir = 6 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/plasteel{ - icon_state = "browncorner" - }, +/turf/simulated/floor/plasteel, /area/quartermaster/miningstorage) "uzt" = ( /obj/structure/table, @@ -138881,16 +140455,14 @@ /turf/simulated/floor/glass, /area/crew_quarters/bar/atrium) "uAc" = ( -/obj/effect/decal/warning_stripes/blue/hollow, -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/machinery/light{ - dir = 8 - }, /obj/machinery/firealarm{ dir = 4; pixel_x = -28 }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "dark" @@ -139030,9 +140602,16 @@ /turf/simulated/floor/plating, /area/maintenance/asmaint2) "uBa" = ( -/obj/structure/grille, -/turf/simulated/floor/plating, -/area/maintenance/tourist) +/obj/machinery/camera{ + c_tag = "Research East Central Hallway"; + network = list("Research","SS13"); + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "whitepurple"; + tag = "icon-whitepurple (WEST)" + }, +/area/medical/research) "uBh" = ( /obj/structure/bookcase, /turf/simulated/floor/wood, @@ -139109,7 +140688,7 @@ /turf/simulated/floor/glass/reinforced, /area/quartermaster/office) "uCd" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /obj/effect/decal/cleanable/dirt, @@ -139265,11 +140844,10 @@ /turf/simulated/floor/carpet, /area/maintenance/casino) "uCN" = ( -/obj/effect/turf_decal/loading_area{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plasteel{ - dir = 6; icon_state = "brown" }, /area/quartermaster/miningstorage) @@ -139414,6 +140992,8 @@ }, /area/bridge/meeting_room) "uEd" = ( +/obj/machinery/telepad_cargo, +/obj/effect/decal/warning_stripes/yellow/hollow, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whiteblue"; @@ -139548,7 +141128,7 @@ dir = 8 }, /obj/effect/spawner/random_spawners/blood_5, -/obj/structure/chair/stool/holostool, +/obj/structure/chair/stool, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "uFu" = ( @@ -139791,11 +141371,11 @@ }, /area/hallway/primary/central/second/north) "uHe" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "darkredfull" }, /area/turret_protected/ai) "uHl" = ( @@ -140174,6 +141754,37 @@ icon_state = "whitehall" }, /area/toxins/xenobiology) +"uJX" = ( +/obj/structure/rack{ + dir = 8; + layer = 2.9 + }, +/obj/effect/decal/warning_stripes/red/hollow, +/obj/structure/window/reinforced{ + color = "red" + }, +/obj/structure/window/reinforced{ + color = "red"; + dir = 1 + }, +/obj/structure/window/reinforced{ + color = "red"; + dir = 4 + }, +/obj/machinery/door/window{ + dir = 8; + name = "Secure Armory"; + req_access = list(1); + color = "red" + }, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/obj/item/shield/riot, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/security/securearmory) "uJY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -140251,7 +141862,15 @@ /turf/simulated/floor/wood, /area/library/game_zone) "uKE" = ( -/obj/structure/disposalpipe/trunk/multiz, +/obj/structure/stairs{ + layer = 2 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "uKI" = ( @@ -140533,6 +142152,18 @@ icon_state = "neutralfull" }, /area/hallway/primary/fore) +"uNf" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "red" + }, +/area/security/interrogation) "uNg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -140673,7 +142304,9 @@ codes_txt = "patrol;next_patrol=C11"; location = "C10" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "uOv" = ( /obj/structure/disposalpipe/segment{ @@ -141007,7 +142640,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "uRw" = ( /obj/structure/table/glass, /obj/item/reagent_containers/food/drinks/coffee{ @@ -141148,9 +142781,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -141164,6 +142794,9 @@ /obj/effect/turf_decal/siding/white{ dir = 1 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/glass, /area/crew_quarters/locker) "uSo" = ( @@ -141385,7 +143018,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "uUM" = ( @@ -141452,7 +143086,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "uVn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -141691,7 +143325,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -141905,7 +143538,8 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "uYm" = ( @@ -142095,6 +143729,7 @@ req_access = list(3,4); name = "Forensic laboratory" }, +/obj/effect/turf_decal/siding/wood, /turf/simulated/floor/wood, /area/security/detectives_office) "uZh" = ( @@ -142169,7 +143804,7 @@ dir = 4 }, /obj/item/reagent_containers/food/drinks/shaker, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "uZF" = ( /obj/structure/disposalpipe/segment{ @@ -142445,7 +144080,9 @@ /obj/effect/turf_decal/siding/white/end{ color = "#444444" }, -/turf/simulated/floor/glass, +/turf/simulated/floor/glass{ + slowdown = -0.3 + }, /area/hallway/primary/central) "vbL" = ( /obj/machinery/door/airlock/bananium{ @@ -142715,6 +144352,15 @@ }, /turf/simulated/floor/engine, /area/engineering/supermatter) +"vdg" = ( +/obj/structure/chair/comfy/purp{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/simulated/floor/carpet/purple, +/area/crew_quarters/captain) "vdh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -142777,8 +144423,7 @@ pixel_y = 32 }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "brown" + dir = 1 }, /area/quartermaster/lobby) "vdY" = ( @@ -143500,8 +145145,7 @@ }, /area/medical/genetics) "vkn" = ( -/obj/machinery/telepad_cargo, -/obj/effect/decal/warning_stripes/yellow/hollow, +/obj/item/twohanded/required/kirbyplants, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" @@ -143640,6 +145284,7 @@ "vls" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random_spawners/cobweb_right_frequent, +/obj/machinery/slot_machine, /turf/simulated/floor/plating, /area/maintenance/tourist) "vlt" = ( @@ -143700,12 +145345,16 @@ /obj/machinery/computer/guestpass{ pixel_y = 32 }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/glass/bucket, +/obj/effect/decal/warning_stripes/yellow/hollow, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "green" }, /area/hydroponics) "vlM" = ( +/obj/structure/flora/ausbushes/lavendergrass, /obj/item/hatchet, /obj/effect/spawner/random_spawners/rodent, /turf/simulated/floor/grass, @@ -143844,10 +145493,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 + dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "white" + icon_state = "whitepurplecorner" }, /area/toxins/mixing) "vnn" = ( @@ -143937,9 +145586,16 @@ icon_state = "yellow" }, /area/engineering/engine) +"vnH" = ( +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/turf/simulated/floor/carpet/black, +/area/chapel/main) "vnM" = ( /obj/structure/stairs{ - dir = 4 + dir = 4; + layer = 2 }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -144156,9 +145812,6 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/structure/cable{ icon_state = "2-4" }, @@ -144168,6 +145821,11 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "red" @@ -144242,6 +145900,8 @@ /obj/structure/closet/secure_closet/hos, /obj/effect/decal/warning_stripes/southeast, /obj/item/clothing/under/fluff/soviet_casual_uniform, +/obj/item/clothing/suit/armor/hos/alt, +/obj/item/clothing/head/beret/solgov/command/elite, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "dark" @@ -144317,7 +145977,7 @@ dir = 4; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "vsi" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -144380,7 +146040,8 @@ /area/maintenance/casino) "vsB" = ( /obj/structure/stairs{ - dir = 1 + dir = 1; + layer = 2 }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -144438,17 +146099,17 @@ /turf/simulated/floor/wood, /area/crew_quarters/courtroom) "vte" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/xeno, -/obj/structure/cable/multiz{ - color = "#dd1010" - }, -/obj/structure/cable{ - d2 = 4; - icon_state = "0-4" +/obj/structure/lattice/catwalk, +/obj/machinery/access_button{ + command = "cycle_exterior"; + frequency = 1379; + master_tag = "vir_maint2_airlock"; + name = "exterior access button"; + pixel_x = 24; + pixel_y = 24 }, -/turf/simulated/floor/plating, -/area/maintenance/xenozoo) +/turf/space, +/area/space) "vtf" = ( /obj/structure/cable{ icon_state = "1-2" @@ -144493,10 +146154,13 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "vts" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -144513,22 +146177,45 @@ icon_state = "whiteblue" }, /area/medical/cmo) +"vtz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/medical/virology) "vtK" = ( /turf/simulated/floor/plasteel/grimy, /area/crew_quarters/bar) "vtN" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/universal, -/obj/machinery/door/airlock/medical{ - name = "Virology"; - req_access = list(39) - }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment{ - invisibility = 101 +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/alarm{ + dir = 8; + pixel_x = 22 + }, +/obj/machinery/camera{ + c_tag = "Virology"; + dir = 8; + network = list("Medical","SS13") + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" }, -/turf/simulated/floor/plating, /area/medical/virology/lab) "vtS" = ( /turf/simulated/wall, @@ -144608,6 +146295,7 @@ /obj/machinery/light/small{ dir = 1 }, +/obj/effect/spawner/random_spawners/crate_spawner, /turf/simulated/floor/plating, /area/maintenance/xenozoo) "vuI" = ( @@ -144624,7 +146312,7 @@ dir = 5; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "vuR" = ( /obj/machinery/light{ dir = 1; @@ -144642,6 +146330,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/decal/cleanable/dirt, +/obj/item/caution, /turf/simulated/floor/plating, /area/maintenance/fsmaint) "vuU" = ( @@ -144767,11 +146456,14 @@ }, /obj/machinery/airlock_sensor{ id_tag = "ex_sensor"; - pixel_y = -24 + pixel_y = 35 }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, +/obj/structure/sign/vacuum{ + pixel_y = -32 + }, /turf/simulated/floor/engine/insulated, /area/maintenance/apmaint) "vvH" = ( @@ -144868,6 +146560,10 @@ /obj/machinery/light{ dir = 4 }, +/obj/structure/sign/fire{ + pixel_y = 0; + pixel_x = 32 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "neutral" @@ -145112,12 +146808,6 @@ dir = 4; do_not_delete_me = 1 }, -/obj/structure/curtain/open/shower/security{ - alpha = 255; - name = "backstage"; - anchored = 1; - pixel_y = 32 - }, /obj/item/trash/raisins, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dust, @@ -145149,25 +146839,14 @@ /turf/simulated/floor/glass/reinforced, /area/quartermaster/qm) "vyk" = ( -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/iv_bag/bloodsynthetic/nitrogenis, -/obj/item/reagent_containers/iv_bag/bloodsynthetic/oxygenis, -/obj/item/reagent_containers/iv_bag/bloodsynthetic/oxygenis, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/machinery/power/apc{ - dir = 1; - pixel_y = 26 - }, -/obj/structure/cable{ - d2 = 2; - icon_state = "0-2" +/obj/machinery/atmospherics/binary/valve{ + dir = 4 }, -/turf/simulated/floor/plasteel{ - icon_state = "white" +/obj/structure/sign/biohazard{ + pixel_y = 32 }, -/area/medical/virology) +/turf/simulated/floor/plating, +/area/medical/virology/lab) "vyp" = ( /obj/effect/turf_decal/box, /obj/machinery/hologram/holopad, @@ -145276,7 +146955,7 @@ /turf/simulated/floor/plating, /area/maintenance/fpmaint) "vzu" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /turf/simulated/floor/wood/fancy/light, @@ -145319,7 +146998,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plasteel{ - icon_state = "red" + icon_state = "redcorner" }, /area/security/seceqstorage) "vzX" = ( @@ -145358,6 +147037,11 @@ icon_state = "neutralfull" }, /area/atmos) +"vAn" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/fernybush, +/turf/simulated/floor/grass, +/area/maintenance/garden) "vAs" = ( /obj/machinery/status_display{ pixel_y = -32 @@ -145387,6 +147071,7 @@ /obj/item/stack/sheet/plasteel{ amount = 10 }, +/obj/item/lightreplacer, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -145812,7 +147497,7 @@ dir = 4; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "vEi" = ( /obj/structure/grille/broken, /obj/machinery/light/small{ @@ -145991,7 +147676,9 @@ codes_txt = "patrol;next_patrol=C2"; location = "C1" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "vFJ" = ( /obj/structure/cable{ @@ -146021,14 +147708,13 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, -/area/hallway/primary/central) -"vFR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -30 }, -/turf/simulated/floor/plasteel, -/area/quartermaster/sorting) +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, +/area/hallway/primary/central) "vFV" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 6 @@ -146165,7 +147851,7 @@ /turf/simulated/floor/plasteel{ icon_state = "darkredfull" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "vHo" = ( /obj/machinery/power/supermatter_shard{ anchored = 1; @@ -146340,6 +148026,8 @@ /obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/regular, /obj/item/reagent_containers/hypospray/safety, +/obj/item/storage/belt/medical, +/obj/item/clothing/glasses/hud/health, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "whiteblue" @@ -146503,7 +148191,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ - icon_state = "purplefull" + dir = 4; + icon_state = "whitepurple" }, /area/toxins/mixing) "vKe" = ( @@ -146654,7 +148343,7 @@ /obj/effect/decal/cleanable/blood/tracks{ layer = 3 }, -/obj/structure/chair/office, +/obj/structure/chair, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ dir = 1 @@ -146879,7 +148568,8 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "vMH" = ( @@ -146898,7 +148588,8 @@ dir = 2 }, /turf/simulated/floor/plasteel{ - icon_state = "white" + dir = 4; + icon_state = "whitepurple" }, /area/toxins/mixing) "vML" = ( @@ -147013,7 +148704,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "vNO" = ( /obj/structure/window/reinforced{ dir = 1 @@ -147215,6 +148906,7 @@ /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -147260,7 +148952,8 @@ dir = 8 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "vPb" = ( @@ -147343,7 +149036,7 @@ }, /area/hallway/primary/fore) "vPZ" = ( -/obj/structure/chair/office, +/obj/structure/chair, /turf/simulated/floor/plasteel, /area/hallway/spacebridge/somsec) "vQc" = ( @@ -147354,16 +149047,8 @@ /area/hallway/primary/command/east) "vQd" = ( /obj/machinery/message_server, -/obj/machinery/power/apc{ - cell_type = 5000; - name = "south bump Important Area"; - pixel_y = -24 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, /turf/simulated/floor/redgrid, -/area/tcommsat/chamber) +/area/tcommsat/server) "vQh" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -147903,7 +149588,8 @@ location = "C3" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "vUN" = ( @@ -148091,7 +149777,9 @@ /obj/structure/window/reinforced{ dir = 1 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "vVp" = ( /obj/structure/sign/directions/medical{ @@ -148111,6 +149799,15 @@ /obj/structure/flora/grass/jungle, /turf/simulated/floor/grass, /area/crew_quarters/fitness) +"vVy" = ( +/obj/structure/stairs{ + layer = 2 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/maintenance/casino) "vVC" = ( /obj/effect/decal/warning_stripes/north, /turf/simulated/floor/plasteel{ @@ -148388,7 +150085,7 @@ /obj/machinery/airlock_sensor{ id_tag = "engineering_east_sensor"; pixel_x = -25; - pixel_y = 10 + pixel_y = 7 }, /turf/simulated/floor/plasteel{ dir = 6; @@ -148412,11 +150109,13 @@ /turf/simulated/floor/plating, /area/maintenance/apmaint) "vXK" = ( -/obj/structure/railing, -/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/simulated/floor/plasteel{ - dir = 10; - icon_state = "red" + dir = 1 }, /area/hallway/primary/central/second/west) "vXR" = ( @@ -148464,6 +150163,9 @@ "vYf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random_spawners/blood_5, +/obj/machinery/light/small{ + dir = 4 + }, /turf/simulated/floor/carpet/royalblack, /area/maintenance/fsmaint2) "vYg" = ( @@ -148489,13 +150191,17 @@ /turf/simulated/floor/plating, /area/maintenance/xenozoo) "vYv" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/requests_console{ department = "Cargo Bay"; departmentType = 2; name = "Cargo Requests Console"; pixel_x = -32 }, +/obj/machinery/camera{ + c_tag = "Cargo Delivery Office"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "vYx" = ( @@ -148507,7 +150213,8 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "vYB" = ( @@ -148735,6 +150442,9 @@ "vZY" = ( /obj/machinery/cryopod/robot, /obj/effect/decal/warning_stripes/yellow/hollow, +/obj/machinery/computer/cryopod/robot{ + pixel_y = 28 + }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "purple" @@ -149051,7 +150761,7 @@ }, /obj/machinery/tcomms/core/station, /turf/simulated/floor/redgrid, -/area/tcommsat/chamber) +/area/tcommsat/server) "wcH" = ( /turf/simulated/wall/r_wall, /area/medical/research/restroom) @@ -149356,6 +151066,14 @@ icon_state = "neutralfull" }, /area/engineering/break_room) +"wfm" = ( +/obj/effect/decal/warning_stripes/yellow/hollow, +/obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/quartermaster/sorting) "wfo" = ( /obj/machinery/door/airlock/security{ name = "Evidence Storage"; @@ -149420,7 +151138,7 @@ }, /area/crew_quarters/kitchen) "wfW" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plasteel{ @@ -149469,7 +151187,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 6 }, /turf/simulated/floor/plasteel, /area/hydroponics) @@ -149592,7 +151310,9 @@ /obj/machinery/light{ dir = 1 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "whx" = ( /obj/structure/cable{ @@ -149808,6 +151528,17 @@ icon_state = "neutralfull" }, /area/hallway/primary/fore) +"wjn" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "packageSort2" + }, +/obj/machinery/camera{ + c_tag = "Cargo Wase Conveyor"; + dir = 10 + }, +/turf/simulated/floor/plating, +/area/quartermaster/sorting) "wjq" = ( /obj/effect/turf_decal/box/white/corners, /turf/simulated/floor/plasteel{ @@ -149842,7 +151573,7 @@ }, /area/security/warden) "wjG" = ( -/obj/structure/chair/office, +/obj/structure/chair, /obj/structure/sign/poster/contraband/ambrosia_vulgaris{ pixel_x = -32 }, @@ -150271,6 +152002,14 @@ icon_state = "dark" }, /area/security/seceqstorage) +"wmn" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkblue" + }, +/area/chapel/massdriver) "wmp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/remains/mouse, @@ -150389,6 +152128,15 @@ codes_txt = "patrol;next_patrol=R2"; location = "R1" }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -150451,11 +152199,13 @@ /turf/simulated/floor/wood, /area/security/permabrig) "wnt" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/newscaster{ pixel_y = 0; pixel_x = -32 }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, /turf/simulated/floor/plasteel, /area/quartermaster/sorting) "wnu" = ( @@ -150602,13 +152352,6 @@ icon_state = "neutralfull" }, /area/quartermaster/delivery) -"wot" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "redcorner" - }, -/area/security/prison/cell_block/A) "wox" = ( /obj/effect/decal/warning_stripes/northwest, /turf/simulated/floor/plasteel, @@ -150975,7 +152718,9 @@ /obj/structure/cable{ icon_state = "2-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "wqN" = ( /obj/machinery/atmospherics/pipe/simple/visible{ @@ -151056,15 +152801,7 @@ }, /area/medical/research) "wqX" = ( -/obj/structure/ladder, -/obj/structure/sign/directions/floor/alt{ - dir = 6; - pixel_x = -32 - }, -/turf/simulated/floor/plasteel{ - dir = 10; - icon_state = "whitepurple" - }, +/turf/simulated/openspace, /area/toxins/launch) "wqY" = ( /obj/machinery/doppler_array{ @@ -151162,9 +152899,6 @@ }, /area/atmos) "wrT" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/structure/disposalpipe/junction/reversed{ dir = 2 }, @@ -151177,6 +152911,9 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -151279,7 +153016,7 @@ name = "pod3 home dock"; width = 5 }, -/turf/space{ +/turf/space/openspace{ icon_state = "black" }, /area/space) @@ -151297,7 +153034,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plasteel{ - icon_state = "whitepurple" + icon_state = "purplefull" }, /area/toxins/launch) "wtc" = ( @@ -151417,6 +153154,18 @@ dir = 1 }, /area/hallway/primary/starboard/east) +"wtA" = ( +/obj/machinery/camera{ + c_tag = "Research West Central Hallway"; + network = list("Research","SS13"); + dir = 6 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whitepurple"; + tag = "icon-whitepurple (NORTH)" + }, +/area/medical/research/nhallway) "wtD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/grille/broken, @@ -151450,7 +153199,7 @@ network = list("Minisat","SS13") }, /turf/simulated/floor/redgrid, -/area/tcommsat/chamber) +/area/tcommsat/server) "wtT" = ( /obj/machinery/door/airlock/maintenance{ name = "Broom Closet" @@ -151627,7 +153376,7 @@ dir = 6; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "wvE" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ name = "standard air scrubber"; @@ -151738,7 +153487,9 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "wvZ" = ( /obj/effect/decal/warning_stripes/yellow/hollow, @@ -151824,11 +153575,15 @@ }, /area/security/hos) "www" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 }, +/obj/structure/closet/bombcloset, /turf/simulated/floor/plasteel{ - icon_state = "white" + icon_state = "purplefull" }, /area/toxins/launch) "wwy" = ( @@ -151936,7 +153691,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/port/south) "wxy" = ( @@ -151944,20 +153700,14 @@ /turf/simulated/wall/r_wall, /area/turret_protected/ai) "wxG" = ( -/obj/machinery/vending/wallmed{ - pixel_x = 26 - }, /obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 + icon_state = "2-4" }, -/turf/simulated/floor/plasteel{ - icon_state = "white" +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 10 }, -/area/medical/virology) +/turf/simulated/floor/plating, +/area/medical/virology/lab) "wxM" = ( /obj/machinery/door/airlock/public{ name = "Kitchen"; @@ -152161,7 +153911,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "wyV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -152467,7 +154219,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "wBS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -152579,7 +154331,9 @@ /obj/structure/cable{ icon_state = "2-4" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "wCR" = ( /obj/item/twohanded/required/kirbyplants, @@ -152658,12 +154412,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/hologram/holopad, /obj/effect/landmark/event/lightsout, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, /turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "blue" + dir = 5 }, /area/hydroponics) "wDq" = ( @@ -152689,6 +154439,16 @@ icon_state = "dark" }, /area/aisat/maintenance) +"wDL" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "vault" + }, +/area/chapel/massdriver) "wDO" = ( /obj/structure/chair{ dir = 1 @@ -152696,7 +154456,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "wDT" = ( /obj/structure/cable{ d1 = 4; @@ -152826,7 +154586,8 @@ dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "wFn" = ( @@ -153040,9 +154801,14 @@ /turf/simulated/floor/wood, /area/crew_quarters/courtroom) "wHj" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/plasteel, -/area/quartermaster/miningstorage) +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkred" + }, +/area/turret_protected/ai) "wHo" = ( /obj/structure/cable{ d2 = 8; @@ -153272,7 +155038,15 @@ /turf/simulated/floor/plasteel{ icon_state = "white" }, -/area/medical/virology/lab) +/area/medical/virology) +"wJM" = ( +/obj/effect/spawner/random_spawners/grille_50, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint) "wJR" = ( /obj/machinery/light/small{ dir = 4 @@ -153339,14 +155113,14 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/structure/disposalpipe/sortjunction{ dir = 4; name = "Brig Equipment Storage"; sortType = 8 }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -153546,6 +155320,11 @@ pixel_x = 24 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whiteblue" @@ -153649,16 +155428,21 @@ icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "wMc" = ( /obj/structure/closet/wardrobe/virology_white, +/obj/item/storage/belt/medical, +/obj/machinery/newscaster{ + pixel_y = 32 + }, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "whitegreen" }, -/area/medical/virology/lab) +/area/medical/virology) "wMd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ @@ -153721,7 +155505,7 @@ dir = 8; icon_state = "darkred" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "wNu" = ( /obj/machinery/light{ dir = 1; @@ -153816,7 +155600,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "wNP" = ( /obj/structure/closet/emcloset, @@ -153970,7 +155756,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/chapel/main) +/area/chapel/massdriver) "wOT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -154195,6 +155981,16 @@ /obj/effect/decal/cleanable/dust, /turf/simulated/floor/carpet/green, /area/maintenance/casino) +"wQi" = ( +/obj/structure/cable, +/obj/machinery/power/apc{ + pixel_y = -28 + }, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "vault" + }, +/area/chapel/massdriver) "wQj" = ( /obj/machinery/door/airlock/maintenance{ req_access = list(22) @@ -154331,17 +156127,15 @@ /turf/simulated/floor/plasteel, /area/atmos) "wRE" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" }, /turf/simulated/floor/plasteel{ - dir = 9; - icon_state = "brown" + dir = 1 }, -/area/quartermaster/lobby) +/area/hallway/primary/central/second/east) "wRL" = ( /obj/effect/spawner/random_spawners/rodent, /obj/effect/decal/cleanable/dirt, @@ -154742,7 +156536,7 @@ /obj/effect/decal/warning_stripes/yellow/hollow, /obj/effect/decal/warning_stripes/east, /turf/simulated/floor/plasteel{ - icon_state = "neutralfull" + icon_state = "bluefull" }, /area/atmos) "wVm" = ( @@ -155013,7 +156807,7 @@ /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "wXl" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ name = "standard air scrubber"; @@ -155269,7 +157063,9 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "wZp" = ( /obj/effect/turf_decal/stripes/gold, @@ -155321,7 +157117,9 @@ codes_txt = "patrol;next_patrol=C5"; location = "C4" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "wZK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -155366,9 +157164,6 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, @@ -155378,6 +157173,11 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -155499,7 +157299,7 @@ dir = 5; icon_state = "darkblue" }, -/area/chapel/main) +/area/chapel/massdriver) "xaK" = ( /obj/machinery/alarm{ dir = 8; @@ -155896,6 +157696,12 @@ }, /turf/simulated/floor/plating, /area/maintenance/fpmaint) +"xek" = ( +/obj/structure/sign/directions/floor/alt{ + dir = 6 + }, +/turf/simulated/wall, +/area/quartermaster/miningstorage) "xeu" = ( /turf/simulated/floor/plasteel{ icon_state = "darkred" @@ -156173,7 +157979,7 @@ /obj/structure/railing/corner{ dir = 8 }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/glass/reinforced, @@ -156224,6 +158030,11 @@ }, /turf/simulated/floor/wood/fancy/cherry, /area/crew_quarters/theatre) +"xhp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random_spawners/blood_5, +/turf/simulated/floor/plating, +/area/maintenance/secpost) "xhr" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -156324,8 +158135,16 @@ /turf/simulated/floor/carpet/black, /area/chapel/main) "xhS" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random_spawners/blood_5, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "xhX" = ( @@ -156418,9 +158237,10 @@ "xiy" = ( /obj/machinery/camera{ c_tag = "Central Ring Hallway South 5"; - dir = 1 + dir = 2 }, /turf/simulated/floor/plasteel{ + dir = 1; icon_state = "neutral" }, /area/hallway/primary/central/sw) @@ -156566,7 +158386,9 @@ dir = 1; pixel_y = -28 }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "xjx" = ( /obj/structure/particle_accelerator/particle_emitter/center{ @@ -156971,6 +158793,9 @@ "xmr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/remains/human, +/obj/structure/railing/corner{ + dir = 8 + }, /turf/simulated/floor/plasteel, /area/maintenance/xenozoo) "xmw" = ( @@ -157002,8 +158827,11 @@ /area/crew_quarters/serviceyard) "xmD" = ( /obj/effect/decal/warning_stripes/northeastcorner, -/obj/machinery/computer/pandemic, -/obj/machinery/light, +/obj/machinery/smartfridge/secure/chemistry/virology/preloaded, +/obj/machinery/newscaster{ + pixel_y = 0; + pixel_x = -32 + }, /turf/simulated/floor/plasteel, /area/medical/virology/lab) "xmH" = ( @@ -157037,6 +158865,11 @@ /obj/effect/landmark/start/civilian, /turf/simulated/floor/wood, /area/crew_quarters/arcade) +"xnc" = ( +/obj/effect/decal/cleanable/dust, +/obj/effect/decal/cleanable/spiderling_remains, +/turf/simulated/floor/wood, +/area/maintenance/livingcomplex) "xnd" = ( /obj/structure/table, /obj/machinery/door/window{ @@ -157196,6 +159029,9 @@ dir = 4; network = list("SS13","Security") }, +/obj/item/clothing/suit/armor/hos/alt{ + name = "Warden's armored trenchoat" + }, /turf/simulated/floor/carpet/red, /area/security/warden) "xoL" = ( @@ -157214,7 +159050,7 @@ name = "east station intercom (General)"; pixel_x = 28 }, -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 8 }, /turf/simulated/floor/plasteel{ @@ -157639,6 +159475,14 @@ pixel_x = 3; pixel_y = -3 }, +/obj/item/grenade/chem_grenade/teargas{ + pixel_y = -6; + pixel_x = 6 + }, +/obj/item/grenade/chem_grenade/teargas{ + pixel_y = -3; + pixel_x = 3 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -157650,11 +159494,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/effect/decal/cleanable/dirt, -/obj/structure/grille, -/obj/structure/cable{ - icon_state = "0-2" - }, +/obj/structure/girder, /turf/simulated/floor/plating, /area/maintenance/fsmaint2) "xrY" = ( @@ -157832,6 +159672,16 @@ icon_state = "purplefull" }, /area/medical/research/nhallway) +"xtz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/remains/robot, +/turf/simulated/floor/plating, +/area/maintenance/asmaint2) "xtI" = ( /obj/structure/cable{ icon_state = "1-2" @@ -158002,7 +159852,7 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/turf/simulated/floor/carpet/royalblack, +/turf/simulated/floor/carpet/black, /area/ntrep) "xvb" = ( /obj/structure/cable{ @@ -158198,11 +160048,6 @@ /area/security/securearmory) "xwA" = ( /obj/effect/decal/warning_stripes/west, -/obj/item/storage/box/flashbangs{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/storage/box/flashbangs, /obj/item/storage/box/handcuffs{ pixel_x = -3; pixel_y = 3 @@ -158212,6 +160057,11 @@ name = "Brig storage crate" }, /obj/machinery/light, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs{ + pixel_x = 3; + pixel_y = -3 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -158317,15 +160167,12 @@ }, /area/hallway/primary/command/west) "xxs" = ( -/obj/effect/decal/warning_stripes/green, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment{ - invisibility = 101 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 + dir = 9 }, /turf/simulated/floor/plasteel{ icon_state = "white" @@ -158366,6 +160213,26 @@ icon_state = "brown" }, /area/quartermaster/delivery) +"xxO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/maintenance/fpmaint) "xxV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/closet/emcloset, @@ -158468,10 +160335,6 @@ /area/hallway/primary/central/second/north) "xyC" = ( /obj/effect/spawner/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id_tag = "BridgeLockdown"; - name = "Bridge Lockdown" - }, /turf/simulated/floor/plating, /area/crew_quarters/captain) "xyG" = ( @@ -158508,7 +160371,19 @@ }, /obj/machinery/light, /obj/structure/table, -/obj/item/storage/firstaid/regular, +/obj/item/stack/sheet/metal{ + amount = 50; + pixel_x = -2; + pixel_y = -2 + }, +/obj/item/stack/sheet/metal{ + amount = 50 + }, +/obj/item/stack/sheet/rglass{ + amount = 50; + pixel_x = 2; + pixel_y = 2 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -158699,11 +160574,6 @@ name = "Virology Requests Console"; pixel_x = -30 }, -/obj/machinery/camera{ - c_tag = "Virology"; - dir = 4; - network = list("Medical","SS13") - }, /turf/simulated/floor/plasteel, /area/medical/virology/lab) "xAc" = ( @@ -158942,9 +160812,12 @@ /area/toxins/mixing) "xBF" = ( /obj/structure/window/reinforced, -/obj/structure/statue/gold/hos{ - pixel_y = 7 +/obj/structure/sign/goldenplaque{ + pixel_y = 32; + desc = "Важное Уточнение! Рабочие пожелали оставаться анонимными, поэтому, обойдёмся их прозвищами. За помощь Главному Инженеру Новы в поисках и устранении неисправностей на станции НаноТрейзен. С благодарностью, Aeterna0. Слава НаноТрейзен!"; + name = "Благодарственное Письмо от Главного Инженера станции Нова" }, +/obj/structure/statue/gold/ce, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -159272,7 +161145,7 @@ id_tag = "port4_sensor"; layer = 3.3; pixel_x = 25; - pixel_y = 5 + pixel_y = 7 }, /obj/machinery/light/small{ dir = 8 @@ -159405,9 +161278,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-4" - }, /obj/machinery/hologram/holopad, /obj/structure/cable{ icon_state = "4-8" @@ -159490,11 +161360,13 @@ /turf/simulated/floor/plasteel, /area/engineering/controlroom) "xGC" = ( -/obj/machinery/light/small{ - dir = 8 +/obj/structure/barricade/wooden, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Maintenance"; + req_access = list(12,24) }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/maintenance/atmospherics) "xGH" = ( /obj/machinery/camera{ c_tag = "Perma Library"; @@ -159549,14 +161421,14 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/hologram/holopad, /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=A32"; location = "A31" }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -159787,7 +161659,7 @@ }, /obj/machinery/airlock_sensor{ id_tag = "arrival_south_sensor"; - pixel_y = 24 + pixel_y = 34 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "arrival_south_airlock"; @@ -159795,7 +161667,11 @@ tag_chamber_sensor = "arrival_south_sensor"; tag_exterior_door = "arrival_south_outer"; tag_interior_door = "arrival_south_inner"; - pixel_y = -25 + pixel_y = 27 + }, +/obj/structure/sign/vacuum{ + icon_state = "space1"; + pixel_y = -32 }, /turf/simulated/floor/plating, /area/hallway/secondary/exit) @@ -159941,7 +161817,7 @@ /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/chapel/main) +/area/chapel/massdriver) "xJI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/sortjunction{ @@ -160096,14 +161972,12 @@ /turf/simulated/floor/carpet, /area/library) "xKR" = ( -/obj/machinery/conveyor{ - dir = 10; - id = "mining_internal" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 +/obj/machinery/mineral/mint{ + input_dir = 8; + output_dir = 1 }, -/turf/simulated/floor/plating, +/obj/effect/turf_decal/delivery, +/turf/simulated/floor/plasteel, /area/quartermaster/miningstorage) "xKT" = ( /obj/structure/bed, @@ -160308,13 +162182,13 @@ dir = 8; icon_state = "vault" }, -/area/tcommsat/chamber) +/area/tcommsat/server) "xMp" = ( -/obj/effect/decal/warning_stripes/yellow/hollow, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset, +/obj/structure/railing/corner{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/xenozoo) +/area/maintenance/asmaint4) "xMr" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/caution/red{ @@ -160335,8 +162209,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" +/turf/simulated/floor/engine{ + slowdown = -0.3 }, /area/hallway/primary/central) "xMu" = ( @@ -160450,10 +162324,12 @@ "xNB" = ( /obj/effect/decal/cleanable/dirt, /obj/item/extinguisher, +/obj/structure/cable/multiz{ + color = "#dd1010" + }, /obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" + d2 = 4; + icon_state = "0-4" }, /turf/simulated/floor/plasteel, /area/maintenance/xenozoo) @@ -160482,7 +162358,8 @@ }, /obj/effect/turf_decal/caution/red, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "dark"; + slowdown = -0.3 }, /area/hallway/primary/starboard/south) "xNV" = ( @@ -160522,7 +162399,7 @@ }, /area/engineering/engine/monitor) "xOe" = ( -/obj/structure/disposalpipe/segment, +/obj/structure/chair, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "brown" @@ -160690,6 +162567,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/item/radio/beacon, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -160814,10 +162692,14 @@ pixel_x = 24; pixel_y = 24 }, +/obj/machinery/alarm{ + dir = 8; + pixel_x = 25 + }, /turf/simulated/floor/plasteel{ icon_state = "cult" }, -/area/chapel/office) +/area/chapel/morgue) "xQF" = ( /obj/effect/spawner/random_spawners/blood_20, /turf/simulated/floor/plasteel{ @@ -160842,6 +162724,9 @@ "xQI" = ( /obj/structure/bed, /obj/machinery/light, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -161433,7 +163318,9 @@ /obj/effect/turf_decal/siding{ color = "#444444" }, -/turf/simulated/floor/glass, +/turf/simulated/floor/glass{ + slowdown = -0.3 + }, /area/hallway/primary/central) "xUh" = ( /obj/machinery/camera{ @@ -161441,6 +163328,10 @@ network = list("SS13","Security"); dir = 8 }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 25 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "red" @@ -161598,6 +163489,9 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkred" @@ -161689,11 +163583,16 @@ dir = 1; in_use = 1 }, +/obj/machinery/firealarm{ + dir = 1; + name = "south fire alarm"; + pixel_y = 26 + }, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "xWd" = ( /obj/structure/window/reinforced{ dir = 8 @@ -161868,9 +163767,11 @@ "xWY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/stack/sheet/glass{ - amount = 20 +/obj/machinery/cell_charger{ + pixel_x = -1; + pixel_y = 2 }, +/obj/item/stock_parts/cell/high/plus, /turf/simulated/floor/plating, /area/maintenance/secpost) "xXb" = ( @@ -162066,6 +163967,9 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel{ dir = 1 }, @@ -162297,8 +164201,7 @@ pixel_y = 24 }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "brown" + dir = 1 }, /area/quartermaster/lobby) "yau" = ( @@ -162343,7 +164246,7 @@ /obj/machinery/airlock_sensor{ id_tag = "atmos_tank_sensor"; pixel_x = 57; - pixel_y = 8 + pixel_y = 7 }, /turf/simulated/floor/plasteel/dark, /area/engineering/controlroom) @@ -162508,6 +164411,18 @@ }, /turf/simulated/floor/wood, /area/blueshield) +"ybv" = ( +/obj/machinery/atmospherics/unary/vent_scrubber{ + name = "standard air scrubber"; + on = 1; + scrub_N2O = 1; + scrub_Toxins = 1; + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/chapel/massdriver) "ybx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -162727,6 +164642,15 @@ "ycY" = ( /turf/simulated/floor/glass/reinforced, /area/hallway/secondary/exit/maint) +"ydn" = ( +/obj/machinery/vending/wallmed{ + pixel_x = 25 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "purple" + }, +/area/hallway/primary/central/ne) "ydo" = ( /obj/structure/sign/fire, /turf/simulated/wall/r_wall, @@ -162831,11 +164755,11 @@ }, /obj/item/kitchen/utensil/spoon{ pixel_x = -3; - pixel_y = 18 + pixel_y = 5 }, /obj/item/kitchen/utensil/fork{ pixel_x = -4; - pixel_y = 18 + pixel_y = 5 }, /obj/item/bikehorn/rubberducky, /obj/machinery/light/small, @@ -163047,6 +164971,14 @@ icon_state = "stage_bleft" }, /area/maintenance/cafeteria) +"yeR" = ( +/obj/structure/chair/sofa/pew/left{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "chapel" + }, +/area/chapel/main) "yeT" = ( /obj/structure/cable{ icon_state = "1-2" @@ -163252,13 +165184,13 @@ }, /area/toxins/server) "ygG" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 6 - }, /obj/machinery/light/small{ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "darkred" @@ -163273,7 +165205,7 @@ dir = 6; icon_state = "vault" }, -/area/chapel/main) +/area/chapel/massdriver) "ygI" = ( /obj/machinery/door/firedoor, /obj/effect/decal/warning_stripes/yellow, @@ -163486,7 +165418,7 @@ /turf/simulated/floor/plating, /area/maintenance/electrical) "yhM" = ( -/obj/structure/chair/office{ +/obj/structure/chair{ dir = 4 }, /obj/structure/sign/poster/contraband/grey_tide{ @@ -163518,6 +165450,7 @@ /obj/item/clothing/gloves/combat, /obj/item/clothing/mask/gas/syndicate, /obj/item/kitchen/knife/combat/survival, +/obj/item/suppressor, /turf/simulated/floor/plating, /area/maintenance/apmaint) "yip" = ( @@ -163590,6 +165523,10 @@ icon_state = "white" }, /area/medical/ward) +"yjj" = ( +/obj/structure/flora/ausbushes/reedbush, +/turf/simulated/floor/grass, +/area/maintenance/garden) "yjl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -163738,7 +165675,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/simulated/floor/engine, +/turf/simulated/floor/engine{ + slowdown = -0.3 + }, /area/hallway/primary/central) "ykB" = ( /obj/machinery/recharge_station, @@ -179980,7 +181919,7 @@ tkq tkq tkq tkq -rSe +eIe eIe tkq eIe @@ -180231,13 +182170,13 @@ tkq tkq tkq tkq -tkq -tkq -tkq -tkq -tkq -tkq +lBr +lBr +lBr eIe +lBr +lBr +lBr eIe ocY ocY @@ -180488,13 +182427,13 @@ tkq tkq tkq tkq +eIe +eIe +eIe +vte +eIe tkq -tkq -tkq -tkq -tkq -tkq -lBr +eIe eIe ocY iBD @@ -180745,16 +182684,16 @@ tkq tkq tkq tkq -tkq -tkq -tkq -tkq -tkq -tkq +lBr eIe -tkq +dFQ +lqY +dFQ +dFQ +dFQ +dFQ ocY -mWj +pWd eCk fAb wlg @@ -180995,21 +182934,21 @@ eIe lBr lBr lBr -eIe -lBr -lBr -lBr -eIe -lBr lBr +iuf +tkq +iuf lBr lBr eIe lBr tkq -tkq -lBr -eIe +dFQ +qOG +pOS +dFQ +gAb +cKa ocY kbT qfb @@ -181252,21 +183191,21 @@ tkq eIe eIe tkq -tkq eIe -tkq -tkq -eIe -tkq +iuf +ezI +iuf eIe tkq eIe tkq eIe -eIe -lBr -lBr -tkq +dFQ +ptP +dFQ +dFQ +tiT +jnG ocY eLr mwG @@ -181512,18 +183451,18 @@ tSU qwc bxz fbg -oPv -bxz -bxz -bxz bxz +fjf +oPv bxz -gAb +dFQ +dFQ +dFQ qBV -eIe -tkq -eIe -tkq +hMh +qbi +tiT +jqb ocY vnM vnM @@ -181770,14 +183709,14 @@ oPd xzW bkx xmD -bxz +frL oSq -aok -jcp bxz -dFQ -how -dFQ +jcp +dgD +hMh +hMh +lmz cOv cOv cOv @@ -182025,16 +183964,16 @@ bCd vNi stX hov -stX +ojn tYA -bxz +stX jMH -qbi -pOS +bxz +jcp dgD -jqb -hlh -dtq +hMh +hMh +eSe cOv rhA rhA @@ -182286,11 +184225,11 @@ sNz xxs vtN bwt -mya -sMR bxz -suX -rDZ +sMR +hKO +xMp +hMh tlF cOv edT @@ -182546,8 +184485,8 @@ sGG sGG sGG sGG -lmz -rDZ +how +hMh suX cOv rhA @@ -182803,8 +184742,8 @@ rGy pFf kwv sGG -hMh -qOG +bSF +oCY hMh cOv vgO @@ -183037,18 +184976,18 @@ tkq tkq rSe eIe -kCc -kCc -mnl -kCc -kCc +bxz +bxz +bxz +bxz +bxz eAo suh dNs fIM fxa vHH -nuS +mnl bxz sMg wEJ @@ -183061,7 +185000,7 @@ dAZ gjh sGG hMh -rDZ +lmz hMh cOv rhA @@ -183294,11 +185233,11 @@ tkq tkq tkq eIe -kCc +bxz gBh bAV nuJ -frL +bxz lCp fIM fIM @@ -183551,7 +185490,7 @@ rSe eIe lBr eIe -kCc +bxz vyk aek wxG @@ -183808,16 +185747,16 @@ eIe tkq tkq eIe -kCc -kCc +bxz +fKM ris +rlz kCc kCc -bxz -aFN +mqs wJK -bxz -mnF +kCc +gLO lXM bxz sGG @@ -183889,7 +185828,7 @@ bKi aYM qYW lHU -ttn +dCH bYW tkq eIe @@ -184066,15 +186005,15 @@ eIe eIe eIe kCc -fjf -gLO -sOA +kCc +kCc +kCc kCc mVa qgf pwW ego -bxz +kCc rnr uhE sGG @@ -184113,7 +186052,7 @@ hKl jOC irs son -pSU +oEP jOC oak pPo @@ -184322,13 +186261,13 @@ eIe tkq tkq eIe -fKM +kCc lcj gxv fhc -kCc +sOA sSj -fIM +vtz pTe dXw tWh @@ -184579,10 +186518,10 @@ eIe tkq tkq eIe -kCc -kCc +udr +jWG lHD -kCc +dUj kCc nvF izO @@ -184864,7 +186803,7 @@ mMG npW wLs lyr -lVP +tUf hmk vtS kOs @@ -185098,11 +187037,11 @@ kCc kCc kCc kCc -bxz -bxz -bxz -bxz -bxz +kCc +kCc +kCc +kCc +kCc eiG pGR sGG @@ -185420,7 +187359,7 @@ psM ttn ttn seX -ttn +hmj ttn sgU ulX @@ -185610,7 +187549,7 @@ xYq qGf bHf aWy -ugu +pGo fDG fDG fDG @@ -185826,7 +187765,7 @@ pMY lrf hkd lNx -pGm +ldG oax kbL vXb @@ -185936,7 +187875,7 @@ ttn ttn jgD nQu -ttn +hmj ulX tgE nAO @@ -186109,7 +188048,7 @@ tkq tkq eIe eIe -tkq +eIe eIe ucR quA @@ -186365,7 +188304,7 @@ tkq tkq tkq eIe -tkq +eIe ucR gxN ucR @@ -186922,7 +188861,7 @@ kKA clX wpX rij -rEE +rxW rxW rxW aTR @@ -186937,11 +188876,11 @@ pYK gNr iFh fhv -dAF +kVT svF dAF dAF -pvk +cLB dAF lxp lRf @@ -186971,7 +188910,7 @@ ttn ttn eki tTP -ttn +hFd ttn psM ckW @@ -187437,7 +189376,7 @@ clX cpV pYy ePZ -ePZ +ryC ePZ ePZ ePZ @@ -187694,7 +189633,7 @@ rDn uWp jwA kNb -jEL +kNb jEL jEL jEL @@ -187980,7 +189919,7 @@ tkq thy gQA wmY -sfN +ifd gOM qnW blF @@ -188781,9 +190720,9 @@ ttn nwo wsu udY -xQs -qOO -pyi +oZp +dfe +vVy wsu kEy uCK @@ -189039,7 +190978,7 @@ jNq wsu lbN fZj -pcS +wsu wsu wsu nqt @@ -189265,7 +191204,7 @@ tkq thy aFf wmY -xiy +sfN qlo bvO gYh @@ -189520,7 +191459,7 @@ tkq tkq tkq thy -xFC +xiy wmY sfN hdy @@ -190574,7 +192513,7 @@ tiA sKc fDY fYt -nJe +gjt xKy rKs jCO @@ -190852,7 +192791,7 @@ xQs hUD pcS tkq -eIe +lBr tkq tkq tkq @@ -191087,11 +193026,11 @@ pyl fDY fDY fDY -nQu +gAS ttn bYW ksd -ttn +oAy evi evi wsu @@ -191109,7 +193048,7 @@ jOw eGy wsu eIe -lBr +eIe tkq tkq tkq @@ -191604,8 +193543,8 @@ nJe cXx nJe eDP -nJe -nJe +cvl +fhS xTj oVL nJe @@ -191623,7 +193562,7 @@ ttn bYW eIe eIe -eIe +lBr tkq tkq tkq @@ -191860,9 +193799,9 @@ qzc bYW kbA ttn -psM ttn -eXZ +ttn +ttn ttn pUn ttn @@ -191879,8 +193818,8 @@ fXy eXZ bYW eIe -lBr tkq +lBr tkq tkq tkq @@ -192117,7 +194056,7 @@ bYW lgX kbA ttn -uBa +psM ttn jNq ttn @@ -192136,8 +194075,8 @@ fXy ttn bYW eIe -lBr -tkq +eIe +eIe tkq tkq tkq @@ -192375,7 +194314,7 @@ cSJ kbA ttn ttn -ttn +efz ttn ttn jhB @@ -192652,8 +194591,8 @@ bYW bYW eIe lBr +lBr eIe -rSe lBr lBr eIe @@ -192674,7 +194613,7 @@ tkq tkq tkq lBr -eIe +lBr tkq tkq eIe @@ -193441,10 +195380,10 @@ rSe rSe rSe rSe -tkq +eIe rSe rSe -tkq +eIe eIe rGI rGI @@ -193889,7 +195828,7 @@ tkq tkq tkq dTS -hOz +lSD fDj iBU aHe @@ -195471,7 +197410,7 @@ rmx mQB fuX fuX -fuX +fCh fuX dKf fuX @@ -196459,7 +198398,7 @@ tkq tkq tkq dTS -hOz +lSD tlq xTw hhx @@ -197671,7 +199610,7 @@ gXW tdW bTG cFP -cFP +xtz jtE cjb txE @@ -198172,7 +200111,7 @@ tkq tkq eIe tkq -vjO +pAn pAn pAn pAn @@ -198471,7 +200410,7 @@ nRL ier ier ier -lVq +wtA fTD cGX jlb @@ -198696,7 +200635,7 @@ tDO pAn xBm jpO -qje +ggm gBD vzc gxC @@ -201098,7 +203037,7 @@ bua mFo mDJ gGW -sNf +wjn bua xHX aDI @@ -201352,7 +203291,7 @@ xJw vYv wnt aGG -vFR +tgA dZM vrH xWQ @@ -201608,8 +203547,8 @@ icB yep mYl rNI -yep tgA +dlr okL fgH sNf @@ -201770,10 +203709,10 @@ tkq tkq tkq tkq +tkq eIe eIe tkq -tkq eIe tkq eIe @@ -201864,12 +203803,12 @@ abP tDt yep ugL -mYl -yep -yep +wfm +iZx +edZ iKJ -bua -qQx +tLT +sNf bua jFG aDI @@ -202030,7 +203969,7 @@ tkq tkq tkq lBr -tkq +eIe eIe tkq tkq @@ -202119,26 +204058,26 @@ hqk aKR bEk pSy -hbx -hbx rZk -okL +hbx +qFH uKE +bua cRf -iZx -sNf +bua +qQx bua aDI aDI lTH vYf oGs -kbY exm -xhS +gKU +aDI lTH heh -gTr +jFG vhN uIF kLT @@ -202376,23 +204315,23 @@ tLk bua iek eby -okL +rLZ iWG rMj jDV -rLZ +bua mHJ bua hRc bua aDI jFG -hyb -gEI -aDI -exm -jFG -gKU +wNw +cJE +lTH +bDT +lTH +wNw cJE iwG aDI @@ -202600,7 +204539,7 @@ xOP rfk vuh wfZ -pKC +wfZ pKC pKC pKC @@ -202642,18 +204581,18 @@ bua bua nMS bua -gka +dQa aDI -wNw -cJE -lTH -bDT -lTH -wNw -cJE -heh +aDI +jFG aDI aDI +aDI +gka +jFG +heh +anF +gEI pWK eCz qno @@ -202856,16 +204795,16 @@ obz hgS oQW xZx -sVx uiv +sVx uiv uiv uiv aFk -uiv fyE uiv uiv +uiv thK dJK dJK @@ -202899,13 +204838,13 @@ anF jFG xJI rjZ -rjZ +xhS mne xrW rjZ rjZ mne -rjZ +gTr mne rjZ jfs @@ -203119,8 +205058,8 @@ jmX jmX jmX qPF -jmX dOx +fve jmX jmX eJP @@ -203155,18 +205094,18 @@ mRy vpp iTw gGw -jFG -aDI -aDI -aDI -jFG -aDI -aDI -dQa -aDI -jcD -kuC -aDI +cJE +cJE +myJ +cJE +hhW +hhW +hhW +cJE +myJ +cJE +cJE +tUE ior pWK hdj @@ -203209,7 +205148,7 @@ rDK dRr aoA ddi -rDK +dvO aoA ddi hmw @@ -203376,8 +205315,8 @@ kIw kIw nSH wkv -kIw pKv +ydn kIw rvm rcj @@ -203413,15 +205352,15 @@ nvM isK cJE cJE -cJE -myJ -cJE -hhW -hhW -hhW -cJE -myJ -cJE +eIe +eIe +eIe +eIe +eIe +eIe +eIe +eIe +eIe pWK pWK pWK @@ -204217,8 +206156,8 @@ mMy lON dvj pWK -jll -jll +qwG +qFi jqO jll iIW @@ -204641,7 +206580,7 @@ cPC ofz qcE lyx -lfG +uBa dcq dcq dcq @@ -206017,7 +207956,7 @@ xXx pWK pWK eIe -tkq +eIe tkq tkq tkq @@ -206166,7 +208105,7 @@ oOM wWd xMj qBQ -lEo +ggd lEo lEo cbB @@ -206507,7 +208446,7 @@ wuh wuh rSe rSe -tkq +eIe rSe eIe xXx @@ -206527,8 +208466,8 @@ aSY rMb xXx eIe -tkq -tkq +eIe +eIe rSe rSe rSe @@ -207536,7 +209475,7 @@ eIe eIe tkq tkq -tkq +eIe eIe pWK pWK @@ -209597,7 +211536,7 @@ osb laS eIe eIe -tkq +eIe tkq tkq tkq @@ -210368,7 +212307,7 @@ kBa pyF lWk eIe -tkq +eIe tkq tkq tkq @@ -212106,9 +214045,9 @@ hjv xjC ujn yiU -efd +lto fjp -efd +lto ulx fxL ugC @@ -214937,8 +216876,8 @@ ibo cxn hRb hRb -ulx -jKe +ibo +nFO fti kcL gVE @@ -215194,7 +217133,7 @@ bUe lLp hRb eOZ -ulx +ibo qiC rnu gjV @@ -215451,7 +217390,7 @@ xav uXa qEE vkH -ulx +ibo jKe rwA kcL @@ -215708,7 +217647,7 @@ ibo pLe dZk vkH -ulx +ibo kmZ rwA ifZ @@ -238850,15 +240789,15 @@ bkc bkc bkc sLA -bkc +uJG wTd sLA wTd sLA -bkc +uJG sLA sLA -bkc +uJG bkc bkc bkc @@ -239108,18 +241047,18 @@ bkc sLA sLA uJG +bkc uJG +bkc uJG uJG -uJG -uJG -uJG +bkc uJG uJG ngN ngN -bkc -bkc +uJG +uJG bkc bkc bkc @@ -239357,13 +241296,13 @@ bkc bkc sLA sLA -bkc +uJG sLA sLA sLA uJG uJG -uJG +bkc uJG jKG iXN @@ -239373,7 +241312,7 @@ ptL oLX jKG uJG -uJG +bkc uJG uJG ngN @@ -239614,9 +241553,9 @@ bkc bkc sLA uJG +bkc uJG -uJG -uJG +bkc uJG uJG jKG @@ -239869,7 +241808,7 @@ bkc bkc bkc bkc -bkc +uJG uJG jKG iAa @@ -239891,7 +241830,7 @@ jqG jKG uJG uJG -bkc +uJG bkc bkc bkc @@ -240127,7 +242066,7 @@ bkc bkc bkc sLA -uJG +bkc jKG naa vDU @@ -240382,7 +242321,7 @@ bkc ngN ngN ngN -bkc +uJG sLA uJG jKG @@ -240404,7 +242343,7 @@ fuE uCv jKG fvL -bkc +uJG ngN bkc bkc @@ -240639,7 +242578,7 @@ bkc ngN uJG uJG -uJG +bkc uJG uJG jKG @@ -240649,7 +242588,7 @@ ijH aGm jKG mxI -pWX +oKn fbq uCw eap @@ -240661,7 +242600,7 @@ pWX aJw jKG fvL -uJG +bkc uJG bkc bkc @@ -240894,7 +242833,7 @@ bkc bkc bkc ngN -uJG +bkc nNF nNF nNF @@ -240907,9 +242846,9 @@ jKG jKG nNv rTJ -rTJ -rTJ -rTJ +dgS +dgS +dgS xFD dgS dgS @@ -240918,7 +242857,7 @@ dgS mll jKG fvL -bkc +uJG ngN bkc bkc @@ -241149,8 +243088,8 @@ bkc bkc ngN ngN -bkc -bkc +uJG +uJG uJG nNF txs @@ -241175,7 +243114,7 @@ jpI kZm jKG fvL -uJG +bkc ngN bkc bkc @@ -241407,7 +243346,7 @@ bkc ngN uJG uJG -uJG +bkc uJG nNF tfW @@ -241661,7 +243600,7 @@ bkc bkc bkc bkc -bkc +uJG uJG nNF nNF @@ -241689,7 +243628,7 @@ kmU qtJ jKG uJG -uJG +bkc bkc uJG bkc @@ -241919,7 +243858,7 @@ bkc bkc bkc ngN -uJG +bkc nNF wZC xId @@ -242688,7 +244627,7 @@ bkc bkc bkc bkc -bkc +uJG uJG xoL xoL @@ -242946,7 +244885,7 @@ bkc bkc bkc ngN -uJG +bkc xoL ajW xoL @@ -243460,7 +245399,7 @@ bkc bkc bkc ngN -uJG +bkc xoL ajW xoL @@ -243716,7 +245655,7 @@ bkc bkc bkc bkc -bkc +uJG uJG xoL ajW @@ -243974,7 +245913,7 @@ bkc bkc bkc ngN -uJG +bkc xoL ajW xoL @@ -244015,7 +245954,7 @@ hcX ueH jsA uJG -bkc +uJG bkc bkc bkc @@ -244230,7 +246169,7 @@ bkc bkc bkc bkc -bkc +uJG uJG xoL ajW @@ -244488,7 +246427,7 @@ bkc bkc bkc ngN -uJG +bkc xoL ajW xoL @@ -245001,19 +246940,19 @@ bkc bkc bkc bkc -bkc uJG +bkc xoL ajW xoL oMu sfk -sfk -sfk +mhj +tpw bhh fvn gHq -hmj +dmu xoL uck eJG @@ -245032,7 +246971,7 @@ vbS gKt xmI dWi -mct +jmY aDA xAy vmF @@ -245290,7 +247229,7 @@ cTX egQ ldl gEV -jmY +mct xbz cIK jHI @@ -245515,14 +247454,14 @@ bkc bkc bkc bkc -bkc +uJG uJG xoL ajW xoL gEx -mYe -mYe +ovd +uJX mYe qtN tIW @@ -245766,9 +247705,9 @@ bkc bkc bkc bkc +bkc sLA sLA -uJG sLA sLA uJG @@ -246023,13 +247962,13 @@ bkc bkc bkc bkc -sLA -uJG -uJG +bkc uJG uJG +bkc uJG uJG +bkc uJG uJG jHy @@ -246280,7 +248219,8 @@ bkc bkc bkc bkc -uJG +bkc +ngN uJG rzS rzS @@ -246288,7 +248228,6 @@ rzS rzS rzS rzS -rzS jHy kEO iXG @@ -246321,13 +248260,13 @@ xAy xAy xAy uJG -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf jEv -wuh -wuh +bXf +bXf uJG uJG cYe @@ -246531,19 +248470,19 @@ uJG ngN ngN ngN -uJG -ngN -ngN ngN uJG +bkc +uJG ngN ngN uJG +ngN +bkc rzS gHR wFz czo -czo ygG kUw jHy @@ -246578,23 +248517,23 @@ qEX pjI asI uJG -wuh -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf +bXf uJG -wuh -wuh -wuh -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf +bXf +bXf +bXf uJG uJG uJG @@ -246788,21 +248727,21 @@ bkc uJG uJG bkc -bkc uJG -bkc +uJG bkc uJG +uJG bkc uJG bkc +uJG rzS sDU -lqY +hlh dQY -tiT alP -kcV +lwL rzS wrz wrz @@ -246835,23 +248774,23 @@ tcn vmD aGc uJG -wuh -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf +bXf uJG -wuh -wuh -wuh -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf +bXf +bXf +bXf uJG fvL fvL @@ -247051,13 +248990,13 @@ mPK mPK mPK mPK +bSt mPK mPK rzS oar keF vIl -ezI dpQ kcV rzS @@ -247092,23 +249031,23 @@ xrE uTI asI uJG -wuh -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf +bXf uJG -wuh -wuh -wuh -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf +bXf +bXf +bXf uJG fvL kdb @@ -247309,12 +249248,12 @@ bSt mDO mSP ama -xMp +kPs +kPs rzS noH aMO aMO -eSe oOA cOS rzS @@ -247349,23 +249288,23 @@ vvJ hGB asI uJG -wuh -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf +bXf uJG -wuh -wuh -wuh -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf +bXf +bXf +bXf fvL fvL fvL @@ -247564,27 +249503,27 @@ gnI wut bSt jWz -vte -ptP +vYm +pof +kPs kPs rzS fNN fYS fMe -rzS dNd rzS rzS fkD pTl dCj -sVG +jHy dRE eNC xey viK fJx -sVG +jHy fKV tka kWp @@ -247606,23 +249545,23 @@ oZD xOi asI uJG -wuh -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf +bXf uJG -wuh -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf +bXf evW -wuh -wuh +bXf +bXf fvL kdb kdb @@ -247820,15 +249759,15 @@ kGq aFJ iyK bSt -vYm +jOz xNB -amE -dYK +jjR +kPs +kPs rzS -bSF +aok hMq yaw -mQk kwG ohy bFy @@ -248081,11 +250020,11 @@ pMx mfx xmr oFH +etN rzS -jOz +mQk kVV aLJ -jjR jmO lYF mlg @@ -248337,12 +250276,12 @@ hKj xTe pyy rxN +mya hnU rzS ohi ruz rEd -jnG uxF kch aCQ @@ -248594,12 +250533,12 @@ pfP bqo xqa dbx +dYK obP rzS wAY -ojn +uNf exG -kYo hwt gSZ wHo @@ -248852,7 +250791,7 @@ pfP mPK btV pfP -rzS +mPK rzS rzS rzS @@ -248914,7 +250853,7 @@ nxU sZA sef uJG -bkc +uJG bkc bkc bkc @@ -249869,7 +251808,7 @@ yev khC lRC vpN -lFD +pWF jtj dcL jtj @@ -250147,15 +252086,15 @@ xWH cCL dlD trZ -cXR +xzQ kYp lRi -wot +vTl gcH -hqo -lRi -nOM bmP +lRi +kYp +xzQ rAz dlD gIB @@ -250904,7 +252843,7 @@ lUo rJp sJt lRC -rCY +kct yev yev yev @@ -250925,8 +252864,8 @@ vTl vZU hqo lRi -nOM -cDr +kYp +uWF tNj dlD pvc @@ -251235,9 +253174,9 @@ bkc bkc bkc bkc -wuh -wuh -wuh +bXf +bXf +bXf bkc bkc bkc @@ -251392,7 +253331,7 @@ ngN uJG gto rhR -pve +iOm mBW dLa jEj @@ -251418,7 +253357,7 @@ xlU shG sJt qgm -lRC +rEE yev aKx dLa @@ -251491,11 +253430,11 @@ bkc bkc bkc bkc -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf bkc bkc bkc @@ -251748,11 +253687,11 @@ ngN ngN ngN bkc -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf bkc bkc bkc @@ -252005,11 +253944,11 @@ uJG uJG uJG bkc -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf bkc bkc bkc @@ -252262,11 +254201,11 @@ kmy cRI cRI bkc -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf bkc bkc bkc @@ -252485,14 +254424,14 @@ uGl mvk jaa mvk -vXK -arE -arE -arE +mvk +mvk +mvk +mvk rJG lWn fJq -cqZ +pvk fBg fBg fBg @@ -252520,17 +254459,17 @@ pEe cRI cRI wsu -wuh +bXf qev -wuh +bXf wsu bkc uJG uJG -wTd -wTd +sLA +sLA uJG -wTd +sLA uJG sLA sLA @@ -252741,15 +254680,15 @@ iyd rXH iyd qcz -fnc -lpF -arE -arE -arE -lFo -ivW -ugJ -ivW +vXK +vXK +vXK +tku +vXK +pmm +qAM +kPp +qJP fBg qQY iwb @@ -252968,8 +254907,8 @@ sCs eNt bfp wIv -frh -uol +ivf +xxO dLa myO xoV @@ -252999,14 +254938,14 @@ cGn qGE aop fnc -lpF -arE -arE -arE -lFo +fnc +fnc +fnc +fnc +nUf ivW ugJ -ivW +pvk qub uMk gtN @@ -253257,13 +255196,13 @@ mHk aop mrC gAz -ejy -arE -tGl +iuS +iuS +iuS jFd wTS oGz -ivW +pvk csh xDx uHJ @@ -253279,7 +255218,7 @@ ieI gtF otn kZy -wUw +fQX chE ddQ bbZ @@ -253476,7 +255415,7 @@ dDu cCL uRm aAz -dvq +ekJ dvq dvq xtI @@ -253520,7 +255459,7 @@ arE lFo ivW vmf -ivW +pvk aFr jeV fpz @@ -253733,7 +255672,7 @@ dDu jKZ pve pve -frh +wJM pve fJX bNO @@ -253793,7 +255732,7 @@ orm kfz xKb thB -wre +dcl xic ddQ oqM @@ -253805,7 +255744,7 @@ uXt eOs wsu wsu -pcS +wsu iEi mJw wsu @@ -253819,7 +255758,7 @@ wsu uJG ngN uJG -wTd +sLA bkc bkc bkc @@ -254291,7 +256230,7 @@ arE jFd uDc ugJ -ivW +pvk fBg rOC rCX @@ -254333,7 +256272,7 @@ wsu wsu uJG uJG -wTd +sLA bkc bkc bkc @@ -254548,7 +256487,7 @@ arE lFo ivW ugJ -ivW +pvk fBg ryM lgx @@ -254819,7 +256758,7 @@ btM syu gVD bbZ -wre +fBy mVH bRV wre @@ -255062,7 +257001,7 @@ arE lFo ivW ugJ -ivW +pvk bXo aeK xyr @@ -255336,7 +257275,7 @@ awC xRZ pWi wUw -wre +fBy ihn xXG aiQ @@ -255576,7 +257515,7 @@ arE lFo ivW pUd -ivW +pvk bXo apH fvM @@ -255594,7 +257533,7 @@ xRZ wre wCs rhi -wUw +xhp uhC cPv tUk @@ -256090,7 +258029,7 @@ arE lFo ivW ugJ -ivW +pvk bXo mCQ kJp @@ -256108,7 +258047,7 @@ hoH mTa mqL jYH -wre +fBy awC ibR jAH @@ -256604,7 +258543,7 @@ arE lFo ivW ugJ -ivW +pvk baL baL baL @@ -257118,7 +259057,7 @@ arE lFo ivW ugJ -ivW +pvk lWG mgf aPP @@ -257365,7 +259304,7 @@ tqz tuW tuW tuW -mHk +jFO aop kxH gAz @@ -257375,7 +259314,7 @@ tGl jFd rIc ugJ -ivW +pvk lWG deS fCq @@ -257827,7 +259766,7 @@ lbB hCH hHJ brM -pYS +aNX ihk fGh boP @@ -257889,7 +259828,7 @@ tMg lFo ivW ugJ -ivW +pvk odS ybD qKH @@ -258146,7 +260085,7 @@ tMg lFo ivW ugJ -ivW +pvk odS mgf aPP @@ -258403,7 +260342,7 @@ tMg jFd oZE ugJ -ivW +pvk wGw deS gaj @@ -258644,7 +260583,7 @@ fvL bkc bkc bkc -bkc +fvL bkc bkc bkc @@ -258660,7 +260599,7 @@ tMg lFo ivW ugJ -ivW +pvk baL baL baL @@ -258917,7 +260856,7 @@ tMg lFo ivW kds -ivW +cqZ gjd sOJ hTz @@ -259191,7 +261130,7 @@ baL baL aJc aJc -aJc +hhB aJc mJT vyJ @@ -259355,7 +261294,7 @@ fvL fvL hKA kCp -jZN +nwG kCp uMw ppW @@ -260382,7 +262321,7 @@ kCp kGY hKA nxY -qNY +kCp hJs uMw daU @@ -260493,12 +262432,12 @@ imS lPj fyh nxD -bIu +hVn fyh fMX mze hgq -fyh +bIu dgs brJ xsB @@ -261999,9 +263938,9 @@ tMg tMg tMg hug -ifd +ukK khN -juQ +ukK wwZ azk sOJ @@ -262033,7 +263972,7 @@ xMH mze cZV mNa -mNa +pSb fqA mNa mNa @@ -262289,14 +264228,14 @@ xKT eKz sBh qYz -sBh -pSb -mze -sBh +mNa +qDy +xGC +mNa jNK bzv jBe -ijm +mlt sBh bkc bkc @@ -262453,7 +264392,7 @@ woE mmc wsA qCF -pYS +fps ihk fGh qEA @@ -262546,9 +264485,9 @@ ipS eKz jsl soQ -xGC mze -hVn +mze +mze sBh wAN xrL @@ -262708,7 +264647,7 @@ aFR ges npi rsU -rsU +vdg qCF iOP ihk @@ -262756,7 +264695,7 @@ fvL bkc bkc bkc -bkc +fvL bkc bkc bkc @@ -262769,7 +264708,7 @@ jKC tMg tMg tMg -tku +gec ukK ngs gmY @@ -262809,7 +264748,7 @@ fYa aSx fKh ijm -ijm +seH hVn aKO bkc @@ -263283,7 +265222,7 @@ jKC tMg tMg tMg -wRE +gec ukK ngs cWq @@ -263481,7 +265420,7 @@ lpY snI skE qCF -pYS +mXr ihk kjR mpH @@ -263797,7 +265736,7 @@ jKC sJR sJR sJR -tku +gec ukK ngs gmY @@ -264311,7 +266250,7 @@ jKC sJR sJR sJR -wRE +gec ukK inq wqk @@ -264825,7 +266764,7 @@ jKC sJR sJR sJR -tku +gec ukK eHI gmY @@ -265116,7 +267055,7 @@ eMm hfz uxP lTd -pAZ +ctD dHw jLH trW @@ -265339,7 +267278,7 @@ jKC sJR sJR sJR -wRE +gec ukK eHI gmY @@ -265853,7 +267792,7 @@ jKC sJR sJR sJR -tku +gec ukK ioI hAJ @@ -265875,7 +267814,7 @@ jFL baa cCD foY -qWo +fZu hlb jhW bGG @@ -266046,7 +267985,7 @@ klY oSY phm bci -nOX +cpg pTU gTm sGT @@ -266105,7 +268044,7 @@ bkc dPJ ajv xqA -rCd +emp uMt vXd sJR @@ -266134,7 +268073,7 @@ nlt eJB qWo nzv -qWo +kjI eYr iik mze @@ -266367,7 +268306,7 @@ jKC sJR sJR sJR -wRE +gec ukK buw gmY @@ -266390,7 +268329,7 @@ qHX fSw lLh cgD -qWo +dxq oOi qeC blB @@ -266646,8 +268585,8 @@ jFL cYx hmS wsH -qWo -qWo +oPt +nms qWo oDB bGG @@ -266881,7 +268820,7 @@ jKC sJR sJR sJR -tku +gec ukK buw gmY @@ -267145,9 +269084,9 @@ gmY aTC kuR cMB -cMB +tJq ihO -cMB +etQ mgn etQ etQ @@ -267160,10 +269099,10 @@ hfp mze mze dUM +vAn qWo qWo -qWo -qWo +bWi bGG nBL eQH @@ -267395,14 +269334,14 @@ jKC sJR sJR sJR -wRE +gec ukK xYI grf jFL +xek jFL jWR -jWR jFL jWR hJq @@ -267426,7 +269365,7 @@ rwK fDO dHw tQW -pAZ +ctD eaz lHs iXR @@ -267657,14 +269596,14 @@ rQO quw tnW jFL -tJq +bGQ stL iAN fLX -xOe -odQ otm +odQ otm +xOe iOW jFL fLM @@ -267674,9 +269613,9 @@ xia mze mze bGG +yjj qWo -qWo -qWo +jVi jhW qQn bnw @@ -267909,19 +269848,19 @@ jKC sJR sJR sJR -tku +gec ukK eZN uui jFL bGQ -kMo +bGQ +pyk kMo wXl -wHj sLZ nZz -cMB +kMo uCN jWR kSA @@ -268163,24 +270102,24 @@ ajv xqA cvg uMt -vXd -sJR -dGn +rRp +rRp +rRp hXg rKb wmX -gmY +awK jFL kFL +bRc +fBr kMo kMo +aKJ kMo kMo -aKJ xwB -jFL -qYa -jWR +ooX fLM qJA jFL @@ -268419,24 +270358,24 @@ aaj slZ xqA fEy -jKC -sJR -sJR -sJR -wRE -ukK +fEy +fEy +fEy +fEy +sVv ukK +juQ gmY -jFL +aTC bRX egz uzo -ooX +ujT ujT ucP -qNX -jWR -pbA +kMo +qYa +jqW jWR lva iYb @@ -268675,26 +270614,26 @@ dHG cdB dHG tbm -fEy -jKC -sJR -sJR -sJR -gec -ukK -ukK +wRE +wRE +wRE +wRE +wRE +ebq +itY +gND gmY -jFL kDD +ewV kMo duz -jFL -jWR -dcD -jWR -jWR +kMo +kMo +kMo +qYa +qNX pbA -jWR +jFL mIg sTM jFL @@ -268711,14 +270650,14 @@ sBh sBh qkA sBh -sBh +pBJ sBh sBh sBh dQn uoz sBh -sBh +pBJ sBh uoz sBh @@ -268933,20 +270872,20 @@ rDj dMD dMD dMD -jFO -sJR -sJR -sJR +dMD +dMD +dMD +dMD rCn xfV xfV cwu -jFL +aTC rSc jFR hzd sBQ -gMD +jvf meT gMD gmd @@ -269653,7 +271592,7 @@ upm eYK gTN xgf -mjT +lgM gIS efu cFH @@ -270448,16 +272387,16 @@ gab bkr urL iJr +vnH jrc jrc -jrc -ryD +rtD hfj xOw bqm aPU htm -qpG +yeR jrc eIO cUD @@ -270687,7 +272626,7 @@ bTE eXp ggb jVu -aQG +kYo qwv fWk eXp @@ -270965,13 +272904,13 @@ xxH xxH wdF jrc -ryD -qpG +rtD +yeR iUn qOC iUn -ryD -qpG +rtD +yeR jrc eIO cUD @@ -271443,8 +273382,8 @@ bkc rrU oHb tiy -dfe -omG +pdg +pdg qBM rrU qMI @@ -271473,8 +273412,8 @@ nOX phm xxH mEB -rki -xSM +irY +ezg txh xxH eIO @@ -272240,9 +274179,9 @@ fIT ccA fIT lZs -nMr +dnh qBx -nMr +dYX nMr ojQ vLI @@ -272266,7 +274205,7 @@ wBY bQg klB mmn -seH +cqJ cqJ cSB cSB @@ -272499,7 +274438,7 @@ nyx qIC nyx xxH -pyM +mio txh rki jYz @@ -272742,21 +274681,21 @@ lIq lIq nOX mHg -xxH -xxH -xxH +kqy +kqy +kqy qrm wXi -xxH -xxH -xxH -eVD -eVD +kqy +kqy +kqy +ijt +ijt uRu hSx -eVD -eVD -eVD +ijt +ijt +ijt spd rRE bKU @@ -272999,21 +274938,21 @@ sSR nTo pni kql -xxH +kqy uVm cHN sEN jHq cpb tqr -xxH +kqy huY mPn cJT mmJ vuI avO -eVD +ijt aUU kTg jGm @@ -273212,7 +275151,7 @@ tHM tHM lqg elc -iGd +hxM iGd eRL vcL @@ -273256,35 +275195,35 @@ pcL nOX nOX mHg -xxH +kqy grU sEN sEN jHq sEN mfw -xxH +kqy iJP -eIO +bDb ddg vtp -eIO +bDb mhJ -eVD +ijt qjp hQY mQF -rki +oRJ xxH eVD eVD +bmb eVD eVD eVD eVD eVD -eVD -eVD +bmb eVD eVD eVD @@ -273513,7 +275452,7 @@ pTU pTU nOX jSZ -xxH +kqy aCP sEN jjV @@ -273525,9 +275464,9 @@ eSU eSU eSU eHF -eIO +bDb mhJ -eVD +ijt xZX fvc rwJ @@ -273770,21 +275709,21 @@ cRi gvT mDV xTQ -xxH +kqy grU sEN sEN iWr sEN qym -xxH +kqy cjM ubt ssu -hxi -eIO -mhJ -eVD +scq +dAX +wQi +ijt qAL ikK kKi @@ -274027,21 +275966,21 @@ phm phm pcL nOX -xxH +kqy lJL xQE pwo hjr pvE wBP -xxH +kqy qjN niE caz hxi -eIO +bDb ygH -eVD +ijt xxH xxH xxH @@ -274284,21 +276223,21 @@ fgX fgX pTU pTU -xxH -xxH -xxH -xxH -xxH -xxH -xxH -xxH -eVD -eVD -eVD +kqy +kqy +kqy +kqy +kqy +kqy +kqy +kqy +ijt +ijt +ijt hxi -eIO +bDb tAj -eVD +ijt tUm gdY kIp @@ -274544,7 +276483,7 @@ uJG uJG uJG uJG -eVD +ijt lCs osk qRE @@ -274554,8 +276493,8 @@ qWI tns twE bDb -mhJ -eVD +wDL +ijt nJa llW yel @@ -274580,7 +276519,7 @@ uUw uUw uUw gzW -rgA +umr uUw fVa hZY @@ -274801,18 +276740,18 @@ cYe cYe cYe cYe -kjl +nYP xaI vsd jFs atN wDO -sMB -eVD +wmn +ijt mOQ -eIO +bDb ihh -eVD +ijt wWg ntw nim @@ -275067,9 +277006,9 @@ ist fzB rOT dWV -eIO +ybv mhJ -eVD +ijt mxu ubd spv @@ -275315,18 +277254,18 @@ cYe cYe cYe cYe -kjl +nYP bqr cee lDc idI cvV sMB -eVD +ijt xVY -eIO +bDb mhJ -eVD +ijt lXW lra kIp @@ -275572,18 +277511,18 @@ bkc uJG bkc bkc -eVD +ijt eKy fDT kUd vEe ixi wvB -eVD +ijt idr xJG gDB -eVD +ijt ddN rvs uUw @@ -275829,18 +277768,18 @@ fvL fvL fvL fvL -eVD -eVD -eVD -eVD -eVD -eVD -eVD -eVD -eVD -eVD -eVD -eVD +ijt +ijt +ijt +ijt +ijt +ijt +ijt +ijt +ijt +ijt +ijt +ijt uUw uUw uUw @@ -276616,7 +278555,7 @@ bio wXI pci dvK -dvK +dUZ pci dvK uNw @@ -276867,7 +278806,7 @@ xBD sld hBP bio -pNb +bjD eVl jkv bIC @@ -276879,7 +278818,7 @@ xkK tJJ pci pLd -vuF +thc dvK pci dvK @@ -276918,7 +278857,7 @@ mIb tBq tff czJ -cdd +fPV nLv nCj nLv @@ -277129,9 +279068,9 @@ iup bio sld uUw +qHS uUw -uUw -uUw +dTH pci tpe dTH @@ -277387,8 +279326,8 @@ bio wXI aYZ xij -uYI -qsm +tLm +jfx dvK tpe uUw @@ -277895,15 +279834,15 @@ sld bio cwK mBe -pNb +omG vNX rMz sld nvm -uYI -uYI +tLm +tiq qsm -vuF +eQx tpe uUw fPn @@ -278152,7 +280091,7 @@ pgs lWI jOs sld -pNb +mCK oqc ueD sld @@ -278163,7 +280102,7 @@ uUw fRz sFK uUw -uUw +dTH weL uUw uUw @@ -278415,7 +280354,7 @@ bio wXI hfk uYI -uYI +tLm xZm dvK tpe @@ -278926,7 +280865,7 @@ tdn jmQ iqW fVo -pbq +xnc flP gzl uUw @@ -278935,7 +280874,7 @@ dvK tpe vuF pci -pci +hZu vuF lMA uUw @@ -281253,8 +283192,8 @@ vTB vTB vTB iAw -izA -izA +eFF +eFF iAw fsE jCI @@ -283810,9 +285749,9 @@ heE heE heE vTB -wuh +bXf wta -wuh +bXf vTB bkc fvL @@ -284066,11 +286005,11 @@ qGV dYv veL heE -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf bkc fvL kdb @@ -284323,11 +286262,11 @@ vLu aTK qsW heE -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf bkc fvL kdb @@ -284580,11 +286519,11 @@ uOA dmy veL heE -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf bkc fvL kdb @@ -284681,6 +286620,7 @@ kUq vNO wSw sLA +ngN uJG sLA sLA @@ -284727,7 +286667,6 @@ bkc bkc bkc bkc -bkc "} (216,1,2) = {" bkc @@ -284837,11 +286776,11 @@ heE heE heE heE -wuh -wuh -wuh -wuh -wuh +bXf +bXf +bXf +bXf +bXf bkc fvL kdb @@ -284939,6 +286878,7 @@ vNO mpD vet vet +vet kVS uJG sLA @@ -284984,7 +286924,6 @@ bkc bkc bkc bkc -bkc "} (217,1,2) = {" bkc @@ -285095,9 +287034,9 @@ uJG bkc uJG bkc -wuh -wuh -wuh +bXf +bXf +bXf bkc fvL fvL @@ -285185,7 +287124,7 @@ uJG tXL tXL tXL -uJG +tXL uJG uJG uJG @@ -285193,6 +287132,7 @@ uJG uJG kUq bHU +mcT bVc bVc bVc @@ -285241,7 +287181,6 @@ bkc bkc bkc bkc -bkc "} (218,1,2) = {" bkc @@ -285445,12 +287384,13 @@ tXL tXL tXL tXL +tXL aAp bkc bkc -bkc vKV eTm +eTm vKV fUm tVj @@ -285498,7 +287438,6 @@ bkc bkc bkc bkc -bkc "} (219,1,2) = {" bkc @@ -285697,6 +287636,7 @@ tXL tXL tXL tXL +tXL weZ tXL tXL @@ -285755,7 +287695,6 @@ bkc bkc bkc bkc -bkc "} (220,1,2) = {" bkc @@ -285951,6 +287890,7 @@ alj alj tXL azJ +cgz bAf tXL lpw @@ -286012,7 +287952,6 @@ bkc bkc bkc bkc -bkc "} (221,1,2) = {" bkc @@ -286209,6 +288148,7 @@ nFp tXL fQg uuN +uuN uZd uuN uuN @@ -286269,7 +288209,6 @@ bkc bkc bkc bkc -bkc "} (222,1,2) = {" bkc @@ -286439,13 +288378,13 @@ iqK iqK iqK iqK -hPs -hPs -hPs -hPs -hPs -hPs -hPs +hBC +hBC +hBC +hBC +hBC +hBC +hBC mRg mRg mRg @@ -286471,9 +288410,10 @@ nHa mwk swI uHe -cgz dBr -qQJ +uuN +wHj +tXL tXL tXL tXL @@ -286526,7 +288466,6 @@ bkc bkc bkc bkc -bkc "} (223,1,2) = {" bkc @@ -286696,13 +288635,13 @@ nUo blK wCX qBf -hPs -hPs +hBC +hBC kdv wMZ saL -hPs -hPs +hBC +hBC uht uht vEb @@ -286730,6 +288669,7 @@ eYy dxb eYy eYy +swm alh pQj tXL @@ -286783,7 +288723,6 @@ bkc bkc bkc bkc -bkc "} (224,1,2) = {" bkc @@ -286953,13 +288892,13 @@ vOX bJz lhf hNL -hPs +hBC eoO nvR -dqM +qNY pxG vQd -hPs +hBC lrh mfy bTQ @@ -286983,6 +288922,7 @@ swI dlQ kqz gDw +bBs xYH nMc inj @@ -287040,7 +288980,6 @@ bkc bkc bkc bkc -bkc "} (225,1,2) = {" bkc @@ -287210,13 +289149,13 @@ jWS mKl mKl rlg -hPs +hBC gjA -dbP +kCy bNE -uYu +gkR pzK -hPs +hBC lvm lvm grM @@ -287240,6 +289179,7 @@ swI faA tNm iGZ +ohI tNm tNm soF @@ -287297,7 +289237,6 @@ bkc bkc bkc bkc -bkc "} (226,1,2) = {" bkc @@ -287497,6 +289436,7 @@ cux bzx tNm gYE +fTL lZX tNm gSd @@ -287554,7 +289494,6 @@ bkc bkc bkc bkc -bkc "} (227,1,2) = {" bkc @@ -287724,13 +289663,13 @@ jWS mKl mKl gBH -hPs +hBC qSz cdo eOV qDg ufB -hPs +hBC uTE uTE mVF @@ -287754,6 +289693,7 @@ swI mvU tNm mIu +ldZ tNm tNm pVK @@ -287811,7 +289751,6 @@ bkc bkc bkc bkc -bkc "} (228,1,2) = {" bkc @@ -287981,13 +289920,13 @@ nrj oWE rzI cxX -hPs +hBC cpJ eKM -dqM +qNY gfK wcF -hPs +hBC nBI vwV aPT @@ -288011,6 +289950,7 @@ swI suK kqz uqh +lcB xYH nMc qcV @@ -288068,7 +290008,6 @@ bkc bkc bkc bkc -bkc "} (229,1,2) = {" bkc @@ -288238,13 +290177,13 @@ cBD iJU wCX gke -hPs -hPs +hBC +hBC hQp sXu wtP -hPs -hPs +hBC +hBC uht uht hgi @@ -288272,6 +290211,7 @@ oHL jJM eYy eYy +smD gKX erC tXL @@ -288325,7 +290265,6 @@ bkc bkc bkc bkc -bkc "} (230,1,2) = {" bkc @@ -288495,13 +290434,13 @@ iqK iqK iqK iqK -hPs -hPs -hPs -hPs -hPs -hPs -hPs +hBC +hBC +hBC +hBC +hBC +hBC +hBC mRg mRg mRg @@ -288527,9 +290466,10 @@ nHa joi swI ajO -smD xoA -bvE +vuk +swN +tXL tXL tXL tXL @@ -288582,7 +290522,6 @@ bkc bkc bkc bkc -bkc "} (231,1,2) = {" bkc @@ -288779,13 +290718,14 @@ pFH tXL pRz vuk -kUX vuk +kUX vuk vuk vuk -bAf bvE +bAf +bAU tXL tXL tXL @@ -288839,7 +290779,6 @@ bkc bkc bkc bkc -bkc "} (232,1,2) = {" bkc @@ -289035,6 +290974,7 @@ alj alj tXL dJk +edG bAf tXL fgT @@ -289096,7 +291036,6 @@ bkc bkc bkc bkc -bkc "} (233,1,2) = {" bkc @@ -289295,6 +291234,7 @@ tXL tXL tXL tXL +tXL apj tXL tXL @@ -289353,7 +291293,6 @@ bkc bkc bkc bkc -bkc "} (234,1,2) = {" bkc @@ -289557,12 +291496,13 @@ tXL tXL tXL tXL +tXL tCb bkc bkc -bkc kVS vet +vet kVS uCS tVj @@ -289572,7 +291512,6 @@ bkc bkc bkc bkc -bkc xJy bkc bkc @@ -289811,7 +291750,7 @@ uJG tXL tXL tXL -uJG +tXL uJG uJG uJG @@ -289822,6 +291761,7 @@ fsj bVc bVc bVc +bVc sSY mYD uJG @@ -289867,7 +291807,6 @@ bkc bkc bkc bkc -bkc "} (236,1,2) = {" bkc @@ -290079,6 +292018,7 @@ tVj urV vKV eTm +eTm vKV uJG sLA @@ -290124,7 +292064,6 @@ bkc bkc bkc bkc -bkc "} (237,1,2) = {" bkc @@ -290335,6 +292274,7 @@ kUq tVj wSw sLA +ngN uJG sLA sLA @@ -290381,7 +292321,6 @@ bkc bkc bkc bkc -bkc "} (238,1,2) = {" bkc diff --git a/code/__DEFINES/borer.dm b/code/__DEFINES/borer.dm index ee65cffd26c..cb61176fe58 100644 --- a/code/__DEFINES/borer.dm +++ b/code/__DEFINES/borer.dm @@ -1,10 +1,10 @@ #define REPRODUCTIONS_TO_MATURE 3 #define REPRODUCTIONS_TO_ADULT 6 #define REPRODUCTIONS_TO_ELDER 10 -#define HEAD_FOCUS_COST 9 -#define TORSO_FOCUS_COST 15 -#define HANDS_FOCUS_COST 5 -#define LEGS_FOCUS_COST 10 +#define HEAD_FOCUS_COST 4.5 +#define TORSO_FOCUS_COST 7.5 +#define HANDS_FOCUS_COST 2.5 +#define LEGS_FOCUS_COST 5 #define SCALING_MAX_CHEM 355 #define SCALING_CHEM_GAIN 15 #define BORER_RANK_YOUNG /datum/borer_rank/young diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 1dcafee2bf0..aa521e47314 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -446,6 +446,8 @@ #define COMSIG_MOB_ITEM_ATTACK_QDELETED "mob_item_attack_qdeleted" ///from base of mob/RangedAttack(): (atom/A, params) #define COMSIG_MOB_ATTACK_RANGED "mob_attack_ranged" +///from base of mob/RangedAttack(): (atom/A, params) after being range attacked +#define COMSIG_MOB_ATTACKED_RANGED "mob_attack_ranged" ///from base of /mob/throw_item(): (atom/target) #define COMSIG_MOB_THROW "mob_throw" ///called when a user is getting new weapon and we want to remove previous weapon to clear hands @@ -1198,4 +1200,3 @@ /// Source: /mob/living/simple_animal/borer, listening in datum/antagonist/borer #define COMSIG_BORER_ENTERED_HOST "borer_on_enter" // when borer entered host #define COMSIG_BORER_LEFT_HOST "borer_on_leave" // when borer left host - diff --git a/code/__DEFINES/gamemode.dm b/code/__DEFINES/gamemode.dm index 2f2f64db4f5..33958d237c2 100644 --- a/code/__DEFINES/gamemode.dm +++ b/code/__DEFINES/gamemode.dm @@ -70,3 +70,4 @@ #define SPECIAL_ROLE_THIEF "Thief" #define SPECIAL_ROLE_SPACE_DRAGON "Space Dragon" #define SPECIAL_ROLE_EVENTMISC "Event Role" +#define SPECIAL_ROLE_MALFAI "Malfunctioning AI" diff --git a/code/__DEFINES/insurance.dm b/code/__DEFINES/insurance.dm new file mode 100644 index 00000000000..615e644caf8 --- /dev/null +++ b/code/__DEFINES/insurance.dm @@ -0,0 +1,33 @@ +#define INSURANCE_NONE 0 +#define INSURANCE_BUDGETARY 1000 +#define INSURANCE_STANDART 3000 +#define INSURANCE_EXTENDED 6000 +#define INSURANCE_DELUXE 10000 +#define INSURANCE_NT_SPECIAL 100000 // CC roles don't have accounts, but if they do, they will have this insurance. + +#define INSURANCE_NONE_COST 0 +#define INSURANCE_BUDGETARY_COST 0 +#define INSURANCE_STANDART_COST 500 +#define INSURANCE_DELUXE_COST 2000 + +#define INSURANCE_TYPE_NONE "None" +#define INSURANCE_TYPE_BUDGETARY "Bugetary" +#define INSURANCE_TYPE_STANDART "Standart" +#define INSURANCE_TYPE_EXTENDED "Extended" +#define INSURANCE_TYPE_DELUXE "Deluxe" +#define INSURANCE_TYPE_NT_SPECIAL "NT Special" + +#define REQ_INSURANCE_BRUT 1.5 +#define REQ_INSURANCE_BURN 1.5 +#define REQ_INSURANCE_OXY 0.5 +#define REQ_INSURANCE_TOX 0.5 +#define REQ_INSURANCE_ORGAN 1 +#define REQ_INSURANCE_RAD 1 +#define REQ_INSURANCE_CLONE 2 +#define REQ_INSURANCE_BLOOD 2 // 1% of max blood +#define REQ_INSURANCE_INTBLEED 150 +#define REQ_INSURANCE_BONE 150 +#define REQ_INSURANCE_LOST_ORGAN 300 +#define REQ_INSURANCE_LOST_LIMB 300 +#define REQ_INSURANCE_CRIT 250 +#define REQ_INSURANCE_DEATH 500 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 0bf66ff143d..ee9f75b8798 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -523,3 +523,16 @@ /// Disposal: How frequently disposals can make sounds, to prevent huge sound stacking #define DISPOSAL_SOUND_COOLDOWN (0.1 SECONDS) +/// Mech Subtypes +#define MECH_TYPE_NONE (1<<0) +#define MECH_TYPE_RIPLEY (1<<1) +#define MECH_TYPE_CLARKE (1<<2) +#define MECH_TYPE_ODYSSEUS (1<<3) +#define MECH_TYPE_GYGAX (1<<4) +#define MECH_TYPE_DURAND (1<<5) +#define MECH_TYPE_PHAZON (1<<6) +#define MECH_TYPE_HONKER (1<<7) +#define MECH_TYPE_RETICENCE (1<<8) +#define MECH_TYPE_LOCKER (1<<9) +#define MECH_TYPE_MARAUDER (1<<10) +#define MECH_TYPE_SIDEWINTER (1<<11) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 234865da160..089ea970b09 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -17,9 +17,6 @@ #define TOXIN_TO_INTERNAL_DAMAGE_MULTIPLIER 2 // coefficient wich defines ratio of toxin into internal organs damage transfer -#define AGE_MIN 17 //youngest a character can be -#define AGE_MAX 85 //oldest a character can be - #define LEFT 1 #define RIGHT 2 @@ -210,6 +207,8 @@ #define isskeleton(A) (is_species(A, /datum/species/skeleton)) #define ishumanbasic(A) (is_species(A, /datum/species/human)) #define isunathi(A) (is_species(A, /datum/species/unathi)) +#define isashwalker(A) (is_species(A, /datum/species/unathi/ashwalker)) +#define isashwalkershaman(A) (is_species(A, /datum/species/unathi/ashwalker/shaman)) #define istajaran(A) (is_species(A, /datum/species/tajaran)) #define isvulpkanin(A) (is_species(A, /datum/species/vulpkanin)) #define isskrell(A) (is_species(A, /datum/species/skrell)) diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 01a0dbd5f88..500dbc6eaac 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -58,15 +58,16 @@ #define PREFTOGGLE_2_MC_TAB (1<<11) // 2048 #define PREFTOGGLE_2_DISABLE_TGUI_INPUT (1<<12) // 4096 #define PREFTOGGLE_2_PARALLAX_MULTIZ (1<<13) // 8192 -#define PREFTOGGLE_2_DISABLE_VOTE_POPUPS (1<<14) // 16384 -#define PREFTOGGLE_2_SWAP_INPUT_BUTTONS (1<<15) // 32768 -#define PREFTOGGLE_2_LARGE_INPUT_BUTTONS (1<<16) // 65536 -#define PREFTOGGLE_2_BIG_STRIP_MENU (1<<17) // 131072 -#define PREFTOGGLE_2_ENABLE_TGUI_SAY_LIGHT_MODE (1<<18) // 262144 -#define PREFTOGGLE_2_PIXELATED_MENU (1<<19) // 524288 -#define PREFTOGGLE_2_DESC_TIPS (1<<20) // 1048576 +#define PREFTOGGLE_2_DISABLE_VOTE_POPUPS (1<<14) // 16384 +#define PREFTOGGLE_2_SWAP_INPUT_BUTTONS (1<<15) // 32768 +#define PREFTOGGLE_2_LARGE_INPUT_BUTTONS (1<<16) // 65536 +#define PREFTOGGLE_2_BIG_STRIP_MENU (1<<17) // 131072 +#define PREFTOGGLE_2_ENABLE_TGUI_SAY_LIGHT_MODE (1<<18) // 262144 +#define PREFTOGGLE_2_PIXELATED_MENU (1<<19) // 524288 +#define PREFTOGGLE_2_DESC_TIPS (1<<20) // 1048576 +#define PREFTOGGLE_2_GIB_WITHOUT_OBJECTIVE (1<<21) // 2097152 -#define TOGGLES_2_TOTAL 2097151 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined. +#define TOGGLES_2_TOTAL 4194303 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined. #define TOGGLES_2_DEFAULT (PREFTOGGLE_2_FANCYUI|PREFTOGGLE_2_ITEMATTACK|PREFTOGGLE_2_WINDOWFLASHING|PREFTOGGLE_2_RUNECHAT|PREFTOGGLE_2_DEATHMESSAGE|PREFTOGGLE_2_SEE_ITEM_OUTLINES|PREFTOGGLE_2_PARALLAX_MULTIZ|PREFTOGGLE_2_SWAP_INPUT_BUTTONS|PREFTOGGLE_2_LARGE_INPUT_BUTTONS|PREFTOGGLE_2_DESC_TIPS) @@ -124,6 +125,16 @@ #define EXP_DEPT_TYPE_LIST list(EXP_TYPE_SERVICE, EXP_TYPE_MEDICAL, EXP_TYPE_ENGINEERING, EXP_TYPE_SCIENCE, EXP_TYPE_SECURITY, EXP_TYPE_COMMAND, EXP_TYPE_SILICON, EXP_TYPE_SPECIAL) + +/// Tags for 'age needed for this job' list. +#define SPECIES_AGE_MIN "Min" +#define SPECIES_AGE_MAX "Max" +#define JOB_MIN_AGE_HIGH_ED "Higher Education" +#define JOB_MIN_AGE_COMMAND "Command" + +#define AGE_SHEET list(SPECIES_AGE_MIN = 18, SPECIES_AGE_MAX = 85, JOB_MIN_AGE_HIGH_ED = 30, JOB_MIN_AGE_COMMAND = 30) + + // Defines just for parallax because its levels make storing it in the regular prefs a pain in the ass // These dont need to be bitflags because there isnt going to be more than one at a time of these active // But its gonna piss off my OCD if it isnt bitflags, so deal with it, -affected diff --git a/code/__DEFINES/rituals.dm b/code/__DEFINES/rituals.dm new file mode 100644 index 00000000000..c33d531225c --- /dev/null +++ b/code/__DEFINES/rituals.dm @@ -0,0 +1,18 @@ +/// Used in ritual variables +#define DEFAULT_RITUAL_RANGE_FIND 1 +#define DEFAULT_RITUAL_COOLDOWN (100 SECONDS) +#define DEFAULT_RITUAL_DISASTER_PROB 10 +#define DEFAULT_RITUAL_FAIL_PROB 10 +/// Ritual object bitflags +#define RITUAL_STARTED (1<<0) +#define RITUAL_ENDED (1<<1) +#define RITUAL_FAILED (1<<2) +/// Ritual datum bitflags +#define RITUAL_SUCCESSFUL (1<<0) +/// Invocation checks, should not be used in extra checks. +#define RITUAL_FAILED_INVALID_SPECIES (1<<1) +#define RITUAL_FAILED_EXTRA_INVOKERS (1<<2) +#define RITUAL_FAILED_MISSED_REQUIREMENTS (1<<3) +#define RITUAL_FAILED_ON_PROCEED (1<<4) +#define RITUAL_FAILED_INVALID_SPECIAL_ROLE (1<<5) + diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 29e33ed9265..b48227307a6 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -94,6 +94,8 @@ #define STATUS_EFFECT_CRUSHERMARK /datum/status_effect/crusher_mark //if struck with a proto-kinetic crusher, takes a ton of damage +#define STATUS_EFFECT_FANG_EXHAUSTION /datum/status_effect/fang_exhaust // called by poison fang (crusher trophy) + #define STATUS_EFFECT_SAWBLEED /datum/status_effect/saw_bleed //if the bleed builds up enough, takes a ton of damage #define STATUS_EFFECT_BLOODLETTING /datum/status_effect/saw_bleed/bloodletting //nerfed version diff --git a/code/__DEFINES/vampire_defines.dm b/code/__DEFINES/vampire_defines.dm index a0663014e6f..90123400739 100644 --- a/code/__DEFINES/vampire_defines.dm +++ b/code/__DEFINES/vampire_defines.dm @@ -16,3 +16,5 @@ #define NEW_NULLIFICATION 1 //nulifiaction like the new vampires #define OLD_NULLIFICATION 2 //nulifiaction like the goon vampires + +#define REQ_BLOOD_FOR_SUBCLASS_ACT 400 // total blood required for a special subclass action diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index f8907ab3667..539019a41c8 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -313,6 +313,7 @@ prize_list["Miscellaneous"] = list( EQUIPMENT("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, 500), EQUIPMENT("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 300), + EQUIPMENT("Richard & Co cigarettes", /obj/item/storage/fancy/cigarettes/cigpack_richard, 400), EQUIPMENT("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 300), EQUIPMENT("GAR Meson Scanners", /obj/item/clothing/glasses/meson/gar, 800), EQUIPMENT("GPS upgrade", /obj/item/gpsupgrade, 1500), @@ -342,6 +343,7 @@ EQUIPMENT("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, 250), EQUIPMENT("Cigarettes", /obj/item/storage/fancy/cigarettes, 100), EQUIPMENT("Medical Marijuana", /obj/item/storage/fancy/cigarettes/cigpack_med, 250), + EQUIPMENT("Richard & Co cigarettes", /obj/item/storage/fancy/cigarettes/cigpack_richard, 400), EQUIPMENT("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150), EQUIPMENT("Box of matches", /obj/item/storage/box/matches, 50), EQUIPMENT("Cheeseburger", /obj/item/reagent_containers/food/snacks/cheeseburger, 150), diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 05573f539c5..f815904dff8 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -239,6 +239,9 @@ /mob/proc/RangedAttack(atom/A, params) if(SEND_SIGNAL(src, COMSIG_MOB_ATTACK_RANGED, A, params) & COMPONENT_CANCEL_ATTACK_CHAIN) return TRUE + + if(SEND_SIGNAL(A, COMSIG_MOB_ATTACKED_RANGED, src, params) & COMPONENT_CANCEL_ATTACK_CHAIN) + return TRUE /* Restrained ClickOn diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 2128fa683a3..4db096df2b5 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -68,7 +68,6 @@ if(isturf(A) && get_dist(src, A) <= 1) Move_Pulled(A) - /** * Checks if this mob is in a valid state to punch someone. * diff --git a/code/controllers/configuration/entries/config.dm b/code/controllers/configuration/entries/config.dm index 5da930d43d3..f6570a41142 100644 --- a/code/controllers/configuration/entries/config.dm +++ b/code/controllers/configuration/entries/config.dm @@ -397,8 +397,6 @@ /datum/config_entry/number/simultaneous_pm_warning_timeout default = 100 -///Do assistants get maint access? -/datum/config_entry/flag/assistant_maint ///How long the gateway takes before it activates. Default is 10 minutes. Only matters if roundstart_away is enabled. /datum/config_entry/number/gateway_delay diff --git a/code/controllers/configuration/entries/testing.dm b/code/controllers/configuration/entries/testing.dm index ade389fb95c..009cc38beed 100644 --- a/code/controllers/configuration/entries/testing.dm +++ b/code/controllers/configuration/entries/testing.dm @@ -4,3 +4,9 @@ ///Enables bombarda crafting on server. /datum/config_entry/flag/enable_bombarda_craft + +///Enables loading titlescreen only after master has been loaded. +/datum/config_entry/flag/enable_titlescreen_lateload + +///Do not load station +/datum/config_entry/flag/load_no_station diff --git a/code/controllers/subsystem/icon_smooth.dm b/code/controllers/subsystem/icon_smooth.dm index 07aa1838d88..7648dc8b4bb 100644 --- a/code/controllers/subsystem/icon_smooth.dm +++ b/code/controllers/subsystem/icon_smooth.dm @@ -7,11 +7,18 @@ SUBSYSTEM_DEF(icon_smooth) offline_implications = "Objects will no longer smooth together properly. No immediate action is needed." cpu_display = SS_CPUDISPLAY_LOW ss_id = "icon_smooth" - + /** + * Used to track instances of icon smooth halters. Does not apply to roundstart loading, however. + * Always make sure to remove halt source from this list on the end of operation. + */ + var/halt_sources = list() var/list/smooth_queue = list() /datum/controller/subsystem/icon_smooth/fire() + if(length(halt_sources)) + return + while(smooth_queue.len) var/atom/A = smooth_queue[smooth_queue.len] smooth_queue.len-- @@ -44,3 +51,9 @@ SUBSYSTEM_DEF(icon_smooth) CHECK_TICK return SS_INIT_SUCCESS + +/datum/controller/subsystem/icon_smooth/proc/add_halt_source(datum/source) + halt_sources += source + +/datum/controller/subsystem/icon_smooth/proc/remove_halt_source(datum/source) + halt_sources -= source diff --git a/code/controllers/subsystem/idlenpcpool.dm b/code/controllers/subsystem/idlenpcpool.dm index d3b3f072fbb..6a926cdce56 100644 --- a/code/controllers/subsystem/idlenpcpool.dm +++ b/code/controllers/subsystem/idlenpcpool.dm @@ -33,9 +33,8 @@ SUBSYSTEM_DEF(idlenpcpool) /datum/controller/subsystem/idlenpcpool/fire(resumed = FALSE) - if(!resumed) - var/list/idlelist = GLOB.simple_animals[AI_IDLE] - src.currentrun = idlelist.Copy() + var/list/idlelist = GLOB.simple_animals[AI_IDLE] + src.currentrun = idlelist.Copy() //cache for sanic speed (lists are references anyways) var/list/currentrun = src.currentrun diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index 2bc591f0524..28512ef82e7 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -638,6 +638,9 @@ SUBSYSTEM_DEF(jobs) /datum/controller/subsystem/jobs/proc/CreateMoneyAccount(mob/living/H, rank, datum/job/job) var/money_amount = rand(job.min_start_money, job.max_start_money) var/datum/money_account/M = create_account(H.real_name, money_amount, null, job, TRUE) + if(H.dna) + GLOB.dna2account[H.dna] = M + var/remembered_info = "" remembered_info += "Номер вашего аккаунта: #[M.account_number]
" @@ -663,6 +666,21 @@ SUBSYSTEM_DEF(jobs) H.mind.initial_account = M + H.mind.initial_account.insurance_type = job.insurance_type + switch (job.insurance_type) + if(INSURANCE_TYPE_NONE) + H.mind.initial_account.insurance = INSURANCE_NONE + if(INSURANCE_TYPE_BUDGETARY) + H.mind.initial_account.insurance = INSURANCE_BUDGETARY + if(INSURANCE_TYPE_STANDART) + H.mind.initial_account.insurance = INSURANCE_STANDART + if(INSURANCE_TYPE_EXTENDED) + H.mind.initial_account.insurance = INSURANCE_EXTENDED + if(INSURANCE_TYPE_DELUXE) + H.mind.initial_account.insurance = INSURANCE_DELUXE + if(INSURANCE_TYPE_NT_SPECIAL) + H.mind.initial_account.insurance = INSURANCE_NT_SPECIAL + spawn(0) to_chat(H, "Номер вашего аккаунта: [M.account_number], ПИН вашего аккаунта: [M.remote_access_pin]") diff --git a/code/controllers/subsystem/non-firing/atoms.dm b/code/controllers/subsystem/non-firing/atoms.dm index 2a2a0caef1f..ff843736a49 100644 --- a/code/controllers/subsystem/non-firing/atoms.dm +++ b/code/controllers/subsystem/non-firing/atoms.dm @@ -27,6 +27,7 @@ SUBSYSTEM_DEF(atoms) if(initialized == INITIALIZATION_INSSATOMS) return + SSicon_smooth.add_halt_source(src) initialized = INITIALIZATION_INNEW_MAPLOAD LAZYINITLIST(late_loaders) @@ -79,6 +80,7 @@ SUBSYSTEM_DEF(atoms) log_debug(" Late initialized [length(late_loaders)] atoms in [stop_watch(watch)]s") late_loaders.Cut() + SSicon_smooth.remove_halt_source(src) /datum/controller/subsystem/atoms/proc/InitAtom(atom/A, list/arguments) var/the_type = A.type @@ -127,11 +129,12 @@ SUBSYSTEM_DEF(atoms) /datum/controller/subsystem/atoms/proc/map_loader_begin() old_initialized = initialized initialized = INITIALIZATION_INSSATOMS + SSicon_smooth.add_halt_source(src) /datum/controller/subsystem/atoms/proc/map_loader_stop() initialized = old_initialized - + SSicon_smooth.remove_halt_source(src) /datum/controller/subsystem/atoms/Recover() initialized = SSatoms.initialized diff --git a/code/controllers/subsystem/non-firing/mapping.dm b/code/controllers/subsystem/non-firing/mapping.dm index ce5325f34a8..1680d0cc703 100644 --- a/code/controllers/subsystem/non-firing/mapping.dm +++ b/code/controllers/subsystem/non-firing/mapping.dm @@ -41,6 +41,8 @@ SUBSYSTEM_DEF(mapping) var/list/critical_planes /// The largest plane offset we've generated so far var/max_plane_offset = 0 + /// Maps played in previous rounds, stores typepaths + var/list/previous_maps // This has to be here because world/New() uses [station_name()], which looks this datum up @@ -57,7 +59,9 @@ SUBSYSTEM_DEF(mapping) catch map_datum = fallback_map // Assume delta if non-existent fdel("data/next_map.txt") // Remove to avoid the same map existing forever + return + map_datum = fallback_map // Assume delta if non-existent /datum/controller/subsystem/mapping/Shutdown() @@ -65,9 +69,41 @@ SUBSYSTEM_DEF(mapping) var/F = file("data/next_map.txt") F << next_map.type + +/datum/controller/subsystem/mapping/proc/convert_map_datums() + var/list/map_subtypes = subtypesof(/datum/map) + var/list/result = list() + for(var/datum/map/subtype as anything in map_subtypes) + result[initial(subtype.name)] = subtype + + return result + +/datum/controller/subsystem/mapping/proc/find_last_played_maps() + if(CONFIG_GET(flag/sql_enabled)) + var/datum/db_query/query = \ + SSdbcore.NewQuery("SELECT id, map_name \ + FROM [format_table_name("round")] \ + WHERE server_port=[world.port] \ + AND end_state IS NOT NULL \ + ORDER BY id DESC LIMIT 1") //Generally gets the last played map, but can be configured to get any count. + + if(!query.warn_execute()) + qdel(query) + return + + var/list/map_names = convert_map_datums() + var/list/maps = list() + //Query row structure: id, map_name + for(var/map in query.rows) + var/map_path = map_names[map[2]] + if(map_path) + maps += map_path + + previous_maps = maps + /datum/controller/subsystem/mapping/Initialize() setupPlanes() - + find_last_played_maps() var/datum/lavaland_theme/lavaland_theme_type = pick(subtypesof(/datum/lavaland_theme)) ASSERT(lavaland_theme_type) lavaland_theme = new lavaland_theme_type @@ -204,8 +240,27 @@ SUBSYSTEM_DEF(mapping) seedRuins(levels_by_trait(SPAWN_RUINS), rand(20, 30), /area/space, GLOB.space_ruins_templates) log_startup_progress("Successfully seeded ruins in [stop_watch(seed_ruins_timer)]s.") +/datum/controller/subsystem/mapping/proc/create_landmarks(turf/place) + var/landmarks = list( + /obj/effect/landmark/join_late, + /obj/effect/landmark/join_late_cryo, + /obj/effect/landmark/join_late_cyborg, + /obj/effect/landmark/join_late_gateway, + /obj/effect/landmark/observer_start + ) + + landmarks += subtypesof(/obj/effect/landmark/start) + for(var/mark in landmarks) + new mark(place) /datum/controller/subsystem/mapping/proc/loadStation() + if(CONFIG_GET(flag/load_no_station)) + log_startup_progress("Loading empty space...") + var/empty_z_level = GLOB.space_manager.add_new_zlevel(MAIN_STATION, linkage = CROSSLINKED, traits = DEFAULT_STATION_TRATS) + var/turf/centre = locate(world.maxx / 2, world.maxy / 2, empty_z_level) + create_landmarks(centre) + return + if(CONFIG_GET(string/default_map) && !CONFIG_GET(string/override_map) && map_datum == fallback_map) var/map_datum_path = text2path(CONFIG_GET(string/default_map)) if(map_datum_path) @@ -227,7 +282,6 @@ SUBSYSTEM_DEF(mapping) var/watch = start_watch() log_startup_progress("Loading [map_datum.station_name]...") - var/map_z_level if(map_datum.traits && map_datum.traits?.len && islist(map_datum.traits[1])) // we work with list of lists map_z_level = GLOB.space_manager.add_new_zlevel(MAIN_STATION, linkage = map_datum.linkage, traits = map_datum.traits[1]) diff --git a/code/controllers/subsystem/non-firing/titlescreen.dm b/code/controllers/subsystem/non-firing/titlescreen.dm index 1de3e185f67..ddcf80acf80 100644 --- a/code/controllers/subsystem/non-firing/titlescreen.dm +++ b/code/controllers/subsystem/non-firing/titlescreen.dm @@ -18,9 +18,14 @@ SUBSYSTEM_DEF(title) import_html() fill_title_images_pool() current_title_screen = new(title_html = base_html, screen_image_file = pick_title_image()) - show_title_screen_to_all_new_players() + if(!CONFIG_GET(flag/enable_titlescreen_lateload)) + show_title_screen_to_all_new_players() return SS_INIT_SUCCESS +/datum/controller/subsystem/title/OnMasterLoad() + if(CONFIG_GET(flag/enable_titlescreen_lateload)) + show_title_screen_to_all_new_players() + /datum/controller/subsystem/title/Recover() current_title_screen = SStitle.current_title_screen title_images_pool = SStitle.title_images_pool diff --git a/code/datums/action.dm b/code/datums/action.dm index 415da08fa9f..ce7e9830f6e 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -317,6 +317,9 @@ desc = "Toggles if the club's blasts cause friendly fire." button_icon_state = "vortex_ff_on" +/datum/action/item_action/toggle_backpack_light + name = "Toggle Backpack Light" + /datum/action/item_action/toggle_unfriendly_fire/Trigger(left_click = TRUE) if(..()) UpdateButtonIcon() diff --git a/code/datums/cinematics/kharin_summon.dm b/code/datums/cinematics/kharin_summon.dm new file mode 100644 index 00000000000..09014d47241 --- /dev/null +++ b/code/datums/cinematics/kharin_summon.dm @@ -0,0 +1,23 @@ +/datum/cinematic/cult_arm_kharin/play_cinematic() + screen.icon_state = null + flick("intro_cult", screen) + stoplag(2.5 SECONDS) + play_cinematic_sound(sound('sound/misc/enter_blood.ogg')) + stoplag(2.8 SECONDS) + play_cinematic_sound(sound('sound/machines/terminal_off.ogg')) + stoplag(2 SECONDS) + flick("station_corrupted_Kharin", screen) + play_cinematic_sound(sound('sound/effects/ghost.ogg')) + stoplag(7 SECONDS) + special_callback?.Invoke() + +/datum/cinematic/cult_fail_kharin/play_cinematic() + screen.icon_state = "station_intact" + stoplag(2 SECONDS) + play_cinematic_sound(sound('sound/effects/narsie_summon.ogg')) + stoplag(6 SECONDS) + play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + stoplag(1 SECONDS) + play_cinematic_sound(sound('sound/misc/demon_dies.ogg')) + stoplag(3 SECONDS) + special_callback?.Invoke() diff --git a/code/datums/cinematics/ratvar_summon.dm b/code/datums/cinematics/ratvar_summon.dm new file mode 100644 index 00000000000..9a68069e3e9 --- /dev/null +++ b/code/datums/cinematics/ratvar_summon.dm @@ -0,0 +1,22 @@ +/datum/cinematic/cult_arm_ratvar/play_cinematic() + screen.icon_state = null + flick("intro_clockwork", screen) + stoplag(2.5 SECONDS) + play_cinematic_sound(sound('sound/magic/clockwork/reconstruct.ogg')) + stoplag(6 SECONDS) + play_cinematic_sound(sound('sound/machines/terminal_off.ogg')) + stoplag(2 SECONDS) + flick("station_corrupted_Ratvar", screen) + stoplag(7 SECONDS) + special_callback?.Invoke() + +/datum/cinematic/cult_fail_ratvar/play_cinematic() + screen.icon_state = "station_intact" + stoplag(2 SECONDS) + play_cinematic_sound(sound('sound/effects/narsie_summon.ogg')) + stoplag(6 SECONDS) + play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + stoplag(1 SECONDS) + play_cinematic_sound(sound('sound/misc/demon_dies.ogg')) + stoplag(3 SECONDS) + special_callback?.Invoke() diff --git a/code/datums/cinematics/reaper_summon.dm b/code/datums/cinematics/reaper_summon.dm new file mode 100644 index 00000000000..50c0e13bc68 --- /dev/null +++ b/code/datums/cinematics/reaper_summon.dm @@ -0,0 +1,24 @@ +/datum/cinematic/cult_arm_reaper/play_cinematic() + screen.icon_state = null + flick("intro_cult", screen) + stoplag(2.5 SECONDS) + play_cinematic_sound(sound('sound/misc/enter_blood.ogg')) + stoplag(2.8 SECONDS) + play_cinematic_sound(sound('sound/machines/terminal_off.ogg')) + stoplag(2 SECONDS) + flick("station_corrupted_Reaper", screen) + play_cinematic_sound(sound('sound/effects/ghost.ogg')) + stoplag(7 SECONDS) + special_callback?.Invoke() + + +/datum/cinematic/cult_fail_reaper/play_cinematic() + screen.icon_state = "station_intact" + stoplag(2 SECONDS) + play_cinematic_sound(sound('sound/effects/narsie_summon.ogg')) + stoplag(6 SECONDS) + play_cinematic_sound(sound('sound/effects/explosion_distant.ogg')) + stoplag(1 SECONDS) + play_cinematic_sound(sound('sound/misc/demon_dies.ogg')) + stoplag(3 SECONDS) + special_callback?.Invoke() diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index 64082941e07..7884935d3c1 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -30,6 +30,7 @@ /obj/effect/spawner, /obj/structure/railing, /mob/living/simple_animal/hostile/megafauna, //failsafe + /mob/living/simple_animal/hostile/asteroid/elite //failsafe also )) diff --git a/code/datums/components/ritual_object.dm b/code/datums/components/ritual_object.dm new file mode 100644 index 00000000000..31064e438db --- /dev/null +++ b/code/datums/components/ritual_object.dm @@ -0,0 +1,119 @@ +/datum/component/ritual_object + /// Pre-defined rituals list + var/list/rituals = list() + /// We define rituals from this. + var/list/allowed_categories + /// Required species to activate ritual object + var/list/allowed_species + /// Required special role to activate ritual object + var/list/allowed_special_role + /// Prevents from multiple uses + var/active_ui = FALSE + +/datum/component/ritual_object/Initialize( + allowed_categories = /datum/ritual, + list/allowed_species, + list/allowed_special_role +) + + if(!isobj(parent)) + return COMPONENT_INCOMPATIBLE + + src.allowed_categories = allowed_categories + src.allowed_species = allowed_species + src.allowed_special_role = allowed_special_role + get_rituals() + +/datum/component/ritual_object/RegisterWithParent() + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(attackby)) + +/datum/component/ritual_object/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_ATOM_ATTACK_HAND) + +/datum/component/ritual_object/proc/get_rituals() // We'll get all rituals for flexibility. + LAZYCLEARLIST(rituals) + + for(var/datum/ritual/ritual as anything in typecacheof(allowed_categories)) + if(!ritual.name) + continue + + rituals += new ritual + + for(var/datum/ritual/ritual as anything in rituals) + ritual.ritual_object = parent + + return + +/datum/component/ritual_object/Destroy(force) + LAZYNULL(rituals) + return ..() + +/datum/component/ritual_object/proc/attackby(datum/source, mob/user) + SIGNAL_HANDLER + + if(active_ui) + return + + if(!ishuman(user)) + return + + var/mob/living/carbon/human/human = user + + if(allowed_species && !is_type_in_list(human.dna.species, allowed_species)) + return + + if(allowed_special_role && !is_type_in_list(human.mind?.special_role, allowed_special_role)) + return + + active_ui = TRUE + INVOKE_ASYNC(src, PROC_REF(open_ritual_ui), human) + + return COMPONENT_CANCEL_ATTACK_CHAIN + +/datum/component/ritual_object/proc/open_ritual_ui(mob/living/carbon/human/human) + var/list/rituals_list = get_available_rituals(human) + + if(!LAZYLEN(rituals_list)) + active_ui = FALSE + to_chat(human, "Не имеется доступных для выполнения ритуалов.") + return + + var/choosen_ritual = tgui_input_list(human, "Выберите ритуал", "Ритуалы", rituals_list) + + if(!choosen_ritual) + active_ui = FALSE + return + + var/ritual_status + + for(var/datum/ritual/ritual as anything in rituals) + if(choosen_ritual != ritual.name) + continue + + ritual_status = ritual.pre_ritual_check(human) + break + + if(ritual_status) + active_ui = FALSE + + return FALSE + +/datum/component/ritual_object/proc/get_available_rituals(mob/living/carbon/human/human) + var/list/rituals_list = list() + + for(var/datum/ritual/ritual as anything in rituals) + if(ritual.charges == 0) + continue + + if(!COOLDOWN_FINISHED(ritual, ritual_cooldown)) + continue + + if(ritual.allowed_species && !is_type_in_list(human.dna.species, ritual.allowed_species)) + continue + + if(ritual.allowed_special_role && !is_type_in_list(human.mind?.special_role, ritual.allowed_special_role)) + continue + + LAZYADD(rituals_list, ritual.name) + + return rituals_list diff --git a/code/datums/elements/ridable.dm b/code/datums/elements/ridable.dm index 337e166ea3f..0009e3e4718 100644 --- a/code/datums/elements/ridable.dm +++ b/code/datums/elements/ridable.dm @@ -195,8 +195,8 @@ return return rider -/obj/item/riding_offhand/afterattack(atom/movable/interacting_with, mob/living/user, list/modifiers) - if(!istype(interacting_with) || !interacting_with.can_buckle) +/obj/item/riding_offhand/afterattack(atom/movable/interacting_with, mob/living/user, proximity, list/modifiers, status) + if(!istype(interacting_with) || !interacting_with.can_buckle || !proximity) return NONE if(rider == user) // Piggyback user return diff --git a/code/datums/emote/emote_verbs.dm b/code/datums/emote/emote_verbs.dm index dce2eff87c1..4913cbcb264 100644 --- a/code/datums/emote/emote_verbs.dm +++ b/code/datums/emote/emote_verbs.dm @@ -476,11 +476,6 @@ set category = "Эмоции" emote("whip_l", intentional = TRUE) -/mob/living/carbon/human/proc/emote_rumble() - set name = "< Урчать >" - set category = "Эмоции" - emote("rumble", intentional = TRUE) - /mob/living/carbon/human/proc/emote_hiss_unathi() set name = "< Шипеть >" set category = "Эмоции" diff --git a/code/datums/helper_datums/map_template.dm b/code/datums/helper_datums/map_template.dm index 3c6e5a2a0d4..4c9fca5d1d2 100644 --- a/code/datums/helper_datums/map_template.dm +++ b/code/datums/helper_datums/map_template.dm @@ -49,6 +49,7 @@ // if given a multi-z template // it might need to be adapted for that when that time comes GLOB.space_manager.add_dirt(placement.z) + SSicon_smooth.add_halt_source(src) try var/list/bounds = GLOB.maploader.load_map(get_file(), min_x, min_y, placement.z, shouldCropMap = TRUE) if(!bounds) @@ -58,11 +59,13 @@ if(ST_bot_left == null || ST_top_right == null) stack_trace("One of the smoothing corners is bust") catch(var/exception/e) + SSicon_smooth.remove_halt_source(src) GLOB.space_manager.remove_dirt(placement.z) message_admins("Map template [name] threw an error while loading. Safe exit attempted, but check for errors at [ADMIN_COORDJMP(placement)].") log_admin("Map template [name] threw an error while loading. Safe exit attempted.") throw e + SSicon_smooth.remove_halt_source(src) GLOB.space_manager.remove_dirt(placement.z) add_game_logs("[name] loaded at [min_x],[min_y],[placement.z]") diff --git a/code/datums/keybindings/communication_keybinds.dm b/code/datums/keybindings/communication_keybinds.dm index 973317d8e28..0cdb00e77a7 100644 --- a/code/datums/keybindings/communication_keybinds.dm +++ b/code/datums/keybindings/communication_keybinds.dm @@ -66,7 +66,7 @@ /datum/keybinding/client/communication/asay name = ADMIN_CHANNEL keys = list("F5") - required_rights = R_ADMIN + required_rights = R_ADMIN | R_MOD /datum/keybinding/client/communication/dsay name = DSAY_CHANNEL diff --git a/code/datums/keybindings/emote.dm b/code/datums/keybindings/emote.dm index a8006c729a4..ccda0a6d7c2 100644 --- a/code/datums/keybindings/emote.dm +++ b/code/datums/keybindings/emote.dm @@ -608,10 +608,6 @@ linked_emote = /datum/emote/living/carbon/human/unathi/threat name = "Угрожать (унати)" -/datum/keybinding/emote/carbon/human/unathi/rumble - linked_emote = /datum/emote/living/carbon/human/unathi/rumble - name = "Урчать (унати)" - /datum/keybinding/emote/carbon/human/unathi/roar linked_emote = /datum/emote/living/carbon/human/unathi/roar name = "Рычать (унати)" diff --git a/code/datums/keybindings/mob.dm b/code/datums/keybindings/mob.dm index 0b29b61944f..7d6be5c1089 100644 --- a/code/datums/keybindings/mob.dm +++ b/code/datums/keybindings/mob.dm @@ -5,7 +5,7 @@ // Hands /datum/keybinding/mob/use_held_object name = "Использовать вещь в руке" - keys = list("Y", "Z") + keys = list("Z") /datum/keybinding/mob/use_held_object/down(client/user) diff --git a/code/datums/looping_sounds/item_sounds.dm b/code/datums/looping_sounds/item_sounds.dm index 4233c478644..e3a41b07ae5 100644 --- a/code/datums/looping_sounds/item_sounds.dm +++ b/code/datums/looping_sounds/item_sounds.dm @@ -3,3 +3,6 @@ start_sound = list('sound/items/taperecorder/taperecorder_hiss_start.ogg') volume = 10 +/datum/looping_sound/ambulance_alarm/justice + mid_length = 1.5 SECONDS + falloff_exponent = 4 diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 0066bcc459d..a6de1c0034c 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -1375,6 +1375,7 @@ SSticker.mode.revolutionaries += src SSticker.mode.update_rev_icons_added(src) special_role = SPECIAL_ROLE_REV + SEND_SOUND(current, 'sound/ambience/antag/revolutionary_tide.ogg') log_admin("[key_name(usr)] has rev'd [key_name(current)]") message_admins("[key_name_admin(usr)] has rev'd [key_name_admin(current)]") current.create_log(MISC_LOG, "[current] was made into a revolutionary by [key_name_admin(usr)]") @@ -1396,6 +1397,7 @@ if(!recruit_action) recruit_action = new recruit_action.Grant(src.current) + SEND_SOUND(current, 'sound/ambience/antag/revolutionary_tide.ogg') log_admin("[key_name(usr)] has head-rev'd [key_name(current)]") message_admins("[key_name_admin(usr)] has head-rev'd [key_name_admin(current)]") current.create_log(MISC_LOG, "[current] was made into a head revolutionary by [key_name_admin(usr)]") diff --git a/code/datums/mutable_appearance.dm b/code/datums/mutable_appearance.dm index e3d7ecdec32..9161e764f1f 100644 --- a/code/datums/mutable_appearance.dm +++ b/code/datums/mutable_appearance.dm @@ -7,7 +7,7 @@ // Mutable appearances erase template vars on new, because they accept an appearance to copy as an arg // If we have nothin to copy, we set the float plane -#if DM_BUILD > 1642 +#if DM_BUILD == 1643 /mutable_appearance/proc/New(mutable_appearance/to_copy) if(!to_copy) plane = FLOAT_PLANE diff --git a/code/datums/rituals.dm b/code/datums/rituals.dm new file mode 100644 index 00000000000..ddc50d1f680 --- /dev/null +++ b/code/datums/rituals.dm @@ -0,0 +1,1251 @@ +/datum/ritual + /// Linked object + var/obj/ritual_object + /// Name of our ritual + var/name + /// If ritual requires more than one invoker + var/extra_invokers = 0 + /// If invoker species isn't in allowed - he won't do ritual. + var/list/allowed_species + /// If invoker special role isn't in allowed - he won't do ritual. + var/list/allowed_special_role + /// Required to ritual invoke things are located here + var/list/required_things + /// If true - only whitelisted species will be added as invokers + var/require_allowed_species = TRUE + /// Same as require_allowed_species, but requires special role to be counted as invoker. + var/require_allowed_special_role = FALSE + /// We search for humans in that radius + var/finding_range = DEFAULT_RITUAL_RANGE_FIND + /// Amount of maximum ritual uses. + var/charges = -1 + /// Cooldown for one ritual + COOLDOWN_DECLARE(ritual_cooldown) + /// Our cooldown after we casted ritual. + var/cooldown_after_cast = DEFAULT_RITUAL_COOLDOWN + /// If our ritual failed on proceed - we'll try to cause disaster. + var/disaster_prob = DEFAULT_RITUAL_DISASTER_PROB + /// A chance of failing our ritual. + var/fail_chance = DEFAULT_RITUAL_FAIL_PROB + /// After successful ritual we'll destroy used things. + var/ritual_should_del_things = TRUE + /// After failed ritual proceed - we'll delete items. + var/ritual_should_del_things_on_fail = FALSE + /// Temporary list of objects, which we will delete. Or use in transformations! Then clear list. + var/list/used_things = list() + /// Temporary list of invokers. + var/list/invokers = list() + /// If defined - do_after will be added to your ritual + var/cast_time + +/datum/ritual/Destroy(force) + ritual_object = null + LAZYNULL(used_things) + LAZYNULL(required_things) + LAZYNULL(invokers) + return ..() + +/datum/ritual/proc/pre_ritual_check(mob/living/carbon/human/invoker) + var/failed = FALSE + var/cause_disaster = FALSE + + var/del_things = FALSE + var/start_cooldown = FALSE + + handle_ritual_object(RITUAL_STARTED) + + . = ritual_invoke_check(invoker) + switch(.) + if(RITUAL_SUCCESSFUL) + start_cooldown = TRUE + addtimer(CALLBACK(src, PROC_REF(handle_ritual_object), RITUAL_ENDED), 1 SECONDS) + charges-- + if(RITUAL_FAILED_INVALID_SPECIES) + failed = TRUE + if(RITUAL_FAILED_EXTRA_INVOKERS) + failed = TRUE + if(RITUAL_FAILED_MISSED_REQUIREMENTS) + failed = TRUE + if(RITUAL_FAILED_INVALID_SPECIAL_ROLE) + failed = TRUE + if(RITUAL_FAILED_ON_PROCEED) + failed = TRUE + cause_disaster = TRUE + start_cooldown = TRUE + if(NONE) + failed = TRUE + + if(start_cooldown) + COOLDOWN_START(src, ritual_cooldown, cooldown_after_cast) + + if(cause_disaster && prob(disaster_prob)) + disaster(invoker) + + if((. & RITUAL_SUCCESSFUL) && (ritual_should_del_things)) + del_things = TRUE + + if((. & RITUAL_FAILED_ON_PROCEED) && (ritual_should_del_things_on_fail)) + del_things = TRUE + + if(del_things) + del_things() + + if(failed) + addtimer(CALLBACK(src, PROC_REF(handle_ritual_object), RITUAL_FAILED), 2 SECONDS) + + /// We use pre-defines + LAZYCLEARLIST(invokers) + LAZYCLEARLIST(used_things) + + return . + +/datum/ritual/proc/handle_ritual_object(bitflags, silent = FALSE) + switch(bitflags) + if(RITUAL_STARTED) + . = RITUAL_STARTED + if(!silent) + playsound(ritual_object.loc, 'sound/effects/ghost2.ogg', 50, TRUE) + if(RITUAL_ENDED) + . = RITUAL_ENDED + if(!silent) + playsound(ritual_object.loc, 'sound/effects/phasein.ogg', 50, TRUE) + if(RITUAL_FAILED) + . = RITUAL_FAILED + if(!silent) + playsound(ritual_object.loc, 'sound/effects/empulse.ogg', 50, TRUE) + + return . + +/datum/ritual/proc/del_things() // This is a neutral variant with item delete. Override it to change. + for(var/obj/item/thing in used_things) + qdel(thing) + + return + +/datum/ritual/proc/ritual_invoke_check(mob/living/carbon/human/invoker) + if(!COOLDOWN_FINISHED(src, ritual_cooldown)) + return NONE + + if(charges == 0) + return NONE + + if(allowed_special_role && !LAZYIN(allowed_special_role, invoker.mind?.special_role)) + return RITUAL_FAILED_INVALID_SPECIAL_ROLE + + if(allowed_species && !is_type_in_list(invoker.dna.species, allowed_species)) // double check to avoid funny situations + return RITUAL_FAILED_INVALID_SPECIES + + if(!check_invokers(invoker)) + return RITUAL_FAILED_EXTRA_INVOKERS + + if(required_things && !check_contents(invoker)) + return RITUAL_FAILED_MISSED_REQUIREMENTS + + if(prob(fail_chance)) + return RITUAL_FAILED_ON_PROCEED + + if(cast_time && !cast(invoker)) + return RITUAL_FAILED_ON_PROCEED + + return do_ritual(invoker) + +/datum/ritual/proc/cast(mob/living/carbon/human/invoker) + . = TRUE + + var/list/invokers_list = invokers.Copy() // create temp list to avoid funny situations + LAZYADD(invokers_list, invoker) + + for(var/mob/living/carbon/human/human as anything in invokers_list) + if(!do_after(human, cast_time, ritual_object, extra_checks = CALLBACK(src, PROC_REF(action_check_contents)))) + . = FALSE + + return . + +/datum/ritual/proc/check_invokers(mob/living/carbon/human/invoker) + if(!extra_invokers) + return TRUE + + for(var/mob/living/carbon/human/human in range(finding_range, ritual_object)) + if(human == invoker) + continue + + if(require_allowed_species && !is_type_in_list(human.dna.species, allowed_species)) + continue + + if(require_allowed_special_role && !LAZYIN(allowed_special_role, human.mind?.special_role)) + continue + + LAZYADD(invokers, human) + + if(LAZYLEN(invokers) >= extra_invokers) + break + + if(LAZYLEN(invokers) < extra_invokers) + ritual_object.balloon_alert(invoker, "требуется больше участников!") + return FALSE + + return TRUE + +/datum/ritual/proc/check_contents(mob/living/carbon/human/invoker) + var/list/atom/movable/atoms = list() + + for(var/atom/obj as anything in range(finding_range, ritual_object)) + if(isitem(obj)) + var/obj/item/close_item = obj + if(close_item.item_flags & ABSTRACT) + continue + + if(obj.invisibility) + continue + + if(obj == invoker) + continue + + if(obj == ritual_object) + continue + + if(LAZYIN(invokers, obj)) + continue + + LAZYADD(atoms, obj) + + var/list/requirements = required_things.Copy() + for(var/atom/atom as anything in atoms) + for(var/req_type in requirements) + if(requirements[req_type] <= 0) + continue + + if(!istype(atom, req_type)) + continue + + LAZYADD(used_things, atom) + + if(isstack(atom)) + var/obj/item/stack/picked_stack = atom + requirements[req_type] -= picked_stack.amount + else + requirements[req_type]-- + + var/list/what_are_we_missing = list() + for(var/req_type in requirements) + var/number_of_things = requirements[req_type] + + if(number_of_things <= 0) + continue + + LAZYADD(what_are_we_missing, req_type) + + if(LAZYLEN(what_are_we_missing)) + ritual_object.balloon_alert(invoker, "требуется больше компонентов!") + return FALSE + + return TRUE + +/datum/ritual/proc/action_check_contents() + for(var/atom/atom as anything in used_things) + if(QDELETED(atom)) + return FALSE + + if(!(atom in range(finding_range, ritual_object))) + return FALSE + + return TRUE + +/datum/ritual/proc/do_ritual(mob/living/carbon/human/invoker) // Do ritual stuff. + return RITUAL_SUCCESSFUL + +/datum/ritual/proc/disaster(mob/living/carbon/human/invoker) + return + +/datum/ritual/ashwalker + /// If ritual requires extra shaman invokers + var/extra_shaman_invokers = 0 + /// If ritual can be invoked only by shaman + var/shaman_only = FALSE + allowed_species = list(/datum/species/unathi/ashwalker, /datum/species/unathi/draconid) + +/datum/ritual/ashwalker/check_invokers(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + if(shaman_only && !isashwalkershaman(invoker)) + to_chat(invoker, span_warning("Только шаман может выполнить данный ритуал!")) + return FALSE + + var/list/shaman_invokers = list() + + if(extra_shaman_invokers) + for(var/mob/living/carbon/human/human as anything in invokers) + if(human == invoker) + continue + + if(isashwalkershaman(human)) + LAZYADD(shaman_invokers, human) + + if(LAZYLEN(shaman_invokers) >= extra_shaman_invokers) + break + + if(LAZYLEN(shaman_invokers) < extra_shaman_invokers) + ritual_object.balloon_alert(invoker, "требуется больше шаманов!") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/summon_ashstorm + name = "Ash storm summon" + shaman_only = TRUE + disaster_prob = 20 + charges = 2 + cooldown_after_cast = 1200 SECONDS + cast_time = 100 SECONDS + fail_chance = 20 + extra_invokers = 2 + required_things = list( + /mob/living/simple_animal/hostile/asteroid/goldgrub = 1 + ) + +/datum/ritual/ashwalker/summon_ashstorm/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/living in used_things) + if(living.stat != DEAD) + to_chat(invoker, "Существа должны быть мертвы") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/summon_ashstorm/del_things() + . = ..() + + for(var/mob/living/living in used_things) + living.gib() + + return + +/datum/ritual/ashwalker/summon_ashstorm/check_invokers(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + if(!invoker.fire_stacks) + to_chat(invoker, "Инициатор ритуала должнен быть в воспламеняемой субстанции.") + return FALSE + + for(var/mob/living/carbon/human/human as anything in invokers) + if(!human.fire_stacks) + to_chat(invoker, "Участники ритуала должны быть в воспламеняемой субстанции.") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/summon_ashstorm/do_ritual(mob/living/carbon/human/invoker) + SSweather.run_weather(/datum/weather/ash_storm) + message_admins("[key_name(invoker)] accomplished ashstorm ritual and summoned ashstorm") + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/summon_ashstorm/disaster(mob/living/carbon/human/invoker) + var/list/targets = list() + + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(isashwalker(human)) + LAZYADD(targets, human) + + if(!LAZYLEN(targets)) + return + + var/mob/living/carbon/human/human = pick(targets) + var/datum/disease/virus/cadaver/cadaver = new + cadaver.Contract(human) + + return + +/datum/ritual/ashwalker/summon_ashstorm/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/magic/fleshtostone.ogg', 50, TRUE) + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/magic/invoke_general.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/magic/castsummon.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/transformation + name = "Transformation ritual" + disaster_prob = 30 + fail_chance = 50 + extra_invokers = 1 + cooldown_after_cast = 480 SECONDS + cast_time = 70 SECONDS + ritual_should_del_things_on_fail = TRUE + required_things = list( + /obj/item/twohanded/spear = 3, + /obj/item/organ/internal/regenerative_core = 1, + /mob/living/carbon/human = 1 + ) + +/datum/ritual/ashwalker/transformation/do_ritual(mob/living/carbon/human/invoker) + var/mob/living/carbon/human/human = locate() in used_things + + if(!human || !human.mind || !human.ckey) + return RITUAL_FAILED_ON_PROCEED // Your punishment + + human.set_species(/datum/species/unathi/ashwalker) + human.mind.store_memory("Теперь вы пеплоходец, вы часть племени! Вы довольно смутно помните о прошлой жизни, и вы не помните, как пользоваться технологиями!") + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/transformation/disaster(mob/living/carbon/human/invoker) + invoker.adjustBrainLoss(15) + invoker.SetKnockdown(5 SECONDS) + + var/mob/living/carbon/human/human = locate() in used_things + + if(QDELETED(human)) + return + + var/list/destinations = list() + + for(var/obj/item/radio/beacon/beacon in GLOB.global_radios) + LAZYADD(destinations, get_turf(beacon)) + + human.forceMove(safepick(destinations)) + playsound(get_turf(human), 'sound/magic/invoke_general.ogg', 50, TRUE) + + return + +/datum/ritual/ashwalker/transformation/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + if(. == RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/effects/clone_jutsu.ogg', 50, TRUE) + return + + . = ..(bitflags) + return . + +/datum/ritual/ashwalker/summon + name = "Summoning ritual" + disaster_prob = 30 + fail_chance = 30 + shaman_only = TRUE + cooldown_after_cast = 900 SECONDS + cast_time = 50 SECONDS + extra_invokers = 1 + +/datum/ritual/ashwalker/summon/do_ritual(mob/living/carbon/human/invoker) + var/list/ready_for_summoning = list() + + for(var/mob/living/carbon/human/human in GLOB.mob_list) + if(isashwalker(human)) + LAZYADD(ready_for_summoning, human) + + if(!LAZYLEN(ready_for_summoning)) + return RITUAL_FAILED_ON_PROCEED + + var/mob/living/carbon/human/human = tgui_input_list(invoker, "Who will be summoned?", "Summon ritual", ready_for_summoning) + + if(!human) + return RITUAL_FAILED_ON_PROCEED + + LAZYADD(invokers, invoker) + + for(var/mob/living/carbon/human/summoner as anything in invokers) + summoner.blood_volume -= (summoner.blood_volume * 0.20) + summoner.apply_damage(25, def_zone = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) + + human.forceMove(ritual_object) + human.vomit() + human.Weaken(10 SECONDS) + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/summon/disaster(mob/living/carbon/human/invoker) + if(!prob(70)) + return + + var/obj/item/organ/external/limb = invoker.get_organ(pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) + limb?.droplimb() + + return + +/datum/ritual/ashwalker/summon/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/weapons/zapbang.ogg', 50, TRUE) + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(5, FALSE, ritual_object.loc) + smoke.start() + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/magic/forcewall.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/magic/invoke_general.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/curse + name = "Curse ritual" + disaster_prob = 30 + fail_chance = 30 + cooldown_after_cast = 600 SECONDS + cast_time = 60 SECONDS + charges = 3 + shaman_only = TRUE + extra_invokers = 2 + required_things = list( + /mob/living/carbon/human = 3 + ) + +/datum/ritual/ashwalker/curse/del_things() + for(var/mob/living/carbon/human/human in used_things) + human.gib() + + return + +/datum/ritual/ashwalker/curse/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/carbon/human/human in used_things) + if(human.stat != DEAD) + to_chat(invoker, "Гуманоиды должны быть мертвы.") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/curse/do_ritual(mob/living/carbon/human/invoker) + var/list/humans = list() + + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(!isashwalker(human)) + LAZYADD(humans, human) + + if(!LAZYLEN(humans)) + return RITUAL_FAILED_ON_PROCEED + + var/mob/living/carbon/human/human = pick(humans) + var/datum/disease/vampire/disease = new + + if(!disease.Contract(human)) + return RITUAL_FAILED_ON_PROCEED + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/curse/disaster(mob/living/carbon/human/invoker) + var/list/targets = list() + + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(isashwalker(human)) + LAZYADD(targets, human) + + if(!LAZYLEN(targets)) + return + + var/mob/living/carbon/human/human = pick(targets) + human.monkeyize() + + return + +/datum/ritual/ashwalker/power + name = "Power ritual" + disaster_prob = 40 + fail_chance = 40 + charges = 1 + cooldown_after_cast = 800 SECONDS + cast_time = 80 SECONDS + shaman_only = TRUE + extra_invokers = 4 + required_things = list( + /mob/living/simple_animal/hostile/asteroid/goliath = 3, + /obj/item/organ/internal/regenerative_core = 3 + ) + +/datum/ritual/ashwalker/power/del_things() + for(var/mob/living/living in used_things) + living.gib() + + return + +/datum/ritual/ashwalker/power/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/living in used_things) + if(living.stat != DEAD) + to_chat(invoker, "Существа должны быть мертвы.") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/power/do_ritual(mob/living/carbon/human/invoker) + LAZYADD(invokers, invoker) + + for(var/mob/living/carbon/human/human as anything in invokers) + if(LAZYIN(human.dna?.default_blocks, GLOB.weakblock)) + human.force_gene_block(GLOB.weakblock) + + human.force_gene_block(GLOB.strongblock, TRUE) + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/power/disaster(mob/living/carbon/human/invoker) + var/list/targets = list() + + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(isashwalker(human)) + LAZYADD(targets, human) + + if(!LAZYLEN(targets)) + return + + invoker.force_gene_block(pick(GLOB.bad_blocks), TRUE) + for(var/mob/living/carbon/human/human as anything in invokers) + human.force_gene_block(pick(GLOB.bad_blocks), TRUE) + + var/mob/living/carbon/human/human = pick(targets) + human.force_gene_block(pick(GLOB.bad_blocks), TRUE) + + return + +/datum/ritual/ashwalker/power/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/magic/castsummon.ogg', 50, TRUE) + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/magic/smoke.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/magic/strings.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/resurrection + name = "Resurrection ritual" + charges = 3 + extra_invokers = 2 + cooldown_after_cast = 180 SECONDS + cast_time = 100 SECONDS + shaman_only = TRUE + disaster_prob = 25 + fail_chance = 35 + required_things = list( + /obj/item/organ/internal/regenerative_core = 2, + /mob/living/carbon/human = 1, + /obj/item/reagent_containers/food/snacks/grown/ash_flora/fireblossom = 4, + /obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit = 1 + ) + +/datum/ritual/ashwalker/resurrection/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/living in used_things) + if(living.stat != DEAD) + to_chat(invoker, "Существа должны быть мертвы.") + return FALSE + + var/mob/living/carbon/human/human = locate() in used_things + + if(!human.mind || !human.ckey) + return FALSE + + if(!isashwalker(human)) + fail_chance = 15 + + return TRUE + +/datum/ritual/ashwalker/resurrection/do_ritual(mob/living/carbon/human/invoker) + var/mob/living/carbon/human/human = locate() in used_things + human.revive() + human.adjustBrainLoss(20) + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/resurrection/disaster(mob/living/carbon/human/invoker) + for(var/mob/living/carbon/human/human in range(10, ritual_object)) + if(!isashwalker(human) || human.stat == DEAD) + continue + + human.adjustBrainLoss(15) + + return + +/datum/ritual/ashwalker/resurrection/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/magic/clockwork/reconstruct.ogg', 50, TRUE) + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/magic/disable_tech.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/magic/invoke_general.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/recharge + name = "Recharge rituals" + extra_invokers = 3 + disaster_prob = 30 + fail_chance = 50 + cooldown_after_cast = 360 SECONDS + cast_time = 90 SECONDS + shaman_only = TRUE + required_things = list( + /mob/living/simple_animal/hostile/asteroid/basilisk/watcher = 1, + /mob/living/simple_animal/hostile/asteroid/goliath = 1, + /obj/item/organ/internal/regenerative_core = 1, + /mob/living/simple_animal/hostile/asteroid/goldgrub = 1 + ) + var/list/blacklisted_rituals = list(/datum/ritual/ashwalker/power) + +/datum/ritual/ashwalker/recharge/del_things() + . = ..() + + for(var/mob/living/living in used_things) + living.gib() + + return + +/datum/ritual/ashwalker/recharge/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/living in used_things) + if(living.stat != DEAD) + to_chat(invoker, "Существа должны быть мертвы.") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/recharge/do_ritual(mob/living/carbon/human/invoker) + var/datum/component/ritual_object/component = ritual_object.GetComponent(/datum/component/ritual_object) + + if(!component) + return RITUAL_FAILED_ON_PROCEED + + for(var/datum/ritual/ritual as anything in component.rituals) + if(is_type_in_list(ritual, blacklisted_rituals)) + continue + + if(ritual.charges < 0) + continue + + ritual.charges++ + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/recharge/disaster(mob/living/carbon/human/invoker) + var/list/targets = list() + + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(isashwalker(human)) + LAZYADD(targets, human) + + if(!LAZYLEN(targets)) + return + + var/mob/living/carbon/human/human = pick(targets) + new /obj/item/organ/internal/legion_tumour(human) + + return + +/datum/ritual/ashwalker/recharge/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/magic/castsummon.ogg', 50, TRUE) + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/magic/cult_spell.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/magic/invoke_general.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/population + name = "Population ritual" + extra_invokers = 2 + charges = 1 + cooldown_after_cast = 120 SECONDS + cast_time = 40 SECONDS + ritual_should_del_things_on_fail = TRUE + required_things = list( + /obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit = 1, + /obj/item/reagent_containers/food/snacks/grown/ash_flora/fireblossom = 1, + /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem = 1, + /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf = 1, + /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap = 1, + /obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 1 + ) + +/datum/ritual/ashwalker/population/check_invokers(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + if(!isashwalkershaman(invoker)) + disaster_prob = 40 + fail_chance = 40 + + return TRUE + +/datum/ritual/ashwalker/population/del_things() + for(var/mob/living/living in used_things) + living.gib() + + return + +/datum/ritual/ashwalker/population/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/living in used_things) + if(living.stat != DEAD) + to_chat(invoker, "Существа должны быть мертвы.") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/population/do_ritual(mob/living/carbon/human/invoker) + new /obj/effect/mob_spawn/human/ash_walker/shaman(ritual_object.loc) + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/population/disaster(mob/living/carbon/human/invoker) + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(!isashwalker(human) || !prob(disaster_prob)) + continue + + if(!isturf(human.loc)) + continue + + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(5, FALSE, get_turf(human.loc)) + smoke.start() + + for(var/obj/item/obj as anything in human.get_equipped_items(TRUE, TRUE)) + human.drop_item_ground(obj) + + return + +/datum/ritual/ashwalker/population/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/magic/demon_consume.ogg', 50, TRUE) + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(5, FALSE, get_turf(ritual_object.loc)) + smoke.start() + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/magic/cult_spell.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/magic/teleport_diss.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/soul + name = "Soul ritual" + extra_invokers = 3 + cooldown_after_cast = 1200 SECONDS + cast_time = 60 SECONDS + required_things = list( + /mob/living/carbon/human = 3, + /obj/item/stack/sheet/animalhide/ashdrake = 1 + ) + +/datum/ritual/ashwalker/soul/check_invokers(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + if(!isashwalkershaman(invoker)) + disaster_prob = 40 + fail_chance = 70 + + return TRUE + +/datum/ritual/ashwalker/population/del_things() + var/obj/item/stack/sheet/animalhide/ashdrake/stack = locate() in used_things + stack.use(1) + + for(var/mob/living/living in used_things) + living.gib() + + return + +/datum/ritual/ashwalker/soul/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/living in used_things) + if(living.stat != DEAD) + to_chat(invoker, "Существа должны быть мертвы.") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/soul/do_ritual(mob/living/carbon/human/invoker) + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(5, FALSE, get_turf(invoker.loc)) + smoke.start() + invoker.set_species(/datum/species/unathi/draconid) + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/soul/disaster(mob/living/carbon/human/invoker) + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(!isashwalker(human) || !prob(disaster_prob)) + continue + + if(!isturf(human.loc)) + continue + + human.SetKnockdown(10 SECONDS) + var/turf/turf = human.loc + new /obj/effect/hotspot(turf) + turf.hotspot_expose(700, 50, 1) + + return + +/datum/ritual/ashwalker/soul/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/effects/whoosh.ogg', 50, TRUE) + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/effects/bamf.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/effects/blobattack.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/transmutation + name = "Transmutation ritual" + cooldown_after_cast = 120 SECONDS + cast_time = 10 SECONDS + required_things = list( + /obj/item/stack/ore = 10 + ) + +/datum/ritual/ashwalker/transmutation/check_invokers(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + if(!isashwalkershaman(invoker)) + disaster_prob = 30 + fail_chance = 50 + + return TRUE + +/datum/ritual/ashwalker/transmutation/do_ritual(mob/living/carbon/human/invoker) + var/ore_type = pick(subtypesof(/obj/item/stack/ore)) + + var/obj/item/stack/ore/ore = new ore_type(get_turf(ritual_object)) + ore.add(10) + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/transmutation/disaster(mob/living/carbon/human/invoker) + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(!isashwalker(human) || !prob(disaster_prob)) + continue + + if(!isturf(human.loc)) + continue + + human.SetKnockdown(10 SECONDS) + var/turf/turf = human.loc + new /obj/effect/hotspot(turf) + turf.hotspot_expose(700, 50, 1) + + return + +/datum/ritual/ashwalker/transmutation/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/effects/bin_close.ogg', 50, TRUE) + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/magic/cult_spell.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/magic/knock.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/interrogation + name = "Interrogation ritual" + cooldown_after_cast = 50 SECONDS + shaman_only = TRUE + cast_time = 10 SECONDS + required_things = list( + /mob/living/carbon/human = 1 + ) + +/datum/ritual/ashwalker/interrogation/check_invokers(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + if(invoker.health > 10) + disaster_prob = 30 + fail_chance = 30 + + return TRUE + +/datum/ritual/ashwalker/interrogation/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + var/mob/living/carbon/human/human = locate() in used_things + if(!human || QDELETED(human)) + return RITUAL_FAILED_ON_PROCEED + + if(human.stat == DEAD || !human.mind) + to_chat(invoker, "Гуманоид должен быть жив и иметь разум.") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/interrogation/do_ritual(mob/living/carbon/human/invoker) + var/obj/effect/proc_holder/spell/empath/empath = new + if(!empath.cast(used_things, invoker)) + return RITUAL_FAILED_ON_PROCEED + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/interrogation/disaster(mob/living/carbon/human/invoker) + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(!isashwalker(human)) + continue + + if(!isturf(human.loc)) + continue + + var/turf/turf = human.loc + to_chat(human, "HONK") + SEND_SOUND(turf, sound('sound/items/airhorn.ogg')) + human.AdjustHallucinate(150 SECONDS) + human.EyeBlind(5 SECONDS) + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(5, FALSE, turf) + smoke.start() + + return + +/datum/ritual/ashwalker/interrogation/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/effects/anvil_start.ogg', 50, TRUE) + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/effects/hulk_hit_airlock.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/effects/forge_destroy.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/creation + name = "Creation ritual" + cooldown_after_cast = 150 SECONDS + shaman_only = TRUE + extra_invokers = 2 + cast_time = 60 SECONDS + required_things = list( + /mob/living/carbon/human = 2 + ) + +/datum/ritual/ashwalker/creation/check_invokers(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/carbon/human/human as anything in invokers) + if(human.stat != UNCONSCIOUS) + disaster_prob += 20 + fail_chance += 20 + + return TRUE + +/datum/ritual/ashwalker/creation/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/carbon/human/human in used_things) + if(human.stat != DEAD) + to_chat(invoker, "Гуманоиды должны быть мертвы.") + return FALSE + + if(!isashwalker(human)) + to_chat(invoker, "Гуманоиды должны быть пеплоходцами.") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/creation/do_ritual(mob/living/carbon/human/invoker) + for(var/mob/living/mob as anything in subtypesof(/mob/living/simple_animal/hostile/asteroid)) + if(prob(30)) + mob = new(get_turf(ritual_object)) + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/creation/disaster(mob/living/carbon/human/invoker) + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(!isashwalker(human) || !prob(disaster_prob)) + continue + + if(!isturf(human.loc)) + continue + + human.SetKnockdown(10 SECONDS) + var/turf/turf = human.loc + new /obj/effect/hotspot(turf) + turf.hotspot_expose(700, 50, 1) + + return + +/datum/ritual/ashwalker/creation/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/magic/demon_consume.ogg', 50, TRUE) + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/magic/blind.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/magic/castsummon.ogg', 50, TRUE) + + return . + +/datum/ritual/ashwalker/command + name = "Command ritual" + cooldown_after_cast = 150 SECONDS + shaman_only = TRUE + disaster_prob = 35 + extra_invokers = 1 + cast_time = 60 SECONDS + required_things = list( + /mob/living/simple_animal = 1, + /obj/item/organ/internal/regenerative_core = 1, + /obj/item/reagent_containers/food/snacks/monstermeat/spiderleg = 1 + ) + +/datum/ritual/ashwalker/command/check_contents(mob/living/carbon/human/invoker) + . = ..() + + if(!.) + return FALSE + + for(var/mob/living/simple_animal/living in used_things) + if(living.client) + to_chat(invoker, "Существо должно быть бездушным.") + return FALSE + + if(living.sentience_type == SENTIENCE_BOSS) + to_chat(invoker, "Ритуал не может воздействовать на мегафауну.") + return FALSE + + if(living.stat != DEAD) + to_chat(invoker, "Существа должны быть мертвы.") + return FALSE + + return TRUE + +/datum/ritual/ashwalker/command/do_ritual(mob/living/carbon/human/invoker) + var/mob/living/simple_animal/animal = locate() in used_things + + if(QDELETED(animal)) + return RITUAL_FAILED_ON_PROCEED + + animal.faction = invoker.faction + animal.revive() + var/list/candidates = SSghost_spawns.poll_candidates("Вы хотите сыграть за раба пеплоходцев?", ROLE_SENTIENT, TRUE, source = animal) + + if(!LAZYLEN(candidates) || QDELETED(animal)) // no travelling into nullspace + return RITUAL_FAILED_ON_PROCEED // no mercy guys. But you got friendly creature + + var/mob/mob = pick(candidates) + animal.key = mob.key + animal.universal_speak = 1 + animal.sentience_act() + animal.can_collar = 1 + animal.maxHealth = max(animal.maxHealth, 200) + animal.del_on_death = FALSE + animal.master_commander = invoker + + animal.mind.store_memory("Мой хозяин [invoker.name], выполню [genderize_ru(invoker.gender, "его", "её", "этого", "их")] цели любой ценой!") + to_chat(animal, chat_box_green("Вы - раб пеплоходцев. Всегда подчиняйтесь и помогайте им.")) + add_game_logs("стал питомцем игрока [key_name(invoker)]", animal) + + return RITUAL_SUCCESSFUL + +/datum/ritual/ashwalker/command/disaster(mob/living/carbon/human/invoker) + for(var/mob/living/carbon/human/human in SSmobs.clients_by_zlevel[invoker.z]) + if(!isashwalker(human) || !prob(disaster_prob)) + continue + + if(!isturf(human.loc)) + continue + + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(5, FALSE, get_turf(human.loc)) + smoke.start() + + var/mob/living/simple_animal/mob = locate() in used_things + qdel(mob) + + new /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient(get_turf(ritual_object)) + + return + +/datum/ritual/ashwalker/command/handle_ritual_object(bitflags, silent = FALSE) + . = ..(bitflags, TRUE) + + switch(.) + if(RITUAL_ENDED) + playsound(ritual_object.loc, 'sound/magic/demon_consume.ogg', 50, TRUE) + if(RITUAL_STARTED) + playsound(ritual_object.loc, 'sound/magic/invoke_general.ogg', 50, TRUE) + if(RITUAL_FAILED) + playsound(ritual_object.loc, 'sound/magic/castsummon.ogg', 50, TRUE) + + return . + diff --git a/code/datums/spells/alien_spells/evolve.dm b/code/datums/spells/alien_spells/evolve.dm index e1bb39e386c..80f11c6b97f 100644 --- a/code/datums/spells/alien_spells/evolve.dm +++ b/code/datums/spells/alien_spells/evolve.dm @@ -1,26 +1,27 @@ #define LIVING_PLAYERS_COUNT_FOR_1_PRAETORIAN 25 /obj/effect/proc_holder/spell/alien_spell/evolve + name = "Evolve" desc = "Evolve into reporting this issue." action_icon_state = "larva2" action_icon = 'icons/mob/alien.dmi' - action_icon_state = "AlienMMI" - var/queen_check = FALSE var/evolution_path = /mob/living/carbon/alien/larva +/obj/effect/proc_holder/spell/alien_spell/evolve/larva + desc = "Evolve into a fully grown Alien." + action_icon_state = "alienh_running" + + /obj/effect/proc_holder/spell/alien_spell/evolve/praetorian - name = "Evolve" desc = "Become a Praetorian, Royal Guard to the Queen." action_icon_state = "aliens_running" evolution_path = /mob/living/carbon/alien/humanoid/praetorian /obj/effect/proc_holder/spell/alien_spell/evolve/queen - name = "Evolve" desc = "Evolve into an Alien Queen." action_icon_state = "alienq_running" - queen_check = TRUE evolution_path = /mob/living/carbon/alien/humanoid/queen/large @@ -28,35 +29,81 @@ return new /datum/spell_targeting/self -/obj/effect/proc_holder/spell/alien_spell/evolve/cast(list/targets, mob/living/carbon/alien/user) +/obj/effect/proc_holder/spell/alien_spell/evolve/can_cast(mob/living/carbon/alien/user, charge_check, show_message) + if(!..()) + return FALSE + if(!user.can_evolve) - to_chat(user, span_warning("We have nowhere to evolve further!")) - return + if(show_message) + to_chat(user, span_warning("We have nowhere to evolve further!")) + return FALSE if(user.evolution_points < user.max_evolution_points) - to_chat(user, span_warning("We are not ready to evolve yet!")) - return + if(show_message) + to_chat(user, span_warning("We are not ready to evolve yet!")) + return FALSE if(user.has_brain_worms()) - to_chat(user, span_warning("We cannot perform this ability at the present time!")) - return + if(show_message) + to_chat(user, span_warning("We cannot perform this ability at the present time!")) + return FALSE - if(queen_check) - if(user.queen_count >= user.queen_maximum) - to_chat(user, span_warning("We already have a queen.")) - return - else - user.queen_count++ + return TRUE + +/obj/effect/proc_holder/spell/alien_spell/evolve/cast(list/targets, mob/living/carbon/alien/user) to_chat(user, span_noticealien("You begin to evolve!")) user.visible_message(span_alertalien("[user] begins to twist and contort!")) - var/mob/living/carbon/alien/new_xeno = new evolution_path(user.loc) + + var/mob/living/carbon/alien/new_xeno = new evolution_path(get_turf(user)) user.mind.transfer_to(new_xeno) new_xeno.mind.name = new_xeno.name + + if(HAS_TRAIT(user, TRAIT_MOVE_VENTCRAWLING)) + var/obj/machinery/atmospherics/pipe = user.loc + if(!new_xeno.ventcrawler_trait) + new_xeno.stop_ventcrawling(message = FALSE) + new_xeno.visible_message( + span_notice("[new_xeno.name] с грохотом вываливается из вентиляции!"), + span_notice("Вы с грохотом вываливаетесь из вентиляции."), + ) + + var/turf/simulated/floor/turf = get_turf(new_xeno) + if(istype(turf)) + playsound(turf, "sound/effects/clang.ogg", 50, TRUE) + turf.break_tile_to_plating() + pipe?.deconstruct() + else + new_xeno.move_into_vent(pipe, message = FALSE) + + playsound_xenobuild(user.loc) SSblackbox.record_feedback("tally", "alien_growth", 1, "[new_xeno]") qdel(user) + +/obj/effect/proc_holder/spell/alien_spell/evolve/larva/cast(list/targets, mob/living/carbon/alien/larva/user) + to_chat(user, span_boldnotice("You are growing into a beautiful alien! It is time to choose a caste.")) + to_chat(user, span_notice("There are three to choose from:")) + to_chat(user, span_notice("Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.")) + to_chat(user, span_notice("Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.")) + to_chat(user, span_notice("Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.")) + var/static/list/to_evolve = list("Hunter" = image(icon = 'icons/mob/alien.dmi', icon_state = "alienh_running"), + "Sentinel" = image(icon = 'icons/mob/alien.dmi', icon_state = "aliens_running"), + "Drone" = image(icon = 'icons/mob/alien.dmi', icon_state = "aliend_running")) + var/choosen_type = show_radial_menu(user, user, to_evolve, src, radius = 40) + if(!choosen_type) + return + switch(choosen_type) + if("Hunter") + evolution_path = /mob/living/carbon/alien/humanoid/hunter + if("Sentinel") + evolution_path = /mob/living/carbon/alien/humanoid/sentinel + if("Drone") + evolution_path = /mob/living/carbon/alien/humanoid/drone + ..() + + /obj/effect/proc_holder/spell/alien_spell/evolve/praetorian/cast(list/targets, mob/living/carbon/user) var/mob/living/carbon/alien/spell_owner = user if(!istype(spell_owner)) @@ -72,4 +119,21 @@ else to_chat(user, span_warning("We have too many praetorians.")) + +/obj/effect/proc_holder/spell/alien_spell/evolve/queen/can_cast(mob/living/carbon/alien/user, charge_check, show_message) + if(!..()) + return FALSE + + if(user.queen_count >= user.queen_maximum) + if(show_message) + to_chat(user, span_warning("We already have a queen.")) + return FALSE + + return TRUE + +/obj/effect/proc_holder/spell/alien_spell/evolve/queen/cast(list/targets, mob/living/carbon/alien/user) + ..() + user.queen_count++ + + #undef LIVING_PLAYERS_COUNT_FOR_1_PRAETORIAN diff --git a/code/datums/spells/alien_spells/larva_evolve.dm b/code/datums/spells/alien_spells/larva_evolve.dm deleted file mode 100644 index 52e0b34d605..00000000000 --- a/code/datums/spells/alien_spells/larva_evolve.dm +++ /dev/null @@ -1,49 +0,0 @@ -// Make this reflect amount grown, can't do that currently -/obj/effect/proc_holder/spell/alien_spell/evolve_larva - name = "Evolve." - desc = "Evolve into a fully grown Alien." - action_icon_state = "alien_evolve_larva" - - -/obj/effect/proc_holder/spell/alien_spell/evolve_larva/create_new_targeting() - return new /datum/spell_targeting/self - - -/obj/effect/proc_holder/spell/alien_spell/evolve_larva/cast(list/targets, mob/living/carbon/alien/larva/user) - if(user.stat != CONSCIOUS) - return - - if(user.handcuffed || user.legcuffed) - to_chat(user, "You cannot evolve when you are cuffed.") - return - - if(user.evolution_points < user.max_evolution_points) - to_chat(user, "You are not fully grown.") - return - //green is impossible to read, so i made these blue and changed the formatting slightly - to_chat(user, "You are growing into a beautiful alien! It is time to choose a caste.") - to_chat(user, "There are three to choose from:") - to_chat(user, "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.") - to_chat(user, "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.") - to_chat(user, "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.") - var/static/list/to_evolve = list("Hunter" = image(icon = 'icons/mob/alien.dmi', icon_state = "alienh_running"), - "Sentinel" = image(icon = 'icons/mob/alien.dmi', icon_state = "aliens_running"), - "Drone" = image(icon = 'icons/mob/alien.dmi', icon_state = "aliend_running")) - var/new_xeno = show_radial_menu(user, user, to_evolve, src, radius = 40) - var/turf/T = user.loc - if(!new_xeno) - return - var/to_spawn - switch(new_xeno) - if("Hunter") - to_spawn = new /mob/living/carbon/alien/humanoid/hunter(T) - if("Sentinel") - to_spawn = new /mob/living/carbon/alien/humanoid/sentinel(T) - if("Drone") - to_spawn = new /mob/living/carbon/alien/humanoid/drone(T) - if(user.mind) - user.mind.transfer_to(to_spawn) - playsound_xenobuild(user.loc) - SSblackbox.record_feedback("tally", "alien_growth", 1, "[lowertext(new_xeno)]") - qdel(user) - diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 839a3cdf909..d95b87db1f1 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -57,6 +57,40 @@ /datum/status_effect/pacifism/on_remove() REMOVE_TRAIT(owner, TRAIT_PACIFISM, id) +/datum/status_effect/fang_exhaust + id = "fang_exhaust" + alert_type = null + duration = 2 SECONDS + var/modifier + +/datum/status_effect/fang_exhaust/on_creation(mob/living/simple_animal/new_owner, modifier = 1.1) + if(!istype(new_owner)) + return FALSE + + src.modifier = modifier + return ..() + +/datum/status_effect/fang_exhaust/on_apply() + var/mob/living/simple_animal/new_owner = owner + + for(var/thing in new_owner.damage_coeff) + if(!new_owner.damage_coeff[thing]) + continue + + new_owner.damage_coeff[thing] *= modifier + + return ..() + +/datum/status_effect/fang_exhaust/on_remove() + var/mob/living/simple_animal/new_owner = owner + + for(var/thing in new_owner.damage_coeff) + if(!new_owner.damage_coeff[thing]) + continue + + new_owner.damage_coeff[thing] /= modifier + + return ..() /datum/status_effect/shadow_boxing id = "shadow barrage" diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index c36bb358f60..676c181ae90 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -577,6 +577,13 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY cost = 25 //По 6 за один блокиратор containername = "sibyl attachments crate" +/datum/supply_packs/security/armory/fastpouch + name = "Fast Pouch Crate" + contains = list(/obj/item/storage/pouch/fast, + /obj/item/storage/pouch/fast) + cost = 100 + containername = "fast pouch crate" + /////// Weapons: Specialist /datum/supply_packs/security/armory/ballistic diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 27e1753a9cc..4eeac88c353 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -1132,7 +1132,7 @@ name = "50. compact ammo box" desc = "A box of 50. cal sniper ammo." item = /obj/item/ammo_box/magazine/sniper_rounds/compact - cost = 10 + cost = 5 excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST) /datum/uplink_item/ammo/revolver @@ -1618,7 +1618,7 @@ name = "Access Tuner" desc = "The access tuner is a small device that can interface with airlocks from range. It takes a few seconds to connect and can change the bolt state, open the door, or toggle emergency access." item = /obj/item/door_remote/omni/access_tuner - cost = 30 + cost = 15 /datum/uplink_item/device_tools/toolbox name = "Fully Loaded Toolbox" diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index e124d06c5f9..19fe3703a74 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -13,6 +13,7 @@ GLOBAL_DATUM_INIT(event_announcement, /datum/announcement/priority/command/event var/announcement_type = "Оповещение" var/admin_announcement = 0 // Admin announcements are received regardless of being in range of a radio, unless you're in the lobby to prevent metagaming var/language = LANGUAGE_GALACTIC_COMMON + var/beannounced = TRUE /datum/announcement/New(var/do_log = 0, var/new_sound = null, var/do_newscast = 0) sound = new_sound @@ -47,6 +48,8 @@ GLOBAL_DATUM_INIT(event_announcement, /datum/announcement/priority/command/event /datum/announcement/proc/Announce(message as text, new_title = "", new_sound = null, do_newscast = newscast, msg_sanitized = 0, from, msg_language) if(!message) return + if(!beannounced) + return var/message_title = new_title ? new_title : title var/message_sound = new_sound ? sound(new_sound) : sound diff --git a/code/defines/procs/radio.dm b/code/defines/procs/radio.dm index 3b40d4a311c..c148057462f 100644 --- a/code/defines/procs/radio.dm +++ b/code/defines/procs/radio.dm @@ -25,10 +25,3 @@ freq_text = format_frequency(display_freq) return freq_text - -/proc/get_message_server() - if(GLOB.message_servers) - for(var/obj/machinery/message_server/MS in GLOB.message_servers) - if(MS.active) - return MS - return null diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index b1fe29dc906..59c373cbed5 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -101,6 +101,7 @@ // This area exists so that lavaland ruins dont overwrite the baseturfs on regular space ruins /area/ruin/unpowered/misc_lavaruin + outdoors = FALSE //'safe' caves /area/ruin/unpowered/safe_cave diff --git a/code/game/area/ss13_areas.dm b/code/game/area/ss13_areas.dm index e954a13cbd8..d1942e2961d 100644 --- a/code/game/area/ss13_areas.dm +++ b/code/game/area/ss13_areas.dm @@ -931,6 +931,7 @@ This applies to all STANDARD station areas /area/maintenance/disposal/external/north name = "Northern External Waste Belt" +<<<<<<< HEAD // Segmenstaation tonels /area/maintenance/tonel name = "Maintenance Tonel" @@ -977,6 +978,54 @@ This applies to all STANDARD station areas /area/maintenance/tonel/southeast2 name = "Second South-East Maintenance Tonel" +======= +// Segmenstaation Tunnels +/area/maintenance/tunnel + name = "Maintenance Tunnel" + icon_state = "green" + +/area/maintenance/tunnel/west + name = "West Maintenance Tunnel" + +/area/maintenance/tunnel/west2 + name = "Second West Maintenance Tunnel" + +/area/maintenance/tunnel/south + name = "South Maintenance Tunnel" + +/area/maintenance/tunnel/south2 + name = "Second South Maintenance Tunnel" + +/area/maintenance/tunnel/north + name = "North Maintenance Tunnel" + +/area/maintenance/tunnel/north2 + name = "Second North Maintenance Tunnel" + +/area/maintenance/tunnel/northwest + name = "North-West Maintenance Tunnel" + +/area/maintenance/tunnel/northwest2 + name = "Second North-West Maintenance Tunnel" + +/area/maintenance/tunnel/northeast + name = "North-East Maintenance Tunnel" + +/area/maintenance/tunnel/northeast2 + name = "Second North-East Maintenance Tunnel" + +/area/maintenance/tunnel/east + name = "East Maintenance Tunnel" + +/area/maintenance/tunnel/east2 + name = "Second East Maintenance Tunnel" + +/area/maintenance/tunnel/southeast + name = "South-East Maintenance Tunnel" + +/area/maintenance/tunnel/southeast2 + name = "Second South-East Maintenance Tunnel" +>>>>>>> 7b37176792d4632c52e42a22cba6dc41210b6ce3 /area/maintenance/clownscience icon_state = "clown_office" @@ -1624,6 +1673,12 @@ This applies to all STANDARD station areas name = "Chapel Office" icon_state = "chapeloffice" +/area/chapel/morgue + name = "Chapel Morgue" + +/area/chapel/massdriver + name = "Chapel Mass Driver" + /area/escapepodbay name = "Escape Shuttle Hallway Podbay" icon_state = "escape" @@ -1843,6 +1898,16 @@ This applies to all STANDARD station areas /area/atmos/mini name = "Mini Atmospherics" +/area/engineering/mechanic_workshop/hangar2 + name = "Satellite General Hangar" + +/area/engineering/Generator + icon_state = "yellow" + name = "Generator room" + +/area/atmos/mini + name = "Mini Atmospherics" + //Solars /area/solar //i hate this macaroni areas @@ -2270,7 +2335,7 @@ This applies to all STANDARD station areas /area/security/visiting_room name = "Visiting Room" - icon_state = "visiting-room" + icon_state = "red" /area/security/prisonlockers name = "Prisoner Lockers" diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 7351128927e..31320c3799e 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -56,7 +56,7 @@ /////////////////////////// DNA MACHINES /obj/machinery/dna_scannernew name = "\improper DNA modifier" - desc = "It scans DNA structures." + desc = "Устройство для сканирования структуры ДНК." icon = 'icons/obj/machines/cryogenic2.dmi' icon_state = "scanner_open" density = TRUE @@ -72,6 +72,14 @@ var/damage_coeff var/scan_level var/precision_coeff + ru_names = list( + NOMINATIVE = "ДНК-модификатор", + GENITIVE = "ДНК-модификатора", + DATIVE = "ДНК-модификатору", + ACCUSATIVE = "ДНК-модификатор", + INSTRUMENTAL = "ДНК-модификатором", + PREPOSITIONAL = "ДНК-модификаторе" + ) /obj/machinery/dna_scannernew/New() ..() @@ -143,16 +151,16 @@ if(usr.incapacitated() || HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) || usr.buckled) //are you cuffed, dying, lying, stunned or other return if(!ishuman(usr)) //Make sure they're a mob that has dna - to_chat(usr, "Try as you might, you can not climb up into the [src].") + to_chat(usr, span_notice("Как бы вы не старались, у вас не получится забраться в [declent_ru(ACCUSATIVE)].")) return if(occupant) - to_chat(usr, "The [src] is already occupied!") + balloon_alert(usr, "занято!") return if(usr.abiotic()) - to_chat(usr, "Subject cannot have abiotic items on.") + balloon_alert(usr, "руки заняты") return if(usr.has_buckled_mobs()) //mob attached to us - to_chat(usr, "[usr] will not fit into the [src] because [usr.p_they()] [usr.p_have()] a slime latched onto [usr.p_their()] head.") + to_chat(usr, span_warning("[usr] не поместится в [declent_ru(ACCUSATIVE)], пока на [genderize_ru(usr, "нём", "ней", "нём", "них")] сидит слайм.")) return usr.forceMove(src) occupant = usr @@ -180,21 +188,21 @@ if(!istype(user.loc, /turf) || !istype(O.loc, /turf)) // are you in a container/closet/pod/etc? return if(occupant) - to_chat(user, "The [src] is already occupied!") + balloon_alert(user, "занято") return TRUE var/mob/living/L = O if(!istype(L) || L.buckled) return if(L.abiotic()) - to_chat(user, "Subject cannot have abiotic items on.") + balloon_alert(user, "руки заняты") return TRUE if(L.has_buckled_mobs()) //mob attached to us - to_chat(user, "[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.") + to_chat(user, span_warning("[L] не помест[pluralize_ru(L, "ит", "ят")]ся в [declent_ru(ACCUSATIVE)], пока на [genderize_ru(L, "нём", "ней", "нём", "них")] сидит слайм.")) return TRUE if(L == user) - visible_message("[user] climbs into the [src].") + visible_message("[user] забира[pluralize_ru(user, "ет", "ют")]ся в [declent_ru(ACCUSATIVE)].") else - visible_message("[user] puts [L.name] into the [src].") + visible_message("[user] помеща[pluralize_ru(user, "ет", "ют")] [L.name] в [declent_ru(ACCUSATIVE)].") put_in(L) return TRUE @@ -209,15 +217,15 @@ if(istype(I, /obj/item/reagent_containers/glass)) add_fingerprint(user) if(beaker) - to_chat(user, span_warning("A beaker is already loaded into the machine.")) + balloon_alert(user, "внутри есть ёмкость") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() beaker = I SStgui.update_uis(src) user.visible_message( - span_notice("[user] inserts [I] into [src]!"), - span_notice("You insert [I] to [src]!"), + span_notice("[user] помеща[pluralize_ru(user, "ет", "ют")] [I] в [declent_ru(ACCUSATIVE)]."), + span_notice("Вы помещаете [I] в [declent_ru(ACCUSATIVE)]."), ) return ATTACK_CHAIN_BLOCKED_ALL @@ -229,17 +237,17 @@ if(grabber.grab_state < GRAB_AGGRESSIVE || !ismob(grabbed_thing)) return . if(panel_open) - to_chat(grabber, span_warning("Close the maintenance panel first.")) + balloon_alert(grabber, "закройте панель") return . var/mob/target = grabbed_thing if(occupant) - to_chat(grabber, span_warning("[src] is already occupied!")) + balloon_alert(grabber, "занято!") return . if(target.abiotic()) - to_chat(grabber, span_warning("Subject cannot have abiotic items on.")) + to_chat(grabber, span_warning("Субъект не должен ничего держать в руках.")) return . if(target.has_buckled_mobs()) //mob attached to us - to_chat(grabber, span_warning("[target] will not fit into the [src] because [target.p_they()] [target.p_have()] a slime latched onto [target.p_their()] head.")) + to_chat(grabber, span_warning("[target] не помест[pluralize_ru(target, "ит", "ят")]ся в [declent_ru(ACCUSATIVE)], пока на [genderize_ru(target, "нём", "ней", "нём", "них")] сидит слайм.")) return . put_in(target) add_fingerprint(grabber) @@ -253,7 +261,7 @@ /obj/machinery/dna_scannernew/screwdriver_act(mob/user, obj/item/I) if(occupant) - to_chat(user, "The maintenance panel is locked.") + balloon_alert(user, "панель заблокирована") return TRUE if(default_deconstruction_screwdriver(user, "[icon_state]_maintenance", "[initial(icon_state)]", I)) return TRUE @@ -280,11 +288,11 @@ /obj/machinery/dna_scannernew/proc/go_out(mob/user, force) if(!occupant) if(user) - to_chat(user, "The scanner is empty!") + balloon_alert(user, "сканер пуст!") return if(locked && !force) if(user) - to_chat(user, "The scanner is locked!") + balloon_alert(user, "сканер заблокирован!") return occupant.forceMove(loc) occupant = null @@ -315,14 +323,14 @@ if(HAS_TRAIT(occupant, TRAIT_NO_DNA)) return TRUE - var/radiation_protection = occupant.run_armor_check(null, "rad", "Your clothes feel warm.", "Your clothes feel warm.") + var/radiation_protection = occupant.run_armor_check(null, "rad", "Ваша одежда кажется теплой.", "Ваша одежда кажется теплой.") if(radiation_protection > NEGATE_MUTATION_THRESHOLD) return TRUE return FALSE /obj/machinery/computer/scan_consolenew name = "\improper DNA Modifier access console" - desc = "Allows you to scan and modify DNA." + desc = "Устройство позволяет сканировать и изменять ДНК." icon = 'icons/obj/machines/computer.dmi' icon_screen = "dna" icon_keyboard = "med_key" @@ -346,20 +354,28 @@ use_power = IDLE_POWER_USE idle_power_usage = 10 active_power_usage = 400 + ru_names = list( + NOMINATIVE = "Консоль доступа ДНК-модификатора", + GENITIVE = "Консоли доступа ДНК-модификатора", + DATIVE = "Консоли доступа ДНК-модификатора", + ACCUSATIVE = "Консоль доступа ДНК-модификатора", + INSTRUMENTAL = "Консолью доступа ДНК-модификатора", + PREPOSITIONAL = "Консоли доступа ДНК-модификатора" + ) /obj/machinery/computer/scan_consolenew/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/disk/data)) //INSERT SOME diskS add_fingerprint(user) if(disk) - to_chat(user, "There is already [disk] inserted.") + balloon_alert(user, "диск уже вставлен") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() disk = I user.visible_message( - span_notice("[user] inserts [I.name] into [src]."), - span_notice("You insert [I.name] into [src]."), + span_notice("[user] вставля[pluralize_ru(user, "ет", "ют")] [I.name] в [declent_ru(ACCUSATIVE)]."), + span_notice("Вы вставляете [I.name] в [declent_ru(ACCUSATIVE)]."), ) SStgui.update_uis(src) return ATTACK_CHAIN_BLOCKED_ALL diff --git a/code/game/dna/genes/disabilities.dm b/code/game/dna/genes/disabilities.dm index 091842436c0..3e17d60509f 100644 --- a/code/game/dna/genes/disabilities.dm +++ b/code/game/dna/genes/disabilities.dm @@ -10,10 +10,10 @@ name = "DISABILITY" /// Activation message - var/activation_message = "" + var/list/activation_message /// Yay, you're no longer growing 3 arms - var/deactivation_message = "" + var/list/deactivation_message /datum/dna/gene/disability/can_activate(mob/living/mutant, flags) @@ -22,24 +22,26 @@ /datum/dna/gene/disability/activate(mob/living/mutant, flags) . = ..() - if(activation_message) - to_chat(mutant, span_warning("[activation_message]")) + if(length(activation_message)) + var/msg = pick(activation_message) + to_chat(mutant, span_warning("[msg]")) else testing("[name] has no activation message.") /datum/dna/gene/disability/deactivate(mob/living/mutant, flags) . = ..() - if(deactivation_message) - to_chat(mutant, span_warning("[deactivation_message]")) + if(length(deactivation_message)) + var/msg = pick(deactivation_message) + to_chat(mutant, span_warning("[msg]")) else testing("[name] has no deactivation message.") /datum/dna/gene/disability/hallucinate name = "Hallucinate" - activation_message = "Your mind says 'Hello'." - deactivation_message = "Sanity returns. Or does it?" + activation_message = list("Ваш разум говорит: «Привет!».") + deactivation_message = list("Здравомыслие возвращается. Или нет?") instability = -GENE_INSTABILITY_MODERATE @@ -56,8 +58,8 @@ /datum/dna/gene/disability/epilepsy name = "Epilepsy" - activation_message = "You get a headache." - deactivation_message = "Your headache is gone, at last." + activation_message = list("У вас разболелась голова.") + deactivation_message = list("Ваша голова перестала болеть. Наконец-то!") instability = -GENE_INSTABILITY_MODERATE @@ -68,15 +70,15 @@ /datum/dna/gene/disability/epilepsy/OnMobLife(mob/living/carbon/human/H) if((prob(1) && H.AmountParalyzed() < 2 SECONDS)) - H.visible_message("[H] starts having a seizure!","You have a seizure!") + H.visible_message(span_danger("[H] начина[pluralize_ru(H.gender, "ет", "ют")] биться в припадке!"), span_alert("У вас припадок!")) H.Paralyse(20 SECONDS) H.Jitter(2000 SECONDS) /datum/dna/gene/disability/cough name = "Coughing" - activation_message = "You start coughing." - deactivation_message = "Your throat stops aching." + activation_message = list("Вы начинаете кашлять.") + deactivation_message = list("Ваше горло перестало болеть.") instability = -GENE_INSTABILITY_MINOR @@ -93,8 +95,8 @@ /datum/dna/gene/disability/clumsy name = "Clumsiness" - activation_message = "You feel lightheaded." - deactivation_message = "You regain some control of your movements" + activation_message = list("Вы чувствуете лёгкое головокружение.") + deactivation_message = list("Вы вновь обретаете контроль над своими движениями.") instability = -GENE_INSTABILITY_MINOR traits_to_add = list(TRAIT_CLUMSY) @@ -106,8 +108,8 @@ /datum/dna/gene/disability/tourettes name = "Tourettes" - activation_message = "You twitch." - deactivation_message = "Your mouth tastes like soap." + activation_message = list("Нахлынула какая-то непонятная дрожь...") + deactivation_message = list("Вы чувствуете вкус мыла во рту.") instability = -GENE_INSTABILITY_MODERATE @@ -134,8 +136,8 @@ /datum/dna/gene/disability/nervousness name = "Nervousness" - activation_message="You feel nervous." - deactivation_message ="You feel much calmer." + activation_message = list("Вы начинаете нервничать.") + deactivation_message = list("Вы чувствуете себя гораздо спокойнее.") /datum/dna/gene/disability/nervousness/New() @@ -150,8 +152,8 @@ /datum/dna/gene/disability/blindness name = "Blindness" - activation_message = "You can't seem to see anything." - deactivation_message = "You can see now, in case you didn't notice..." + activation_message = list("Видимо, вы больше ничего не видите.") + deactivation_message = list("Теперь вы можете видеть, если вдруг не заметили...") instability = -GENE_INSTABILITY_MAJOR traits_to_add = list(TRAIT_BLIND) @@ -173,8 +175,8 @@ /datum/dna/gene/disability/colourblindness name = "Colourblindness" - activation_message = "You feel a peculiar prickling in your eyes while your perception of colour changes." - deactivation_message ="Your eyes tingle unsettlingly, though everything seems to become alot more colourful." + activation_message = list("Вы чувствуете странное покалывание в глазах. Ваше восприятие цвета меняется.") + deactivation_message = list("Вы чувствуете неприятное покалывание в глазах, но все вокруг вновь обрело краски.") instability = -GENE_INSTABILITY_MODERATE traits_to_add = list(TRAIT_COLORBLIND) @@ -198,8 +200,8 @@ /datum/dna/gene/disability/deaf name = "Deafness" - activation_message="It's kinda quiet." - deactivation_message ="You can hear again!" + activation_message = list("Здесь как-то тихо...") + deactivation_message = list("Вы снова можете слышать!") instability = -GENE_INSTABILITY_MAJOR traits_to_add = list(TRAIT_DEAF) @@ -211,8 +213,8 @@ /datum/dna/gene/disability/nearsighted name = "Nearsightedness" - activation_message="Your eyes feel weird..." - deactivation_message ="You can see clearly now" + activation_message = list("Всё вокруг начинает размываться...") + deactivation_message = list("Теперь вы можете ясно видеть.") instability = -GENE_INSTABILITY_MODERATE traits_to_add = list(TRAIT_NEARSIGHTED) @@ -234,9 +236,9 @@ /datum/dna/gene/disability/lisp name = "Lisp" - desc = "I wonder wath thith doeth." - activation_message = "Thomething doethn't feel right." - deactivation_message = "You now feel able to pronounce consonants." + desc = "Интерефно, фто это делает." + activation_message = list("Фто-то тошно не тах.") + deactivation_message = list("Теперь вы можете произносить согласные.") /datum/dna/gene/disability/lisp/New() @@ -250,9 +252,9 @@ /datum/dna/gene/disability/comic name = "Comic" - desc = "This will only bring death and destruction." - activation_message = "Uh oh!" - deactivation_message = "Well thank god that's over with." + desc = "Это принесет только смерть и разрушение." + activation_message = list(span_sans("Ой-йо!")) + deactivation_message = list("Слава Святой Хонкоматери, с этим покончено.") traits_to_add = list(TRAIT_COMIC) @@ -263,9 +265,9 @@ /datum/dna/gene/disability/wingdings name = "Alien Voice" - desc = "Garbles the subject's voice into an incomprehensible speech." - activation_message = "Your vocal cords feel alien." - deactivation_message = "Your vocal cords no longer feel alien." + desc = "Искажает голос субъекта, превращая его в непонятную речь." + activation_message = list(span_wingdings("Vashi golosovyye svyazki kazhutsya chuzhimi.")) + deactivation_message = list("Ваши голосовые связки больше не кажутся инородными.") instability = -GENE_INSTABILITY_MINOR traits_to_add = list(TRAIT_WINGDINGS) @@ -300,9 +302,9 @@ /datum/dna/gene/disability/weak name = "Weak" - desc = "Делает мышцы цели более слабыми." - activation_message = "Вы чуствуете слабость в своих мышцах." - deactivation_message = "Похоже, ваши мышцы снова в норме." + desc = "Делает мышцы субъекта более слабыми." + activation_message = list("Вы чувствуете внезапную слабость в мышцах.") + deactivation_message = list("Вы снова ощущаете силу в мышцах.") instability = -GENE_INSTABILITY_MODERATE traits_to_add = list(TRAIT_GENE_WEAK) @@ -376,8 +378,8 @@ /datum/dna/gene/disability/paraplegia name = "Paraplegia" desc = "Парализует мышцы ног." - activation_message = "Вы не чуствуете своих ног." - deactivation_message = "Вы возвращаете контроль над ногами." + activation_message = list("Вы не чувствуете своих ног.") + deactivation_message = list("Вы возвращаете контроль над ногами.") instability = -GENE_INSTABILITY_MAJOR traits_to_add = list(TRAIT_FLOORED) diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm index 75747847c11..09aa99ea9fc 100644 --- a/code/game/dna/genes/goon_disabilities.dm +++ b/code/game/dna/genes/goon_disabilities.dm @@ -9,9 +9,9 @@ // WAS: /datum/bioEffect/mute /datum/dna/gene/disability/mute name = "Mute" - desc = "Completely shuts down the speech center of the subject's brain." - activation_message = "You feel unable to express yourself at all." - deactivation_message = "You feel able to speak freely again." + desc = "Полностью отключает речевой центр у мозга субъекта." + activation_message = list("Вы чувствуете, что потеряли способность к самовыражению.") + deactivation_message = list("Вы чувствуете, что вновь можете говорить свободно.") instability = -GENE_INSTABILITY_MODERATE traits_to_add = list(TRAIT_MUTE) @@ -30,9 +30,9 @@ /datum/dna/gene/disability/radioactive name = "Radioactive" - desc = "The subject suffers from constant radiation sickness and causes the same on nearby organics." - activation_message = "You feel a strange sickness permeate your whole body." - deactivation_message = "You no longer feel awful and sick all over." + desc = "Субъект страдает от постоянной лучевой болезни и вызывает такую же у близлежащей органики." + activation_message = list("Вы чувствуете, как странное недомогание пронизывает всё ваше тело.") + deactivation_message = list("Вы больше не чувствуете себя ужасно больным.") instability = -GENE_INSTABILITY_MAJOR @@ -51,7 +51,7 @@ var/radiation_amount = abs(min(mutant.radiation - 20, 0)) mutant.apply_effect(radiation_amount, IRRADIATE) for(var/mob/living/victim in (view(1, get_turf(src)) - src)) - to_chat(victim, span_danger("You are enveloped by a soft green glow emanating from [mutant].")) + to_chat(victim, span_danger("Вас окутывает мягкое зелёное свечение, исходящее от [mutant].")) victim.apply_effect(5, IRRADIATE) @@ -66,9 +66,9 @@ // WAS: /datum/bioEffect/fat /datum/dna/gene/disability/obesity name = "Obesity" - desc = "Greatly slows the subject's metabolism, enabling greater buildup of lipid tissue." - activation_message = "You feel blubbery and lethargic!" - deactivation_message = "You feel fit!" + desc = "Сильно замедляет метаболизм, способствуя ожирению." + activation_message = list("Вы чувствуете себя толстым и ленивым!") + deactivation_message = list("Вы чувствуете себя в хорошей форме!") instability = -GENE_INSTABILITY_MINOR traits_to_add = list(TRAIT_OBESITY) @@ -81,10 +81,10 @@ // WAS: /datum/bioEffect/chav // WAS: /datum/dna/gene/disability/speech/chav /datum/dna/gene/disability/speech/auld_imperial - name = "Староимпѣрская рѣчь" + name = "Old Imperial speech" desc = "Заставляет языковой центра мозга субъекта произносить слова на староимперский манер." - activation_message = "Охъ, где бы отвѣдать мягкихъ ѳранцузскихъ булокъ, да выпить ароматнаго чаю глоточекъ?" - deactivation_message = "Изысканность вашей речи улетучивается, как запах дорогих духов… Блядь." + activation_message = list("Охъ, где бы отвѣдать мягкихъ ѳранцузскихъ булокъ, да выпить ароматнаго чаю глоточекъ?") + deactivation_message = list("Изысканность вашей речи улетучивается, как запах дорогих духов… Блядь.") // Слова для замены var/static/list/low_cultural_words = list( "бля"="ох", "блядь"="ох", "башка"="голова", "башке"="голове", "башку"="голову", "бошка"="голова", "бошке"="голове", "бошку"="голову", "дебил"="остолоп", "ёбаный"="проклятый", "ёбаные"="проклятые", "ёбаных"="проклятых", "ёбаная"="проклятая", "ёбаное"="проклятое", "ебаный"="проклятый", "ебаные"="проклятые", "ебаных"="проклятых", "ебаная"="проклятая", "ебаное"="проклятое", "ебучий"="проклятый", "ебучие"="проклятые", "ебучих"="проклятых", "ебучая"="проклятая", "ебучее"="проклятое", "до пизды"="всё равно", "до жопы"="много", "дохуя"="очень много", "дура"="глупышка", "дуре"="глупышке", "дурой"="глупышкой", "дуру"="глупышку", "дурак"="болван", "жопа"="попа", "жопы"="попы", "идиот"="шельмец", "мразь"="мерзавец", "мудак"="подлец", "нахуй"="к чёрту", "нахуя"="зачем", "наёбщик"="плут", "наёбывать"="плутовать", "нихуя"="ничего", "охуел"="поражён", "охуела"="поражена", "охуевать"="поражаться", "охуеваю"="поражаюсь", "охуеваешь"="поражаетесь", "охуеваете"="поражаетесь", "охуевает"="поражается", "охуевают"="поражаются", "пидарас"="безобразник", "пидараса"="безобразника", "пидарасе"="безобразнике", "пидарасу"="безобразнику", "пидарасом"="безобразником", "пидарасы"="безобразники", "пидор"="безобразник", "пидора"="безобразника", "пидоре"="безобразнике", "пидору"="безобразнику", "пидором"="безобразником", "пидоры"="безобразники", "пидар"="безобразник", "пидара"="безобразника", "пидаре"="безобразнике", "пидару"="безобразнику", "пидаром"="безобразником", "пидары"="безобразники", "пиздец"="провал", "срочник"="недотёпа", "срочники"="недотёпы", "срочникам"="недотёпам", "срочников"="недотёп", "пиздеца"="провала", "пиздеце"="провале", "пиздецом"="провалом", "писец"="провал", "сдох"="погиб", "сдыхать"="погибать", "сдыхаю"="гибну", "сдыхает"="гибнет", "сдыхают"="гибнут", "сдохну"="погибну", "сдохнуть"="погибнуть", "сдохла"="погибла", "сдохло"="погибло", "сдохли"="погибли", "говно"="дрянь", "похуй"="жаль", "СБ"="охрана", "АВД"="агент", "ПНТ"="представитель", "НТР"="представитель", "варден"="смотритель", "КМ"="квартирмейстер", "кэп"="капитан", "кэпа"="капитана", "кэпе"="капитане", "кэпу"="капитану", "кэпом"="капитаном", "сука"="шельма", "суке"="шельме", "суки"="шельмы", "сукой"="шельмой", "схуяли"="почему", "твое"="Ваше", "твои"="Ваши", "твоими"="Вашими", "твоих"="Ваших", "твой"="Ваш", "твоя"="Ваша", "твоё"="Ваше", "тебе"="Вам", "тебя"="Вас", "тобой"="Вами", "тупой"="недоумок", "тупого"="недоумка", "тупому"="недоумку", "тупом"="недоумке", "тупым"="недоумком", "ты"="Вы", "урод"="голубчик", "урода"="голубчика", "уроду"="голубчику", "уроде"="голубчике", "уродом"="голубчиком", "хуй там"="отнюдь", "срочно"="поскорее", "отпиздить"="побить", "пиздить"="избивать", "пиздят"="избивают", "ебут"="избивают", "ебать"="бить", "заебало"="опротивело", "чел"="сударь", "чела"="сударя", "челе"="сударе", "челу"="сударю", "челом"="сударем", "челам"="сударям", "челы"="судари", "челик"="сударь", "челика"="сударя", "челике"="сударе", "челику"="сударю", "челиком"="сударем", "челикам"="сударям", "челики"="судари", "мужик"="мещанин", "мужика"="мещанина", "мужике"="мещанине", "мужику"="мещанину", "мужиком"="мещанином", "мужикам"="мещанам", "мужики"="мещане", "бомж"="юродивый", "бомжа"="юродивого", "бомже"="юродивом", "бомжу"="юродивому", "бомжом"="юродивым", "бомжам"="юродивым", "бомжи"="юродивые", "шлюха"="куртизанка", "даун"="глупыш", @@ -190,10 +190,10 @@ // WAS: /datum/bioEffect/swedish /datum/dna/gene/disability/speech/swedish - name = "Шведский акцент" + name = "Swedish accent" desc = "Заставляет языковой центра мозга субъекта произносить слова на скандинавский манер." - activation_message = "Вы ощущаете внутреннюю шведскость. Кажется, сработало." - deactivation_message = "Внутреннее ощущение шведскости проходит." + activation_message = list("Вы ощущаете внутреннюю шведскость. Кажется, сработало.") + deactivation_message = list("Внутреннее ощущение шведскости проходит.") /datum/dna/gene/disability/speech/swedish/New() @@ -244,9 +244,9 @@ // WAS: /datum/bioEffect/unintelligable /datum/dna/gene/disability/unintelligable name = "Unintelligable" - desc = "Heavily corrupts the part of the brain responsible for forming spoken sentences." - activation_message = "You can't seem to form any coherent thoughts!" - deactivation_message = "Your mind feels more clear." + desc = "Сильно повреждает часть мозга, отвечающую за формирование разговорных предложений." + activation_message = list("Мысли чувствуете что не вы можете формулировать ясно!") + deactivation_message = list("Ваши мысли становятся более ясными.") instability = -GENE_INSTABILITY_MINOR @@ -286,9 +286,9 @@ // WAS: /datum/bioEffect/horns /datum/dna/gene/disability/horns name = "Horns" - desc = "Enables the growth of a compacted keratin formation on the subject's head." - activation_message = "A pair of horns erupt from your head." - deactivation_message = "Your horns crumble away into nothing." + desc = "Обеспечивает рост уплотнённого кератинового образования на голове субъекта." + activation_message = list("Из вашей головы вырываются рога.") + deactivation_message = list("Ваши рога рассыпаются в прах.") /datum/dna/gene/disability/horns/New() @@ -304,9 +304,9 @@ // WAS: /datum/bioEffect/immolate /datum/dna/gene/basic/grant_spell/immolate name = "Incendiary Mitochondria" - desc = "The subject becomes able to convert excess cellular energy into thermal energy." - activation_messages = list("You suddenly feel rather hot.") - deactivation_messages = list("You no longer feel uncomfortably hot.") + desc = "Субъект приобретает способность преобразовывать избыточную клеточную энергию в тепловую." + activation_messages = list("Вам вдруг становится очень жарко.") + deactivation_messages = list("Вы больше не чувствуете дискомфортного жара.") spelltype = /obj/effect/proc_holder/spell/immolate @@ -317,7 +317,7 @@ /obj/effect/proc_holder/spell/immolate name = "Incendiary Mitochondria" - desc = "The subject becomes able to convert excess cellular energy into thermal energy." + desc = "Субъект приобретает способность преобразовывать избыточную клеточную энергию в тепловую." base_cooldown = 60 SECONDS clothes_req = FALSE stat_allowed = CONSCIOUS @@ -332,7 +332,7 @@ /obj/effect/proc_holder/spell/immolate/cast(list/targets, mob/living/user = usr) var/mob/living/carbon/L = user L.adjust_fire_stacks(0.5) - L.visible_message("[L.name] suddenly bursts into flames!") + L.visible_message(span_danger("[L.name] внезапно вспыхива[pluralize_ru(L.gender, "ет", "ют")] пламенем!")) L.IgniteMob() playsound(L.loc, 'sound/effects/bamf.ogg', 50, 0) diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index 06a419e59a5..313db2a819a 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -3,8 +3,8 @@ // WAS: /datum/bioEffect/alcres /datum/dna/gene/basic/sober name = "Sober" - activation_messages = list("You feel unusually sober.") - deactivation_messages = list("You feel like you could use a stiff drink.") + activation_messages = list("Вы чувствуете себя необычайно трезвым.") + deactivation_messages = list("Вы чувствуете, что вам не помешает крепкий напиток.") traits_to_add = list(TRAIT_SOBER) @@ -16,9 +16,9 @@ //WAS: /datum/bioEffect/psychic_resist /datum/dna/gene/basic/psychic_resist name = "Psy-Resist" - desc = "Boosts efficiency in sectors of the brain commonly associated with meta-mental energies." - activation_messages = list("Your mind feels closed.") - deactivation_messages = list("You feel oddly exposed.") + desc = "Повышает эффективность работы секторов мозга, обычно связанных с мета-психическими энергиями." + activation_messages = list("Ваш разум кажется закрытым.") + deactivation_messages = list("Вы чувствуете себя незащищенным.") traits_to_add = list(TRAIT_PSY_RESIST) @@ -43,9 +43,9 @@ // WAS: /datum/bioEffect/darkcloak /datum/dna/gene/basic/stealth/darkcloak name = "Cloak of Darkness" - desc = "Enables the subject to bend low levels of light around themselves, creating a cloaking effect." - activation_messages = list("You begin to fade into the shadows.") - deactivation_messages = list("You become fully visible.") + desc = "Позволяет субъекту излучать вокруг себя слабое свечение, создавая эффект маскировки." + activation_messages = list("Вы начинаете исчезать в тени.") + deactivation_messages = list("Вы становитесь полностью видимым.") activation_prob = 25 @@ -68,9 +68,9 @@ //WAS: /datum/bioEffect/chameleon /datum/dna/gene/basic/stealth/chameleon name = "Chameleon" - desc = "The subject becomes able to subtly alter light patterns to become invisible, as long as they remain still." - activation_messages = list("You feel one with your surroundings.") - deactivation_messages = list("You feel oddly visible.") + desc = "Субъект обретает способность тонко изменять структуру света, чтобы оставаться невидимым до тех пор, пока он остается неподвижным." + activation_messages = list("Вы чувствуете себя единым целым с окружающим миром.") + deactivation_messages = list("Вы чувствуете себя необычайно заметным.") activation_prob = 25 @@ -121,9 +121,9 @@ // WAS: /datum/bioEffect/cryokinesis /datum/dna/gene/basic/grant_spell/cryo name = "Cryokinesis" - desc = "Allows the subject to lower the body temperature of others." - activation_messages = list("You notice a strange cold tingle in your fingertips.") - deactivation_messages = list("Your fingers feel warmer.") + desc = "Позволяет субъекту понижать температуру тела окружающих." + activation_messages = list("Ваши кончики пальцев слегка покалывает от холода.") + deactivation_messages = list("Ваши пальцы становятся теплее.") instability = GENE_INSTABILITY_MODERATE spelltype = /obj/effect/proc_holder/spell/cryokinesis @@ -135,13 +135,13 @@ /obj/effect/proc_holder/spell/cryokinesis name = "Cryokinesis" - desc = "Drops the bodytemperature of another person." + desc = "Понижает температуру тела выбранного гуманоида." base_cooldown = 120 SECONDS clothes_req = FALSE stat_allowed = CONSCIOUS - selection_activated_message = "Your mind grow cold. Click on a target to cast the spell." - selection_deactivated_message = "Your mind returns to normal." + selection_activated_message = span_notice("Ваш разум становится холодным. Нажмите на цель, чтобы произнести заклинание.") + selection_deactivated_message = span_notice("Ваш разум возвращается в нормальное состояние.") var/list/compatible_mobs = list(/mob/living/carbon/human) @@ -164,7 +164,7 @@ var/mob/living/carbon/C = targets[1] if(HAS_TRAIT(C, TRAIT_RESIST_COLD)) - C.visible_message("A cloud of fine ice crystals engulfs [C.name], but disappears almost instantly!") + C.visible_message(span_warning("Облако мелких ледяных кристаллов окутывает [C.name], но почти мгновенно исчезает!")) return var/handle_suit = FALSE if(ishuman(C)) @@ -173,11 +173,11 @@ if(istype(H.wear_suit, /obj/item/clothing/suit/space)) handle_suit = TRUE if(H.internal) - H.visible_message("[user] sprays a cloud of fine ice crystals, engulfing [H]!", - "[user] sprays a cloud of fine ice crystals over your [H.head]'s visor.") + H.visible_message(span_warning("[user] распыля[pluralize_ru(user, "ет", "ют")] облако мелких ледяных кристаллов, сковывая [H]!"), + span_notice("[user] распыля[pluralize_ru(user, "ет", "ют")] облако мелких кристалликов льда на визор вашего [H.head].")) else - H.visible_message("[user] sprays a cloud of fine ice crystals engulfing, [H]!", - "[user] sprays a cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.") + H.visible_message(span_warning("[user] распыля[pluralize_ru(user, "ет", "ют")] облако мелких кристаллов льда, поглощая [H]!"), + span_warning("[user] распыля[pluralize_ru(user, "ет", "ют")] облако мелких ледяных кристаллов, которые покрывают визор вашего [H.head] и попадают в вентиляционные отверстия!")) H.adjust_bodytemperature(-100) add_attack_logs(user, C, "Cryokinesis") @@ -185,7 +185,7 @@ C.adjust_bodytemperature(-200) C.ExtinguishMob() - C.visible_message("[user] sprays a cloud of fine ice crystals, engulfing [C]!") + C.visible_message(span_warning("[user] распыля[pluralize_ru(user, "ет", "ют")] облако мелких ледяных кристаллов, поглощая [C]!")) add_attack_logs(user, C, "Cryokinesis- NO SUIT/INTERNALS") @@ -211,9 +211,9 @@ // WAS: /datum/bioEffect/mattereater /datum/dna/gene/basic/grant_spell/mattereater name = "Matter Eater" - desc = "Allows the subject to eat just about anything without harm." - activation_messages = list("You feel hungry.") - deactivation_messages = list("You don't feel quite so hungry anymore.") + desc = "Позволяет без вреда для здоровья есть практически что-угодно." + activation_messages = list("Вы чувствуете голод.") + deactivation_messages = list("Вы больше не чувствуете себя таким голодным.") instability = GENE_INSTABILITY_MINOR spelltype = /obj/effect/proc_holder/spell/eat @@ -225,7 +225,7 @@ /obj/effect/proc_holder/spell/eat name = "Eat" - desc = "Eat just about anything!" + desc = "Ешьте всё подряд!" base_cooldown = 30 SECONDS @@ -248,7 +248,7 @@ var/mob/living/carbon/C = user if((C.head && (C.head.flags_cover & HEADCOVERSMOUTH)) || (C.wear_mask && (C.wear_mask.flags_cover & MASKCOVERSMOUTH) && !C.wear_mask.up)) if(show_message) - to_chat(C, "Your mouth is covered, preventing you from eating!") + balloon_alert(C, "рот чем-то закрыт!") can_eat = FALSE return can_eat @@ -277,7 +277,7 @@ /obj/effect/proc_holder/spell/eat/cast(list/targets, mob/user = usr) if(!targets.len) - to_chat(user, "No target found in range.") + balloon_alert(user, "слишком далеко") return var/atom/movable/the_item = targets[1] @@ -285,38 +285,38 @@ var/mob/living/carbon/human/H = the_item var/obj/item/organ/external/limb = H.get_organ(user.zone_selected) if(!istype(limb)) - to_chat(user, "You can't eat this part of them!") + to_chat(user, span_warning("Вы не можете съесть эту часть тела!")) revert_cast() return FALSE if(istype(limb,/obj/item/organ/external/head)) // Bullshit, but prevents being unable to clone someone. - to_chat(user, "You try to put \the [limb] in your mouth, but [the_item.p_their()] ears tickle your throat!") + to_chat(user, span_warning("Вы пытаетесь засунуть голову в свой рот, но у вас ничего не получается!")) revert_cast() return FALSE if(istype(limb,/obj/item/organ/external/chest)) // Bullshit, but prevents being able to instagib someone. - to_chat(user, "You try to put [the_item.p_their()] [limb] in your mouth, but it's too big to fit!") + to_chat(user, span_warning("Вы пытаетесь уместить туловище у себя во рту, но у вас ничего не получается!")) revert_cast() return FALSE - user.visible_message("[user] begins stuffing [the_item]'s [limb.name] into [user.p_their()] gaping maw!") + user.visible_message(span_danger("[user] приближа[pluralize_ru(user, "ет", "ют")]ся к [the_item] и начина[pluralize_ru(user, "ет", "ют")] поглощать [limb.name]!")) var/oldloc = H.loc if(!do_after(user, EAT_MOB_DELAY, H, NONE)) - to_chat(user, "You were interrupted before you could eat [the_item]!") + balloon_alert(user, "вас прервали") else if(!limb || !H) return if(H.loc != oldloc) - to_chat(user, "\The [limb] moved away from your mouth!") + to_chat(user, span_danger("Вы упустили [limb]!")) return - user.visible_message("[user] [pick("chomps","bites")] off [the_item]'s [limb]!") + user.visible_message(span_danger("[user] [pick("отрыва[pluralize_ru(user, "ет", "ют")]","откусыва[pluralize_ru(user, "ет", "ют")]")] [limb] от [the_item]!")) playsound(user.loc, 'sound/items/eatfood.ogg', 50, 0) limb.droplimb(0, DROPLIMB_SHARP) doHeal(user) else - user.visible_message("[user] eats \the [the_item].") + user.visible_message(span_danger("[user] [pick("съеда[pluralize_ru(user, "ет", "ют")]","поглоща[pluralize_ru(user, "ет", "ют")]")] [the_item].")) playsound(user.loc, 'sound/items/eatfood.ogg', 50, 0) qdel(the_item) doHeal(user) @@ -327,10 +327,10 @@ //WAS: /datum/bioEffect/jumpy /datum/dna/gene/basic/grant_spell/jumpy name = "Jumpy" - desc = "Allows the subject to leap great distances." + desc = "Позволяет субъекту совершать прыжки на большие расстояния." //cooldown = 30 - activation_messages = list("Your leg muscles feel taut and strong.") - deactivation_messages = list("Your leg muscles shrink back to normal.") + activation_messages = list("Вы чувствуете силу в своих ногах.") + deactivation_messages = list("Вы чувствуете, как сила уходит из ваших ног.") instability = GENE_INSTABILITY_MINOR spelltype = /obj/effect/proc_holder/spell/leap @@ -342,7 +342,7 @@ /obj/effect/proc_holder/spell/leap name = "Jump" - desc = "Leap great distances!" + desc = "Прыгайте на огромные расстояния!" base_cooldown = 6 SECONDS @@ -359,11 +359,11 @@ /obj/effect/proc_holder/spell/leap/cast(list/targets, mob/living/user = usr) var/failure = FALSE if(ismob(user.loc) || user.incapacitated(INC_IGNORE_RESTRAINED) || user.buckled) - to_chat(user, "You can't jump right now!") + to_chat(user, span_warning("Вы не можете прыгнуть прямо сейчас!")) return var/turf/turf_to_check = get_turf(user) if(user.can_z_move(DOWN, turf_to_check)) - to_chat(user, span_warning("You need a ground to jump from!")) + to_chat(user, span_warning("Вам не от чего оттолкнуться!")) return if(isturf(user.loc)) @@ -374,13 +374,13 @@ else if(puller) puller.stop_pulling() - user.visible_message("[user.name] takes a huge leap!") + user.visible_message(span_danger("[user.name] дела[pluralize_ru(user, "ет", "ют")] огромный скачок!")) playsound(user.loc, 'sound/weapons/thudswoosh.ogg', 50, 1) if(failure) user.Weaken(10 SECONDS) - user.visible_message("[user] attempts to leap away but is slammed back down to the ground!", - "You attempt to leap away but are suddenly slammed back down to the ground!", - "You hear the flexing of powerful muscles and suddenly a crash as a body hits the floor.") + user.visible_message(span_warning("[user] пыта[pluralize_ru(user, "ет", "ют")]ся отпрыгнуть, но снова оказыва[pluralize_ru(user, "ет", "ют")]ся прижатым[pluralize_ru(user, "", "и")] к земле!"), + span_warning("Вы пытаетесь отпрыгнуть в сторону, но внезапно оказываетесь прижаты к земле!"), + span_notice("Вы слышите, как напрягаются мощные мышцы, и внезапно раздается грохот, когда тело падает на пол.")) return FALSE var/prevLayer = user.layer user.layer = LOW_LANDMARK_LAYER @@ -399,7 +399,7 @@ pitfall?.zFall(user) else if(HAS_TRAIT(user, TRAIT_FAT) && prob(66)) - user.visible_message("[user.name] crashes due to [user.p_their()] heavy weight!") + user.visible_message(span_danger("[user.name] пада[pluralize_ru(user, "ет", "ют")] на землю под весом своего тела!")) //playsound(user.loc, 'zhit.wav', 50, 1) user.AdjustWeakened(20 SECONDS) @@ -407,10 +407,10 @@ if(isobj(user.loc)) var/obj/container = user.loc - to_chat(user, "You leap and slam your head against the inside of [container]! Ouch!") + to_chat(user, span_warning("Вы прыгаете и ударяетесь головой о внутреннюю часть [container]! АЙ!")) user.AdjustParalysis(6 SECONDS) user.AdjustWeakened(10 SECONDS) - container.visible_message("[user.loc] emits a loud thump and rattles a bit.") + container.visible_message(span_danger("[user.loc] изда[pluralize_ru(user, "ет", "ют")] громкий стук и немного дребезжит.")) playsound(user.loc, 'sound/effects/bang.ogg', 50, 1) var/wiggle = 6 while(wiggle > 0) @@ -428,12 +428,12 @@ /datum/dna/gene/basic/grant_spell/polymorph name = "Polymorphism" - desc = "Enables the subject to reconfigure their appearance to mimic that of others." + desc = "Позволяет субъекту изменять свою внешность, чтобы подражать другим." spelltype = /obj/effect/proc_holder/spell/polymorph //cooldown = 1800 - activation_messages = list("You don't feel entirely like yourself somehow.") - deactivation_messages = list("You feel secure in your identity.") + activation_messages = list("Вы как-то не очень похожи на себя.") + deactivation_messages = list("Вы уверены в своей идентичности.") instability = GENE_INSTABILITY_MODERATE @@ -444,14 +444,14 @@ /obj/effect/proc_holder/spell/polymorph name = "Polymorph" - desc = "Mimic the appearance of others!" + desc = "Подражайте внешности других!" base_cooldown = 3 MINUTES clothes_req = FALSE stat_allowed = CONSCIOUS - selection_activated_message = "You body becomes unstable. Click on a target to cast transform into them." - selection_deactivated_message = "Your body calms down again." + selection_activated_message = span_notice("Ваше тело становится нестабильным.") + selection_deactivated_message = span_notice("Ваше тело возвращается в норму.") action_icon_state = "genetic_poly" need_active_overlay = TRUE @@ -469,7 +469,7 @@ /obj/effect/proc_holder/spell/polymorph/cast(list/targets, mob/user = usr) var/mob/living/carbon/human/target = targets[1] - user.visible_message("[user]'s body shifts and contorts.") + user.visible_message(span_warning("Тело [user] смещается и деформируется.")) spawn(1 SECONDS) if(target && user) @@ -484,11 +484,11 @@ // WAS: /datum/bioEffect/empath /datum/dna/gene/basic/grant_spell/empath name = "Empathic Thought" - desc = "The subject becomes able to read the minds of others for certain information." + desc = "Субъект получает возможность читать мысли других людей, чтобы получить определённую информацию." spelltype = /obj/effect/proc_holder/spell/empath - activation_messages = list("You suddenly notice more about others than you did before.") - deactivation_messages = list("You no longer feel able to sense intentions.") + activation_messages = list("Вы вдруг стали замечать в окружающих больше, чем раньше.") + deactivation_messages = list("Вы больше не способны чувствовать намерения других.") instability = GENE_INSTABILITY_MINOR traits_to_add = list(TRAIT_EMPATHY) @@ -500,7 +500,7 @@ /obj/effect/proc_holder/spell/empath name = "Read Mind" - desc = "Read the minds of others for information." + desc = "Читайте мысли других людей, чтобы получить информацию." base_cooldown = 18 SECONDS clothes_req = FALSE human_req = TRUE @@ -519,65 +519,65 @@ /obj/effect/proc_holder/spell/empath/cast(list/targets, mob/user = usr) for(var/mob/living/carbon/M in targets) if(!iscarbon(M)) - to_chat(user, "You may only use this on other organic beings.") + to_chat(user, span_warning("Вы можете использовать это только на других органических существах.")) return if(M.dna?.GetSEState(GLOB.psyresistblock)) - to_chat(user, "You can't see into [M.name]'s mind at all!") + to_chat(user, span_warning("Вы не можете заглянуть в разум [M.name]!")) return if(M.stat == 2) - to_chat(user, "[M.name] is dead and cannot have [M.p_their()] mind read.") + to_chat(user, span_warning("Вы не можете прочитать мысли мёртвого существа.")) return if(M.health < 0) - to_chat(user, "[M.name] is dying, and [M.p_their()] thoughts are too scrambled to read.") + to_chat(user, span_warning("[M.name] в предсмертном состоянии, а [genderize_ru(M.gender, "его", "её", "его", "их")] мысли слишком спутаны, чтобы их прочитать.")) return - to_chat(user, "Mind Reading of [M.name]:") + to_chat(user, span_notice("Чтение мыслей [M.name]:")) var/pain_condition = M.health / M.maxHealth // lower health means more pain - var/list/randomthoughts = list("what to have for lunch","the future","the past","money", - "[M.p_their()] hair","what to do next","[M.p_their()] job","space","amusing things","sad things", - "annoying things","happy things","something incoherent","something [M.p_they()] did wrong") - var/thoughts = "thinking about [pick(randomthoughts)]" + var/list/randomthoughts = list("о перекусе","о будущем","о прошлом","о деньгах", + "о своей причёске","о дальнейших планах","о работе","о космосе","о чём-то забавном","о чём-то грустном", + "о чём-то раздражающем","о каком-то радостном событии","о всякой ерунде","об ошибках прошлого") + var/thoughts = "думает [pick(randomthoughts)]" if(M.fire_stacks) pain_condition -= 0.5 - thoughts = "preoccupied with the fire" + thoughts = "поглощ[pluralize_ru(M.gender, "ён", "ены")] огнем" if(M.radiation) pain_condition -= 0.25 switch(pain_condition) if(0.81 to INFINITY) - to_chat(user, "Condition: [M.name] feels good.") + to_chat(user, span_notice("Состояние: [M.name] чувству[pluralize_ru(M.gender, "ет", "ют")] себя хорошо.")) if(0.61 to 0.8) - to_chat(user, "Condition: [M.name] is suffering mild pain.") + to_chat(user, span_notice("Состояние: [M.name] испытыва[pluralize_ru(M.gender, "ет", "ют")] слабую боль.")) if(0.41 to 0.6) - to_chat(user, "Condition: [M.name] is suffering significant pain.") + to_chat(user, span_notice("Состояние: [M.name] испытыва[pluralize_ru(M.gender, "ет", "ют")] умеренную боль.")) if(0.21 to 0.4) - to_chat(user, "Condition: [M.name] is suffering severe pain.") + to_chat(user, span_notice("Состояние: [M.name] испытыва[pluralize_ru(M.gender, "ет", "ют")] сильную боль.")) else - to_chat(user, "Condition: [M.name] is suffering excruciating pain.") - thoughts = "haunted by [M.p_their()] own mortality" + to_chat(user, span_notice("Состояние: [M.name] испытыва[pluralize_ru(M.gender, "ет", "ют")] мучительную боль.")) + thoughts = "дума[pluralize_ru(M.gender, "ет", "ют")] о том, что [genderize_ru(M.gender, "его", "её", "его", "их")] скоро настигнет смерть" switch(M.a_intent) if(INTENT_HELP) - to_chat(user, "Mood: You sense benevolent thoughts from [M.name].") + to_chat(user, span_notice("Настроение: Вы улавливаете благожелательные мысли, исходящие от [M.name].")) if(INTENT_DISARM) - to_chat(user, "Mood: You sense cautious thoughts from [M.name].") + to_chat(user, span_notice("Настроение: Вы улавливаете опасливые мысли, исходящие от [M.name].")) if(INTENT_GRAB) - to_chat(user, "Mood: You sense hostile thoughts from [M.name].") + to_chat(user, span_notice("Настроение: Вы улавливаете враждебные мысли, исходящие от [M.name].")) if(INTENT_HARM) - to_chat(user, "Mood: You sense cruel thoughts from [M.name].") + to_chat(user, span_notice("Настроение: Вы улавливаете жестокие мысли, исходящие от [M.name].")) for(var/mob/living/L in view(7,M)) if(L == M) continue - thoughts = "thinking about punching [L.name]" + thoughts = "дума[pluralize_ru(M.gender, "ет", "ют")] о том, чтобы ударить [L.name]" break else - to_chat(user, "Mood: You sense strange thoughts from [M.name].") + to_chat(user, span_notice("Настроение: Вы улавливаете странные мысли, исходящие от [M.name].")) if(ishuman(M)) var/numbers[0] @@ -586,13 +586,13 @@ numbers += H.mind.initial_account.account_number numbers += H.mind.initial_account.remote_access_pin if(numbers.len>0) - to_chat(user, "Numbers: You sense the number[numbers.len>1?"s":""] [english_list(numbers)] [numbers.len>1?"are":"is"] important to [M.name].") - to_chat(user, "Thoughts: [M.name] is currently [thoughts].") + to_chat(user, span_notice("Числа: Вы чувствуете, что [numbers.len > 1 ? "числа" : "число"] [english_list(numbers)] [numbers.len > 1 ? "являются важными" : "является важным"] для [M.name].")) + to_chat(user, span_notice("Мысли: [M.name] сейчас [thoughts].")) if(HAS_TRAIT(M, TRAIT_EMPATHY)) - to_chat(M, "You sense [user.name] reading your mind.") + to_chat(M, span_warning("Вы чувствуете, что [user.name] читает ваши мысли.")) else if(prob(5) || M.mind?.assigned_role == JOB_TITLE_CHAPLAIN) - to_chat(M, "You sense someone intruding upon your thoughts...") + to_chat(M, span_warning("Вы чувствуете, что кто-то вторгается в ваши мысли...")) //////////////////////////////////////////////////////////////////////// @@ -600,9 +600,9 @@ // WAS: /datum/bioEffect/strong /datum/dna/gene/basic/strong name = "Strong" - desc = "Enhances the subject's ability to build and retain heavy muscles." - activation_messages = list("You feel buff!") - deactivation_messages = list("You feel wimpy and weak.") + desc = "Повышает способность субъекта наращивать и удерживать тяжелую мускулатуру." + activation_messages = list("Вы чувствуете, что ваши мышцы в тонусе!") + deactivation_messages = list("Вы чувствуете себя хилым и слабым.") instability = GENE_INSTABILITY_MAJOR traits_to_add = list(TRAIT_GENE_STRONG) diff --git a/code/game/dna/genes/monkey.dm b/code/game/dna/genes/monkey.dm index 38ffc35d44d..b75bca11dea 100644 --- a/code/game/dna/genes/monkey.dm +++ b/code/game/dna/genes/monkey.dm @@ -38,7 +38,8 @@ mutant.gib() return - to_chat(mutant, "You are now a [mutant.dna.species.name].") + mutant.balloon_alert(mutant, "вы трансформировались!") + to_chat(mutant, span_big("Вы трансформировались в [mutant.dna.species.name].")) /datum/dna/gene/monkey/deactivate(mob/living/carbon/human/mutant, flags) @@ -70,5 +71,6 @@ mutant.real_name = mutant.dna.real_name mutant.name = mutant.real_name - to_chat(mutant, "You are now a [mutant.dna.species.name].") + mutant.balloon_alert(mutant, "вы трансформировались!") + to_chat(mutant, span_big("Вы трансформировались в [mutant.dna.species.name].")) diff --git a/code/game/dna/genes/powers.dm b/code/game/dna/genes/powers.dm index 1bc8fb87f77..516d508005b 100644 --- a/code/game/dna/genes/powers.dm +++ b/code/game/dna/genes/powers.dm @@ -4,8 +4,8 @@ /datum/dna/gene/basic/nobreath name = "No Breathing" - activation_messages = list("You feel no need to breathe.") - deactivation_messages = list("You feel the need to breathe, once more.") + activation_messages = list("Вы не чувствуете необходимости дышать.") + deactivation_messages = list("Вы чувствуете необходимость дышать, снова.") instability = GENE_INSTABILITY_MODERATE activation_prob = 25 traits_to_add = list(TRAIT_NO_BREATH) @@ -18,8 +18,8 @@ /datum/dna/gene/basic/regenerate name = "Regenerate" - activation_messages = list("Your wounds start healing.") - deactivation_messages = list("Your regenerative powers feel like they've vanished.") + activation_messages = list("Ваши раны начинают заживать.") + deactivation_messages = list("Ваши регенеративные способности как будто испарились.") instability = GENE_INSTABILITY_MODERATE @@ -34,8 +34,8 @@ /datum/dna/gene/basic/increaserun name = "Super Speed" - activation_messages = list("You feel swift and unencumbered.") - deactivation_messages = list("You feel slow.") + activation_messages = list("Вы чувствуете себя быстрым и свободным.") + deactivation_messages = list("Вы чувствуете себя медленным.") instability = GENE_INSTABILITY_MINOR @@ -62,8 +62,8 @@ /datum/dna/gene/basic/heat_resist name = "Heat Resistance" - activation_messages = list("Your skin is icy to the touch.") - deactivation_messages = list("Your skin no longer feels icy to the touch.") + activation_messages = list("От вашей кожи веет холодом.") + deactivation_messages = list("Ваша кожа возвращается к привычной температуре.") instability = GENE_INSTABILITY_MODERATE traits_to_add = list(TRAIT_RESIST_HEAT) @@ -79,8 +79,8 @@ /datum/dna/gene/basic/cold_resist name = "Cold Resistance" - activation_messages = list("Your body is filled with warmth.") - deactivation_messages = list("Your body is no longer filled with warmth.") + activation_messages = list("От вашей кожи веет жаром.") + deactivation_messages = list("Ваша кожа возвращается к привычной температуре.") instability = GENE_INSTABILITY_MODERATE traits_to_add = list(TRAIT_RESIST_COLD) @@ -96,8 +96,8 @@ /datum/dna/gene/basic/noprints name = "No Prints" - activation_messages = list("Your fingers feel numb.") - deactivation_messages = list("your fingers no longer feel numb.") + activation_messages = list("Ваши пальцы словно онемели.") + deactivation_messages = list("Ваши пальцы больше не чувствуют онемения.") instability = GENE_INSTABILITY_MINOR traits_to_add = list(TRAIT_NO_FINGERPRINTS) @@ -109,8 +109,8 @@ /datum/dna/gene/basic/noshock name = "Shock Immunity" - activation_messages = list("Your skin feels dry and unreactive.") - deactivation_messages = list("Your skin no longer feels dry and unreactive.") + activation_messages = list("Ваша кожа кажется сухой и нечувствительной.") + deactivation_messages = list("Ваша кожа больше не кажется сухой и нечувствительной.") instability = GENE_INSTABILITY_MODERATE traits_to_add = list(TRAIT_SHOCKIMMUNE) @@ -122,8 +122,8 @@ /datum/dna/gene/basic/midget name = "Midget" - activation_messages = list("Everything around you seems bigger now...") - deactivation_messages = list("Everything around you seems to shrink...") + activation_messages = list("Теперь все вокруг кажется больше...") + deactivation_messages = list("Кажется, что все вокруг уменьшается...") instability = GENE_INSTABILITY_MINOR traits_to_add = list(TRAIT_DWARF) @@ -148,8 +148,8 @@ // OLD HULK BEHAVIOR /datum/dna/gene/basic/hulk name = "Hulk" - activation_messages = list("Your muscles hurt.") - deactivation_messages = list("Your muscles shrink.") + activation_messages = list("Ваши мышцы увеличиваются.") + deactivation_messages = list("Ваши мышцы уменьшаются.") instability = GENE_INSTABILITY_MAJOR traits_to_add = list(TRAIT_HULK) activation_prob = 15 @@ -178,8 +178,8 @@ /datum/dna/gene/basic/xray name = "X-Ray Vision" - activation_messages = list("The walls suddenly disappear.") - deactivation_messages = list("the walls around you re-appear.") + activation_messages = list("Стены внезапно исчезают.") + deactivation_messages = list("Стены вокруг вас появляются вновь.") instability = GENE_INSTABILITY_MAJOR traits_to_add = list(TRAIT_XRAY) activation_prob = 15 @@ -204,8 +204,8 @@ /datum/dna/gene/basic/tk name = "Telekenesis" - activation_messages = list("You feel smarter.") - deactivation_messages = list("You feel dumber.") + activation_messages = list("Вы чувствуете себя умнее.") + deactivation_messages = list("Вы чувствуете себя глупее.") instability = GENE_INSTABILITY_MAJOR traits_to_add = list(TRAIT_TELEKINESIS) activation_prob = 15 @@ -222,8 +222,8 @@ /datum/dna/gene/basic/farvision name = "Far vision" - activation_messages = list("Вы можете видеть дальше чем раньше.") - deactivation_messages = list("Дальность вашего взора вернулась к нормальному состоянию") + activation_messages = list("Теперь вы можете видеть дальше, чем раньше.") + deactivation_messages = list("Дальность вашего взора вернулась к нормальному состоянию.") instability = GENE_INSTABILITY_MODERATE diff --git a/code/game/dna/genes/vg_disabilities.dm b/code/game/dna/genes/vg_disabilities.dm index cc602b88bea..5814bf4fcc2 100644 --- a/code/game/dna/genes/vg_disabilities.dm +++ b/code/game/dna/genes/vg_disabilities.dm @@ -1,9 +1,9 @@ /datum/dna/gene/disability/speech/loud name = "Loud" - desc = "Forces the speaking centre of the subjects brain to yell every sentence." - activation_message = "YOU FEEL LIKE YELLING!" - deactivation_message = "You feel like being quiet.." + desc = "Заставляет речевой центр мозга субъекта выкрикивать каждое предложение." + activation_message = list("ВАМ ХОЧЕТСЯ КРИЧАТЬ!") + deactivation_message = list("Вам хочется побыть в тишине...") /datum/dna/gene/disability/speech/loud/New() @@ -20,9 +20,9 @@ /datum/dna/gene/disability/dizzy name = "Dizzy" - desc = "Causes the cerebellum to shut down in some places." - activation_message = "You feel very dizzy..." - deactivation_message = "You regain your balance." + desc = "Вызывает отключение мозжечка время от времени." + activation_message = list("У вас очень сильно кружится голова...") + deactivation_message = list("Вы вновь обретаете равновесие.") instability = -GENE_INSTABILITY_MINOR diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm index f012ae4994f..687207d78b3 100644 --- a/code/game/dna/genes/vg_powers.dm +++ b/code/game/dna/genes/vg_powers.dm @@ -2,10 +2,10 @@ /datum/dna/gene/basic/grant_spell/morph name = "Morphism" - desc = "Enables the subject to reconfigure their appearance to that of any human." + desc = "Позволяет субъекту изменить свою внешность на внешность любого человека." spelltype = /obj/effect/proc_holder/spell/morph - activation_messages = list("Your body feels if can alter its appearance.") - deactivation_messages = list("Your body doesn't feel capable of altering its appearance.") + activation_messages = list("Вы чувствуете, что можете изменить свой внешний вид.") + deactivation_messages = list("Вы больше не способны менять свой внешний вид.") instability = GENE_INSTABILITY_MINOR @@ -15,7 +15,7 @@ /obj/effect/proc_holder/spell/morph name = "Morph" - desc = "Mimic the appearance of your choice!" + desc = "Играйтесь со своей внешностью как душе угодно!" base_cooldown = 3 MINUTES clothes_req = FALSE @@ -33,21 +33,21 @@ return if(ismob(user.loc)) - to_chat(user, "You can't change your appearance right now!") + balloon_alert(user, "невозможно в данный момент") return var/mob/living/carbon/human/M = user var/obj/item/organ/external/head/head_organ = M.get_organ(BODY_ZONE_HEAD) var/obj/item/organ/internal/eyes/eyes_organ = M.get_int_organ(/obj/item/organ/internal/eyes) - var/new_gender = tgui_alert(user, "Please select gender.", "Character Generation", list("Male", "Female")) + var/new_gender = tgui_alert(user, "Пожалуйста, выберите пол.", "Создание персонажа", list("Мужчина", "Женщина")) if(new_gender) - if(new_gender == "Male") + if(new_gender == "Мужчина") M.change_gender(MALE) else M.change_gender(FEMALE) if(eyes_organ) - var/new_eyes = input("Please select eye color.", "Character Generation", eyes_organ.eye_colour) as null|color + var/new_eyes = input("Пожалуйста, выберите цвет глаз.", "Создание персонажа", eyes_organ.eye_colour) as null|color if(new_eyes) M.change_eye_color(new_eyes) @@ -55,53 +55,53 @@ //Alt heads. if(head_organ.dna.species.bodyflags & HAS_ALT_HEADS) var/list/valid_alt_heads = M.generate_valid_alt_heads() - var/new_alt_head = input("Please select alternate head", "Character Generation", head_organ.alt_head) as null|anything in valid_alt_heads + var/new_alt_head = input("Пожалуйста, выберите другую форму головы.", "Создание персонажа", head_organ.alt_head) as null|anything in valid_alt_heads if(new_alt_head) M.change_alt_head(new_alt_head) // hair var/list/valid_hairstyles = M.generate_valid_hairstyles() - var/new_style = input("Please select hair style", "Character Generation", head_organ.h_style) as null|anything in valid_hairstyles + var/new_style = input("Пожалуйста, выберите стиль прически.", "Создание персонажа", head_organ.h_style) as null|anything in valid_hairstyles // if new style selected (not cancel) if(new_style) M.change_hair(new_style) - var/new_hair = input("Please select hair color.", "Character Generation", head_organ.hair_colour) as null|color + var/new_hair = input("Пожалуйста, выберите цвет волос.", "Создание персонажа", head_organ.hair_colour) as null|color if(new_hair) M.change_hair_color(new_hair) var/datum/sprite_accessory/hair_style = GLOB.hair_styles_public_list[head_organ.h_style] if(hair_style.secondary_theme && !hair_style.no_sec_colour) - new_hair = input("Please select secondary hair color.", "Character Generation", head_organ.sec_hair_colour) as null|color + new_hair = input("Пожалуйста, выберите дополнительный цвет волос.", "Создание персонажа", head_organ.sec_hair_colour) as null|color if(new_hair) M.change_hair_color(new_hair, TRUE) // facial hair var/list/valid_facial_hairstyles = M.generate_valid_facial_hairstyles() - new_style = input("Please select facial style", "Character Generation", head_organ.f_style) as null|anything in valid_facial_hairstyles + new_style = input("Пожалуйста, выберите тип лицевой растительности.", "Создание персонажа", head_organ.f_style) as null|anything in valid_facial_hairstyles if(new_style) M.change_facial_hair(new_style) - var/new_facial = input("Please select facial hair color.", "Character Generation", head_organ.facial_colour) as null|color + var/new_facial = input("Пожалуйста, выберите цвет лицевой растительности.", "Создание персонажа", head_organ.facial_colour) as null|color if(new_facial) M.change_facial_hair_color(new_facial) var/datum/sprite_accessory/facial_hair_style = GLOB.facial_hair_styles_list[head_organ.f_style] if(facial_hair_style.secondary_theme && !facial_hair_style.no_sec_colour) - new_facial = input("Please select secondary facial hair color.", "Character Generation", head_organ.sec_facial_colour) as null|color + new_facial = input("Пожалуйста, выберите дополнительный цвет лицевой растительности.", "Создание персонажа", head_organ.sec_facial_colour) as null|color if(new_facial) M.change_facial_hair_color(new_facial, TRUE) //Head accessory. if(head_organ.dna.species.bodyflags & HAS_HEAD_ACCESSORY) var/list/valid_head_accessories = M.generate_valid_head_accessories() - var/new_head_accessory = input("Please select head accessory style", "Character Generation", head_organ.ha_style) as null|anything in valid_head_accessories + var/new_head_accessory = input("Пожалуйста, выберите стиль аксессуаров для головы.", "Создание персонажа", head_organ.ha_style) as null|anything in valid_head_accessories if(new_head_accessory) M.change_head_accessory(new_head_accessory) - var/new_head_accessory_colour = input("Please select head accessory colour.", "Character Generation", head_organ.headacc_colour) as null|color + var/new_head_accessory_colour = input("Пожалуйста, выберите цвет аксессуаров для головы.", "Создание персонажа", head_organ.headacc_colour) as null|color if(new_head_accessory_colour) M.change_head_accessory_color(new_head_accessory_colour) @@ -109,7 +109,7 @@ if((M.dna.species.tail && M.dna.species.bodyflags & (HAS_TAIL)) || (M.dna.species.wing && M.dna.species.bodyflags & (HAS_WING))) var/list/valid_body_accessories = M.generate_valid_body_accessories() if(valid_body_accessories.len > 1) //By default valid_body_accessories will always have at the very least a 'none' entry populating the list, even if the user's species is not present in any of the list items. - var/new_body_accessory = input("Please select body accessory style", "Character Generation", M.body_accessory) as null|anything in valid_body_accessories + var/new_body_accessory = input("Пожалуйста, выберите стиль аксессуаров для тела.", "Создание персонажа", M.body_accessory) as null|anything in valid_body_accessories if(new_body_accessory) M.change_body_accessory(new_body_accessory) @@ -117,38 +117,38 @@ //Head markings. if(M.dna.species.bodyflags & HAS_HEAD_MARKINGS) var/list/valid_head_markings = M.generate_valid_markings("head") - var/new_marking = input("Please select head marking style", "Character Generation", M.m_styles["head"]) as null|anything in valid_head_markings + var/new_marking = input("Пожалуйста, выберите стиль маркировки головы.", "Создание персонажа", M.m_styles["head"]) as null|anything in valid_head_markings if(new_marking) M.change_markings(new_marking, "head") - var/new_marking_colour = input("Please select head marking colour.", "Character Generation", M.m_colours["head"]) as null|color + var/new_marking_colour = input("Пожалуйста, выберите цвет маркировки головы.", "Создание персонажа", M.m_colours["head"]) as null|color if(new_marking_colour) M.change_marking_color(new_marking_colour, "head") //Body markings. if(M.dna.species.bodyflags & HAS_BODY_MARKINGS) var/list/valid_body_markings = M.generate_valid_markings("body") - var/new_marking = input("Please select body marking style", "Character Generation", M.m_styles["body"]) as null|anything in valid_body_markings + var/new_marking = input("Пожалуйста, выберите стиль маркировки тела.", "Создание персонажа", M.m_styles["body"]) as null|anything in valid_body_markings if(new_marking) M.change_markings(new_marking, "body") - var/new_marking_colour = input("Please select body marking colour.", "Character Generation", M.m_colours["body"]) as null|color + var/new_marking_colour = input("Пожалуйста, выберите цвет маркировки тела.", "Создание персонажа", M.m_colours["body"]) as null|color if(new_marking_colour) M.change_marking_color(new_marking_colour, "body") //Tail markings. if(M.dna.species.bodyflags & HAS_TAIL_MARKINGS) var/list/valid_tail_markings = M.generate_valid_markings("tail") - var/new_marking = input("Please select tail marking style", "Character Generation", M.m_styles["tail"]) as null|anything in valid_tail_markings + var/new_marking = input("Пожалуйста, выберите стиль маркировки хвоста.", "Создание персонажа", M.m_styles["tail"]) as null|anything in valid_tail_markings if(new_marking) M.change_markings(new_marking, "tail") - var/new_marking_colour = input("Please select tail marking colour.", "Character Generation", M.m_colours["tail"]) as null|color + var/new_marking_colour = input("Пожалуйста, выберите цвет маркировки хвоста.", "Создание персонажа", M.m_colours["tail"]) as null|color if(new_marking_colour) M.change_marking_color(new_marking_colour, "tail") //Skin tone. if(M.dna.species.bodyflags & HAS_SKIN_TONE) - var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation", M.s_tone) as null|text + var/new_tone = input("Пожалуйста, выберите уровень тона кожи: 1-220 (1=альбинос, 35=белый, 150=тёмный, 220=чёрный)", "Создание персонажа", M.s_tone) as null|text if(!new_tone) new_tone = 35 else @@ -156,14 +156,14 @@ M.change_skin_tone(new_tone) if(M.dna.species.bodyflags & HAS_ICON_SKIN_TONE) - var/prompt = "Please select skin tone: 1-[M.dna.species.icon_skin_tones.len] (" + var/prompt = "Пожалуйста, выберите тон кожи: 1-[M.dna.species.icon_skin_tones.len] (" for(var/i = 1 to M.dna.species.icon_skin_tones.len) prompt += "[i] = [M.dna.species.icon_skin_tones[i]]" if(i != M.dna.species.icon_skin_tones.len) prompt += ", " prompt += ")" - var/new_tone = input(prompt, "Character Generation", M.s_tone) as null|text + var/new_tone = input(prompt, "Создание персонажа", M.s_tone) as null|text if(!new_tone) new_tone = 0 else @@ -172,19 +172,21 @@ //Skin colour. if(M.dna.species.bodyflags & HAS_SKIN_COLOR) - var/new_body_colour = input("Please select body colour.", "Character Generation", M.skin_colour) as null|color + var/new_body_colour = input("Пожалуйста, выберите цвет тела.", "Создание персонажа", M.skin_colour) as null|color if(new_body_colour) M.change_skin_color(new_body_colour) M.update_dna() - M.visible_message("[M] morphs and changes [M.p_their()] appearance!", "You change your appearance!", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!") + M.visible_message(span_notice("[M] трансформиру[pluralize_ru(M.gender, "ет", "ют")]ся, изменяя свой внешний вид!"), + span_notice("Вы меняете свою внешность!"), + span_warning("О боже! Что это, чёрт возьми, было? Звук был такой, будто плоть сплющивают, а кости перетирают, придавая им другую форму!")) /datum/dna/gene/basic/grant_spell/remotetalk name = "Telepathy" - activation_messages = list("You feel you can project your thoughts.") - deactivation_messages = list("You no longer feel you can project your thoughts.") + activation_messages = list("Вы чувствуете, что можете проецировать свои мысли.") + deactivation_messages = list("Вы больше не чувствуете, что можете проецировать свои мысли.") instability = GENE_INSTABILITY_MINOR spelltype = /obj/effect/proc_holder/spell/remotetalk @@ -211,7 +213,7 @@ /obj/effect/proc_holder/spell/remotetalk name = "Project Mind" - desc = "Make people understand your thoughts!" + desc = "Позвольте другим ощущать ваши мысли." base_cooldown = 0 clothes_req = FALSE @@ -227,38 +229,42 @@ if(!ishuman(user)) return if(user.mind?.miming) // Dont let mimes telepathically talk - to_chat(user,"You can't communicate without breaking your vow of silence.") + to_chat(user, span_warning("Вы не можете общаться, не нарушив свой обет молчания.")) return for(var/mob/living/target in targets) var/datum/atom_hud/thoughts/hud = GLOB.huds[THOUGHTS_HUD] hud.manage_hud(target, THOUGHTS_HUD_PRECISE) - // user.hud_typing = TRUE do not know what to do user.thoughts_hud_set(TRUE) - var/say = tgui_input_text(user, "What do you wish to say?", "Project Mind") - // user.hud_typing = FALSE + var/say = tgui_input_text(user, "Что вы хотите сказать?", "Project Mind") user.typing = FALSE - if(!say || usr.stat) + + if(!say || user.stat) hud.manage_hud(target, THOUGHTS_HUD_DISPERSE) user.thoughts_hud_set(FALSE) return + user.thoughts_hud_set(TRUE, say_test(say)) addtimer(CALLBACK(hud, TYPE_PROC_REF(/datum/atom_hud/thoughts/, manage_hud), target, THOUGHTS_HUD_DISPERSE), 3 SECONDS) say = strip_html(say) - say = pencode_to_html(say, usr, format = 0, fields = 0) + say = pencode_to_html(say, user, format = 0, fields = 0) log_say("(TPATH to [key_name(target)]) [say]", user) user.create_log(SAY_LOG, "Telepathically said '[say]' using [src]", target) + if(target.dna?.GetSEState(GLOB.remotetalkblock)) - target.show_message("You hear [user.real_name]'s voice: [say]") + target.show_message(span_abductor("Вы слышите голос [user.real_name]: [say]")) + else - target.show_message("You hear a voice that seems to echo around the room: [say]") - user.show_message("You project your mind into [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"]: [say]") + target.show_message(span_abductor("Вы слышите голос, который, кажется, эхом разносится по комнате: [say]")) + + user.show_message(span_abductor("Вы проецируете свой разум на [(target in user.get_visible_mobs()) ? target.name : "неизвестную сущность"]: [say]")) + for(var/mob/dead/observer/G in GLOB.player_list) - G.show_message("Telepathic message from [user] ([ghost_follow_link(user, ghost=G)]) to [target] ([ghost_follow_link(target, ghost=G)]): [say]") + G.show_message(span_italics("Телепатическое сообщение от [user] ([ghost_follow_link(user, ghost=G)]) для [target] ([ghost_follow_link(target, ghost=G)]): [say]")) /obj/effect/proc_holder/spell/mindscan name = "Scan Mind" - desc = "Offer people a chance to share their thoughts!" + desc = "Дайте людям возможность поделиться их мыслями!" base_cooldown = 45 SECONDS clothes_req = FALSE stat_allowed = CONSCIOUS @@ -275,11 +281,11 @@ return for(var/mob/living/target in targets) var/datum/atom_hud/thoughts/hud = GLOB.huds[THOUGHTS_HUD] - var/message = "You feel your mind expand briefly... (Click to send a message.)" + var/message = "Вы чувствуете, что ваш разум ненадолго расширяется... (Нажмите, чтобы отправить сообщение.)" if(target.dna?.GetSEState(GLOB.remotetalkblock)) - message = "You feel [user.real_name] request a response from you... (Click here to project mind.)" - user.show_message("You offer your mind to [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"].") - target.show_message("[message]") + message = "Вы чувствуете, что [user.real_name] хочет что-то от вас услышать... (Нажмите здесь, чтобы спроецировать мысли.)" + user.show_message(span_abductor("Вы предлагаете доступ в свой разум [(target in user.get_visible_mobs()) ? target.name : "неизвестной сущности"].")) + target.show_message(span_abductor("[message]")) available_targets += target hud.manage_hud(target, THOUGHTS_HUD_PRECISE) addtimer(CALLBACK(src, PROC_REF(removeAvailability), target), 45 SECONDS) @@ -290,39 +296,46 @@ var/datum/atom_hud/thoughts/hud = GLOB.huds[THOUGHTS_HUD] available_targets -= target hud.manage_hud(target, THOUGHTS_HUD_DISPERSE) - target.show_message("You feel the sensation fade...") + target.show_message(span_abductor("Вы чувствуете, как это ощущение исчезает...")) /obj/effect/proc_holder/spell/mindscan/Topic(href, href_list) var/mob/living/user if(href_list["user"]) user = locateUID(href_list["user"]) + if(href_list["target"]) if(!user) return + var/mob/living/target = locateUID(href_list["target"]) if(!(target in available_targets)) return - // target.hud_typing = TRUE + target.thoughts_hud_set(TRUE) - var/say = tgui_input_text(user, "What do you wish to say?", "Scan Mind") - // target.hud_typing = FALSE + var/say = tgui_input_text(target, "Что вы хотите сказать?", "Scan Mind") target.typing = FALSE + if(!say || target.stat) target.thoughts_hud_set(FALSE) return + target.thoughts_hud_set(TRUE, say_test(say)) say = strip_html(say) say = pencode_to_html(say, target, format = 0, fields = 0) user.create_log(SAY_LOG, "Telepathically responded '[say]' using [src]", target) log_say("(TPATH to [key_name(target)]) [say]", user) + if(target.dna?.GetSEState(GLOB.remotetalkblock)) - target.show_message("You project your mind into [user.name]: [say]") + target.show_message(span_abductor("Вы проецируете свой разум на [user.name]: [say]")) + else - target.show_message("You fill the space in your thoughts: [say]") - user.show_message("You hear [target.name]'s voice: [say]") + target.show_message(span_abductor("Вы заполняете пространство в своих мыслях: [say]")) + + user.show_message(span_abductor("Вы слышите голос [target.name]: [say]")) + for(var/mob/dead/observer/G in GLOB.player_list) - G.show_message("Telepathic response from [target] ([ghost_follow_link(target, ghost=G)]) to [user] ([ghost_follow_link(user, ghost=G)]): [say]") + G.show_message(span_italics("Телепатический ответ от [target] ([ghost_follow_link(target, ghost=G)]) для [user] ([ghost_follow_link(user, ghost=G)]): [say]")) /obj/effect/proc_holder/spell/mindscan/Destroy() @@ -333,8 +346,8 @@ /datum/dna/gene/basic/grant_spell/remoteview name = "Remote Viewing" - activation_messages = list("Your mind can see things from afar.") - deactivation_messages = list("Your mind can no longer can see things from afar.") + activation_messages = list("Ваш разум может видеть на расстоянии.") + deactivation_messages = list("Ваш разум больше не может видеть издалека.") instability = GENE_INSTABILITY_MINOR spelltype = /obj/effect/proc_holder/spell/remoteview traits_to_add = list(TRAIT_OPEN_MIND) @@ -347,7 +360,7 @@ /obj/effect/proc_holder/spell/remoteview name = "Remote View" - desc = "Spy on people from any range!" + desc = "Следите за людьми с любого расстояния!" base_cooldown = 10 SECONDS clothes_req = FALSE @@ -370,7 +383,7 @@ var/mob/target if(istype(H.l_hand, /obj/item/tk_grab) || istype(H.r_hand, /obj/item/tk_grab)) - to_chat(H, "Your mind is too busy with that telekinetic grab.") + balloon_alert(H, "разум занят") H.remoteview_target = null H.reset_perspective() return diff --git a/code/game/gamemodes/antag_paradise/antag_paradise.dm b/code/game/gamemodes/antag_paradise/antag_paradise.dm index 460ed81b9e1..fd86374286d 100644 --- a/code/game/gamemodes/antag_paradise/antag_paradise.dm +++ b/code/game/gamemodes/antag_paradise/antag_paradise.dm @@ -103,11 +103,11 @@ if(ROLE_MALF_AI) if(special_antag_amount) - var/datum/mind/special_antag = roundstart ? safepick(get_players_for_role(ROLE_MALF_AI, req_job_rank = JOB_TITLE_AI)) : safepick(antag_possibilities[ROLE_MALF_AI]) + var/datum/mind/special_antag = safepick(antag_possibilities[ROLE_MALF_AI]) if(special_antag) special_antag.restricted_roles = (restricted_jobs|protected_jobs|protected_jobs_AI) special_antag.restricted_roles -= JOB_TITLE_AI - special_antag.special_role = SPECIAL_ROLE_TRAITOR + special_antag.special_role = SPECIAL_ROLE_MALFAI SSjobs.new_malf = special_antag.current pre_antags[special_antag] = ROLE_MALF_AI antags_amount-- @@ -215,6 +215,7 @@ antag_possibilities[ROLE_CHANGELING] = get_players_for_role(ROLE_CHANGELING) antag_possibilities[ROLE_TRAITOR] = get_players_for_role(ROLE_TRAITOR) antag_possibilities[ROLE_THIEF] = get_players_for_role(ROLE_THIEF, list(SPECIES_VOX = 4)) + antag_possibilities[ROLE_MALF_AI] = get_players_for_role(ROLE_MALF_AI) calculate_antags() diff --git a/code/game/gamemodes/clockwork/clockwork_gateway.dm b/code/game/gamemodes/clockwork/clockwork_gateway.dm index e852e3d27f3..2b5d4c680d7 100644 --- a/code/game/gamemodes/clockwork/clockwork_gateway.dm +++ b/code/game/gamemodes/clockwork/clockwork_gateway.dm @@ -144,4 +144,4 @@ animate(src, transform = matrix() * 3, alpha = 0, time = 0.5 SECONDS) QDEL_IN(src, 0.3 SECONDS) sleep(0.3 SECONDS) - new /obj/singularity/ratvar(get_turf(src)) + new /obj/singularity/god/ratvar(get_turf(src)) diff --git a/code/game/gamemodes/clockwork/clockwork_structures.dm b/code/game/gamemodes/clockwork/clockwork_structures.dm index cefd9609788..e65baa26fee 100644 --- a/code/game/gamemodes/clockwork/clockwork_structures.dm +++ b/code/game/gamemodes/clockwork/clockwork_structures.dm @@ -18,12 +18,12 @@ /obj/structure/clockwork/functional max_integrity = 100 var/cooldowntime = 0 - var/death_message = "The structure falls apart." + var/death_message = span_danger("The structure falls apart.") var/death_sound = 'sound/effects/forge_destroy.ogg' var/canbehidden = FALSE var/hidden = FALSE var/hidden_type - var/list/choosable_items = list( + var/list/atom/choosable_items = list( "rack" = /obj/structure/rack, "table" = /obj/structure/table, "wooden table" = /obj/structure/table/wood, @@ -37,19 +37,7 @@ if(!hidden) name = initial(name) return - switch(hidden_type) - if("rack") - name = "rack" - if("table") - name = "table" - if("wooden table") - name = "wooden table" - if("personal closet") - name = "personal closet" - if("girder") - name = "girder" - if("bookcase") - name = "bookcase" + name = choosable_items[hidden_type]::name /obj/structure/clockwork/functional/update_desc(updates = ALL) @@ -57,19 +45,19 @@ if(!hidden) desc = initial(desc) return - switch(hidden_type) + switch(hidden_type) //used in case, where objects "examine" text aren't in their desc var (like in proc/examine()) or if you want do something funny if("rack") - desc = "Different from the Middle Ages version.
It's held together by a couple of bolts." + desc = "Different from the Middle Ages version.
[span_notice("It's held together by a couple of bolts.")]" if("table") - desc = "A square piece of metal standing on four metal legs. It can not move.
The top is screwed on, but the main bolts are also visible." + desc = "A square piece of metal standing on four metal legs. It can not move.
[span_notice("The top is screwed on, but the main bolts are also visible.")]" if("wooden table") - desc = "Do not apply fire to this. Rumour says it burns easily.
The top is screwed on, but the main bolts are also visible." - if("personal closet") - desc = "It's a secure locker for personnel. The first card swiped gains control." + desc = "Do not apply fire to this. Rumour says it burns easily.
[span_notice("The top is screwed on, but the main bolts are also visible.")]" if("girder") - desc = "The bolts are lodged in place." - if("bookcase") - desc = null + desc = "[span_notice("The bolts are lodged in place.")]" + if("broken grille") + desc = "A flimsy framework of metal rods.
[span_notice("It's secured in place with screws. The rods look like they could be cut through.")]" + else + desc = choosable_items[hidden_type]::desc /obj/structure/clockwork/functional/update_icon_state() @@ -77,25 +65,8 @@ icon = initial(icon) icon_state = anchored ? "[initial(icon_state)]-off" : initial(icon_state) return - switch(hidden_type) - if("rack") - icon = 'icons/obj/objects.dmi' - icon_state = "rack" - if("table") - icon = 'icons/obj/smooth_structures/table.dmi' - icon_state = "table" - if("wooden table") - icon = 'icons/obj/smooth_structures/wood_table.dmi' - icon_state = "wood_table" - if("personal closet") - icon = 'icons/obj/closet.dmi' - icon_state = "secureoff" - if("girder") - icon = 'icons/obj/structures.dmi' - icon_state = "girder" - if("bookcase") - icon = 'icons/obj/library.dmi' - icon_state = "book-0" + icon = choosable_items[hidden_type]::icon + icon_state = choosable_items[hidden_type]::icon_state /obj/structure/clockwork/functional/attackby(obj/item/I, mob/user, params) @@ -139,7 +110,7 @@ /obj/structure/clockwork/functional/examine(mob/user) . = ..() if(hidden && isclocker(user)) - . += "It's a disguised [initial(name)]!" + . += span_notice("It's a disguised [initial(name)]!") // returns TRUE if hidden, if unhidden FALSE /obj/structure/clockwork/functional/proc/toggle_hide(chosen_type) @@ -158,7 +129,7 @@ desc = "An imposing spire formed of brass. It somewhat pulsates." icon_state = "beacon" max_integrity = 250 // A very important one - death_message = "The beacon crumbles and falls in parts to the ground relaesing it's power!" + death_message = span_danger("The beacon crumbles and falls in parts to the ground relaesing it's power!") death_sound = 'sound/effects/creepyshriek.ogg' var/heal_delay = 6 SECONDS var/last_heal = 0 @@ -186,7 +157,7 @@ if(!isclocker(L)) continue if(L.reagents?.has_reagent("holywater")) - to_chat(L, "You feel a terrible liquid disappearing from your body.") + to_chat(L, span_warning("You feel a terrible liquid disappearing from your body.")) L.reagents.del_reagent("holywater") if(iscogscarab(L)) var/mob/living/silicon/robot/cogscarab/C = L @@ -213,7 +184,7 @@ GLOB.clockwork_beacons -= src STOP_PROCESSING(SSobj, src) for(var/datum/mind/M in SSticker.mode.clockwork_cult) - to_chat(M.current, "You get the feeling that one of the beacons have been destroyed! The source comes from [areabeacon.name]") + to_chat(M.current, span_danger("You get the feeling that one of the beacons have been destroyed! The source comes from [areabeacon.name]")) return ..() /obj/structure/clockwork/functional/beacon/attackby(obj/item/I, mob/user, params) @@ -228,7 +199,7 @@ desc = "A strange brass platform with spinning cogs inside. It demands something in exchange for goods..." icon_state = "altar" density = FALSE - death_message = "The credence breaks in pieces as it dusts into nothing!" + death_message = span_danger("The credence breaks in pieces as it dusts into nothing!") canbehidden = TRUE choosable_items = list( "potted plant" = /obj/item/twohanded/required/kirbyplants, @@ -265,38 +236,6 @@ return ..() -/obj/structure/clockwork/functional/altar/update_name(updates = ALL) - . = ..() - if(!hidden) - name = initial(name) - return - switch(hidden_type) - if("potted plant") - name = "potted plant" - if("chair") - name = "chair" - if("stool") - name = "stool" - if("broken grille") - name = "grille" - - -/obj/structure/clockwork/functional/altar/update_desc(updates = ALL) - . = ..() - if(!hidden) - desc = initial(desc) - return - switch(hidden_type) - if("potted plant") - desc = null - if("chair") - desc = "You sit in this. Either by will or force." - if("stool") - desc = "Apply butt." - if("broken grille") - desc = "A flimsy framework of metal rods." - - /obj/structure/clockwork/functional/altar/update_icon_state() if(!hidden) icon = initial(icon) @@ -305,19 +244,11 @@ return icon_state = first_stage ? "[initial(icon_state)]-fast" : initial(icon_state) return - switch(hidden_type) - if("potted plant") - icon = 'icons/obj/flora/plants.dmi' - icon_state = "plant-[rand(1,36)]" - if("chair") - icon = 'icons/obj/chairs.dmi' - icon_state = "chair" - if("stool") - icon = 'icons/obj/chairs.dmi' - icon_state = "stool" - if("broken grille") - icon = 'icons/obj/structures.dmi' - icon_state = "brokengrille" + icon = choosable_items[hidden_type]::icon + if(hidden_type == "potted plant") + icon_state = "plant-[rand(1,36)]" + else + icon_state = choosable_items[hidden_type]::icon_state /obj/structure/clockwork/functional/altar/attackby(obj/item/I, mob/user, params) @@ -408,7 +339,7 @@ /obj/structure/clockwork/functional/altar/proc/first_stage_check(var/mob/living/carbon/human/target) first_stage = TRUE - target.visible_message("[src] begins to glow a piercing amber!", "You feel something start to invade your mind...") + target.visible_message(span_warning("[src] begins to glow a piercing amber!"), span_clock("You feel something start to invade your mind...")) glow = new (get_turf(src)) animate(glow, alpha = 255, time = 8 SECONDS) update_icon(UPDATE_ICON_STATE) @@ -416,11 +347,11 @@ /obj/structure/clockwork/functional/altar/proc/second_stage_check(var/mob/living/carbon/human/target) second_stage = TRUE if(!is_convertable_to_clocker(target.mind) || target.stat == DEAD) // mindshield or holy or mindless monkey. or dead guy - target.visible_message("[src] in glowing manner starts corrupting [target]!", \ - "You feel as your body starts to corrupt by [src] underneath!") + target.visible_message(span_warning("[src] in glowing manner starts corrupting [target]!"), \ + span_danger("You feel as your body starts to corrupt by [src] underneath!")) target.Weaken(20 SECONDS) else // just a living non-clocker civil - to_chat(target, "\"You belong to me now.\"") + to_chat(target, span_clocklarge("\"You belong to me now.\"")) target.heal_overall_damage(50, 50) if(isgolem(target)) target.mind.wipe_memory() @@ -438,7 +369,7 @@ converting = null update_icon(UPDATE_ICON_STATE) if(!silent) - visible_message("[src] slowly stops glowing!") + visible_message(span_warning("[src] slowly stops glowing!")) /obj/structure/clockwork/functional/altar/attackby(obj/item/I, mob/user, params) @@ -467,30 +398,30 @@ var/datum/game_mode/gamemode = SSticker.mode if(GLOB.ark_of_the_clockwork_justiciar) - to_chat(user, "There is already Gateway somewhere!") + to_chat(user, span_clockitalic("There is already Gateway somewhere!")) return FALSE if(gamemode.clocker_objs.clock_status < RATVAR_NEEDS_SUMMONING) - to_chat(user, "Ratvar is not ready to be summoned yet!") + to_chat(user, span_clockitalic("Ratvar is not ready to be summoned yet!")) return FALSE if(gamemode.clocker_objs.clock_status == RATVAR_HAS_RISEN) - to_chat(user, "\"My fellow. There is no need for it anymore.\"") + to_chat(user, span_clockitalic("\"My fellow. There is no need for it anymore.\"")) return FALSE var/list/summon_areas = gamemode.clocker_objs.obj_summon.ritual_spots if(!(A in summon_areas)) - to_chat(user, "Ratvar can only be summoned where the veil is weak - in [english_list(summon_areas)]!") + to_chat(user, span_cultlarge("Ratvar can only be summoned where the veil is weak - in [english_list(summon_areas)]!")) return FALSE var/confirm_final = tgui_alert(user, "This is the FINAL step to summon, the crew will be alerted to your presence AND your location!", "The power comes...", list("Let Ratvar shine ones more!", "No")) if(user) if(confirm_final != "Let Ratvar shine ones more!") - to_chat(user, "You decide to prepare further before pincing the shard.") + to_chat(user, span_clockitalic("You decide to prepare further before pincing the shard.")) return FALSE return TRUE /obj/structure/clockwork/functional/altar/proc/begin_the_ritual() - visible_message("The [src] expands itself revealing into the great Ark!") + visible_message(span_danger("The [src] expands itself revealing into the great Ark!")) new /obj/structure/clockwork/functional/celestial_gateway(get_turf(src)) qdel(src) return @@ -499,7 +430,7 @@ name = "cogscarab fabricator" desc = "House for a tons of little cogscarabs, self-producing and maintaining itself." icon_state = "fabricator" - death_message = "Fabricator crumbles and dusts, leaving nothing behind!" + death_message = span_danger("Fabricator crumbles and dusts, leaving nothing behind!") var/list/cogscarab_list = list() canbehidden = TRUE var/cog_slots = 0 @@ -508,11 +439,7 @@ /obj/structure/clockwork/functional/cogscarab_fabricator/examine(mob/user) . = ..() if(!hidden && (isclocker(user) || isobserver(user))) - . += "There's [cog_slots - cogscarab_list.len] cogscarab ready. [timer_fabrictor ? "And it's creating another one now" : "It stopped creating."]." - - -/obj/structure/clockwork/functional/cogscarab_fabricator/update_icon_state() - icon_state = anchored ? "[initial(icon_state)]-off" : initial(icon_state) + . += span_notice("There's [cog_slots - cogscarab_list.len] cogscarab ready. [timer_fabrictor ? "And it's creating another one now" : "It stopped creating."].") /obj/structure/clockwork/functional/cogscarab_fabricator/Initialize(mapload) @@ -577,17 +504,17 @@ /obj/structure/clockwork/functional/cogscarab_fabricator/attack_ghost(mob/dead/observer/user) if(hidden) - to_chat(user, "It's hidden and cannot produce you at this state!") + to_chat(user, span_warning("It's hidden and cannot produce you at this state!")) return FALSE if(!anchored) - to_chat(user, "It seems to be non-functional to produce a new shell!") + to_chat(user, span_warning("It seems to be non-functional to produce a new shell!")) return FALSE if(cogscarab_list.len >= cog_slots) - to_chat(user, "There's no empty shells to take!") + to_chat(user, span_notice("There's no empty shells to take!")) return FALSE if(alert(user, "Do you wish to become cogscarab?",,"Yes","No") == "Yes") if(cogscarab_list.len >= cog_slots) //Double check. No duplications - to_chat(user, "There's no empty shells to take!") + to_chat(user, span_notice("There's no empty shells to take!")) return FALSE var/mob/living/silicon/robot/cogscarab/cog = new(loc) cog.key = user.key diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 53e7e3d53a6..a6254bc7d85 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -229,17 +229,17 @@ GLOBAL_LIST_EMPTY(all_cults) for(var/datum/mind/M in cult) if(!M.current || !ishuman(M.current)) continue - SEND_SOUND(M.current, 'sound/hallucinations/i_see_you2.ogg') + SEND_SOUND(M.current, 'sound/ambience/antag/bloodcult_eyes.ogg') to_chat(M.current, "The veil weakens as your cult grows, your eyes begin to glow...") log_admin("The Blood Cult has risen. The eyes started to glow.") addtimer(CALLBACK(src, PROC_REF(rise), M.current), 20 SECONDS) - else if(cult_players >= ascend_number) + if(cult_players >= ascend_number) cult_ascendant = TRUE for(var/datum/mind/M in cult) if(!M.current || !ishuman(M.current)) continue - SEND_SOUND(M.current, 'sound/hallucinations/im_here1.ogg') + SEND_SOUND(M.current, 'sound/ambience/antag/bloodcult_halos.ogg') to_chat(M.current, "Your cult is ascendant and the red harvest approaches - you cannot hide your true nature for much longer!") log_admin("The Blood Cult has Ascended. The blood halo started to appear.") addtimer(CALLBACK(src, PROC_REF(ascend), M.current), 20 SECONDS) diff --git a/code/game/gamemodes/cult/cult_datums.dm b/code/game/gamemodes/cult/cult_datums.dm index 67e9a78d879..37c0839928f 100644 --- a/code/game/gamemodes/cult/cult_datums.dm +++ b/code/game/gamemodes/cult/cult_datums.dm @@ -5,6 +5,7 @@ var/dagger_icon = "blood_dagger" var/sword_icon = "blood_blade" var/construct_glow = LIGHT_COLOR_BLOOD_MAGIC + var/apocalypse_cinema = /datum/cinematic/cult_arm //God Entity var/entity_name = "Nar'Sie" @@ -81,6 +82,7 @@ dagger_icon = "hell_dagger" sword_icon = "hell_blade" construct_glow = LIGHT_COLOR_FIRE + apocalypse_cinema = /datum/cinematic/cult_arm_kharin entity_name = "Kha'Rin" entity_title1 = "The Burning One" @@ -140,6 +142,7 @@ dagger_icon = "death_dagger" sword_icon = "death_blade" construct_glow = LIGHT_COLOR_DARKRED + apocalypse_cinema = /datum/cinematic/cult_arm_reaper entity_name = "The Reaper" entity_title1 = "The Silent One" diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 5b816cdee38..9125fcd838d 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -334,7 +334,7 @@ if(curselimit > 1) to_chat(user, "We have exhausted our ability to curse the shuttle.") return - if(locate(/obj/singularity/narsie) in GLOB.poi_list || locate(/mob/living/simple_animal/demon/slaughter/cult) in GLOB.mob_list) + if(locate(/obj/singularity/god/narsie) in GLOB.poi_list || locate(/mob/living/simple_animal/demon/slaughter/cult) in GLOB.mob_list) to_chat(user, "Nar'Sie or her avatars are already on this plane, there is no delaying the end of all things.") return diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 2617dc197d2..38debc9ede7 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -160,6 +160,9 @@ if(!(A in summon_areas)) // Check again to make sure they didn't move to_chat(user, "The ritual can only begin where the veil is weak - in [english_list(summon_areas)]!") return + for(var/datum/mind/M in gamemode.cult) + if(M.current) + SEND_SOUND(M.current, 'sound/ambience/antag/bloodcult_scribe.ogg') GLOB.command_announcement.Announce("Образы внепространственного бога из неизвестного измерения собираются воедино в [A.map_name]. Сорвите ритуал любой ценой, пока станция не была уничтожена! Действие космического закона и стандартных рабочих процедур приостановлено. Весь экипаж должен уничтожать культистов на месте.", "Отдел Центрального Командования по делам высших измерений.", 'sound/AI/spanomalies.ogg') log_admin("[key_name_log(user)] started to draw narsie rune!") add_game_logs("started to draw narsie rune at [AREACOORD(user)]", user) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index a22f4d65d8b..e628ab013cd 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -1004,7 +1004,7 @@ structure_check() searches for nearby cultist structures required for the invoca update_icon(UPDATE_ICON_STATE) var/turf/T = get_turf(src) sleep(40) - new /obj/singularity/narsie/large(T) //Causes Nar'Sie to spawn even if the rune has been removed + new /obj/singularity/god/narsie/large(T) //Causes Nar'Sie to spawn even if the rune has been removed /obj/effect/rune/narsie/attackby(obj/item/I, mob/user, params) //Since the narsie rune takes a long time to make, add logging to removal. diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 13d6f7d0feb..6796065e042 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -718,31 +718,54 @@ antaghud.leave_hud(mob_mind.current) set_antag_hud(mob_mind.current, null) +/datum/game_mode/proc/apocalypse_cinema(obj/singularity/god/god, inevitable = FALSE) + if(god.soul_devoured <= 17 && !inevitable) + return FALSE + + if(istype(god, /obj/singularity/god/narsie)) + return SSticker.cultdat.apocalypse_cinema + + if(istype(god, /obj/singularity/god/ratvar)) + return /datum/cinematic/cult_arm_ratvar + + return FALSE + /datum/game_mode/proc/apocalypse() set_security_level(SEC_LEVEL_DELTA) - GLOB.priority_announcement.Announce("Обнаружена угроза класса 'Разрушитель миров'. Самостоятельное решение задачи маловероятно. Моделирование пути решения начато, ожидайте.", "Отдел Центрального Командования по делам высших измерений", 'sound/AI/commandreport.ogg') + GLOB.priority_announcement.Announce("Обнаружена угроза класса 'Разрушитель миров'. Моделирование пути противостояния угрозе начато, ожидайте.", "Отдел Центрального Командования по делам высших измерений", 'sound/AI/commandreport.ogg') sleep(50 SECONDS) - GLOB.priority_announcement.Announce("Моделирование завершено. Меры будут приняты в ближайшем времени. Всему живому персоналу: не допустите усиления угрозы любой ценой.", "Отдел Центрального Командования по делам высших измерений", 'sound/AI/commandreport.ogg') + GLOB.priority_announcement.Announce("Моделирование завершено. Всему живому персоналу: не допустите усиления угрозы любой ценой. Меры будут приняты в ближайшее время.", "Отдел Центрального Командования по делам высших измерений", 'sound/AI/commandreport.ogg') sleep(30 SECONDS) - var/obj/singularity/narsie/N = locate(/obj/singularity/narsie) in GLOB.poi_list - var/obj/singularity/ratvar/R = locate(/obj/singularity/ratvar) in GLOB.poi_list - if(!N && !R) - GLOB.priority_announcement.Announce("Угроза пропала с наших сенсоров. Нам требуется срочный отчет о вашей ситуации. Но, мгм, пока что мы санкционировали вам экстренную эвакуацию.", 'sound/AI/commandreport.ogg') + + var/obj/singularity/god/god = locate(/obj/singularity/god) in GLOB.poi_list + + if(!god) + GLOB.priority_announcement.Announce("Угроза пропала с наших сенсоров. Санкционирована экстренная эвакуация.", "Отдел Центрального Командования по делам высших измерений", 'sound/AI/commandreport.ogg') SSshuttle.emergency.request(null, 0.3) SSshuttle.emergency.canRecall = FALSE return - if(SSticker.cultdat.name == "Cult of Nar'Sie") - if(N.soul_devoured > 20) - play_cinematic(/datum/cinematic/cult_arm, world) - sleep(15 SECONDS) - SSticker.force_ending = TRUE + + var/datum/cinematic/cinema = apocalypse_cinema(god, FALSE) + + if(!cinema) + var/obj/machinery/nuclearbomb/bomb + for(var/obj/machinery/nuclearbomb/bomb_to_find in GLOB.poi_list) + if(is_station_level(bomb_to_find.z) && bomb_to_find.core) + bomb = bomb_to_find + break + + if(bomb) + bomb.safety = FALSE + bomb.explode() + qdel(god) return - play_cinematic(/datum/cinematic/nuke/self_destruct, world) - sleep(8 SECONDS) - SSticker.force_ending = TRUE - qdel(R) - qdel(N) + cinema = apocalypse_cinema(god, TRUE) + + play_cinematic(cinema, world) + sleep(15 SECONDS) + SSticker.force_ending = TRUE + return #undef NUKE_INTACT #undef NUKE_CORE_MISSING diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm index c607b410751..20afc715ecf 100644 --- a/code/game/gamemodes/miniantags/borer/borer.dm +++ b/code/game/gamemodes/miniantags/borer/borer.dm @@ -152,6 +152,14 @@ truename = "[borer_names[min(generation, borer_names.len)]] [rand(1000,9999)]" GrantBorerActions() +/mob/living/simple_animal/borer/death(gibbed) + . = ..() + + if(!.) + return . + + detach() + /mob/living/simple_animal/borer/ComponentInitialize() AddComponent( \ /datum/component/animal_temperature, \ diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 8c48b16fe19..5fbf5fbe614 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -150,6 +150,8 @@ messages.Add("You are a member of the revolutionaries' leadership!") messages.Add(rev_mind.prepare_announce_objectives()) to_chat(rev_mind.current, chat_box_red(messages.Join("
"))) + if(rev_mind.current) + SEND_SOUND(rev_mind.current, 'sound/ambience/antag/revolutionary_tide.ogg') ///////////////////////////////////////////////////////////////////////////////// //This are equips the rev heads with their gear, and makes the clown not clumsy// @@ -231,6 +233,8 @@ update_rev_icons_added(rev_mind) if(jobban_isbanned(rev_mind.current, ROLE_REV) || jobban_isbanned(rev_mind.current, ROLE_SYNDICATE)) replace_jobbanned_player(rev_mind.current, ROLE_REV) + if(rev_mind.current) + SEND_SOUND(rev_mind.current, 'sound/ambience/antag/revolutionary_tide.ogg') return 1 ////////////////////////////////////////////////////////////////////////////// //Deals with players being converted from the revolution (Not a rev anymore)// // Modified to handle borged MMIs. Accepts another var if the target is being borged at the time -- Polymorph. diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index bdefc1983a3..26a3307edad 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -77,6 +77,7 @@ pre_malf_AI = traitor pre_malf_AI.restricted_roles = (restricted_jobs|protected_jobs|protected_jobs_AI) // All jobs are restricted for malf AI despite the config. pre_malf_AI.restricted_roles -= JOB_TITLE_AI + traitor.special_role = SPECIAL_ROLE_MALFAI SSjobs.new_malf = traitor.current else pre_traitors += traitor diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 66c9fd23423..97b3b8b0aba 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -11,7 +11,7 @@ w_class = WEIGHT_CLASS_NORMAL hitsound = 'sound/weapons/bladeslice.ogg' var/charged = 1 - var/spawn_type = /obj/singularity/narsie/wizard + var/spawn_type = /obj/singularity/god/narsie/wizard var/spawn_amt = 1 var/activate_descriptor = "reality" var/rend_desc = "You should run now." diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index cd6b328235e..7845ee9396e 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -9,20 +9,16 @@ supervisors = "the head of personnel" department_head = list(JOB_TITLE_HOP) selection_color = "#e6e6e6" - access = list() //See /datum/job/assistant/get_access() - minimal_access = list() //See /datum/job/assistant/get_access() + access = list(ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MAINT_TUNNELS) alt_titles = list("Tourist","Businessman","Trader","Assistant") outfit = /datum/outfit/job/assistant + insurance_type = INSURANCE_TYPE_BUDGETARY salary = SALARY_FOR_NISHEBROD min_start_money = 10 max_start_money = 200 -/datum/job/civilian/get_access() - if(CONFIG_GET(flag/assistant_maint)) - return list(ACCESS_MAINT_TUNNELS) - else - return list() /datum/outfit/job/assistant name = "Civilian" diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index ec9a69f772c..bfe04726e2b 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -18,10 +18,11 @@ ACCESS_HEADS, ACCESS_CONSTRUCTION, ACCESS_SEC_DOORS, ACCESS_CE, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_MINISAT, ACCESS_MECHANIC, ACCESS_MINERAL_STOREROOM) minimal_player_age = 21 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_COMMAND exp_requirements = 3000 exp_type = EXP_TYPE_ENGINEERING outfit = /datum/outfit/job/chief_engineer + insurance_type = INSURANCE_TYPE_DELUXE salary = 300 min_start_money = 400 diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 81a2eec7563..ed8fe897cae 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -56,7 +56,7 @@ var/exp_max = 0 //Max EXP, then hide var/exp_type_max = "" - var/min_age_allowed = 0 + var/min_age_type = SPECIES_AGE_MIN var/disabilities_allowed = 1 var/transfer_allowed = TRUE // If false, ID computer will always discourage transfers to this job, even if player is eligible var/hidden_from_job_prefs = FALSE // if true, job preferences screen never shows this job. @@ -69,7 +69,7 @@ var/salary = 0 var/min_start_money = 0 var/max_start_money = 0 - + var/outfit = null ///////////////////////////////// @@ -78,6 +78,9 @@ var/required_objectives=list() // Objectives that are ALWAYS added. var/optional_objectives=list() // Objectives that are SOMETIMES added. + var/insurance = INSURANCE_STANDART + var/insurance_type = INSURANCE_TYPE_STANDART + //Only override this proc /datum/job/proc/after_spawn(mob/living/carbon/human/H) @@ -138,11 +141,15 @@ return 0 /datum/job/proc/character_old_enough(client/C) + . = FALSE + if(!C) - return FALSE - if(C.prefs.age >= min_age_allowed) - return TRUE - return FALSE + return + + var/datum/species/species = GLOB.all_species[C.prefs.species] + if(C.prefs.age >= get_age_limits(species, min_age_type)) + . = TRUE + /datum/job/proc/species_in_blacklist(client/C) if(!C) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 5c05556fc24..06879c0c751 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -16,10 +16,11 @@ ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_PSYCHIATRIST, ACCESS_MAINT_TUNNELS, ACCESS_PARAMEDIC, ACCESS_MINERAL_STOREROOM) minimal_player_age = 21 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_COMMAND exp_requirements = 3000 exp_type = EXP_TYPE_MEDICAL outfit = /datum/outfit/job/cmo + insurance_type = INSURANCE_TYPE_DELUXE salary = 300 min_start_money = 400 @@ -57,8 +58,8 @@ supervisors = "the chief medical officer" department_head = list(JOB_TITLE_CMO) selection_color = "#d1eeff" - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM) - minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY) + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_MAINT_TUNNELS) alt_titles = list("Surgeon","Nurse") minimal_player_age = 3 exp_requirements = 600 @@ -144,8 +145,8 @@ supervisors = "the chief medical officer" department_head = list(JOB_TITLE_CMO) selection_color = "#d1eeff" - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM) - minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE) + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS) minimal_player_age = 3 exp_requirements = 180 exp_type = EXP_TYPE_CREW @@ -210,8 +211,8 @@ supervisors = "the chief medical officer" department_head = list(JOB_TITLE_CMO) selection_color = "#d1eeff" - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM) - minimal_access = list(ACCESS_MEDICAL, ACCESS_CHEMISTRY, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MEDICAL, ACCESS_CHEMISTRY, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) alt_titles = list("Pharmacist","Pharmacologist") minimal_player_age = 7 exp_requirements = 600 @@ -249,8 +250,8 @@ supervisors = "the chief medical officer and the research director" department_head = list(JOB_TITLE_CMO, JOB_TITLE_RD) selection_color = "#d1eeff" - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM) - minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_RESEARCH) + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_RESEARCH, ACCESS_MAINT_TUNNELS) minimal_player_age = 3 exp_requirements = 900 exp_type = EXP_TYPE_MEDICAL @@ -287,8 +288,8 @@ supervisors = "the chief medical officer" department_head = list(JOB_TITLE_CMO) selection_color = "#d1eeff" - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM) - minimal_access = list(ACCESS_MEDICAL, ACCESS_VIROLOGY, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MEDICAL, ACCESS_VIROLOGY, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) alt_titles = list("Pathologist","Microbiologist") minimal_player_age = 7 exp_requirements = 900 @@ -327,8 +328,8 @@ supervisors = "the chief medical officer" department_head = list(JOB_TITLE_CMO) selection_color = "#d1eeff" - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_PSYCHIATRIST) - minimal_access = list(ACCESS_MEDICAL, ACCESS_PSYCHIATRIST) + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_PSYCHIATRIST, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MEDICAL, ACCESS_PSYCHIATRIST, ACCESS_MAINT_TUNNELS) alt_titles = list("Psychologist","Therapist") outfit = /datum/outfit/job/psychiatrist diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 90f25de2c95..9529e98f49a 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -18,7 +18,7 @@ ACCESS_RESEARCH, ACCESS_ROBOTICS, ACCESS_XENOBIOLOGY, ACCESS_AI_UPLOAD, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_GATEWAY, ACCESS_XENOARCH, ACCESS_MINISAT, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM, ACCESS_NETWORK) minimal_player_age = 21 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_COMMAND exp_requirements = 3000 exp_type = EXP_TYPE_SCIENCE // All science-y guys get bonuses for maxing out their tech. @@ -26,6 +26,7 @@ /datum/job_objective/further_research ) outfit = /datum/outfit/job/rd + insurance_type = INSURANCE_TYPE_DELUXE salary = 300 min_start_money = 400 @@ -63,8 +64,8 @@ supervisors = "the research director" department_head = list(JOB_TITLE_RD) selection_color = "#e6d1f0" - access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_XENOARCH, ACCESS_MINERAL_STOREROOM) - minimal_access = list(ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_XENOARCH, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_XENOARCH, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_XENOARCH, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) alt_titles = list("Anomalist", "Plasma Researcher", "Xenobiologist", "Chemical Researcher") minimal_player_age = 3 exp_requirements = 600 @@ -148,8 +149,8 @@ supervisors = "the research director" department_head = list(JOB_TITLE_RD) selection_color = "#e6d1f0" - access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_TECH_STORAGE, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM) //As a job that handles so many corpses, it makes sense for them to have morgue access. - minimal_access = list(ACCESS_ROBOTICS, ACCESS_TECH_STORAGE, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM) //As a job that handles so many corpses, it makes sense for them to have morgue access. + access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_TECH_STORAGE, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) //As a job that handles so many corpses, it makes sense for them to have morgue access. + minimal_access = list(ACCESS_ROBOTICS, ACCESS_TECH_STORAGE, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) //As a job that handles so many corpses, it makes sense for them to have morgue access. alt_titles = list("Biomechanical Engineer","Mechatronic Engineer") minimal_player_age = 3 exp_requirements = 900 diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 56d0a76681b..6ad447c1326 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -18,12 +18,13 @@ ACCESS_RESEARCH, ACCESS_ENGINE, ACCESS_MINING, ACCESS_MEDICAL, ACCESS_CONSTRUCTION, ACCESS_MAILSORTING, ACCESS_HEADS, ACCESS_HOS, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_PILOT, ACCESS_WEAPONS) minimal_player_age = 21 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_COMMAND blocked_race_for_job = list(SPECIES_VOX) exp_requirements = 3000 exp_type = EXP_TYPE_SECURITY disabilities_allowed = 0 outfit = /datum/outfit/job/hos + insurance_type = INSURANCE_TYPE_DELUXE salary = 300 min_start_money = 400 @@ -35,7 +36,7 @@ uniform = /obj/item/clothing/under/rank/head_of_security suit = /obj/item/clothing/suit/armor/hos - gloves = /obj/item/clothing/gloves/color/black/hos + gloves = /obj/item/clothing/gloves/combat/swat shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/HoS l_ear = /obj/item/radio/headset/heads/hos/alt @@ -70,15 +71,15 @@ supervisors = "the head of security" department_head = list(JOB_TITLE_HOS) selection_color = "#edcdcd" - access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS) - minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_WEAPONS) + access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_PILOT, ACCESS_FORENSICS_LOCKERS, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_GATEWAY, ACCESS_WEAPONS) + minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_PILOT, ACCESS_FORENSICS_LOCKERS, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_GATEWAY, ACCESS_WEAPONS) alt_titles = list("Brig Sergeant") minimal_player_age = 21 - min_age_allowed = 30 blocked_race_for_job = list(SPECIES_VOX) exp_requirements = 2100 exp_type = EXP_TYPE_SECURITY outfit = /datum/outfit/job/warden + insurance_type = INSURANCE_TYPE_DELUXE salary = 170 min_start_money = 200 @@ -130,6 +131,7 @@ blocked_race_for_job = list(SPECIES_VOX) exp_type = EXP_TYPE_SECURITY outfit = /datum/outfit/job/detective + insurance_type = INSURANCE_TYPE_DELUXE salary = 170 min_start_money = 200 @@ -194,6 +196,7 @@ exp_requirements = 600 exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/officer + insurance_type = INSURANCE_TYPE_DELUXE salary = 170 min_start_money = 200 @@ -262,6 +265,7 @@ exp_requirements = 1800 exp_type = EXP_TYPE_MEDICAL outfit = /datum/outfit/job/brigdoc + insurance_type = INSURANCE_TYPE_DELUXE salary = 170 min_start_money = 200 @@ -303,6 +307,7 @@ exp_requirements = 1200 exp_type = EXP_TYPE_SECURITY outfit = /datum/outfit/job/pilot + insurance_type = INSURANCE_TYPE_DELUXE salary = 170 min_start_money = 200 diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index c4dd45f0416..be71c5ee5da 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -11,6 +11,7 @@ minimal_player_age = 30 exp_requirements = 3000 exp_type = EXP_TYPE_SILICON + insurance_type = INSURANCE_TYPE_NONE /datum/job/ai/equip(mob/living/carbon/human/H) if(!H) @@ -33,6 +34,7 @@ exp_requirements = 300 exp_type = EXP_TYPE_CREW alt_titles = list("Robot") + insurance_type = INSURANCE_TYPE_NONE /datum/job/cyborg/equip(mob/living/carbon/human/H) if(!H) diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 3962ccab4d5..950f74dd3f0 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -13,12 +13,13 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca access = list() //See get_access() minimal_access = list() //See get_access() minimal_player_age = 30 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_COMMAND blocked_race_for_job = list(SPECIES_VOX) exp_requirements = 3000 exp_type = EXP_TYPE_COMMAND disabilities_allowed = 0 outfit = /datum/outfit/job/captain + insurance_type = INSURANCE_TYPE_DELUXE salary = 500 min_start_money = 600 @@ -29,7 +30,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca /datum/job/captain/announce(mob/living/carbon/human/H) . = ..() - GLOB.captain_announcement.Announce("Экипажу станции, капитан [H.real_name] взошел на борт!") + GLOB.captain_announcement.Announce("Экипажу станции, капитан [H.real_name] взош[genderize_ru(H.gender, "ёл", "ла", "ло", "ли")] на борт!") /datum/outfit/job/captain name = "Captain" @@ -72,7 +73,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca req_admin_notify = 1 is_command = 1 minimal_player_age = 21 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_COMMAND blocked_race_for_job = list(SPECIES_VOX) exp_requirements = 1200 exp_type = EXP_TYPE_COMMAND @@ -89,6 +90,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION, ACCESS_CLOWN, ACCESS_MIME, ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM) outfit = /datum/outfit/job/hop + insurance_type = INSURANCE_TYPE_DELUXE salary = 300 min_start_money = 400 @@ -128,7 +130,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca is_command = 1 transfer_allowed = FALSE minimal_player_age = 21 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_COMMAND blocked_race_for_job = list(SPECIES_VOX) exp_requirements = 1200 exp_type = EXP_TYPE_COMMAND @@ -146,6 +148,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca ACCESS_CLOWN, ACCESS_MIME, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_GATEWAY, ACCESS_WEAPONS, ACCESS_NTREP) alt_titles = list("NT Consultant","Central Command Consultant") outfit = /datum/outfit/job/nanotrasenrep + insurance_type = INSURANCE_TYPE_DELUXE salary = 300 min_start_money = 400 @@ -180,7 +183,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca is_command = 1 transfer_allowed = FALSE minimal_player_age = 21 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_HIGH_ED blocked_race_for_job = list(SPECIES_VOX) exp_requirements = 3000 exp_type = EXP_TYPE_SECURITY @@ -193,6 +196,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca minimal_access = list(ACCESS_FORENSICS_LOCKERS, ACCESS_SEC_DOORS, ACCESS_MEDICAL, ACCESS_CONSTRUCTION, ACCESS_ENGINE, ACCESS_MAINT_TUNNELS, ACCESS_RESEARCH, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_HEADS, ACCESS_BLUESHIELD, ACCESS_WEAPONS) outfit = /datum/outfit/job/blueshield + insurance_type = INSURANCE_TYPE_DELUXE salary = 300 min_start_money = 400 @@ -203,7 +207,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca jobtype = /datum/job/blueshield uniform = /obj/item/clothing/under/rank/blueshield suit = /obj/item/clothing/suit/armor/vest/blueshield - gloves = /obj/item/clothing/gloves/combat + gloves = /obj/item/clothing/gloves/combat/swat shoes = /obj/item/clothing/shoes/jackboots l_ear = /obj/item/radio/headset/heads/blueshield/alt glasses = /obj/item/clothing/glasses/hud/health/sunglasses @@ -238,7 +242,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca is_legal = 1 transfer_allowed = FALSE minimal_player_age = 30 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_COMMAND blocked_race_for_job = list(SPECIES_VOX) exp_requirements = 1200 exp_type = EXP_TYPE_COMMAND @@ -251,6 +255,7 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_LAWYER, ACCESS_MAGISTRATE, ACCESS_HEADS) alt_titles = list("Judge") outfit = /datum/outfit/job/judge + insurance_type = INSURANCE_TYPE_DELUXE salary = 170 min_start_money = 200 @@ -295,11 +300,12 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca minimal_access = list(ACCESS_LAWYER, ACCESS_COURT, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS, ACCESS_RESEARCH, ACCESS_MEDICAL, ACCESS_CONSTRUCTION, ACCESS_MAILSORTING) alt_titles = list("Human Resources Agent","Lawyer","Attorney") minimal_player_age = 30 - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_HIGH_ED blocked_race_for_job = list(SPECIES_VOX) exp_requirements = 3000 exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/lawyer + insurance_type = INSURANCE_TYPE_DELUXE salary = 170 min_start_money = 200 diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm index 7b43af99d36..00bdf0a6cab 100644 --- a/code/game/jobs/job/support.dm +++ b/code/game/jobs/job/support.dm @@ -11,11 +11,12 @@ selection_color = "#9f8545" access = list(ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_HEADS_VAULT, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_HEADS, ACCESS_SEC_DOORS, ACCESS_EVA, ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_HEADS_VAULT, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_HEADS, ACCESS_SECURITY, ACCESS_EVA, ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) - min_age_allowed = 30 + min_age_type = JOB_MIN_AGE_COMMAND exp_requirements = 3000 exp_type = EXP_TYPE_CREW alt_titles = list("Chief Supply Manager") outfit = /datum/outfit/job/qm + insurance_type = INSURANCE_TYPE_DELUXE // Always has been. //QM IS NOT THE HEAD!! salary = 300 @@ -82,10 +83,11 @@ supervisors = "the quartermaster" department_head = list(JOB_TITLE_QUARTERMASTER) selection_color = "#e2dbc8" - access = list(ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MINT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MINT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_MINING, ACCESS_MINT, ACCESS_MINING_STATION, ACCESS_MAILSORTING, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM) alt_titles = list("Spelunker") outfit = /datum/outfit/job/mining + insurance_type = INSURANCE_TYPE_EXTENDED salary = 100 min_start_money = 100 @@ -149,8 +151,8 @@ supervisors = "the head of personnel" department_head = list(JOB_TITLE_HOP) selection_color = "#d1e8d3" - access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM) - minimal_access = list(ACCESS_BAR, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_BAR, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS) alt_titles = list("Barman","Barkeeper","Drink Artist") outfit = /datum/outfit/job/bartender @@ -191,8 +193,8 @@ supervisors = "the head of personnel" department_head = list(JOB_TITLE_HOP) selection_color = "#d1e8d3" - access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE) - minimal_access = list(ACCESS_KITCHEN) + access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_KITCHEN, ACCESS_MAINT_TUNNELS) alt_titles = list("Cook","Culinary Artist","Butcher") outfit = /datum/outfit/job/chef @@ -243,8 +245,8 @@ supervisors = "the head of personnel" department_head = list(JOB_TITLE_HOP) selection_color = "#d1e8d3" - access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE) - minimal_access = list(ACCESS_HYDROPONICS, ACCESS_MORGUE) + access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_HYDROPONICS, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS) alt_titles = list("Hydroponicist", "Botanical Researcher") exp_requirements = 300 exp_type = EXP_TYPE_CREW @@ -282,8 +284,8 @@ supervisors = "the head of personnel" department_head = list(JOB_TITLE_HOP) selection_color = "#d1e8d3" - access = list(ACCESS_CLOWN, ACCESS_THEATRE) - minimal_access = list(ACCESS_CLOWN, ACCESS_THEATRE) + access = list(ACCESS_CLOWN, ACCESS_THEATRE, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_CLOWN, ACCESS_THEATRE, ACCESS_MAINT_TUNNELS) alt_titles = list("Performance Artist","Comedian","Jester") outfit = /datum/outfit/job/clown @@ -500,8 +502,8 @@ supervisors = "the head of personnel" department_head = list(JOB_TITLE_HOP) selection_color = "#d1e8d3" - access = list(ACCESS_MIME, ACCESS_THEATRE) - minimal_access = list(ACCESS_MIME, ACCESS_THEATRE) + access = list(ACCESS_MIME, ACCESS_THEATRE, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MIME, ACCESS_THEATRE, ACCESS_MAINT_TUNNELS) alt_titles = list("Panthomimist") outfit = /datum/outfit/job/mime @@ -588,8 +590,8 @@ supervisors = "the head of personnel" department_head = list(JOB_TITLE_HOP) selection_color = "#d1e8d3" - access = list(ACCESS_LIBRARY) - minimal_access = list(ACCESS_LIBRARY) + access = list(ACCESS_LIBRARY, ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_LIBRARY, ACCESS_MAINT_TUNNELS) alt_titles = list("Journalist") outfit = /datum/outfit/job/librarian @@ -622,8 +624,8 @@ department_head = list(JOB_TITLE_HOP) selection_color = "#d1e8d3" alt_titles = list("Hair Stylist","Beautician") - access = list() - minimal_access = list() + access = list(ACCESS_MAINT_TUNNELS) + minimal_access = list(ACCESS_MAINT_TUNNELS) outfit = /datum/outfit/job/barber salary = 100 diff --git a/code/game/jobs/job/syndicate.dm b/code/game/jobs/job/syndicate.dm index 14499f5f49a..97ed2ea9c05 100644 --- a/code/game/jobs/job/syndicate.dm +++ b/code/game/jobs/job/syndicate.dm @@ -11,6 +11,7 @@ admin_only = 1 syndicate_command = 1 outfit = /datum/outfit/job/syndicateofficer + insurance_type = INSURANCE_TYPE_NONE /datum/job/syndicateofficer/get_access() return get_syndicate_access(title) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index cf7b343135e..f98aed6eb68 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -11,9 +11,11 @@ var/mob/living/carbon/human/occupant var/known_implants = list(/obj/item/implant/chem, /obj/item/implant/death_alarm, /obj/item/implant/mindshield, /obj/item/implant/tracking, /obj/item/implant/health) var/isPrinting = FALSE + var/obj/item/card/id/inserted_id = null /obj/machinery/bodyscanner/Destroy() go_out() + eject_id() return ..() /obj/machinery/bodyscanner/power_change(forced = FALSE) @@ -170,6 +172,16 @@ add_fingerprint(user) ui_interact(user) +/obj/machinery/bodyscanner/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/card/id)) + if(inserted_id) + user.balloon_alert(user, "занято") + else if(user.drop_transfer_item_to_loc(I, src)) + inserted_id = I + user.balloon_alert(user, "карта вставлена") + + . = ..() + /obj/machinery/bodyscanner/relaymove(mob/user) if(user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return FALSE //maybe they should be able to get out with cuffs, but whatever @@ -196,6 +208,13 @@ A.forceMove(loc) SStgui.update_uis(src) +/obj/machinery/bodyscanner/proc/eject_id() + if(!inserted_id) + return + inserted_id.forceMove(loc) + inserted_id = null + SStgui.update_uis(src) + /obj/machinery/bodyscanner/force_eject_occupant(mob/target) go_out() @@ -231,6 +250,7 @@ var/list/data = list() data["occupied"] = occupant ? TRUE : FALSE + data["has_id"] = inserted_id ? TRUE : FALSE var/occupantData[0] if(occupant) @@ -387,6 +407,10 @@ P.info += "

Notes:
" P.name = "Body Scan - [name]" isPrinting = FALSE + if("insurance") + do_insurance_collection(usr, occupant, inserted_id ? inserted_id.associated_account_number : null) + if("eject_id") + eject_id() else return FALSE diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 49218e2674f..e45b8a0599b 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/HolodeckControl name = "holodeck control computer" - desc = "A computer used to control a nearby holodeck." + desc = "Компьютер, используемый для управления ближайшим голодеком." icon_keyboard = "tech_key" icon_screen = "holocontrol" var/area/linkedholodeck = null @@ -515,54 +515,54 @@ icon_state = "hoop" anchored = TRUE density = TRUE - pass_flags = LETPASSTHROW + pass_flags_self = LETPASSTHROW + damage_deflection = 7 // You can't just break it with da foking glass ashtray. /obj/structure/holohoop/grab_attack(mob/living/grabber, atom/movable/grabbed_thing) . = TRUE + if(!isliving(grabbed_thing)) - return . - var/mob/living/target = grabbed_thing + return + if(grabber.grab_state < GRAB_NECK) to_chat(grabber, span_warning("You need a better grip to do that!")) - return . + return + + var/mob/living/target = grabbed_thing + visible_message(span_warning("[grabber] dunks [target] into [src]!")) - target.forceMove(loc) + target.forceMove(get_turf(src)) target.Weaken(10 SECONDS) /obj/structure/holohoop/attackby(obj/item/I, mob/user, params) - if(user.drop_transfer_item_to_loc(I, src)) - visible_message(span_notice("[user] dunks [I] into [src]!")) - return ATTACK_CHAIN_BLOCKED + if(user.a_intent == INTENT_HARM) // Players may use (DISARM|GRAB) intent for pushing each other. + return ..() + if(user.drop_transfer_item_to_loc(I, get_turf(src))) + visible_message(span_notice("[user] dunks [I] into [src]!")) -/obj/structure/holohoop/has_prints() - return FALSE + return ATTACK_CHAIN_BLOCKED /obj/structure/holohoop/CanAllowThrough(atom/movable/mover, border_dir) - . = ..() - if((isitem(mover) && !isprojectile(mover)) && mover.throwing && mover.pass_flags != PASSEVERYTHING) - if(prob(50)) - mover.forceMove(loc) - visible_message(span_notice("Swish! [mover] lands in [src].")) - else - visible_message(span_alert("[mover] bounces off of [src]'s rim!")) - return FALSE + if(!isitem(mover) || isprojectile(mover)) + return ..() + if((mover.throwing && mover.throwing.thrower && HAS_TRAIT(mover.throwing.thrower, TRAIT_BADASS)) || prob(50)) + mover.forceMove(get_turf(src)) + visible_message(span_notice("Swish! [mover] lands in [src].")) -/obj/structure/holohoop/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) - if(isitem(AM) && !isprojectile(AM)) - if(prob(50) || (throwingdatum && throwingdatum.thrower && HAS_TRAIT(throwingdatum.thrower, TRAIT_BADASS))) - AM.forceMove(get_turf(src)) - visible_message(span_warning("Swish! [AM] lands in [src].")) - return - else - visible_message(span_danger("[AM] bounces off of [src]'s rim!")) - return ..() else - return ..() + visible_message(span_alert("[mover] bounces off of [src]'s rim!")) + + return FALSE + + +/obj/structure/holohoop/has_prints() + return FALSE + /obj/machinery/readybutton name = "Ready Declaration Device" diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 6f4c8f5d247..24952ee61b1 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -49,7 +49,7 @@ /obj/machinery/computer/arcade/battle name = "arcade machine" - desc = "Does not support Pinball." + desc = "Не поддерживает пинбол." icon = 'icons/obj/machines/computer.dmi' icon_state = "arcade" circuit = /obj/item/circuitboard/arcade/battle @@ -277,7 +277,7 @@ /obj/machinery/computer/arcade/orion_trail name = "The Orion Trail" - desc = "Learn how our ancestors got to Orion, and have fun in the process!" + desc = "Узнайте, как наши предки добрались до Ориона, и повеселитесь в процессе!" icon_state = "arcade" circuit = /obj/item/circuitboard/arcade/orion_trail var/busy = 0 //prevent clickspam that allowed people to ~speedrun~ the game. @@ -382,7 +382,7 @@ emagged = 0 //removes the emagged status after you lose playing = 0 //also a new game name = "The Orion Trail" - desc = "Learn how our ancestors got to Orion, and have fun in the process!" + desc = "Узнайте, как наши предки добрались до Ориона, и повеселитесь в процессе!" else if(event) dat = eventdat @@ -955,7 +955,7 @@ prizevend(score) emagged = 0 name = "The Orion Trail" - desc = "Learn how our ancestors got to Orion, and have fun in the process!" + desc = "Узнайте, как наши предки добрались до Ориона, и повеселитесь в процессе!" /obj/machinery/computer/arcade/orion_trail/emag_act(mob/user) if(!emagged) @@ -963,7 +963,7 @@ if(user) to_chat(user, span_notice("You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.")) name = "The Orion Trail: Realism Edition" - desc = "Learn how our ancestors got to Orion, and try not to die in the process!" + desc = "Узнайте, как наши предки добрались до Ориона, и постарайтесь не сдохнуть в процессе!" newgame() emagged = 1 @@ -1015,7 +1015,7 @@ /obj/machinery/computer/arcade/orion_trail/pc_frame name = "special purpose computer" - desc = "It will be difficult to perform calculations on this computer..." + desc = "Выполнять вычисления на этом компьютере будет сложно..." icon = 'icons/obj/machines/computer.dmi' icon_state = "aimainframe" @@ -1026,7 +1026,7 @@ /obj/machinery/computer/arcade/battle/pc_frame name = "special purpose computer" - desc = "It will be difficult to perform calculations on this computer..." + desc = "Выполнять вычисления на этом компьютере будет сложно..." icon = 'icons/obj/machines/computer.dmi' icon_state = "aimainframe" diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 1911c9db534..277d4f9f894 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/atmos_alert name = "atmospheric alert computer" - desc = "Used to access the station's atmospheric sensors." + desc = "Используется для мониторинга атмосферных датчиков станции." circuit = /obj/item/circuitboard/atmos_alert var/ui_x = 350 var/ui_y = 300 diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index 8ed0296b968..c9bbf42cf21 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -14,7 +14,7 @@ /obj/machinery/computer/atmoscontrol/laptop name = "atmospherics laptop" - desc = "Cheap Nanotrasen laptop." + desc = "Дешёвый ноутбук корпорации Nanotrasen." icon_state = "medlaptop" density = FALSE diff --git a/code/game/machinery/computer/brigcells.dm b/code/game/machinery/computer/brigcells.dm index c41c0442916..ace3d9f823e 100644 --- a/code/game/machinery/computer/brigcells.dm +++ b/code/game/machinery/computer/brigcells.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/brigcells name = "cell management computer" - desc = "Used to manage prison cells." + desc = "Используется для управления тюремными камерами." icon_keyboard = "security_key" icon_screen = "cell_monitor" use_power = IDLE_POWER_USE diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index db352e64bfa..97ae55b7816 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -462,12 +462,15 @@ build_path = /obj/machinery/computer/turbine_computer origin_tech = "programming=4;engineering=4;powerstorage=4" + /obj/item/circuitboard/HONKputer board_name = "HONKputer" build_path = /obj/machinery/computer/HONKputer origin_tech = "programming=2" icon = 'icons/obj/machines/HONKputer.dmi' icon_state = "bananium_board" + board_type = "HONKputer" + /obj/item/circuitboard/broken board_name = "Broken curcuit" @@ -549,6 +552,14 @@ var/obj/item/circuitboard/circuit = null +/obj/structure/computerframe/Initialize(mapload, obj/item/circuitboard/circuit) + . = ..() + + if(circuit) + src.circuit = new circuit(src) + state = STATE_GLASS // Spawned during completed computer Init, so it's completed. + + /obj/structure/computerframe/examine(mob/user) . = ..() . += span_notice("It is [anchored ? "bolted to the floor" : "unbolted"].") @@ -569,10 +580,33 @@ /obj/structure/computerframe/deconstruct(disassembled = TRUE) if(!(obj_flags & NODECONSTRUCT)) - drop_computer_parts() + var/location = drop_location() + drop_computer_materials(location) + + if(circuit) + circuit.forceMove(location) + + if(state >= STATE_WIRES) + new /obj/item/stack/cable_coil(location, 5) + + if(state == STATE_GLASS) + new /obj/item/stack/sheet/glass(location, 2) + + state = STATE_EMPTY + circuit = null + return ..() // will qdel the frame +/obj/structure/computerframe/Destroy() + if(istype(circuit)) + qdel(circuit) + + circuit = null + + return ..() + + /obj/structure/computerframe/AltClick(mob/user) if(!Adjacent(user)) return @@ -588,16 +622,9 @@ /obj/structure/computerframe/obj_break(damage_flag) deconstruct() -/obj/structure/computerframe/proc/drop_computer_parts() - var/location = drop_location() + +/obj/structure/computerframe/proc/drop_computer_materials(location) new /obj/item/stack/sheet/metal(location, 5) - if(circuit) - circuit.forceMove(location) - circuit = null - if(state >= STATE_WIRES) - new /obj/item/stack/cable_coil(location, 5) - if(state == STATE_GLASS) - new /obj/item/stack/sheet/glass(location, 2) /obj/structure/computerframe/update_icon_state() @@ -651,27 +678,30 @@ /obj/structure/computerframe/screwdriver_act(mob/living/user, obj/item/I) if(state != STATE_CIRCUIT && state != STATE_NOWIRES && state != STATE_GLASS) return FALSE + . = TRUE + if(!I.use_tool(src, user, volume = I.tool_volume)) - return . + return switch(state) if(STATE_CIRCUIT) to_chat(user, span_notice("You screw the circuit board into place.")) state = STATE_NOWIRES update_icon(UPDATE_ICON_STATE) + if(STATE_NOWIRES) to_chat(user, span_notice("You unfasten the circuit board.")) state = STATE_CIRCUIT update_icon(UPDATE_ICON_STATE) + if(STATE_GLASS) + if(!anchored) + to_chat(user, span_warning("Monitor can't be properly connected to the unfastened frame!")) + return + to_chat(user, span_notice("You connect the monitor.")) - var/B = new circuit.build_path(loc) - if(istype(circuit, /obj/item/circuitboard/supplycomp)) - var/obj/machinery/computer/supplycomp/SC = B - var/obj/item/circuitboard/supplycomp/C = circuit - SC.can_order_contraband = C.contraband_enabled - qdel(src) + new circuit.build_path(get_turf(src), src) /obj/structure/computerframe/wirecutter_act(mob/living/user, obj/item/I) @@ -694,16 +724,17 @@ if(STATE_EMPTY) if(!istype(I, /obj/item/circuitboard)) return ..() + add_fingerprint(user) - if(istype(I, /obj/item/circuitboard/HONKputer) && !istype(src, /obj/structure/computerframe/HONKputer)) - to_chat(user, span_warning("[src] does not accept circuit boards of this type!")) - return ATTACK_CHAIN_PROCEED - var/obj/item/circuitboard/new_circuit = I - if(new_circuit.board_type != "computer") + + if(!circuit_compatibility_check(I)) to_chat(user, span_warning("[src] does not accept circuit boards of this type!")) return ATTACK_CHAIN_PROCEED - if(!user.drop_transfer_item_to_loc(new_circuit, src)) + + if(!user.drop_transfer_item_to_loc(I, src)) return ..() + + var/obj/item/circuitboard/new_circuit = I new_circuit.play_tool_sound(src) to_chat(user, span_notice("You place [new_circuit] inside [src].")) name += " ([new_circuit.board_name])" @@ -755,11 +786,27 @@ return ..() +/obj/structure/computerframe/proc/on_construction(obj/machinery/computer/computer) + forceMove(computer) + + +/obj/structure/computerframe/proc/circuit_compatibility_check(obj/item/circuitboard/circuit) + return circuit.board_type == "computer" + + /obj/structure/computerframe/HONKputer name = "Bananium Computer-frame" icon = 'icons/obj/machines/HONKputer.dmi' +/obj/structure/computerframe/HONKputer/drop_computer_materials(location) + new /obj/item/stack/sheet/mineral/bananium(location, 20) + + +/obj/structure/computerframe/HONKputer/circuit_compatibility_check(obj/item/circuitboard/circuit) + return circuit.board_type == "HONKputer" + + /obj/structure/computerframe/abductor icon_state = "comp_frame_alien1" @@ -768,47 +815,16 @@ icon_state = "comp_frame_alien[state]" -/obj/structure/computerframe/abductor/screwdriver_act(mob/living/user, obj/item/I) - . = TRUE - if(!I.use_tool(src, user)) - return +/obj/structure/computerframe/abductor/on_construction(obj/machinery/computer/computer) + ..() + computer.abductor = TRUE + computer.max_integrity = 400 + computer.obj_integrity = 400 - switch(state) - if(STATE_CIRCUIT) - to_chat(user, span_notice("You screw the circuit board into place.")) - state = STATE_NOWIRES - I.play_tool_sound(src) - update_icon(UPDATE_ICON_STATE) - if(STATE_NOWIRES) - to_chat(user, span_notice("You unfasten the circuit board.")) - state = STATE_CIRCUIT - I.play_tool_sound(src) - update_icon(UPDATE_ICON_STATE) - if(STATE_GLASS) - to_chat(user, span_notice("You connect the monitor.")) - I.play_tool_sound(src) - var/obj/machinery/computer/computer = new circuit.build_path(loc) - computer.abductor = TRUE - computer.update_icon() - computer.max_integrity = 400 - computer.obj_integrity = 400 - computer.update_icon() - if(istype(circuit, /obj/item/circuitboard/supplycomp)) - var/obj/machinery/computer/supplycomp/supply_comp = computer - var/obj/item/circuitboard/supplycomp/supply_circuit = circuit - supply_comp.can_order_contraband = supply_circuit.contraband_enabled - qdel(src) - -/obj/structure/computerframe/abductor/drop_computer_parts() - var/location = drop_location() + +/obj/structure/computerframe/abductor/drop_computer_materials(location) new /obj/item/stack/sheet/mineral/abductor(location, 4) - if(circuit) - circuit.forceMove(location) - circuit = null - if(state >= STATE_WIRES) - new /obj/item/stack/cable_coil(location, 5) - if(state == STATE_GLASS) - new /obj/item/stack/sheet/glass(location, 2) + #undef STATE_EMPTY #undef STATE_CIRCUIT diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index acb5745e3f8..8d5244cd0ad 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -2,7 +2,7 @@ /obj/machinery/computer/security name = "security camera console" - desc = "Used to access the various cameras networks on the station." + desc = "Используется для доступа к сетям камер на станции." icon_keyboard = "security_key" icon_screen = "cameras" @@ -68,6 +68,9 @@ // Open UI ui = new(user, src, "CameraConsole", name) ui.open() + sleep(1) //Fast and furious: assets were too slow and camera got screwed! + if(!ui.closing) + ui.window?.reinitialize() /obj/machinery/computer/security/ui_assets(mob/user) return list( @@ -198,7 +201,7 @@ // Other computer monitors. /obj/machinery/computer/security/telescreen name = "telescreen" - desc = "Used for watching camera networks." + desc = "Используется для просмотра сети камер." icon_state = "telescreen_console" icon_screen = "telescreen" icon_keyboard = null @@ -228,7 +231,7 @@ /obj/machinery/computer/security/telescreen/entertainment name = "entertainment monitor" - desc = "Damn, they better have Paradise TV on these things." + desc = "Чёрт возьми, лучше бы они показывали Paradise TV." icon_state = "entertainment_console" icon_screen = "entertainment_off" light_color = "#FFEEDB" @@ -239,41 +242,75 @@ /// Icon utilised when `GLOB.active_video_cameras` list have anything inside. var/icon_screen_on = "entertainment" +/obj/machinery/computer/security/telescreen/entertainment/Initialize() + . = ..() + RegisterSignal(src, COMSIG_MOB_ATTACKED_RANGED, PROC_REF(on_ranged_attack)) + +/obj/machinery/computer/security/telescreen/entertainment/Destroy() + . = ..() + UnregisterSignal(src, COMSIG_MOB_ATTACKED_RANGED) + +/obj/machinery/computer/security/telescreen/entertainment/proc/on_ranged_attack(datum/source, mob/user, params) + SIGNAL_HANDLER + + if(stat) + user.unset_machine() + return + + INVOKE_ASYNC(src, TYPE_PROC_REF(/datum, ui_interact), user) /obj/machinery/computer/security/telescreen/entertainment/update_overlays() icon_screen = length(GLOB.active_video_cameras) ? icon_screen_on : initial(icon_screen) return ..() +/obj/machinery/computer/security/telescreen/entertainment/ui_state(mob/user) + if(issilicon(user)) + if(isAI(user)) + var/mob/living/silicon/ai/AI = user + if(!AI.lacks_power() || AI.apc_override) + return GLOB.always_state + + if(isrobot(user)) + return GLOB.always_state + + else if(ishuman(user)) + if(get_dist(src, user) > 6) + return GLOB.default_state + + if(!stat) + return GLOB.range_state + + return GLOB.default_state /obj/machinery/computer/security/telescreen/singularity name = "Singularity Engine Telescreen" - desc = "Used for watching the singularity chamber." + desc = "Используется для наблюдения за зоной содержания сингулярности." network = list("Singularity") circuit = /obj/item/circuitboard/camera/telescreen/singularity /obj/machinery/computer/security/telescreen/toxin_chamber name = "Toxins Telescreen" - desc = "Used for watching the test chamber." + desc = "Используется для наблюдения за полигоном." network = list("Toxins") /obj/machinery/computer/security/telescreen/test_chamber name = "Test Chamber Telescreen" - desc = "Used for watching the test chamber." + desc = "Используется для наблюдения за полигоном." network = list("TestChamber") /obj/machinery/computer/security/telescreen/research name = "Research Monitor" - desc = "Used for watching the RD's goons from the safety of his office." + desc = "С помощью этого монитора Директор Исследований может наблюдать за своими подхалимами из безопасного места." network = list("Research","Research Outpost","RD") /obj/machinery/computer/security/telescreen/prison name = "Prison Monitor" - desc = "Used for watching Prison Wing holding areas." + desc = "Используется для мониторинга помещений тюремного блока." network = list("Prison") /obj/machinery/computer/security/wooden_tv name = "security camera monitor" - desc = "An old TV hooked into the station's camera network." + desc = "Старый телевизор, подключенный к сети камер станции." icon_state = "television" icon_keyboard = null icon_screen = "detective_tv" @@ -284,7 +321,7 @@ /obj/machinery/computer/security/mining name = "outpost camera monitor" - desc = "Used to access the various cameras on the outpost." + desc = "Используется для доступа к различным камерам на аванпосте." icon_keyboard = "mining_key" icon_screen = "mining" light_color = "#F9BBFC" @@ -293,7 +330,7 @@ /obj/machinery/computer/security/engineering name = "engineering camera monitor" - desc = "Used to monitor fires and breaches." + desc = "Используется для отслеживания возникающих пожаров и аварий." icon_keyboard = "power_key" icon_screen = "engie_cams" light_color = "#FAC54B" diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index 83a743258e6..204c22dee2c 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/camera_advanced name = "advanced camera console" - desc = "Used to access the various cameras on the station." + desc = "Используется для доступа к различным камерам, установленным на станции." icon_screen = "cameras" icon_keyboard = "security_key" var/mob/camera/aiEye/remote/eyeobj diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index f3e83ca3077..7bd435a4b05 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -10,7 +10,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) /obj/machinery/computer/card name = "identification computer" - desc = "Terminal for programming Nanotrasen employee ID cards to access parts of the station." + desc = "Терминал, используемый для изменения уровня доступа ID-карт сотрудников Nanotrasen." icon_keyboard = "id_key" icon_screen = "id" req_access = list(ACCESS_CHANGE_IDS) @@ -772,7 +772,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) /obj/machinery/computer/card/minor name = "department management console" target_dept = TARGET_DEPT_GENERIC - desc = "You can use this to change ID's for specific departments." + desc = "Вы можете использовать это, чтобы изменить ID-карту для определенного отдела." icon_screen = "idminor" circuit = /obj/item/circuitboard/card/minor diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index bd3383befe3..fb1a7c90f5e 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -12,7 +12,7 @@ // The communications computer /obj/machinery/computer/communications name = "communications console" - desc = "This allows the Captain to contact Central Command, or change the alert level. It also allows the command staff to call the Escape Shuttle." + desc = "Консоль, с помощью которой Капитан может связаться с Центральным Командованием или изменить уровень угрозы. Она так же позволяет командному составу вызвать эвакуационный шаттл." icon_keyboard = "tech_key" icon_screen = "comm" req_access = list(ACCESS_HEADS) diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 2625ebbeec0..e03674bd29e 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -11,6 +11,7 @@ integrity_failure = 100 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 40, "acid" = 20) var/obj/item/circuitboard/circuit = null //if circuit==null, computer can't disassembly + var/obj/structure/computerframe/frame = /obj/structure/computerframe var/icon_keyboard = "generic_key" var/icon_screen = "generic" var/light_range_on = 1 @@ -22,11 +23,30 @@ var/force_no_power_icon_state = FALSE -/obj/machinery/computer/Initialize(mapload) +/obj/machinery/computer/Initialize(mapload, obj/structure/computerframe/frame) . = ..() + + if(frame) + src.frame = frame + + else + var/frame_type = abductor ? /obj/structure/computerframe/abductor : src.frame + src.frame = new frame_type(src, circuit) + + src.frame.on_construction(src) power_change() update_icon() + +/obj/machinery/computer/Destroy() + if(istype(frame)) + qdel(frame) + + frame = null + + return ..() + + /obj/machinery/computer/process() if(stat & (NOPOWER|BROKEN)) return FALSE @@ -140,37 +160,35 @@ if(prob(10)) obj_break("energy") + /obj/machinery/computer/deconstruct(disassembled = TRUE, mob/user) on_deconstruction() if(!(obj_flags & NODECONSTRUCT)) if(circuit) //no circuit, no computer frame - var/obj/structure/computerframe/A - if(abductor) - A = new /obj/structure/computerframe/abductor(loc) - else - A = new /obj/structure/computerframe(loc) - var/obj/item/circuitboard/M = new circuit(A) - A.name += " ([M.board_name])" - A.setDir(dir) - A.circuit = M - A.set_anchored(TRUE) if(stat & BROKEN) if(user) to_chat(user, span_notice("The broken glass falls out.")) + else playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE) + new /obj/item/shard(drop_location()) new /obj/item/shard(drop_location()) - A.state = 4 + frame.state = 4 + else if(user) to_chat(user, span_notice("You disconnect the monitor.")) - A.state = 5 - A.update_icon() + + frame.update_icon() + for(var/obj/C in src) - C.forceMove(loc) + C.forceMove(get_turf(src)) + + frame = null qdel(src) + /obj/machinery/computer/proc/set_broken() if(!(resistance_flags & INDESTRUCTIBLE)) stat |= BROKEN diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 07bf9e541f2..d90f389afea 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/crew name = "crew monitoring computer" - desc = "Used to monitor active health sensors built into most of the crew's uniforms." + desc = "Используется для контроля активных датчиков состояния здоровья, встроенных в униформу большинства членов экипажа." icon_keyboard = "med_key" icon_screen = "crew" use_power = IDLE_POWER_USE diff --git a/code/game/machinery/computer/depot.dm b/code/game/machinery/computer/depot.dm index ce7c86f2d74..374c77b8621 100644 --- a/code/game/machinery/computer/depot.dm +++ b/code/game/machinery/computer/depot.dm @@ -390,7 +390,7 @@ /obj/machinery/computer/syndicate_depot/teleporter name = "Syndicate Redspace Teleporter Console" - desc = "This suspicious high-tech machine creates a Bi-Directional teleporter that is capable to ignore any bluespace interference!" + desc = "Эта подозрительная высокотехнологичная машина создает двунаправленный телепорт, способный игнорировать любые BlueSpace-помехи!" icon_screen = "telesci" icon_keyboard = "teleport_key" window_height = 320 diff --git a/code/game/machinery/computer/honkputer.dm b/code/game/machinery/computer/honkputer.dm index fea3bf0964a..a4c90924d49 100644 --- a/code/game/machinery/computer/honkputer.dm +++ b/code/game/machinery/computer/honkputer.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/HONKputer name = "\improper HONKputer Mark I" - desc = "A yellow computer used in case of critically low levels of HONK." + desc = "Яркий жёлтый компьютер. Воспользуйтесь им, если уровень ХОНКА упал до критически низкого уровня!" icon = 'icons/obj/machines/HONKputer.dmi' icon_state = "honkputer" icon_keyboard = "key_honk" @@ -8,6 +8,7 @@ light_color = LIGHT_COLOR_PINK req_access = list(ACCESS_CLOWN) circuit = /obj/item/circuitboard/HONKputer + frame = /obj/structure/computerframe/HONKputer var/authenticated = 0 var/message_cooldown = 0 var/state = STATE_DEFAULT diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index 6c778767f61..3e03f4f2118 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/aiupload name = "\improper AI upload console" - desc = "Used to upload laws to the AI." + desc = "Используется для манипуляций с законами ИИ." icon_screen = "command" icon_keyboard = "med_key" circuit = /obj/item/circuitboard/aiupload @@ -59,7 +59,7 @@ // Why is this not a subtype /obj/machinery/computer/borgupload name = "cyborg upload console" - desc = "Used to upload laws to Cyborgs." + desc = "Используется для манипуляций с законами киборгов." icon_screen = "command" icon_keyboard = "med_key" circuit = /obj/item/circuitboard/borgupload diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 3d1580776f8..a04d1cacb97 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -9,7 +9,7 @@ /obj/machinery/computer/med_data //TODO:SANITY name = "medical records console" - desc = "This can be used to check medical records." + desc = "Используется для проверки медицинских записей." icon_keyboard = "med_key" icon_screen = "medcomp" req_access = list(ACCESS_MEDICAL, ACCESS_FORENSICS_LOCKERS) @@ -346,10 +346,16 @@ return if(field == "age") + if(!active1) + return + + var/datum/species/species = active1.fields["species"] var/new_age = text2num(answer) - if(new_age < AGE_MIN || new_age > AGE_MAX) - set_temp("Invalid age. It must be between [AGE_MIN] and [AGE_MAX].", "danger") + var/age_limits = get_age_limits(species, list(SPECIES_AGE_MIN, SPECIES_AGE_MAX)) + if(new_age < age_limits[SPECIES_AGE_MIN] || new_age > age_limits[SPECIES_AGE_MAX]) + set_temp("Invalid age. It must be between [age_limits[SPECIES_AGE_MIN]] and [age_limits[SPECIES_AGE_MAX]].", "danger") return + answer = new_age if(istype(active2) && (field in active2.fields)) @@ -455,7 +461,7 @@ /obj/machinery/computer/med_data/laptop name = "medical laptop" - desc = "Cheap Nanotrasen laptop." + desc = "Дешёвый ноутбук корпорации Nanotrasen." icon_state = "laptop" icon_keyboard = "laptop_key" icon_screen = "medlaptop" diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index e4e7e098f7f..d2e1e9958f6 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -1,7 +1,7 @@ // Allows you to monitor messages that passes the server. /obj/machinery/computer/message_monitor name = "message monitoring console" - desc = "Used to monitor the crew's messages that are sent via PDA. It can also be used to view Request Console messages." + desc = "Используется для отслеживания сообщений экипажа, отправляемых через КПК. Его также можно использовать для просмотра сообщений Консоли Запросов." icon_screen = "comm_logs" light_color = LIGHT_COLOR_GREEN var/hack_icon = "tcboss" diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 0a788efdae5..5cb46086fbd 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/pod name = "mass drivers and pod doors control" - desc = "A control for launching pods. Some people prefer firing Mechas." + desc = "Элемент управления для запуска капсул. Некоторые предпочитают запускать из них мехов." icon_screen = "mass_driver" light_color = "#555555" circuit = /obj/item/circuitboard/pod @@ -279,7 +279,7 @@ /obj/machinery/computer/pod/old/syndicate name = "external airlock controls" - desc = "The Syndicate operate on a tight budget. Operates external airlocks." + desc = "Синдикат работает в условиях ограниченного бюджета. Управляет внешними шлюзами." req_access = list(ACCESS_SYNDICATE) circuit = /obj/item/circuitboard/syndicatedoor light_color = "#00FFFF" @@ -294,7 +294,7 @@ /obj/machinery/computer/pod/old/swf name = "\improper Magix System IV" - desc = "An arcane artifact that holds much magic. Running E-Knock 2.2: Sorceror's Edition" + desc = "Таинственный артефакт, в котором сконцентрировано огромное количество магической энергии." circuit = /obj/item/circuitboard/swfdoor diff --git a/code/game/machinery/computer/power.dm b/code/game/machinery/computer/power.dm index ca4faf48060..10a05df63fa 100644 --- a/code/game/machinery/computer/power.dm +++ b/code/game/machinery/computer/power.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/monitor name = "power monitoring console" - desc = "Used to monitor power levels across the station." + desc = "Используется для мониторинга уровня энергопотребления на всей станции." icon_screen = "power" icon_keyboard = "power_key" use_power = ACTIVE_POWER_USE @@ -23,7 +23,7 @@ /obj/machinery/computer/monitor/secret //Hides the power monitor (such as ones on ruins & CentCom) from PDA's to prevent metagaming. name = "outdated power monitoring console" - desc = "It monitors power levels across the local powernet." + desc = "Используется для отслеживания уровня энергопотребления в локальной сети." circuit = /obj/item/circuitboard/powermonitor/secret is_secret_monitor = TRUE diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 23faf723eb7..e0deb7d3cf5 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/robotics name = "robotics control console" - desc = "Used to remotely lockdown or detonate linked Cyborgs." + desc = "Используется для дистанционной блокировки или подрыва привязанных киборгов." icon = 'icons/obj/machines/computer.dmi' icon_keyboard = "tech_key" icon_screen = "robot" diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index a2ea58d267d..6e032928fa6 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -6,7 +6,7 @@ /obj/machinery/computer/secure_data name = "security records" - desc = "Used to view and edit personnel's security records." + desc = "Используется для просмотра и редактирования записей службы безопасности о персонале." icon_keyboard = "security_key" icon_screen = "security" circuit = /obj/item/circuitboard/secure_data @@ -364,12 +364,19 @@ return if(field == "age") + if(!record_general) + return + + var/datum/species/species = record_general.fields["species"] var/new_age = text2num(answer) - if(new_age < AGE_MIN || new_age > AGE_MAX) - set_temp("Invalid age. It must be between [AGE_MIN] and [AGE_MAX].", "danger") + var/age_limits = get_age_limits(species, list(SPECIES_AGE_MIN, SPECIES_AGE_MAX)) + if(new_age < age_limits[SPECIES_AGE_MIN] || new_age > age_limits[SPECIES_AGE_MAX]) + set_temp("Invalid age. It must be between [age_limits[SPECIES_AGE_MIN]] and [age_limits[SPECIES_AGE_MAX]].", "danger") return + answer = new_age - else if(field == "criminal") + + if(field == "criminal") var/text = "Please enter a reason for the status change to [answer]:" if(answer == SEC_RECORD_STATUS_EXECUTE) text = "Please explain why they are being executed. Include a list of their crimes, and victims." @@ -511,7 +518,7 @@ /obj/machinery/computer/secure_data/laptop name = "security laptop" - desc = "Nanotrasen Security laptop. Bringing modern compact computing to this century!" + desc = "Ноутбук службы безопасности Nanotrasen. Привносим современные компактные компьютеры в наше столетие!" icon_state = "laptop" icon_keyboard = "seclaptop_key" icon_screen = "seclaptop" diff --git a/code/game/machinery/computer/sm_monitor.dm b/code/game/machinery/computer/sm_monitor.dm index f0c3f13959b..b1538fee04b 100644 --- a/code/game/machinery/computer/sm_monitor.dm +++ b/code/game/machinery/computer/sm_monitor.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/sm_monitor name = "supermatter monitoring console" - desc = "Used to monitor supermatter shards." + desc = "Используется для мониторинга состояния осколка суперматерии." icon_keyboard = "power_key" icon_screen = "smmon_0" circuit = /obj/item/circuitboard/sm_monitor diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index cb9fd66aeea..a7d321d724a 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -1,7 +1,7 @@ /obj/machinery/computer/station_alert name = "station alert console" - desc = "Used to access the station's automated alert system." + desc = "Используется для доступа к автоматизированной системе тревог станции." icon_keyboard = "tech_key" icon_screen = "alert:0" light_color = LIGHT_COLOR_CYAN diff --git a/code/game/machinery/computer/syndie_cargo.dm b/code/game/machinery/computer/syndie_cargo.dm index d9b05135b90..fff047fe5bc 100644 --- a/code/game/machinery/computer/syndie_cargo.dm +++ b/code/game/machinery/computer/syndie_cargo.dm @@ -254,7 +254,7 @@ GLOBAL_LIST_INIT(data_storages, list()) //list of all cargo console data storage **************************/ /obj/machinery/computer/syndie_supplycomp name = "Supply Pad Console" - desc = "Used to order supplies by using syndiepads!" + desc = "Необходим для оформления заказов используя SyndiePads!" icon_screen = "syndinavigation" icon_keyboard = "syndie_key" req_access = list(ACCESS_SYNDICATE_CARGO) @@ -306,7 +306,7 @@ GLOBAL_LIST_INIT(data_storages, list()) //list of all cargo console data storage var/turf/T = pick_n_take(spawnTurfs) //turf we will place it in for(var/obj/machinery/syndiepad/recieving_pad as anything in recievingPads) recieving_pad.use_power(10000 / recieving_pad.power_efficiency) - flick("sqpad-beam", recieving_pad ) + flick("[initial(recieving_pad.icon_state)]-beam", recieving_pad) playsound(get_turf(recieving_pad), 'sound/weapons/emitter2.ogg', 25, TRUE) if(!T) @@ -494,7 +494,7 @@ GLOBAL_LIST_INIT(data_storages, list()) //list of all cargo console data storage /obj/machinery/computer/syndie_supplycomp/public name = "Supply Ordering Console" - desc = "Used to order supplies from cargo staff." + desc = "Используется для оформления заказов у отдела снабжения" circuit = /obj/item/circuitboard/syndicatesupplycomp/public req_access = list() is_public = TRUE diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index be03be6937e..01e0baaca4b 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -1016,6 +1016,19 @@ to destroy them and players will be able to make replacements. /obj/item/stack/ore/bluespace_crystal = 5, /obj/item/stack/cable_coil = 15) +/obj/item/circuitboard/advanced_roboquest_pad + board_name = "Robotics Request Advanced Quantum Pad" + icon_state = "abductor_mod" + build_path = /obj/machinery/roboquest_pad/advanced + board_type = "machine" + origin_tech = "programming=4;engineering=5;plasmatech=5;bluespace=6" + req_components = list( + /obj/item/stack/ore/bluespace_crystal = 5, + /obj/item/stock_parts/capacitor/purple = 1, + /obj/item/stock_parts/manipulator/purple = 1, + /obj/item/stock_parts/scanning_module/purple = 1, + /obj/item/stack/cable_coil = 15) + /obj/item/circuitboard/sleeper board_name = "Sleeper" build_path = /obj/machinery/sleeper diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 50381c2f467..833eee399e6 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -15,7 +15,7 @@ /obj/machinery/computer/cryopod name = "cryogenic oversight console" - desc = "An interface between crew and the cryogenic storage oversight systems." + desc = "Интерфейс управления системой контроля за криогенным хранилищем." icon = 'icons/obj/machines/cryogenic2.dmi' icon_state = "cellconsole" circuit = /obj/item/circuitboard/cryopodcontrol @@ -703,7 +703,7 @@ /obj/machinery/computer/cryopod/robot name = "robotic storage console" - desc = "An interface between crew and the robotic storage systems" + desc = "Интерфейс управления системой контроля за робо-хранилищем." icon = 'icons/obj/machines/robot_storage.dmi' icon_state = "console" circuit = /obj/item/circuitboard/robotstoragecontrol diff --git a/code/game/machinery/customat.dm b/code/game/machinery/customat.dm index db6013927da..15fd069fb6a 100644 --- a/code/game/machinery/customat.dm +++ b/code/game/machinery/customat.dm @@ -155,6 +155,7 @@ /// Direct ref to the trunk pipe underneath us var/obj/structure/disposalpipe/trunk/trunk + /obj/machinery/customat/proc/set_up_components() component_parts = list() var/obj/item/circuitboard/vendor/V = new @@ -178,7 +179,7 @@ /obj/machinery/customat/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) . = ..(AM, skipcatch, hitpush, blocked, throwingdatum) - if (!AM.throwforce) + if(!AM.throwforce) return if(COOLDOWN_FINISHED(src, emp_cooldown) && COOLDOWN_FINISHED(src, alarm_cooldown)) @@ -205,7 +206,7 @@ /obj/machinery/customat/Destroy() eject_all() - if (trunk) + if(trunk) var/obj/structure/disposalholder/holder = locate() in trunk if(holder) trunk.expel(holder) @@ -346,34 +347,35 @@ ..() /obj/machinery/customat/proc/idcard_act(mob/user, obj/item/I) - if (!isLocked()) + if(!isLocked()) connected_id = I balloon_alert(user, "заблокировано") - else if (connected_id == I) + else if(connected_id == I) connected_id = null balloon_alert(user, "разблокировано") else balloon_alert(user, "карта не подходит") /obj/machinery/customat/proc/get_key(obj/item/I, cost) - return I.name + "_[cost]" + return format_text("[I]_[cost]") /obj/machinery/customat/proc/insert(mob/user, obj/item/I, cost) - if (inserted_items_count >= max_items_inside) - if (user) + if(inserted_items_count >= max_items_inside) + if(user) to_chat(user, span_warning("Лимит в [max_items_inside] предметов достигнут.")) return + remembered_costs[I.name] = cost var/key = get_key(I, cost) if(user && !user.drop_transfer_item_to_loc(I, src)) to_chat(user, span_warning("Вы не можете положить это внутрь.")) return - if (!user) // If from pipe, transfer into src. + if(!user) // If from pipe, transfer into src. I.forceMove(src) var/datum/data/customat_product/product - if (!(key in products)) + if(!(key in products)) product = new /datum/data/customat_product(I) product.price = !emagged ? cost : 0 product.key = key @@ -386,20 +388,31 @@ /obj/machinery/customat/proc/try_insert(mob/user, obj/item/I, from_tube = FALSE) var/cost = 100 - if (from_tube) - if (I.name in remembered_costs) + if(from_tube) + if(I.name in remembered_costs) cost = remembered_costs[I.name] - else if (fast_insert && (I.name in remembered_costs)) + + else if(fast_insert && (I.name in remembered_costs)) cost = remembered_costs[I.name] else var/input_cost = tgui_input_number(user, "Пожалуйста, выберите цену для этого товара. Цена не может быть ниже 0 и выше 1000000 кредитов.", "Выбор цены", 0, 1000000, 0) - if (!input_cost) + if(!input_cost) to_chat(user, span_warning("Цена не указанна!")) return + cost = input_cost - if (user && get_dist(get_turf(user), get_turf(src)) > 1) + + if(!user || user.stat) + return + + if(!Adjacent(user)) to_chat(user, span_warning("Вы слишком далеко!")) return + + if(!user.is_in_hands(I)) + to_chat(user, span_warning("Нечего положить внутрь!")) + return + insert(user, I, cost) /obj/machinery/customat/attackby(obj/item/I, mob/user, params) @@ -411,15 +424,15 @@ if(istype(I, /obj/item/crowbar) || istype(I, /obj/item/wrench)) return ATTACK_CHAIN_PROCEED_SUCCESS - if (panel_open) - if (istype(I, /obj/item/card/id)) + if(panel_open) + if(istype(I, /obj/item/card/id)) idcard_act(user, I) return ATTACK_CHAIN_BLOCKED_ALL - else if (!isLocked()) + else if(!isLocked()) try_insert(user, I) return ATTACK_CHAIN_BLOCKED_ALL - if (!istype(I, /obj/item/stack/nanopaste) && !istype(I, /obj/item/detective_scanner) && COOLDOWN_FINISHED(src, emp_cooldown) && COOLDOWN_FINISHED(src, alarm_cooldown)) + if(!istype(I, /obj/item/stack/nanopaste) && !istype(I, /obj/item/detective_scanner) && COOLDOWN_FINISHED(src, emp_cooldown) && COOLDOWN_FINISHED(src, alarm_cooldown)) COOLDOWN_START(src, alarm_cooldown, alarm_delay) playsound(src, 'sound/machines/burglar_alarm.ogg', I.force * 5, 0) @@ -429,9 +442,11 @@ /obj/machinery/customat/crowbar_act(mob/user, obj/item/I) if(!component_parts) return - if (isLocked()) + + if(isLocked()) to_chat(user, span_warning("[src] is locked.")) return + . = TRUE eject_all() default_deconstruction_crowbar(user, I) @@ -440,6 +455,7 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return + if(anchored) panel_open = !panel_open panel_open ? SCREWDRIVER_OPEN_PANEL_MESSAGE : SCREWDRIVER_CLOSE_PANEL_MESSAGE @@ -450,15 +466,18 @@ . = TRUE if(!I.use_tool(src, user, 0, volume = 0)) return + default_unfasten_wrench(user, I, time = 60) - if (anchored) + if(anchored) trunk_check() /obj/machinery/customat/exchange_parts(mob/user, obj/item/storage/part_replacer/W) if(!istype(W)) return FALSE + if(!W.works_from_distance) return FALSE + if(!component_parts || !canister) return FALSE @@ -466,11 +485,14 @@ if(panel_open || W.works_from_distance) if(W.works_from_distance) to_chat(user, display_parts(user)) + else to_chat(user, display_parts(user)) + if(moved) to_chat(user, "[moved] items restocked.") W.play_rped_sound() + return TRUE /obj/machinery/customat/emag_act(mob/user) @@ -479,6 +501,7 @@ var/datum/data/customat_product/product = products[key] product.price = 0 products[key] = product + if(user) to_chat(user, "You short out the product lock on [src]") @@ -516,6 +539,7 @@ data["user"]["name"] = account.owner_name data["userMoney"] = account.money data["user"]["job"] = "Silicon" + if(ishuman(user)) account = get_card_account(user) var/mob/living/carbon/human/H = user @@ -532,6 +556,7 @@ data["user"]["job"] = (istype(idcard) && idcard.rank) ? idcard.rank : "No Job" else data["guestNotice"] = "Unlinked ID detected. Present cash to pay."; + data["products"] = list() for (var/key in products) var/datum/data/customat_product/product = products[key] @@ -543,6 +568,7 @@ Key = product.key ) data["products"] += list(data_pr) + data["vend_ready"] = vend_ready data["panel_open"] = panel_open ? TRUE : FALSE data["speaker"] = shut_up ? FALSE : TRUE @@ -560,11 +586,13 @@ if(issilicon(usr) && !isrobot(usr)) to_chat(usr, span_warning("The vending machine refuses to interface with you, as you are not in its target demographic!")) return + switch(action) if("toggle_voice") if(panel_open) shut_up = !shut_up . = TRUE + if("vend") if(!vend_ready) to_chat(usr, span_warning("The vending machine is busy!")) @@ -574,7 +602,7 @@ return var/key = params["Key"] var/datum/data/customat_product/product = products[key] - if (product.amount <= 0) + if(product.amount <= 0) to_chat(usr, "Sold out of [product.name].") flick_vendor_overlay(FLICK_VEND) return @@ -630,12 +658,14 @@ flick_vendor_overlay(FLICK_DENY) . = TRUE // we set this because they shouldn't even be able to get this far, and we want the UI to update. return + if(paid) vend(currently_vending, usr) . = TRUE else to_chat(usr, span_warning("Payment failure: unable to process payment.")) vend_ready = TRUE + if(.) add_fingerprint(usr) @@ -678,9 +708,11 @@ if(istype(vended) && user && iscarbon(user) && user.Adjacent(src)) if(user.put_in_hands(vended, ignore_anim = FALSE)) put_on_turf = FALSE + if(put_on_turf) var/turf/T = get_turf(src) vended.forceMove(T) + product.containtment.Remove(product.containtment[1]) inserted_items_count-- return TRUE @@ -702,6 +734,7 @@ /obj/machinery/customat/proc/speak(message) if(stat & NOPOWER) return + if(!message) return @@ -715,10 +748,11 @@ update_icon(UPDATE_OVERLAYS) /obj/machinery/customat/AltClick(atom/movable/A) - if (!panel_open) + if(!panel_open) balloon_alert(A, "панель закрыта") return - if (isLocked()) + + if(isLocked()) balloon_alert(A, "автомат заблокирован") return @@ -736,10 +770,11 @@ var/turf/origin_turf = get_turf(src) var/list/contents = holder.contents for (var/atom/movable/content in contents) - if (istype(content, /obj/item)) + if(istype(content, /obj/item)) try_insert(null, content, TRUE) else content.forceMove(origin_turf) + qdel(holder) /obj/machinery/customat/proc/trunk_check() diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 9b19f66a85f..f1bd6736acd 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -95,9 +95,11 @@ if(wood.get_amount() < 5) to_chat(user, span_warning("You need at least five wooden planks to make a wall!")) return ATTACK_CHAIN_PROCEED + to_chat(user, span_notice("You start adding [I] to [src]...")) - if(do_after(user, 5 SECONDS, src) || QDELETED(wood) || !wood.use(5) || !isturf(loc)) + if(!do_after(user, 5 SECONDS, src) || QDELETED(wood) || !wood.use(5) || !isturf(loc)) return ATTACK_CHAIN_PROCEED + var/turf/our_turf = loc our_turf.ChangeTurf(/turf/simulated/wall/mineral/wood/nonmetal) qdel(src) diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm index 9d169bfc371..e624dcdcc7a 100644 --- a/code/game/machinery/door_control.dm +++ b/code/game/machinery/door_control.dm @@ -307,6 +307,7 @@ icon_state = "altdoorctrl" base_icon_state = "altdoorctrl" ai_control = FALSE + resistance_flags = INDESTRUCTIBLE /obj/machinery/door_control/secure/emag_act(user) if(user) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 1e44d53661e..a695c79d67d 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -173,7 +173,8 @@ if(DOOR_CLOSING) icon_state = base_state else - icon_state = base_state + icon_state = "[base_state][density ? "" : "open"]" + SSdemo.mark_dirty(src) /obj/machinery/door/window/open(forced=0) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index e0efa1afea8..a14a6de580d 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -1037,6 +1037,7 @@ GLOBAL_LIST_EMPTY(turret_icons) use_power = NO_POWER_USE has_cover = FALSE raised = TRUE + density = TRUE scan_range = 9 faction = "syndicate" @@ -1060,6 +1061,8 @@ GLOBAL_LIST_EMPTY(turret_icons) if(istype(depotarea)) depotarea.turret_died() + density = FALSE + /obj/machinery/porta_turret/syndicate/shootAt(mob/living/target) if(istype(depotarea)) depotarea.list_add(target, depotarea.hostile_list) diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm index 58c288a2464..df5f2064063 100644 --- a/code/game/machinery/quantum_pad.dm +++ b/code/game/machinery/quantum_pad.dm @@ -2,7 +2,7 @@ name = "quantum pad" desc = "A bluespace quantum-linked telepad used for teleporting objects to other quantum pads." icon = 'icons/obj/telescience.dmi' - icon_state = "qpad-idle" + icon_state = "qpad" anchored = TRUE use_power = IDLE_POWER_USE idle_power_usage = 200 @@ -79,7 +79,7 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - default_deconstruction_screwdriver(user, "pad-idle-o", "qpad-idle", I) + default_deconstruction_screwdriver(user, "pad-o", initial(icon_state), I) /obj/machinery/quantumpad/attack_hand(mob/user) if(panel_open) @@ -141,9 +141,9 @@ sparks() linked_pad.sparks() - flick("qpad-beam", src) + flick("[initial(icon_state)]-beam", src) playsound(get_turf(src), 'sound/weapons/emitter2.ogg', 25, TRUE) - flick("qpad-beam", linked_pad) + flick("[initial(linked_pad.icon_state)]-beam", linked_pad) playsound(get_turf(linked_pad), 'sound/weapons/emitter2.ogg', 25, TRUE) var/tele_success = TRUE for(var/atom/movable/ROI in get_turf(src)) diff --git a/code/game/machinery/syndiepad.dm b/code/game/machinery/syndiepad.dm index 478666b3e0a..fb468ad4168 100644 --- a/code/game/machinery/syndiepad.dm +++ b/code/game/machinery/syndiepad.dm @@ -2,7 +2,7 @@ name = "Syndicate quantum pad" desc = "Syndicate redspace quantumpads! Can transport goods through galaxies and completely ignores bluespace interference!" icon = 'icons/obj/telescience.dmi' - icon_state = "sqpad-idle" + icon_state = "sqpad" anchored = TRUE use_power = IDLE_POWER_USE idle_power_usage = 200 @@ -144,7 +144,7 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - default_deconstruction_screwdriver(user, "pad-idle-o", "sqpad-idle", I) + default_deconstruction_screwdriver(user, "pad-o", initial(icon_state), I) /obj/machinery/syndiepad/proc/pad_sync() for(var/obj/machinery/syndiepad/S in GLOB.machines) @@ -235,9 +235,9 @@ use_power(10000 / power_efficiency) sparks() linked_pad.sparks() - flick("sqpad-beam", src) + flick("[initial(icon_state)]-beam", src) playsound(get_turf(src), 'sound/weapons/emitter2.ogg', 25, TRUE) - flick("sqpad-beam", linked_pad) + flick("[initial(linked_pad.icon_state)]-beam", linked_pad) playsound(get_turf(linked_pad), 'sound/weapons/emitter2.ogg', 25, TRUE) var/tele_success = FALSE diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 71f36293a8f..d502d816560 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -4,7 +4,7 @@ /obj/machinery/computer/teleporter name = "teleporter control console" - desc = "Used to control a linked teleportation Hub and Station." + desc = "Используется для управления привязанными телепортационными узлами и станциями." icon_screen = "teleport" icon_keyboard = "teleport_key" circuit = /obj/item/circuitboard/teleporter @@ -27,7 +27,7 @@ var/cc_beacon = FALSE /obj/machinery/computer/teleporter/robotics //to do: limit targets to station only - desc = "Used to control a linked teleportation Hub and Station. Only Research Director can change destination target." + desc = "Используется для управления привязанными телепортационными узлами и станциями. Только Директор Исследований может изменить точку назначения." circuit = /obj/item/circuitboard/teleporter/robotics req_access = list(ACCESS_RD) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index e5d81dc2777..c9c8237cd9f 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -30,7 +30,15 @@ /obj/machinery/vending name = "\improper Vendomat" - desc = "A generic vending machine." + ru_names = list( + NOMINATIVE = "торговый автомат", + GENITIVE = "торгового автомата", + DATIVE = "торговому автомату", + ACCUSATIVE = "торговый автомат", + INSTRUMENTAL = "торговым автоматом", + PREPOSITIONAL = "торговом автомате" + ) + desc = "Обычный торговый автомат." icon = 'icons/obj/machines/vending.dmi' icon_state = "generic_off" layer = BELOW_OBJ_LAYER @@ -212,11 +220,11 @@ /obj/machinery/vending/examine(mob/user) . = ..() if(tilted) - . += span_warning("It's been tipped over and won't be usable unless it's righted.") + . += span_warning("Он лежит на боку и не будет функционировать до тех пор, пока его не поправят.") if(Adjacent(user)) - . += span_notice("You can Alt-Click it to right it.") + . += span_notice("Нажмите Alt-Click чтобы поднять автомат.") if(aggressive) - . += span_warning("Its product lights seem to be blinking ominously...") + . += span_warning("Его индикаторы, кажется, зловеще мигают...") /obj/machinery/vending/AltClick(mob/user) if(!tilted || !Adjacent(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) @@ -460,7 +468,8 @@ /obj/machinery/vending/attackby(obj/item/I, mob/user, params) if(tilted) if(user.a_intent == INTENT_HELP) - to_chat(user, span_warning("[src] is tipped over and non-functional! You'll need to right it first.")) + balloon_alert(user, "автомат не работает!") + to_chat(user, span_warning("[capitalize(declent_ru(NOMINATIVE))] не может работать, пока он опрокинут!")) return ATTACK_CHAIN_BLOCKED_ALL return ..() @@ -470,39 +479,39 @@ if(istype(I, /obj/item/coin)) add_fingerprint(user) if(!length(premium)) - to_chat(user, span_warning("[src] does not accept coins.")) + balloon_alert(user, "слот отсутствует!") return ATTACK_CHAIN_PROCEED if(coin) - to_chat(user, span_warning("There is already a coin in this machine!")) + balloon_alert(user, "слот занят!") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() coin = I - to_chat(user, span_notice("You insert [I] into [src].")) + balloon_alert(user, "монета вставлена") SStgui.update_uis(src) return ATTACK_CHAIN_BLOCKED_ALL if(istype(I, refill_canister)) add_fingerprint(user) if(stat & (BROKEN|NOPOWER)) - to_chat(user, span_notice("[src] does not respond.")) + balloon_alert(user, "автомат не работает!") return ATTACK_CHAIN_PROCEED if(!panel_open) - to_chat(user, span_warning("You should probably unscrew the service panel first!")) + balloon_alert(user, "техпанель открыта!") return ATTACK_CHAIN_PROCEED var/obj/item/vending_refill/canister = I if(canister.get_part_rating() == 0) - to_chat(user, span_warning("The [canister.name] is empty!")) + balloon_alert(user, "канистра пуста!") return ATTACK_CHAIN_PROCEED // instantiate canister if needed var/transferred = restock(canister) if(transferred) - to_chat(user, span_notice("You loaded [transferred] items in [src].")) + balloon_alert(user, "канистра вставлена") return ATTACK_CHAIN_PROCEED_SUCCESS - to_chat(user, span_warning("There's nothing to restock!")) + balloon_alert(user,"нечего пополнять!") return ATTACK_CHAIN_PROCEED if(item_slot_check(user, I)) @@ -519,8 +528,8 @@ // no goodies, but also no tilts return if(COOLDOWN_FINISHED(src, last_hit_time)) - visible_message(span_warning("[src] seems to sway a bit!")) - to_chat(user, span_userdanger("You might want to think twice about doing that again, [src] looks like it could come crashing down!")) + visible_message(span_warning("[capitalize(declent_ru(NOMINATIVE))] странно покачивается...")) + to_chat(user, span_userdanger("Кажется, что [declent_ru(NOMINATIVE)] так и норовит упасть!")) COOLDOWN_START(src, last_hit_time, hit_warning_cooldown_length) return @@ -539,7 +548,7 @@ tilt(user, crit = TRUE) /obj/machinery/vending/proc/freebie(mob/user, num_freebies) - visible_message(span_notice("[num_freebies] free goodie\s tumble[num_freebies > 1 ? "" : "s"] out of [src]!")) + visible_message(span_notice("Из [declent_ru(GENITIVE)] начинают выпадать бесплатные товары!")) for(var/i in 1 to num_freebies) for(var/datum/data/vending_product/R in shuffle(product_records)) if(R.amount <= 0) @@ -557,8 +566,8 @@ if(isliving(AM) && prob(25)) AM.visible_message( - span_warning("[src] suddenly topples over onto [AM]!"), - span_userdanger("[src] topples over onto you without warning!") + span_warning("[capitalize(declent_ru(NOMINATIVE))] внезапно опрокидывается на [AM]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] обрушивается на вас без предупреждения!") ) tilt(AM, prob(5), FALSE) aggressive = FALSE @@ -570,14 +579,14 @@ return . = TRUE if(tilted) - to_chat(user, span_warning("You'll need to right it first!")) + balloon_alert(user, "автомат перевёрнут!") return default_deconstruction_crowbar(user, I) /obj/machinery/vending/multitool_act(mob/user, obj/item/I) . = TRUE if(tilted) - to_chat(user, span_warning("You'll need to right it first!")) + balloon_alert(user, "автомат перевёрнут!") return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -586,7 +595,7 @@ /obj/machinery/vending/screwdriver_act(mob/user, obj/item/I) . = TRUE if(tilted) - to_chat(user, span_warning("You'll need to right it first!")) + balloon_alert(user, "автомат перевёрнут!") return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return @@ -599,7 +608,7 @@ /obj/machinery/vending/wirecutter_act(mob/user, obj/item/I) . = TRUE if(tilted) - to_chat(user, span_warning("You'll need to right it first!")) + balloon_alert(user, "автомат перевёрнут!") return if(I.use_tool(src, user, 0, volume = 0)) wires.Interact(user) @@ -607,7 +616,7 @@ /obj/machinery/vending/wrench_act(mob/user, obj/item/I) . = TRUE if(tilted) - to_chat(user, span_warning("The fastening bolts aren't on the ground, you'll need to right it first!")) + balloon_alert(user, "автомат перевёрнут!") return if(!I.use_tool(src, user, 0, volume = 0)) return @@ -633,7 +642,7 @@ if(!item_slot) return FALSE if(inserted_item) - to_chat(user, "There is something already inserted!") + balloon_alert(user, "внутри уже что-то есть!") return FALSE return TRUE @@ -665,7 +674,7 @@ else to_chat(user, display_parts(user)) if(moved) - to_chat(user, "[moved] items restocked.") + to_chat(user, "Вы пополнили [moved] товар[declension_ru(moved, "", "а", "ов")].") W.play_rped_sound() return TRUE @@ -677,10 +686,11 @@ if(!item_slot || inserted_item) return if(!user.drop_transfer_item_to_loc(I, src)) - to_chat(user, "[I] is stuck to your hand, you can't seem to put it down!") + to_chat(user, span_warning("[I] будто бы приклеен к твоей руке! Вы не можете его скинуть!")) return inserted_item = I - to_chat(user, "You insert [I] into [src].") + balloon_alert(user, "предмет вставлен") + to_chat(user, span_notice("Вы вставили [I] в [declent_ru(GENITIVE)].")) SStgui.update_uis(src) /obj/machinery/vending/proc/eject_item(mob/user) @@ -700,7 +710,7 @@ /obj/machinery/vending/emag_act(mob/user) emagged = TRUE if(user) - to_chat(user, "You short out the product lock on [src]") + to_chat(user, "Вы закоротили микросхемы [declent_ru(GENITIVE)]") /obj/machinery/vending/attack_ai(mob/user) return attack_hand(user) @@ -713,7 +723,7 @@ return if(tilted) - to_chat(user, span_warning("[src] is tipped over and non-functional! You'll need to right it first.")) + balloon_alert(user, "автомат не работает!") return if(..()) @@ -740,7 +750,7 @@ /obj/machinery/vending/ui_data(mob/user) var/list/data = list() var/datum/money_account/A = null - data["guestNotice"] = "No valid ID card detected. Wear your ID, or present cash."; + data["guestNotice"] = "Предъявите ID-карту или используйте наличные."; data["userMoney"] = 0 data["user"] = null if(issilicon(user) && !istype(user, /mob/living/silicon/robot/drone) && !istype(user, /mob/living/silicon/pai)) @@ -755,7 +765,7 @@ var/obj/item/stack/spacecash/S = H.get_active_hand() if(istype(S)) data["userMoney"] = S.amount - data["guestNotice"] = "Accepting Cash. You have: [S.amount] credits." + data["guestNotice"] = "Принимаем наличные. У вас есть: [S.amount] кредитов." else if(istype(H)) var/obj/item/card/id/C = H.get_id_card() if(istype(A)) @@ -764,7 +774,7 @@ data["userMoney"] = A.money data["user"]["job"] = (istype(C) && C.rank) ? C.rank : "No Job" else - data["guestNotice"] = "Unlinked ID detected. Present cash to pay."; + data["guestNotice"] = "Обнаруженная ID-карта не привязана к счёту."; data["stock"] = list() for (var/datum/data/vending_product/R in product_records + coin_records + hidden_records) data["stock"][R.name] = R.amount @@ -831,7 +841,7 @@ if(.) return if(issilicon(usr) && !isrobot(usr)) - to_chat(usr, span_warning("The vending machine refuses to interface with you, as you are not in its target demographic!")) + to_chat(usr, span_warning("[capitalize(declent_ru(NOMINATIVE))] отказывается взаимодействовать с вами, поскольку вы не входите в его целевую аудиторию!")) return switch(action) if("toggle_voice") @@ -843,22 +853,22 @@ . = TRUE if("remove_coin") if(!coin) - to_chat(usr, span_warning("There is no coin in this machine.")) + balloon_alert(usr, "в автомате нет монет!") return - if(istype(usr, /mob/living/silicon)) - to_chat(usr, span_warning("You lack hands.")) + if(issilicon(usr)) + balloon_alert(usr, "у вас нет рук!") return - to_chat(usr, span_notice("You remove [coin] from [src].")) + to_chat(usr, span_notice("Вы достали [coin] из [declent_ru(GENITIVE)].")) coin.forceMove_turf() usr.put_in_hands(coin, ignore_anim = FALSE) coin = null . = TRUE if("vend") if(!vend_ready) - to_chat(usr, span_warning("The vending machine is busy!")) + balloon_alert(usr, "торговый автомат занят!") return if(panel_open) - to_chat(usr, span_warning("The vending machine cannot dispense products while its service panel is open!")) + balloon_alert(usr, "техпанель открыта!") return var/key = text2num(params["inum"]) var/list/display_records = product_records + coin_records @@ -904,7 +914,7 @@ // --- THE REST OF THIS PROC IS JUST PAYMENT LOGIC --- if(!GLOB.vendor_account || GLOB.vendor_account.suspended) - to_chat(usr, "Vendor account offline. Unable to process transaction.") + to_chat(usr, "Удалённый сервер торговых автоматов отключён. Не удается обработать операцию.") flick_vendor_overlay(FLICK_DENY) vend_ready = TRUE return @@ -924,7 +934,7 @@ to_chat(usr, span_notice("Vending object due to admin interaction.")) paid = TRUE else - to_chat(usr, span_warning("Payment failure: you have no ID or other method of payment.")) + to_chat(usr, span_warning("Сбой платежа: у вас нет ID-карты или другого способа оплаты.")) vend_ready = TRUE flick_vendor_overlay(FLICK_DENY) . = TRUE // we set this because they shouldn't even be able to get this far, and we want the UI to update. @@ -933,7 +943,7 @@ vend(currently_vending, usr) . = TRUE else - to_chat(usr, span_warning("Payment failure: unable to process payment.")) + to_chat(usr, span_warning("Сбой платежа: не удается обработать платеж.")) vend_ready = TRUE if(.) add_fingerprint(usr) @@ -943,13 +953,13 @@ /obj/machinery/vending/proc/vend(datum/data/vending_product/R, mob/user) if(!allowed(user) && !user.can_admin_interact() && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH - to_chat(user, span_warning("Access denied."))//Unless emagged of course + to_chat(user, span_warning("В доступе отказано."))//Unless emagged of course flick_vendor_overlay(FLICK_DENY) vend_ready = TRUE return if(!R.amount) - to_chat(user, span_warning("The vending machine has ran out of that product.")) + to_chat(user, span_warning("В [declent_ru(PREPOSITIONAL)] закончился этот товар.")) vend_ready = TRUE return @@ -957,14 +967,14 @@ if(coin_records.Find(R)) if(!coin) - to_chat(user, span_notice("You need to insert a coin to get this item.")) + to_chat(user, span_notice("Вам нужно вставить монету, чтобы получить этот товар.")) vend_ready = TRUE return if(coin.string_attached) if(prob(50)) - to_chat(user, span_notice("You successfully pull the coin out before [src] could swallow it.")) + to_chat(user, span_notice("Вы успешно вытаскиваете монету до того, как [declent_ru(NOMINATIVE)] успевает ее проглотить.")) else - to_chat(user, span_notice("You weren't able to pull the coin out fast enough, the machine ate it, string and all.")) + to_chat(user, span_notice("Вы не смогли вытащить монету достаточно быстро, [declent_ru(NOMINATIVE)] съел ее вместе с ниткой и всем остальным.")) QDEL_NULL(coin) else QDEL_NULL(coin) @@ -1095,7 +1105,7 @@ if(!throw_item) return throw_item.throw_at(target, 16, 3) - visible_message("[src] launches [throw_item.name] at [target.name]!") + visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] метнул [throw_item.name] в [target.name]!")) /obj/machinery/vending/shove_impact(mob/living/target, mob/living/attacker) @@ -1105,14 +1115,14 @@ add_attack_logs(attacker, target, "shoved into a vending machine ([src])") tilt(target, from_combat = TRUE) target.visible_message( - span_danger("[attacker] slams [target] into [src]!"), - span_userdanger("You get slammed into [src] by [attacker]!"), - span_danger(">You hear a loud crunch.") + span_danger("[attacker] толкает [target] в [declent_ru(ACCUSATIVE)]!"), + span_userdanger("[attacker] впечатывает вас в [declent_ru(GENITIVE)]!"), + span_danger("Вы слышите громкий хруст.") ) else attacker.visible_message( - span_notice("[attacker] lightly presses [target] against [src]."), - span_userdanger("You lightly press [target] against [src], you don't want to hurt [target.p_them()]!") + span_notice("[attacker] слегка прижимает [target] к [declent_ru(DATIVE)]."), + span_userdanger("Вы слегка прижимаете [target] к [declent_ru(DATIVE)], вы же не хотите причинить [genderize_ru(target.gender, "ему", "ей", "ему", "им")] боль!") ) return TRUE @@ -1146,9 +1156,9 @@ else victim.visible_message( - span_danger("[victim] is crushed by [src]!"), - span_userdanger("[src] crushes you!"), - span_warning("You hear a loud crunch!") + span_danger("[victim] раздавлен[genderize_ru(victim.gender, "", "а", "о", "ы")] [declent_ru(INSTRUMENTAL)]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] сокрушает тебя!"), + span_warning("Вы слышите громкий хруст!") ) add_attack_logs(null, victim, "crushed by [src]") @@ -1214,9 +1224,9 @@ should_throw_at_target = FALSE else victim.visible_message( - span_danger("[victim] is crushed by [src]!"), - span_userdanger("[src] falls on top of you, crushing you!"), - span_warning("You hear a loud crunch!") + span_danger("[victim] раздавлен[genderize_ru(victim.gender, "", "а", "о", "ы")] [declent_ru(INSTRUMENTAL)]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] сокрушает тебя!"), + span_warning("Вы слышите громкий хруст!") ) victim.apply_damage(damage_to_deal, BRUTE) add_attack_logs(null, victim, "crushed by [src]") @@ -1231,7 +1241,7 @@ tilt_over(should_throw_at_target ? target_atom : null) /obj/machinery/vending/proc/tilt_over(mob/victim) - visible_message( span_danger("[src] tips over!")) + visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] опрокидывается!")) playsound(src, "sound/effects/bang.ogg", 100, TRUE) var/picked_rotation = pick(90, 270) tilted_rotation = picked_rotation @@ -1247,15 +1257,15 @@ if(user) user.visible_message( - "[user] begins to right [src].", - "You begin to right [src]." + "[user] начинает поднимать [declent_ru(ACCUSATIVE)].", + "Вы начинаете поднимать [declent_ru(ACCUSATIVE)]." ) if(!do_after(user, 7 SECONDS, src, max_interact_count = 1, cancel_on_max = TRUE)) return user.visible_message( - span_notice("[user] rights [src]."), - span_notice("You right [src]."), - span_notice(">You hear a loud clang.") + span_notice("[user] поднял [declent_ru(ACCUSATIVE)]."), + span_notice("Вы подняли [declent_ru(ACCUSATIVE)]."), + span_notice("Вы слышите громкий лязг.") ) if(!tilted) //Sanity check return @@ -1280,12 +1290,25 @@ products = list( /obj/item/assembly/prox_sensor = 5,/obj/item/assembly/igniter = 3,/obj/item/assembly/signaler = 4, /obj/item/wirecutters = 1, /obj/item/cartridge/signal = 4) contraband = list(/obj/item/flashlight = 5,/obj/item/assembly/timer = 2, /obj/item/assembly/voice = 2, /obj/item/assembly/health = 2) - ads_list = list("Only the finest!","Have some tools.","The most robust equipment.","The finest gear in space!") + ads_list = list( + "Только самое лучшее!", + "Имеются всякие инструменты.", + "Самое надежное оборудование!", + "Лучшее снаряжение в космосе!" + ) refill_canister = /obj/item/vending_refill/assist /obj/machinery/vending/boozeomat name = "\improper Booze-O-Mat" - desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." + ru_names = list( + NOMINATIVE = "торговый автомат Booze-O-Mat", + GENITIVE = "торгового автомата Booze-O-Mat", + DATIVE = "торговому автомату Booze-O-Mat", + ACCUSATIVE = "торговый автомат Booze-O-Mat", + INSTRUMENTAL = "торговым автоматом Booze-O-Mat", + PREPOSITIONAL = "торговом автомате Booze-O-Mat" + ) + desc = "Чудо техники, предположительно способное выдать идеальный напиток для вас в тот момент, когда вы об этом попросите." icon_state = "boozeomat_off" //////////////18 drink entities below, plus the glasses, in case someone wants to edit the number of bottles panel_overlay = "boozeomat_panel" @@ -1330,8 +1353,30 @@ contraband = list(/obj/item/reagent_containers/food/drinks/tea = 10, /obj/item/reagent_containers/food/drinks/bottle/fernet = 5) vend_delay = 15 - slogan_list = list("Надеюсь, никто не попросит меня о чёртовой кружке чая…","Алкоголь — друг человека. Вы же не бросите друга?","Очень рад вас обслужить!","Никто на этой станции не хочет выпить?") - ads_list = list("Выпьем!","Бухло пойдёт вам на пользу!","Алкоголь — друг человека.","Очень рад вас обслужить!","Хотите отличного холодного пива?","Ничто так не лечит, как бухло!","Пригубите!","Выпейте!","Возьмите пивка!","Пиво пойдёт вам на пользу!","Только лучший алкоголь!","Бухло лучшего качества с 2053 года!","Вино со множеством наград!","Максимум алкоголя!","Мужчины любят пиво","Тост: «За прогресс!»") + slogan_list = list( + "Надеюсь, никто не попросит меня о чёртовой кружке чая…", + "Алкоголь — друг человека. Вы же не бросите друга?", + "Очень рад вас обслужить!", + "Никто на этой станции не хочет выпить?" + ) + ads_list = list( + "Выпьем!", + "Бухло пойдёт вам на пользу!", + "Алкоголь — друг человека.", + "Очень рад вас обслужить!", + "Хотите отличного холодного пива?", + "Ничто так не лечит, как бухло!", + "Пригубите!", + "Выпейте!", + "Возьмите пивка!", + "Пиво пойдёт вам на пользу!", + "Только лучший алкоголь!", + "Бухло лучшего качества с 2053 года!", + "Вино со множеством наград!", + "Максимум алкоголя!", + "Мужчины любят пиво", + "Тост: «За прогресс!»" + ) refill_canister = /obj/item/vending_refill/boozeomat /obj/machinery/vending/boozeomat/syndicate_access @@ -1339,8 +1384,30 @@ /obj/machinery/vending/coffee name = "\improper Solar's Best Hot Drinks" - desc = "A vending machine which dispenses hot drinks." - ads_list = list("Выпейте!","Выпьем!","На здоровье!","Не хотите горячего супчику?","Я бы убил за чашечку кофе!","Лучшие зёрна в галактике","Для Вас — только лучшие напитки","М-м-м-м… Ничто не сравнится с кофе","Я люблю кофе, а Вы?","Кофе помогает работать!","Возьмите немного чайку","Надеемся, Вы предпочитаете лучшее!","Отведайте наш новый шоколад!","Admin conspiracies") + ru_names = list( + NOMINATIVE = "торговый автомат Solar's Best Hot Drinks", + GENITIVE = "торгового автомата Solar's Best Hot Drinks", + DATIVE = "торговому автомату Solar's Best Hot Drinks", + ACCUSATIVE = "торговый автомат Solar's Best Hot Drinks", + INSTRUMENTAL = "торговым автоматом Solar's Best Hot Drinks", + PREPOSITIONAL = "торговом автомате Solar's Best Hot Drinks" + ) + desc = "Это машина, которая готовит горячие напитки. Ну, знаете, такие, которые кипятком заливают." + ads_list = list( + "Выпейте!", + "Выпьем!", + "На здоровье!", + "Не хотите горячего супчику?", + "Я бы убил за чашечку кофе!", + "Лучшие зёрна в галактике", + "Для Вас — только лучшие напитки", + "М-м-м-м… Ничто не сравнится с кофе", + "Я люблю кофе, а Вы?", + "Кофе помогает работать!", + "Возьмите немного чайку", + "Надеемся, Вы предпочитаете лучшее!", + "Отведайте наш новый шоколад!" + ) icon_state = "coffee_off" panel_overlay = "coffee_panel" @@ -1382,7 +1449,7 @@ if(!..()) return FALSE if(!I.is_open_container()) - to_chat(user, "You need to open [I] before inserting it.") + to_chat(user, span_warning("Вам нужно открыть [I], прежде чем вставить его.")) return FALSE return TRUE @@ -1418,9 +1485,31 @@ /obj/machinery/vending/snack name = "\improper Getmore Chocolate Corp" - desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars." - slogan_list = list("Попробуйте наш новый батончик с нугой!","Вдвое больше калорий за полцены!") - ads_list = list("The healthiest!","Award-winning chocolate bars!","Mmm! So good!","Oh my god it's so juicy!","Have a snack.","Snacks are good for you!","Have some more Getmore!","Best quality snacks straight from mars.","We love chocolate!","Try our new jerky!") + ru_names = list( + NOMINATIVE = "торговый автомат Getmore Chocolate Corp", + GENITIVE = "торгового автомата Getmore Chocolate Corp", + DATIVE = "торговому автомату Getmore Chocolate Corp", + ACCUSATIVE = "торговый автомат Getmore Chocolate Corp", + INSTRUMENTAL = "торговым автоматом Getmore Chocolate Corp", + PREPOSITIONAL = "торговом автомате Getmore Chocolate Corp" + ) + desc = "Автомат самообслуживания, любезно предоставленный шоколадной корпорацией Getmore, базирующейся на Марсе." + slogan_list = list( + "Попробуйте наш новый батончик с нугой!", + "Вдвое больше калорий за полцены!" + ) + ads_list = list( + "Самый здоровый!", + "Отмеченные наградами шоколадные батончики!", + "Ммм! Так вкусно!", + "О боже, это так вкусно!", + "Перекусите.", + "Закуски - это здорово!", + "Возьми немного, и еще немного!", + "Закуски высшего качества прямо с Марса.", + "Мы любим шоколад!", + "Попробуйте наше новое вяленое мясо!" + ) icon_state = "snack_off" panel_overlay = "snack_panel" @@ -1461,8 +1550,21 @@ /obj/machinery/vending/chinese name = "\improper Mr. Chang" - desc = "A self-serving Chinese food machine, for all your Chinese food needs." - slogan_list = list("Попробуйте 5000 лет культуры!","Мистер Чанг, одобрен для безопасного потребления в более чем 10 секторах!","Китайская кухня отлично подходит для вечернего свидания или одинокого вечера!","Вы не ошибетесь, если попробуете настоящую китайскую кухню от мистера Чанга.!") + ru_names = list( + NOMINATIVE = "торговый автомат Mr. Chang", + GENITIVE = "торгового автомата Mr. Chang", + DATIVE = "торговому автомату Mr. Chang", + ACCUSATIVE = "торговый автомат Mr. Chang", + INSTRUMENTAL = "торговым автоматом Mr. Chang", + PREPOSITIONAL = "торговом автомате Mr. Chang" + ) + desc = "Китайская машина самообслуживания, создана специально для удовлетворения потребности в китайской кухне." + slogan_list = list( + "Попробуйте 5000 лет культуры!", + "Мистер Чанг, одобрен для безопасного потребления в более чем 10 секторах!", + "Китайская кухня отлично подходит для вечернего свидания или одинокого вечера!", + "Вы не ошибетесь, если попробуете настоящую китайскую кухню от мистера Чанга!" + ) icon_state = "chang_off" panel_overlay = "chang_panel" @@ -1505,7 +1607,15 @@ /obj/machinery/vending/cola name = "\improper Robust Softdrinks" - desc = "A soft drink vendor provided by Robust Industries, LLC." + ru_names = list( + NOMINATIVE = "торговый автомат Robust Softdrinks", + GENITIVE = "торгового автомата Robust Softdrinks", + DATIVE = "торговому автомату Robust Softdrinks", + ACCUSATIVE = "торговый автомат Robust Softdrinks", + INSTRUMENTAL = "торговым автоматом Robust Softdrinks", + PREPOSITIONAL = "торговом автомате Robust Softdrinks" + ) + desc = "Автомат с безалкогольными напитками, предоставляемый компанией Robust Industries, LLC." icon_state = "cola-machine_off" panel_overlay = "cola-machine_panel" @@ -1515,7 +1625,15 @@ broken_lightmask_overlay = "cola-machine_broken_lightmask" slogan_list = list("Роб+аст с+офтдринкс: крепче, чем тулбоксом по голове!") - ads_list = list("Освежает!","Надеюсь, вас одолела жажда!","Продано больше миллиона бутылок!","Хотите пить? Почему бы не взять колы?","Пожалуйста, купите напиток","Выпьем!","Лучшие напитки во всём космосе") + ads_list = list( + "Освежает!", + "Надеюсь, вас одолела жажда!", + "Продано больше миллиона бутылок!", + "Хотите пить? Почему бы не взять колы?", + "Пожалуйста, купите напиток", + "Выпьем!", + "Лучшие напитки во всём космосе" + ) products = list( /obj/item/reagent_containers/food/drinks/cans/cola = 10, /obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 10, @@ -1548,7 +1666,15 @@ /obj/machinery/vending/cart name = "\improper PTech" - desc = "Cartridges for PDA's." + ru_names = list( + NOMINATIVE = "торговый автомат PTech", + GENITIVE = "торгового автомата PTech", + DATIVE = "торговому автомату PTech", + ACCUSATIVE = "торговый автомат PTech", + INSTRUMENTAL = "торговым автоматом PTech", + PREPOSITIONAL = "торговом автомате PTech" + ) + desc = "Картриджи для КПК." slogan_list = list("Карточки в дорогу!") icon_state = "cart_off" @@ -1573,7 +1699,15 @@ /obj/machinery/vending/liberationstation name = "\improper Liberation Station" - desc = "An overwhelming amount of ancient patriotism washes over you just by looking at the machine." + ru_names = list( + NOMINATIVE = "торговый автомат Liberation Station", + GENITIVE = "торгового автомата Liberation Station", + DATIVE = "торговому автомату Liberation Station", + ACCUSATIVE = "торговый автомат Liberation Station", + INSTRUMENTAL = "торговым автоматом Liberation Station", + PREPOSITIONAL = "торговом автомате Liberation Station" + ) + desc = "При одном взгляде на эту машину вас охватывает непреодолимое чувство древнего патриотизма." icon_state = "liberationstation_off" panel_overlay = "liberationstation_panel" @@ -1583,9 +1717,19 @@ broken_lightmask_overlay = "liberationstation_broken_lightmask" req_access = list(ACCESS_SECURITY) - slogan_list = list("Liberation Station: Your one-stop shop for all things second amendment!","Be a patriot today, pick up a gun!","Quality weapons for cheap prices!","Better dead than red!") - ads_list = list("Float like an astronaut, sting like a bullet!","Express your second amendment today!","Guns don't kill people, but you can!","Who needs responsibilities when you have guns?") - vend_reply = "Remember the name: Liberation Station!" + slogan_list = list( + "Liberation Station: Ваш универсальный магазин всего, что связано со второй поправкой!", + "Будь патриотом, возьми в руки оружие уже сегодня!", + "Качественное оружие по низким ценам!", + "Лучше умереть, чем покраснеть!" + ) + ads_list = list( + "Порхай, как космонавт, жаль, как пуля!", + "Ты что, опять сохраняешься?", + "Оружие не убивает людей, а вот ты можешь!", + "Какая ещё может быть ответственность, если у тебя есть ствол?" + ) + vend_reply = "Запомни моё имя: Liberation Station!" products = list(/obj/item/gun/projectile/automatic/pistol/deagle/gold = 2,/obj/item/gun/projectile/automatic/pistol/deagle/camo = 2, /obj/item/gun/projectile/automatic/pistol/m1911 = 2,/obj/item/gun/projectile/automatic/proto = 2, /obj/item/gun/projectile/shotgun/automatic/combat = 2,/obj/item/gun/projectile/automatic/gyropistol = 1, @@ -1598,7 +1742,15 @@ /obj/machinery/vending/toyliberationstation name = "\improper Syndicate Donksoft Toy Vendor" - desc = "An ages 8 and up approved vendor that dispenses toys. If you were to find the right wires, you can unlock the adult mode setting!" + ru_names = list( + NOMINATIVE = "торговый автомат Syndicate Donksoft Toy Vendor", + GENITIVE = "торгового автомата Syndicate Donksoft Toy Vendor", + DATIVE = "торговому автомату Syndicate Donksoft Toy Vendor", + ACCUSATIVE = "торговый автомат Syndicate Donksoft Toy Vendor", + INSTRUMENTAL = "торговым автоматом Syndicate Donksoft Toy Vendor", + PREPOSITIONAL = "торговом автомате Syndicate Donksoft Toy Vendor" + ) + desc = "Одобренный автомат игрушек для детей от 8 лет и старше. Если вы найдете нужные провода, вы сможете разблокировать режим для взрослых!" icon_state = "syndi_off" panel_overlay = "syndi_panel" @@ -1607,9 +1759,21 @@ broken_overlay = "syndi_broken" broken_lightmask_overlay = "syndi_broken_lightmask" - slogan_list = list("Get your cool toys today!","Trigger a valid hunter today!","Quality toy weapons for cheap prices!","Give them to HoPs for all access!","Give them to HoS to get permabrigged!") - ads_list = list("Feel robust with your toys!","Express your inner child today!","Toy weapons don't kill people, but valid hunters do!","Who needs responsibilities when you have toy weapons?","Make your next murder FUN!") - vend_reply = "Come back for more!" + slogan_list = list( + "Получите крутые игрушки прямо сейчас!", + "Начните свою охоту уже сегодня!", + "Качественное игрушечное оружие по низким ценам!", + "Подарите их ГП для получения общего доступа!", + "Подарите их ГСБ чтобы попасть в пермабриг!" + ) + ads_list = list( + "Почувствуй робастность, с игрушкой в руках!", + "Проявите своего внутреннего ребенка уже сегодня!", + "Давай, сражайся как мужчина!", + "Какая к чёрту ответственность, за игрушечный ствол?", + "Сделайте свое следующее убийство ВЕСЕЛЫМ!" + ) + vend_reply = "Возвращайтесь за добавкой!" products = list(/obj/item/gun/projectile/automatic/toy = 10, /obj/item/gun/projectile/automatic/toy/pistol= 10, /obj/item/gun/projectile/shotgun/toy = 10, @@ -1633,9 +1797,30 @@ /obj/machinery/vending/cigarette name = "ShadyCigs Deluxe" - desc = "If you want to get cancer, might as well do it in style." - slogan_list = list("Космосигареты весьма хороши на вкус, какими они и должны быть","I'd rather toolbox than switch.","Затянитесь!","Не верьте исследованиям — курите!") - ads_list = list("Наверняка не очень-то и вредно для Вас!","Не верьте учёным!","На здоровье!","Не бросайте курить, купите ещё!","Затянитесь!","Никотиновый рай","Лучшие сигареты с 2150 года","Сигареты с множеством наград") + ru_names = list( + NOMINATIVE = "торговый автомат ShadyCigs Deluxe", + GENITIVE = "торгового автомата ShadyCigs Deluxe", + DATIVE = "торговому автомату ShadyCigs Deluxe", + ACCUSATIVE = "торговый автомат ShadyCigs Deluxe", + INSTRUMENTAL = "торговым автоматом ShadyCigs Deluxe", + PREPOSITIONAL = "торговом автомате ShadyCigs Deluxe" + ) + desc = "Если ты собираешься заболеть раком, по крайней мере, сделай это стильно!" + slogan_list = list( + "Космосигареты весьма хороши на вкус, какими они и должны быть", + "Затянитесь!", + "Не верьте исследованиям — курите!" + ) + ads_list = list( + "Наверняка не очень-то и вредно для Вас!", + "Не верьте учёным!", + "На здоровье!", + "Не бросайте курить, купите ещё!", + "Затянитесь!", + "Никотиновый рай", + "Лучшие сигареты с 2150 года", + "Сигареты с множеством наград" + ) vend_delay = 34 icon_state = "cigs_off" @@ -1693,9 +1878,26 @@ /obj/machinery/vending/cigarette/beach //Used in the lavaland_biodome_beach.dmm ruin name = "\improper ShadyCigs Ultra" - desc = "Now with extra premium products!" - ads_list = list("Наверняка не очень-то и вредно для Вас!","Допинг проведёт через безденежье лучше, чем деньги через бездопингье!","На здоровье!") - slogan_list = list("Включи, настрой, получи!","С химией жить веселей!","Затянитесь!","Сохраняй улыбку на устах и песню в своём сердце!") + ru_names = list( + NOMINATIVE = "торговый автомат ShadyCigs Ultra", + GENITIVE = "торгового автомата ShadyCigs Ultra", + DATIVE = "торговому автомату ShadyCigs Ultra", + ACCUSATIVE = "торговый автомат ShadyCigs Ultra", + INSTRUMENTAL = "торговым автоматом ShadyCigs Ultra", + PREPOSITIONAL = "торговом автомате ShadyCigs Ultra" + ) + desc = "Теперь с дополнительными продуктами премиум-класса!" + ads_list = list( + "Наверняка не очень-то и вредно для Вас!", + "Допинг проведёт через безденежье лучше, чем деньги через бездопингье!", + "На здоровье!" + ) + slogan_list = list( + "Включи, настрой, получи!", + "С химией жить веселей!", + "Затянитесь!", + "Сохраняй улыбку на устах и песню в своём сердце!" + ) products = list(/obj/item/storage/fancy/cigarettes = 5, /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3, /obj/item/storage/fancy/cigarettes/cigpack_robust = 3, @@ -1711,7 +1913,15 @@ /obj/machinery/vending/medical name = "\improper NanoMed Plus" - desc = "Medical drug dispenser." + ru_names = list( + NOMINATIVE = "торговый автомат NanoMed Plus", + GENITIVE = "торгового автомата NanoMed Plus", + DATIVE = "торговому автомату NanoMed Plus", + ACCUSATIVE = "торговый автомат NanoMed Plus", + INSTRUMENTAL = "торговым автоматом NanoMed Plus", + PREPOSITIONAL = "торговом автомате NanoMed Plus" + ) + desc = "Медицинский раздатчик веществ." icon_state = "med_off" panel_overlay = "med_panel" @@ -1721,7 +1931,15 @@ broken_lightmask_overlay = "med_broken_lightmask" deny_overlay = "med_deny" - ads_list = list("Иди и спаси несколько жизней!","Лучшее снаряжение для вашего медотдела","Только лучшие инструменты","Натуральные химикаты!","Эта штука спасает жизни","Может сами примете?","Пинг!") + ads_list = list( + "Иди и спаси несколько жизней!", + "Лучшее снаряжение для вашего медотдела", + "Только лучшие инструменты", + "Натуральные химикаты!", + "Эта штука спасает жизни", + "Может сами примете?", + "Пинг!" + ) req_access = list(ACCESS_MEDICAL) products = list(/obj/item/reagent_containers/syringe = 12, /obj/item/reagent_containers/food/pill/patch/styptic = 4, /obj/item/reagent_containers/food/pill/patch/silver_sulf = 4, /obj/item/reagent_containers/applicator/brute = 3, /obj/item/reagent_containers/applicator/burn = 3, /obj/item/reagent_containers/glass/bottle/charcoal = 4, /obj/item/reagent_containers/glass/bottle/epinephrine = 4, /obj/item/reagent_containers/glass/bottle/diphenhydramine = 4, @@ -1739,7 +1957,14 @@ /obj/machinery/vending/medical/syndicate_access name = "\improper SyndiMed Plus" - + ru_names = list( + NOMINATIVE = "торговый автомат SyndiMed Plus", + GENITIVE = "торгового автомата SyndiMed Plus", + DATIVE = "торговому автомату SyndiMed Plus", + ACCUSATIVE = "торговый автомат SyndiMed Plus", + INSTRUMENTAL = "торговым автоматом SyndiMed Plus", + PREPOSITIONAL = "торговом автомате SyndiMed Plus" + ) icon_state = "syndi-big-med_off" panel_overlay = "syndi-big-med_panel" screen_overlay = "syndi-big-med" @@ -1755,7 +1980,15 @@ /obj/machinery/vending/plasmaresearch name = "\improper Toximate 3000" - desc = "All the fine parts you need in one vending machine!" + ru_names = list( + NOMINATIVE = "торговый автомат Toximate 3000", + GENITIVE = "торгового автомата Toximate 3000", + DATIVE = "торговому автомату Toximate 3000", + ACCUSATIVE = "торговый автомат Toximate 3000", + INSTRUMENTAL = "торговым автоматом Toximate 3000", + PREPOSITIONAL = "торговом автомате Toximate 3000" + ) + desc = "Все, что вам нужно, в одном удобном месте!" icon_state = "generic_off" panel_overlay = "generic_panel" @@ -1771,8 +2004,24 @@ /obj/machinery/vending/wallmed name = "\improper NanoMed" - desc = "Wall-mounted Medical Equipment dispenser." - ads_list = list("Иди и спаси несколько жизней!","Лучшее снаряжение для вашего медотдела","Только лучшие инструменты","Натуральные химикаты!","Эта штука спасает жизни","Может сами примете?","Пинг!") + ru_names = list( + NOMINATIVE = "торговый автомат NanoMed", + GENITIVE = "торгового автомата NanoMed", + DATIVE = "торговому автомату NanoMed", + ACCUSATIVE = "торговый автомат NanoMed", + INSTRUMENTAL = "торговым автоматом NanoMed", + PREPOSITIONAL = "торговом автомате NanoMed" + ) + desc = "Настенный раздатчик медицинских изделий." + ads_list = list( + "Иди и спаси несколько жизней!", + "Лучшее снаряжение для вашего медотдела", + "Только лучшие инструменты", + "Натуральные химикаты!", + "Эта штука спасает жизни", + "Может сами примете?", + "Пинг!" + ) icon_state = "wallmed_off" panel_overlay = "wallmed_panel" @@ -1792,7 +2041,15 @@ /obj/machinery/vending/wallmed/syndicate name = "\improper SyndiWallMed" - desc = "EVIL wall-mounted Medical Equipment dispenser." + ru_names = list( + NOMINATIVE = "торговый автомат SyndiWallMed", + GENITIVE = "торгового автомата SyndiWallMed", + DATIVE = "торговому автомату SyndiWallMed", + ACCUSATIVE = "торговый автомат SyndiWallMed", + INSTRUMENTAL = "торговым автоматом SyndiWallMed", + PREPOSITIONAL = "торговом автомате SyndiWallMed" + ) + desc = "Злое воплощение настенного раздатчика медицинских изделий." icon_state = "wallmed_off" panel_overlay = "wallmed_panel" @@ -1811,8 +2068,26 @@ /obj/machinery/vending/security name = "\improper SecTech" - desc = "A security equipment vendor." - ads_list = list("Круши черепа капиталистов!","Отбей несколько голов!","Не забывай, вредительство - полезно!","Твое оружие здесь.","Наручники!","Стоять, подонок!","Не бей меня, брат!","Убей их, брат.","Почему бы не съесть пончик?") + ru_names = list( + NOMINATIVE = "торговый автомат SecTech", + GENITIVE = "торгового автомата SecTech", + DATIVE = "торговому автомату SecTech", + ACCUSATIVE = "торговый автомат SecTech", + INSTRUMENTAL = "торговым автоматом SecTech", + PREPOSITIONAL = "торговом автомате SecTech" + ) + desc = "Раздатчик снаряжения службы безопасности." + ads_list = list( + "Круши черепа капиталистов!", + "Отбей несколько голов!", + "Не забывай, вредительство - полезно!", + "Твое оружие здесь.", + "Наручники!", + "Стоять, подонок!", + "Не бей меня, брат!", + "Убей их, брат.", + "Почему бы не съесть пончик?" + ) icon_state = "sec_off" panel_overlay = "sec_panel" @@ -1825,16 +2100,32 @@ req_access = list(ACCESS_SECURITY) products = list(/obj/item/restraints/handcuffs = 8,/obj/item/restraints/handcuffs/cable/zipties = 8,/obj/item/grenade/flashbang = 4,/obj/item/flash = 5, /obj/item/reagent_containers/food/snacks/donut = 12,/obj/item/storage/box/evidence = 6,/obj/item/flashlight/seclite = 4,/obj/item/restraints/legcuffs/bola/energy = 7, - /obj/item/clothing/mask/muzzle/safety = 4, /obj/item/storage/box/swabs = 6, /obj/item/storage/box/fingerprints = 6, /obj/item/eftpos/sec = 4, /obj/item/storage/belt/security/webbing = 2, /obj/item/grenade/smokebomb = 8, + /obj/item/clothing/mask/muzzle/safety = 4, /obj/item/storage/box/swabs = 6, /obj/item/storage/box/fingerprints = 6, /obj/item/eftpos/sec = 4, /obj/item/storage/belt/security/webbing = 2, /obj/item/flashlight/sectaclight = 2, /obj/item/grenade/smokebomb = 8, ) contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/storage/fancy/donut_box = 2,/obj/item/hailer = 5) - prices = list(/obj/item/storage/belt/security/webbing = 2000,/obj/item/grenade/smokebomb = 250) + prices = list(/obj/item/storage/belt/security/webbing = 2000, /obj/item/flashlight/sectaclight = 300, /obj/item/grenade/smokebomb = 250) refill_canister = /obj/item/vending_refill/security /obj/machinery/vending/security/training name = "\improper SecTech Training" - desc = "A security training equipment vendor." - ads_list = list("Соблюдай чистоту на стрельбище!","Даже я стреляю лучше тебя!","Почему так косо, бухой что ли?!","Техника безопасности нам не писана, да?","1 из 10 попаданий... А ты хорош!","Инструктор это твой папочка!","Эй, ты куда целишься?!") + ru_names = list( + NOMINATIVE = "торговый автомат SecTech Training", + GENITIVE = "торгового автомата SecTech Training", + DATIVE = "торговому автомату SecTech Training", + ACCUSATIVE = "торговый автомат SecTech Training", + INSTRUMENTAL = "торговым автоматом SecTech Training", + PREPOSITIONAL = "торговом автомате SecTech Training" + ) + desc = "Раздатчик тренировочного снаряжения службы безопасности." + ads_list = list( + "Соблюдай чистоту на стрельбище!", + "Даже я стреляю лучше тебя!", + "Почему так косо, бухой что ли?!", + "Техника безопасности нам не писана, да?", + "1 из 10 попаданий... А ты хорош!", + "Инструктор – это твой папочка!", + "Эй, ты куда целишься?!" + ) icon_state = "sectraining_off" panel_overlay = "sec_panel" @@ -1880,15 +2171,33 @@ /obj/item/security_voucher name = "security voucher" - desc = "A token to redeem a weapon kit. Use it on a SecTech." + desc = "Жетон, позволяющий получить набор оружия. Используйте его на SecTech." icon_state = "security_voucher" w_class = WEIGHT_CLASS_SMALL /obj/machinery/vending/hydronutrients name = "\improper NutriMax" - desc = "A plant nutrients vendor" - slogan_list = list("Вам не надо удобрять почву естественным путём — разве это не чудесно?","Теперь на 50% меньше вони!","Растения тоже люди!") - ads_list = list("Мы любим растения!","Может сами примете?","Самые зелёные кнопки на свете.","Мы любим большие растения.","Мягкая почва…") + ru_names = list( + NOMINATIVE = "торговый автомат NutriMax", + GENITIVE = "торгового автомата NutriMax", + DATIVE = "торговому автомату NutriMax", + ACCUSATIVE = "торговый автомат NutriMax", + INSTRUMENTAL = "торговым автоматом NutriMax", + PREPOSITIONAL = "торговом автомате NutriMax" + ) + desc = "Поставщик питательных веществ для растений." + slogan_list = list( + "Вам не надо удобрять почву естественным путём — разве это не чудесно?", + "Теперь на 50% меньше вони!", + "Растения тоже люди!" + ) + ads_list = list( + "Мы любим растения!", + "Может сами примете?", + "Самые зелёные кнопки на свете.", + "Мы любим большие растения.", + "Мягкая почва…" + ) icon_state = "nutri_off" panel_overlay = "nutri_panel" @@ -1905,9 +2214,26 @@ /obj/machinery/vending/hydroseeds name = "\improper MegaSeed Servitor" - desc = "When you need seeds fast!" - slogan_list = list("THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!","Hands down the best seed selection on the station!","Also certain mushroom varieties available, more for experts! Get certified today!") - ads_list = list("Мы любим растения!","Вырасти урожай!","Расти, малыш, расти-и-и-и!","Ды-а, сына!") + ru_names = list( + NOMINATIVE = "торговый автомат MegaSeed Servitor", + GENITIVE = "торгового автомата MegaSeed Servitor", + DATIVE = "торговому автомату MegaSeed Servitor", + ACCUSATIVE = "торговый автомат MegaSeed Servitor", + INSTRUMENTAL = "торговым автоматом MegaSeed Servitor", + PREPOSITIONAL = "торговом автомате MegaSeed Servitor" + ) + desc = "Когда вам срочно нужны семена!" + slogan_list = list( + "ВОТ ГДЕ ЖИВУТ СЕМЕНА! ВОЗЬМИ СЕБЕ НЕМНОГО!", + "Без сомнений, лучший выбор семян на станции!", + "Кроме того, некоторые виды грибов доступны исключительно для экспертов! Получите сертификат уже сегодня!" + ) + ads_list = list( + "Мы любим растения!", + "Вырасти урожай!", + "Расти, малыш, расти-и-и-и!", + "Ды-а, сына!" + ) icon_state = "seeds_off" panel_overlay = "seeds_panel" @@ -1987,7 +2313,15 @@ /obj/machinery/vending/magivend name = "\improper MagiVend" - desc = "A magic vending machine." + ru_names = list( + NOMINATIVE = "торговый автомат MagiVend", + GENITIVE = "торгового автомата MagiVend", + DATIVE = "торговому автомату MagiVend", + ACCUSATIVE = "торговый автомат MagiVend", + INSTRUMENTAL = "торговым автоматом MagiVend", + PREPOSITIONAL = "торговом автомате MagiVend" + ) + desc = "Волшебный торговый автомат." icon_state = "magivend_off" panel_overlay = "magivend_panel" @@ -1996,10 +2330,24 @@ broken_overlay = "magivend_broken" broken_lightmask_overlay = "magivend_broken_lightmask" - slogan_list = list("Sling spells the proper way with MagiVend!","Be your own Houdini! Use MagiVend!") + slogan_list = list( + "MagiVend превращает произношение заклинаний в сущий пустяк!", + "Стань сам себе Гудини! Используй MagiVend!" + ) vend_delay = 15 - vend_reply = "Have an enchanted evening!" - ads_list = list("FJKLFJSD","AJKFLBJAKL","1234 LOONIES LOL!",">MFW","Kill them fuckers!","GET DAT FUKKEN DISK","HONK!","EI NATH","Destroy the station!","Admin conspiracies since forever!","Space-time bending hardware!") + vend_reply = "Желаю вам чудесного вечера!" + ads_list = list( + "FJKLFJSD","AJKFLBJAKL", + "1234 LOONIES LOL!", + ">MFW", + "Kill them fuckers!", + "GET DAT FUKKEN DISK", + "HONK!", + "EI NATH", + "Разнесите станцию!", + "Админские заговоры стары как само время!", + "Оборудование для изгиба пространства-времени!" + ) products = list(/obj/item/clothing/head/wizard = 5, /obj/item/clothing/suit/wizrobe = 5, /obj/item/clothing/head/wizard/red = 5, @@ -2033,7 +2381,15 @@ /obj/machinery/vending/autodrobe name = "\improper AutoDrobe" - desc = "A vending machine for costumes." + ru_names = list( + NOMINATIVE = "торговый автомат AutoDrobe", + GENITIVE = "торгового автомата AutoDrobe", + DATIVE = "торговому автомату AutoDrobe", + ACCUSATIVE = "торговый автомат AutoDrobe", + INSTRUMENTAL = "торговым автоматом AutoDrobe", + PREPOSITIONAL = "торговом автомате AutoDrobe" + ) + desc = "Автомат с бесплатными костюмами!" icon_state = "theater_off" panel_overlay = "theater_panel" @@ -2043,9 +2399,14 @@ broken_lightmask_overlay = "theater_broken_lightmask" deny_overlay = "theater_deny" - slogan_list = list("Dress for success!","Suited and booted!","It's show time!","Why leave style up to fate? Use AutoDrobe!") + slogan_list = list( + "Приоденься для Успеха!", + "Одетый и обутый!", + "Пришло время шоу!", + "Зачем оставлять стиль на произвол судьбы? Используй AutoDrobe!" + ) vend_delay = 15 - vend_reply = "Thank you for using AutoDrobe!" + vend_reply = "Спасибо за использование AutoDrobe!" products = list(/obj/item/clothing/suit/chickensuit = 1, /obj/item/clothing/head/chicken = 1, /obj/item/clothing/under/gladiator = 1, @@ -2133,6 +2494,8 @@ /obj/item/clothing/head/rockso = 1, /obj/item/clothing/mask/gas/clown_hat/rockso = 1, /obj/item/clothing/under/rockso = 1, + /obj/item/clothing/mask/gas/clown_hat/sweettooth = 1, + /obj/item/clothing/under/sweettooth = 1, /obj/item/clothing/under/pants/camo = 1, /obj/item/clothing/mask/bandana = 1, /obj/item/clothing/mask/bandana/black = 1, @@ -2192,8 +2555,24 @@ /obj/machinery/vending/dinnerware name = "\improper Plasteel Chef's Dinnerware Vendor" - desc = "A kitchen and restaurant equipment vendor." - ads_list = list("Mm, food stuffs!","Food and food accessories.","Get your plates!","You like forks?","I like forks.","Woo, utensils.","You don't really need these...") + ru_names = list( + NOMINATIVE = "торговый автомат Plasteel Chef's Dinnerware Vendor", + GENITIVE = "торгового автомата Plasteel Chef's Dinnerware Vendor", + DATIVE = "торговому автомату Plasteel Chef's Dinnerware Vendor", + ACCUSATIVE = "торговый автомат Plasteel Chef's Dinnerware Vendor", + INSTRUMENTAL = "торговым автоматом Plasteel Chef's Dinnerware Vendor", + PREPOSITIONAL = "торговом автомате Plasteel Chef's Dinnerware Vendor" + ) + desc = "Поставщик кухонного и ресторанного оборудования." + ads_list = list( + "Мм, продукты питания!", + "Пища и пищевые принадлежности.", + "Принесите свои тарелки!", + "Тебе нравятся вилки?", + "Я люблю вилки.", + "Ух ты, посуда.", + "На самом деле они тебе не нужны..." + ) icon_state = "dinnerware_off" panel_overlay = "dinnerware_panel" @@ -2237,7 +2616,15 @@ /obj/machinery/vending/sovietsoda name = "\improper BODA" - desc = "Old sweet water vending machine." + ru_names = list( + NOMINATIVE = "торговый автомат BODA", + GENITIVE = "торгового автомата BODA", + DATIVE = "торговому автомату BODA", + ACCUSATIVE = "торговый автомат BODA", + INSTRUMENTAL = "торговым автоматом BODA", + PREPOSITIONAL = "торговом автомате BODA" + ) + desc = "Старый автомат по продаже сладкой газировки." icon_state = "sovietsoda_off" panel_overlay = "sovietsoda_panel" @@ -2246,7 +2633,13 @@ broken_overlay = "sovietsoda_broken" broken_lightmask_overlay = "sovietsoda_broken_lightmask" - ads_list = list("For Tsar and Country.","Have you fulfilled your nutrition quota today?","Very nice!","We are simple people, for this is all we eat.","If there is a person, there is a problem. If there is no person, then there is no problem.") + ads_list = list( + "За царя и Отечество.", + "Ты уже осуществил свою норму питания на сегодня?", + "Очень хорошо!", + "Мы обычные люди, и едим мы то, что есть.", + "Если есть человек, то есть и проблема. Если нет человека, то нет и проблемы." + ) products = list(/obj/item/reagent_containers/food/drinks/drinkingglass/soda = 30) contraband = list(/obj/item/reagent_containers/food/drinks/drinkingglass/cola = 20) resistance_flags = FIRE_PROOF @@ -2254,7 +2647,15 @@ /obj/machinery/vending/tool name = "\improper YouTool" - desc = "Tools for tools." + ru_names = list( + NOMINATIVE = "торговый автомат YouTool", + GENITIVE = "торгового автомата YouTool", + DATIVE = "торговому автомату YouTool", + ACCUSATIVE = "торговый автомат YouTool", + INSTRUMENTAL = "торговым автоматом YouTool", + PREPOSITIONAL = "торговом автомате YouTool" + ) + desc = "Инструменты для инструментов." icon_state = "tool_off" panel_overlay = "tool_panel" @@ -2295,7 +2696,15 @@ /obj/machinery/vending/engivend name = "\improper Engi-Vend" - desc = "Spare tool vending. What? Did you expect some witty description?" + ru_names = list( + NOMINATIVE = "торговый автомат Engi-Vend", + GENITIVE = "торгового автомата Engi-Vend", + DATIVE = "торговому автомату Engi-Vend", + ACCUSATIVE = "торговый автомат Engi-Vend", + INSTRUMENTAL = "торговым автоматом Engi-Vend", + PREPOSITIONAL = "торговом автомате Engi-Vend" + ) + desc = "Автомат с запасными инструментами. Что? Вы ожидали какого-нибудь остроумного описания?" icon_state = "engivend_off" panel_overlay = "engivend_panel" @@ -2313,7 +2722,15 @@ /obj/machinery/vending/engineering name = "\improper Robco Tool Maker" - desc = "Everything you need for do-it-yourself station repair." + ru_names = list( + NOMINATIVE = "торговый автомат Robco Tool Maker", + GENITIVE = "торгового автомата Robco Tool Maker", + DATIVE = "торговому автомату Robco Tool Maker", + ACCUSATIVE = "торговый автомат Robco Tool Maker", + INSTRUMENTAL = "торговым автоматом Robco Tool Maker", + PREPOSITIONAL = "торговом автомате Robco Tool Maker" + ) + desc = "Все, что вам требуется для самостоятельного обслуживания станции." icon_state = "engi_off" panel_overlay = "engi_panel" @@ -2335,7 +2752,15 @@ /obj/machinery/vending/robotics name = "\improper Robotech Deluxe" - desc = "All the tools you need to create your own robot army." + ru_names = list( + NOMINATIVE = "торговый автомат Robotech Deluxe", + GENITIVE = "торгового автомата Robotech Deluxe", + DATIVE = "торговому автомату Robotech Deluxe", + ACCUSATIVE = "торговый автомат Robotech Deluxe", + INSTRUMENTAL = "торговым автоматом Robotech Deluxe", + PREPOSITIONAL = "торговом автомате Robotech Deluxe" + ) + desc = "Все, что вам нужно для создания вашей собственной армии роботов." icon_state = "robotics_off" panel_overlay = "robotics_panel" @@ -2373,9 +2798,31 @@ /obj/machinery/vending/sustenance name = "\improper Sustenance Vendor" - desc = "A vending machine which vends food, as required by section 47-C of the NT's Prisoner Ethical Treatment Agreement." - slogan_list = list("Enjoy your meal.","Enough calories to support strenuous labor.") - ads_list = list("The healthiest!","Award-winning chocolate bars!","Mmm! So good!","Oh my god it's so juicy!","Have a snack.","Snacks are good for you!","Have some more Getmore!","Best quality snacks straight from mars.","We love chocolate!","Try our new jerky!") + ru_names = list( + NOMINATIVE = "торговый автомат Sustenance Vendor", + GENITIVE = "торгового автомата Sustenance Vendor", + DATIVE = "торговому автомату Sustenance Vendor", + ACCUSATIVE = "торговый автомат Sustenance Vendor", + INSTRUMENTAL = "торговым автоматом Sustenance Vendor", + PREPOSITIONAL = "торговом автомате Sustenance Vendor" + ) + desc = "Торговый автомат, в котором продаются продукты питания, в соответствии с разделом 47-С Соглашения об этическом обращении с заключёнными в NT." + slogan_list = list( + "Приятного аппетита!", + "Достаточное количество калорий для интенсивной работы." + ) + ads_list = list( + "Самый здоровый!", + "Отмеченные наградами шоколадные батончики!", + "Ммм! Так вкусно!", + "О боже, это так вкусно!", + "Перекусите.", + "Закуски - это здорово!", + "Возьми немного, и еще немного!", + "Закуски высшего качества прямо с Марса.", + "Мы любим шоколад!", + "Попробуйте наше новое вяленое мясо!" + ) icon_state = "sustenance_off" panel_overlay = "snack_panel" @@ -2395,7 +2842,7 @@ refill_canister = /obj/item/vending_refill/sustenance /obj/machinery/vending/sustenance/additional - desc = "Какого этот автомат тут оказался?!" + desc = "Какого чёрта этот автомат тут оказался?!" products = list(/obj/item/reagent_containers/food/snacks/tofu = 12, /obj/item/reagent_containers/food/drinks/ice = 6, /obj/item/reagent_containers/food/snacks/candy/candy_corn = 6) @@ -2403,7 +2850,15 @@ /obj/machinery/vending/hatdispenser name = "\improper Hatlord 9000" - desc = "It doesn't seem the slightest bit unusual. This frustrates you immensely." + ru_names = list( + NOMINATIVE = "торговый автомат Hatlord 9000", + GENITIVE = "торгового автомата Hatlord 9000", + DATIVE = "торговому автомату Hatlord 9000", + ACCUSATIVE = "торговый автомат Hatlord 9000", + INSTRUMENTAL = "торговым автоматом Hatlord 9000", + PREPOSITIONAL = "торговом автомате Hatlord 9000" + ) + desc = "В этом нет ничего необычного. Это вас очень расстраивает." icon_state = "hats_off" panel_overlay = "hats_panel" @@ -2412,20 +2867,34 @@ broken_overlay = "hats_broken" broken_lightmask_overlay = "hats_broken_lightmask" - ads_list = list("Warning, not all hats are dog/monkey compatible. Apply forcefully with care.","Apply directly to the forehead.","Who doesn't love spending cash on hats?!","From the people that brought you collectable hat crates, Hatlord!") + ads_list = list( + "Внимание: не все шляпы совместимы с собаками и обезьянами. Надевайте с усилием, но осторожно.", + "Надевайте прямо на голову.", + "Кто не любит тратить деньги на шляпы?!", + "От создателей коробок с коллекционными шляпами — Hatlord!" + ) products = list(/obj/item/clothing/head/bowlerhat = 10, /obj/item/clothing/head/beaverhat = 10, /obj/item/clothing/head/boaterhat = 10, /obj/item/clothing/head/fedora = 10, /obj/item/clothing/head/fez = 10, /obj/item/clothing/head/beret = 10) - contraband = list(/obj/item/clothing/head/bearpelt = 5) + contraband = list(/obj/item/clothing/head/bearpelt = 5, + /obj/item/clothing/head/helmet/biker = 3) premium = list(/obj/item/clothing/head/soft/rainbow = 1) refill_canister = /obj/item/vending_refill/hatdispenser /obj/machinery/vending/suitdispenser name = "\improper Suitlord 9000" - desc = "You wonder for a moment why all of your shirts and pants come conjoined. This hurts your head and you stop thinking about it." + ru_names = list( + NOMINATIVE = "торговый автомат Suitlord 9000", + GENITIVE = "торгового автомата Suitlord 9000", + DATIVE = "торговому автомату Suitlord 9000", + ACCUSATIVE = "торговый автомат Suitlord 9000", + INSTRUMENTAL = "торговым автоматом Suitlord 9000", + PREPOSITIONAL = "торговом автомате Suitlord 9000" + ) + desc = "На мгновение ты задумываешься, почему все твои рубашки и брюки сшиты вместе. От этого у тебя начинает болеть голова, и ты перестаешь об этом думать." icon_state = "suits_off" panel_overlay = "suits_panel" @@ -2434,7 +2903,13 @@ broken_overlay = "suits_broken" broken_lightmask_overlay = "suits_broken_lightmask" - ads_list = list("Pre-Ironed, Pre-Washed, Pre-Wor-*BZZT*","Blood of your enemies washes right out!","Who are YOU wearing?","Look dapper! Look like an idiot!","Dont carry your size? How about you shave off some pounds you fat lazy- *BZZT*") + ads_list = list( + "Предварительно проглаженный, предварительно стиранный, предво-*БЗЗЗ*", + "Кровь твоих врагов сразу же смоется!", + "Что ВЫ носите?", + "Выгляди элегантно! Выгляди как идиот!", + "Не подходит по размеру? А как насчёт того, чтобы сбросить пару килограммов, ты, жирный лентяй-*БЗЗЗЗ*" + ) products = list( /obj/item/clothing/under/color/black = 10, /obj/item/clothing/under/color/blue = 10, @@ -2463,7 +2938,15 @@ /obj/machinery/vending/shoedispenser name = "\improper Shoelord 9000" - desc = "Wow, hatlord looked fancy, suitlord looked streamlined, and this is just normal. The guy who designed these must be an idiot." + ru_names = list( + NOMINATIVE = "торговый автомат Shoelord 9000", + GENITIVE = "торгового автомата Shoelord 9000", + DATIVE = "торговому автомату Shoelord 9000", + ACCUSATIVE = "торговый автомат Shoelord 9000", + INSTRUMENTAL = "торговым автоматом Shoelord 9000", + PREPOSITIONAL = "торговом автомате Shoelord 9000" + ) + desc = "Оу, шляпы у Hatlord такие классные, костюмы у Suitlord такие элегантные, а у этого всё такое обычное... Дизайнер, должно быть, идиот." icon_state = "shoes_off" icon_state = "shoes_off" @@ -2473,7 +2956,13 @@ broken_overlay = "shoes_broken" broken_lightmask_overlay = "shoes_broken_lightmask" - ads_list = list("Put your foot down!","One size fits all!","IM WALKING ON SUNSHINE!","No hobbits allowed.","NO PLEASE WILLY, DONT HURT ME- *BZZT*") + ads_list = list( + "Опусти ногу!", + "Один размер подходит всем!", + "Я ШАГАЮ В ЛУЧАХ СОЛНЦА!", + "Хоббитам вход воспрещен.", + "НЕТ, ПОЖАЛУЙСТА, ВИЛЛИ, НЕ ДЕЛАЙ МНЕ БОЛЬНО-*БЗЗЗЗ*" + ) products = list(/obj/item/clothing/shoes/black = 10,/obj/item/clothing/shoes/brown = 10,/obj/item/clothing/shoes/blue = 10,/obj/item/clothing/shoes/green = 10,/obj/item/clothing/shoes/yellow = 10,/obj/item/clothing/shoes/purple = 10,/obj/item/clothing/shoes/red = 10,/obj/item/clothing/shoes/white = 10,/obj/item/clothing/shoes/sandal=10) contraband = list(/obj/item/clothing/shoes/orange = 5) premium = list(/obj/item/clothing/shoes/rainbow = 1) @@ -2481,9 +2970,30 @@ /obj/machinery/vending/syndicigs name = "\improper Suspicious Cigarette Machine" - desc = "Smoke 'em if you've got 'em." - slogan_list = list("Космосигареты на вкус хороши, какими они и должны быть.","I'd rather toolbox than switch.","Затянитесь!","Не верьте исследованиям — курите сегодня!") - ads_list = list("Наверняка не очень-то и вредно для Вас!","Не верьте учёным!","На здоровье!","Не бросайте курить, купите ещё!","Затянитесь!","Никотиновый рай.","Лучшие сигареты с 2150 года.","Сигареты с множеством наград.") + ru_names = list( + NOMINATIVE = "торговый автомат Suspicious Cigarette Machine", + GENITIVE = "торгового автомата Suspicious Cigarette Machine", + DATIVE = "торговому автомату Suspicious Cigarette Machine", + ACCUSATIVE = "торговый автомат Suspicious Cigarette Machine", + INSTRUMENTAL = "торговым автоматом Suspicious Cigarette Machine", + PREPOSITIONAL = "торговом автомате Suspicious Cigarette Machine" + ) + desc = "Кури, раз уж взял." + slogan_list = list( + "Космосигареты на вкус хороши, какими они и должны быть.", + "Затянитесь!", + "Не верьте исследованиям — курите сегодня!" + ) + ads_list = list( + "Наверняка не очень-то и вредно для Вас!", + "Не верьте учёным!", + "На здоровье!", + "Не бросайте курить, купите ещё!", + "Затянитесь!", + "Никотиновый рай.", + "Лучшие сигареты с 2150 года.", + "Сигареты с множеством наград." + ) vend_delay = 34 icon_state = "cigs_off" @@ -2498,9 +3008,31 @@ /obj/machinery/vending/syndisnack name = "\improper Getmore Chocolate Corp" - desc = "A modified snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars" - slogan_list = list("Try our new nougat bar!","Twice the calories for half the price!") - ads_list = list("The healthiest!","Award-winning chocolate bars!","Mmm! So good!","Oh my god it's so juicy!","Have a snack.","Snacks are good for you!","Have some more Getmore!","Best quality snacks straight from mars.","We love chocolate!","Try our new jerky!") + ru_names = list( + NOMINATIVE = "торговый автомат Getmore Chocolate Corp", + GENITIVE = "торгового автомата Getmore Chocolate Corp", + DATIVE = "торговому автомату Getmore Chocolate Corp", + ACCUSATIVE = "торговый автомат Getmore Chocolate Corp", + INSTRUMENTAL = "торговым автоматом Getmore Chocolate Corp", + PREPOSITIONAL = "торговом автомате Getmore Chocolate Corp" + ) + desc = "Модифицированный автомат самообслуживания, любезно предоставленный шоколадной корпорацией Getmore, базирующейся на Марсе." + slogan_list = list( + "Попробуйте наш новый батончик с нугой!", + "Вдвое больше калорий за полцены!" + ) + ads_list = list( + "Самый здоровый!", + "Отмеченные наградами шоколадные батончики!", + "Ммм! Так вкусно!", + "О боже, это так вкусно!", + "Перекусите.", + "Закуски - это здорово!", + "Возьми немного, и еще немного!", + "Закуски высшего качества прямо с Марса.", + "Мы любим шоколад!", + "Попробуйте наше новое вяленое мясо!" + ) icon_state = "snack_off" panel_overlay = "snack_panel" @@ -2514,8 +3046,20 @@ /obj/machinery/vending/syndierobotics name = "Синди Робо-ДеЛюкс!" + ru_names = list( + NOMINATIVE = "торговый автомат Синди Робо-ДеЛюкс", + GENITIVE = "торгового автомата Синди Робо-ДеЛюкс", + DATIVE = "торговому автомату Синди Робо-ДеЛюкс", + ACCUSATIVE = "торговый автомат Синди Робо-ДеЛюкс", + INSTRUMENTAL = "торговым автоматом Синди Робо-ДеЛюкс", + PREPOSITIONAL = "торговом автомате Синди Робо-ДеЛюкс" + ) desc = "Всё что нужно, чтобы сделать личного железного друга из ваших врагов!" - ads_list = list("Make them beep-boop like a robot should!","Robotisation is NOT a crime!","Nyoom!") + ads_list = list( + "Заставьте их пищать и гудеть, как и подобает роботу!", + "Роботизация — это НЕ преступление!", + "Ньям!" + ) icon_state = "robotics_off" panel_overlay = "robotics_panel" @@ -2544,7 +3088,15 @@ //don't forget to change the refill size if you change the machine's contents! /obj/machinery/vending/clothing name = "\improper ClothesMate" //renamed to make the slogan rhyme - desc = "A vending machine for clothing." + ru_names = list( + NOMINATIVE = "торговый автомат ClothesMate", + GENITIVE = "торгового автомата ClothesMate", + DATIVE = "торговому автомату ClothesMate", + ACCUSATIVE = "торговый автомат ClothesMate", + INSTRUMENTAL = "торговым автоматом ClothesMate", + PREPOSITIONAL = "торговом автомате ClothesMate" + ) + desc = "Автомат с бесплатной одеждой." icon_state = "clothes_off" panel_overlay = "clothes_panel" @@ -2553,9 +3105,14 @@ broken_overlay = "clothes_broken" broken_lightmask_overlay = "clothes_broken_lightmask" - slogan_list = list("Dress for success!","Prepare to look swagalicious!","Look at all this free swag!","Why leave style up to fate? Use the ClothesMate!") + slogan_list = list( + "Приоденься для Успеха!", + "Приготовьтесь выглядеть потрясающе!", + "Посмотрите на все эти классные вещи бесплатно!", + "Зачем оставлять стиль на произвол судьбы? Используй ClothesMate!" + ) vend_delay = 15 - vend_reply = "Thank you for using the ClothesMate!" + vend_reply = "Спасибо за использование ClothesMate!" products = list(/obj/item/clothing/head/that = 2, /obj/item/clothing/head/fedora = 1, /obj/item/clothing/glasses/monocle = 1, @@ -2652,9 +3209,27 @@ /obj/machinery/vending/artvend name = "\improper ArtVend" - desc = "A vending machine for art supplies." - slogan_list = list("Stop by for all your artistic needs!","Color the floors with crayons, not blood!","Don't be a starving artist, use ArtVend. ","Don't fart, do art!") - ads_list = list("Just like Kindergarten!","Now with 1000% more vibrant colors!","Screwing with the janitor was never so easy!","Creativity is at the heart of every spessman.") + ru_names = list( + NOMINATIVE = "торговый автомат ArtVend", + GENITIVE = "торгового автомата ArtVend", + DATIVE = "торговому автомату ArtVend", + ACCUSATIVE = "торговый автомат ArtVend", + INSTRUMENTAL = "торговым автоматом ArtVend", + PREPOSITIONAL = "торговом автомате ArtVend" + ) + desc = "Торговый автомат для всех ваших художественных нужд." + slogan_list = list( + "Забирайте свои прикольные вещички!" + ,"Раскрасьте пол цветными карандашами, а не кровью!", + "Не будь голодающим творцом, используй ArtVend.", + "Не сри, твори!" + ) + ads_list = list( + "Прямо как в детском саду!", + "Теперь на 1000% больше ярких цветов!", + "Поиметь уборщика еще никогда не было так просто!", + "Креативность лежит в основе каждого специалиста!" + ) vend_delay = 15 icon_state = "artvend_off" @@ -2712,9 +3287,30 @@ /obj/machinery/vending/crittercare name = "\improper CritterCare" - desc = "A vending machine for pet supplies." - slogan_list = list("Stop by for all your animal's needs!","Cuddly pets deserve a stylish collar!","Pets in space, what could be more adorable?","Freshest fish eggs in the system!","Rocks are the perfect pet, buy one today!") - ads_list = list("House-training costs extra!","Now with 1000% more cat hair!","Allergies are a sign of weakness!","Dogs are man's best friend. Remember that Vulpkanin!"," Heat lamps for Unathi!"," Vox-y want a cracker?") + ru_names = list( + NOMINATIVE = "торговый автомат CritterCare", + GENITIVE = "торгового автомата CritterCare", + DATIVE = "торговому автомату CritterCare", + ACCUSATIVE = "торговый автомат CritterCare", + INSTRUMENTAL = "торговым автоматом CritterCare", + PREPOSITIONAL = "торговом автомате CritterCare" + ) + desc = "Торговый автомат по продаже зоотоваров." + slogan_list = list( + "Здесь всё, чтобы ваш питомец был всем доволен!", + "Крутые питомцы заслуживают крутой ошейник!", + "Домашние животные в космосе - что может быть очаровательнее?", + "Самая свежая икра в системе!", + "Камни - лучшие питомцы, купите себе их уже сегодня!" + ) + ads_list = list( + "Дрессировка на дому оплачивается дополнительно!", + "Теперь на 1000% больше кошачьей шерсти!", + "Аллергия - признак слабости!", + "Собаки - лучшие друзья человека. Помни об этом, вульпа!", + "Нагревательные лампы для Унатхов!", + "Вокс хочет крекер?" + ) vend_delay = 15 icon_state = "crittercare_off" @@ -2773,6 +3369,14 @@ /obj/machinery/vending/clothing/departament name = "\improper Broken Departament ClothesMate" + ru_names = list( + NOMINATIVE = "торговый автомат Broken Departament ClothesMate", + GENITIVE = "торгового автомата Broken Departament ClothesMate", + DATIVE = "торговому автомату Broken Departament ClothesMate", + ACCUSATIVE = "торговый автомат Broken Departament ClothesMate", + INSTRUMENTAL = "торговым автоматом Broken Departament ClothesMate", + PREPOSITIONAL = "торговом автомате Broken Departament ClothesMate" + ) desc = "Автомат-помощник по выдаче одежды отдела." slogan_list = list( "Одежда успешного работника!", "Похвала на глаза!", "Ну наконец-то нормально оделся!", @@ -2795,6 +3399,14 @@ /obj/machinery/vending/clothing/departament/security name = "\improper Departament Security ClothesMate" + ru_names = list( + NOMINATIVE = "торговый автомат Departament Security ClothesMate", + GENITIVE = "торгового автомата Departament Security ClothesMate", + DATIVE = "торговому автомату Departament Security ClothesMate", + ACCUSATIVE = "торговый автомат Departament Security ClothesMate", + INSTRUMENTAL = "торговым автоматом Departament Security ClothesMate", + PREPOSITIONAL = "торговом автомате Departament Security ClothesMate" + ) desc = "Автомат-помощник по выдаче одежды Отдела Службы Безопасности." icon_state = "clothes-dep-sec_off" @@ -2874,6 +3486,14 @@ /obj/machinery/vending/clothing/departament/medical name = "\improper Departament Medical ClothesMate" + ru_names = list( + NOMINATIVE = "торговый автомат Departament Medical ClothesMate", + GENITIVE = "торгового автомата Departament Medical ClothesMate", + DATIVE = "торговому автомату Departament Medical ClothesMate", + ACCUSATIVE = "торговый автомат Departament Medical ClothesMate", + INSTRUMENTAL = "торговым автоматом Departament Medical ClothesMate", + PREPOSITIONAL = "торговом автомате Departament Medical ClothesMate" + ) desc = "Автомат-помощник по выдаче одежды Медицинского Отдела." icon_state = "clothes-dep-med_off" @@ -2974,6 +3594,14 @@ /obj/machinery/vending/clothing/departament/engineering name = "\improper Departament Engineering ClothesMate" + ru_names = list( + NOMINATIVE = "торговый автомат Departament Engineering ClothesMat", + GENITIVE = "торгового автомата Departament Engineering ClothesMat", + DATIVE = "торговому автомату Departament Engineering ClothesMat", + ACCUSATIVE = "торговый автомат Departament Engineering ClothesMat", + INSTRUMENTAL = "торговым автоматом Departament Engineering ClothesMat", + PREPOSITIONAL = "торговом автомате Departament Engineering ClothesMat" + ) desc = "Автомат-помощник по выдаче одежды Инженерного Отдела." icon_state = "clothes-dep-eng_off" @@ -3033,6 +3661,14 @@ /obj/machinery/vending/clothing/departament/science name = "\improper Departament Science ClothesMate" + ru_names = list( + NOMINATIVE = "торговый автомат Departament Science ClothesMate", + GENITIVE = "торгового автомата Departament Science ClothesMate", + DATIVE = "торговому автомату Departament Science ClothesMate", + ACCUSATIVE = "торговый автомат Departament Science ClothesMate", + INSTRUMENTAL = "торговым автоматом Departament Science ClothesMate", + PREPOSITIONAL = "торговом автомате Departament Science ClothesMate" + ) desc = "Автомат-помощник по выдаче одежды Научного Отдела." icon_state = "clothes-dep-sci_off" @@ -3088,6 +3724,14 @@ /obj/machinery/vending/clothing/departament/cargo name = "\improper Departament Cargo ClothesMate" + ru_names = list( + NOMINATIVE = "торговый автомат Departament Cargo ClothesMate", + GENITIVE = "торгового автомата Departament Cargo ClothesMate", + DATIVE = "торговому автомату Departament Cargo ClothesMate", + ACCUSATIVE = "торговый автомат Departament Cargo ClothesMate", + INSTRUMENTAL = "торговым автоматом Departament Cargo ClothesMate", + PREPOSITIONAL = "торговом автомате Departament Cargo ClothesMate" + ) desc = "Автомат-помощник по выдаче одежды Отдела Поставок." icon_state = "clothes-dep-car_off" @@ -3146,6 +3790,14 @@ /obj/machinery/vending/clothing/departament/law name = "\improper Departament Law ClothesMate" + ru_names = list( + NOMINATIVE = "торговый автомат Departament Law ClothesMate", + GENITIVE = "торгового автомата Departament Law ClothesMate", + DATIVE = "торговому автомату Departament Law ClothesMate", + ACCUSATIVE = "торговый автомат Departament Law ClothesMate", + INSTRUMENTAL = "торговым автоматом Departament Law ClothesMate", + PREPOSITIONAL = "торговом автомате Departament Law ClothesMate" + ) desc = "Автомат-помощник по выдаче одежды Юридического Отдела." icon_state = "clothes-dep-sec_off" @@ -3205,6 +3857,14 @@ /obj/machinery/vending/clothing/departament/service name = "\improper Departament Service ClothesMate" + ru_names = list( + NOMINATIVE = "торговый автомат Departament Service ClothesMate", + GENITIVE = "торгового автомата Departament Service ClothesMate", + DATIVE = "торговому автомату Departament Service ClothesMate", + ACCUSATIVE = "торговый автомат Departament Service ClothesMate", + INSTRUMENTAL = "торговым автоматом Departament Service ClothesMate", + PREPOSITIONAL = "торговом автомате Departament Service ClothesMate" + ) desc = "Автомат-помощник по выдаче одежды Сервисного отдела." req_access = list() products = list() @@ -3212,6 +3872,14 @@ /obj/machinery/vending/clothing/departament/service/chaplain name = "\improper Departament Service ClothesMate Chaplain" + ru_names = list( + NOMINATIVE = "торговый автомат Departament Service ClothesMate Chaplain", + GENITIVE = "торгового автомата Departament Service ClothesMate Chaplain", + DATIVE = "торговому автомату Departament Service ClothesMate Chaplain", + ACCUSATIVE = "торговый автомат Departament Service ClothesMate Chaplain", + INSTRUMENTAL = "торговым автоматом Departament Service ClothesMate Chaplain", + PREPOSITIONAL = "торговом автомате Departament Service ClothesMate Chaplain" + ) desc = "Автомат-помощник по выдаче одежды Сервисного отдела церкви." icon_state = "clothes-dep-car_off" @@ -3249,6 +3917,14 @@ /obj/machinery/vending/clothing/departament/service/botanical name = "\improper Departament Service ClothesMate Botanical" + ru_names = list( + NOMINATIVE = "торговый автомат Departament Service ClothesMate Botanical", + GENITIVE = "торгового автомата Departament Service ClothesMate Botanical", + DATIVE = "торговому автомату Departament Service ClothesMate Botanical", + ACCUSATIVE = "торговый автомат Departament Service ClothesMate Botanical", + INSTRUMENTAL = "торговым автоматом Departament Service ClothesMate Botanical", + PREPOSITIONAL = "торговом автомате Departament Service ClothesMate Botanical" + ) desc = "Автомат-помощник по выдаче одежды Сервисного отдела ботаники." req_access = list(ACCESS_HYDROPONICS) products = list( @@ -3276,8 +3952,22 @@ /obj/machinery/vending/nta name = "NT Ammunition" - desc = "A special equipment vendor." - ads_list = list("Возьми патрон!","Не забывай, снаряжаться - полезно!","Бжж-Бзз-з!.","Обезопасить, Удержать, Сохранить!","Стоять, снярядись на задание!") + ru_names = list( + NOMINATIVE = "торговый автомат NT Ammunition", + GENITIVE = "торгового автомата NT Ammunition", + DATIVE = "торговому автомату NT Ammunition", + ACCUSATIVE = "торговый автомат NT Ammunition", + INSTRUMENTAL = "торговым автоматом NT Ammunition", + PREPOSITIONAL = "торговом автомате NT Ammunition" + ) + desc = "Автомат-помощник по выдаче специального снаряжения." + ads_list = list( + "Возьми патрон!", + "Не забывай, снаряжаться - полезно!", + "Бжж-Бзз-з!", + "Обезопасить, Удержать, Сохранить!", + "Стоять, снярядись на задание!" + ) icon_state = "nta_base" panel_overlay = "nta_panel" @@ -3355,8 +4045,22 @@ /obj/machinery/vending/nta/ertarmory/blue name = "NT ERT Medium Gear & Ammunition" - desc = "A ERT Medium equipment vendor." - ads_list = list("Круши черепа синдиката!","Не забывай, спасать - полезно!","Бжж-Бзз-з!.","Обезопасить, Удержать, Сохранить!","Стоять, снярядись на задание!") + ru_names = list( + NOMINATIVE = "торговый автомат NT ERT Medium Gear & Ammunition", + GENITIVE = "торгового автомата NT ERT Medium Gear & Ammunition", + DATIVE = "торговому автомату NT ERT Medium Gear & Ammunition", + ACCUSATIVE = "торговый автомат NT ERT Medium Gear & Ammunition", + INSTRUMENTAL = "торговым автоматом NT ERT Medium Gear & Ammunition", + PREPOSITIONAL = "торговом автомате NT ERT Medium Gear & Ammunition" + ) + desc = "Автомат-помощник по выдаче снаряжения среднего класса." + ads_list = list( + "Круши черепа синдиката!", + "Не забывай, спасать - полезно!", + "Бжж-Бзз-з!", + "Обезопасить, Удержать, Сохранить!", + "Стоять, снярядись на задание!" + ) icon_state = "nta_base" base_icon_state = "nta-blue" @@ -3383,8 +4087,22 @@ /obj/machinery/vending/nta/ertarmory/red name = "NT ERT Heavy Gear & Ammunition" - desc = "A ERT Heavy equipment vendor." - ads_list = list("Круши черепа синдиката!","Не забывай, спасать - полезно!","Бжж-Бзз-з!.","Обезопасить, Удержать, Сохранить!","Стоять, снярядись на задание!") + ru_names = list( + NOMINATIVE = "торговый автомат NT ERT Heavy Gear & Ammunition", + GENITIVE = "торгового автомата NT ERT Heavy Gear & Ammunition", + DATIVE = "торговому автомату NT ERT Heavy Gear & Ammunition", + ACCUSATIVE = "торговый автомат NT ERT Heavy Gear & Ammunition", + INSTRUMENTAL = "торговым автоматом NT ERT Heavy Gear & Ammunition", + PREPOSITIONAL = "торговом автомате NT ERT Heavy Gear & Ammunition" + ) + desc = "Автомат-помощник по выдаче снаряжения тяжелого класса." + ads_list = list( + "Круши черепа синдиката!", + "Не забывай, спасать - полезно!", + "Бжж-Бзз-з!", + "Обезопасить, Удержать, Сохранить!", + "Стоять, снярядись на задание!" + ) icon_state = "nta_base" base_icon_state = "nta-red" @@ -3411,8 +4129,22 @@ /obj/machinery/vending/nta/ertarmory/green name = "NT ERT Light Gear & Ammunition" - desc = "A ERT Light equipment vendor." - ads_list = list("Круши черепа синдиката!","Не забывай, спасать - полезно!","Бжж-Бзз-з!.","Обезопасить, Удержать, Сохранить!","Стоять, снярядись на задание!") + ru_names = list( + NOMINATIVE = "торговый автомат NT ERT Light Gear & Ammunition", + GENITIVE = "торгового автомата NT ERT Light Gear & Ammunition", + DATIVE = "торговому автомату NT ERT Light Gear & Ammunition", + ACCUSATIVE = "торговый автомат NT ERT Light Gear & Ammunition", + INSTRUMENTAL = "торговым автоматом NT ERT Light Gear & Ammunition", + PREPOSITIONAL = "торговом автомате NT ERT Light Gear & Ammunition" + ) + desc = "Автомат-помощник по выдаче снаряжения легкого класса" + ads_list = list( + "Круши черепа синдиката!", + "Не забывай, спасать - полезно!", + "Бжж-Бзз-з!", + "Обезопасить, Удержать, Сохранить!", + "Стоять, снярядись на задание!" + ) icon_state = "nta_base" base_icon_state = "nta-green" @@ -3443,7 +4175,15 @@ /obj/machinery/vending/nta/ertarmory/green/cc_jail name = "NT CentComm prison guards' Gear & Ammunition" - desc = "An equipment vendor for CentComm corrections officers." + ru_names = list( + NOMINATIVE = "торговый автомат NT CentComm prison guards' Gear & Ammunition", + GENITIVE = "торгового автомата NT CentComm prison guards' Gear & Ammunition", + DATIVE = "торговому автомату NT CentComm prison guards' Gear & Ammunition", + ACCUSATIVE = "торговый автомат NT CentComm prison guards' Gear & Ammunition", + INSTRUMENTAL = "торговым автоматом NT CentComm prison guards' Gear & Ammunition", + PREPOSITIONAL = "торговом автомате NT CentComm prison guards' Gear & Ammunition" + ) + desc = "Автомат с оборудованием для сотрудников CentComm." products = list(/obj/item/restraints/handcuffs=5, /obj/item/restraints/handcuffs/cable/zipties=5, /obj/item/grenade/flashbang=3, @@ -3463,8 +4203,22 @@ /obj/machinery/vending/nta/ertarmory/yellow name = "NT ERT Death Wish Gear & Ammunition" - desc = "A ERT Death Wish equipment vendor." - ads_list = list("Круши черепа ВСЕХ!","Не забывай, УБИВАТЬ - полезно!","УБИВАТЬ УБИВАТЬ УБИВАТЬ УБИВАТЬ!.","УБИВАТЬ, Удержать, УБИВАТЬ!","Стоять, снярядись на УБИВАТЬ!") + ru_names = list( + NOMINATIVE = "торговый автомат NT ERT Death Wish Gear & Ammunition", + GENITIVE = "торгового автомата NT ERT Death Wish Gear & Ammunition", + DATIVE = "торговому автомату NT ERT Death Wish Gear & Ammunition", + ACCUSATIVE = "торговый автомат NT ERT Death Wish Gear & Ammunition", + INSTRUMENTAL = "торговым автоматом NT ERT Death Wish Gear & Ammunition", + PREPOSITIONAL = "торговом автомате NT ERT Death Wish Gear & Ammunition" + ) + desc = "Автомат с оборудованием для ОБР — помогает людям осуществить их желание умереть." + ads_list = list( + "Круши черепа ВСЕХ!", + "Не забывай, УБИВАТЬ - полезно!", + "УБИВАТЬ УБИВАТЬ УБИВАТЬ УБИВАТЬ!.", + "УБИВАТЬ, Удержать, УБИВАТЬ!", + "Стоять, снярядись на УБИВАТЬ!" + ) icon_state = "nta_base" base_icon_state = "nta-yellow" @@ -3490,8 +4244,22 @@ /obj/machinery/vending/nta/ertarmory/medical name = "NT ERT Medical Gear" - desc = "A ERT medical equipment vendor." - ads_list = list("Лечи раненых от рук синдиката!","Не забывай, лечить - полезно!","Бжж-Бзз-з!.","Перевязать, Оперировать, Выписать!","Стоять, снярядись медикаментами на задание!") + ru_names = list( + NOMINATIVE = "торговый автомат NT ERT Medical Gear", + GENITIVE = "торгового автомата NT ERT Medical Gear", + DATIVE = "торговому автомату NT ERT Medical Gear", + ACCUSATIVE = "торговый автомат NT ERT Medical Gear", + INSTRUMENTAL = "торговым автоматом NT ERT Medical Gear", + PREPOSITIONAL = "торговом автомате NT ERT Medical Gear" + ) + desc = "Автомат с медицинским оборудованием ОБР." + ads_list = list( + "Лечи раненых от рук синдиката!", + "Не забывай, лечить - полезно!", + "Бжж-Бзз-з!", + "Перевязать, Оперировать, Выписать!", + "Стоять, снярядись медикаментами на задание!" + ) icon_state = "nta_base" base_icon_state = "nta-medical" @@ -3527,8 +4295,22 @@ /obj/machinery/vending/nta/ertarmory/engineer name = "NT ERT Engineer Gear" - desc = "A ERT engineering equipment vendor." - ads_list = list("Чини станцию от рук синдиката!","Не забывай, чинить - полезно!","Бжж-Бзз-з!.","Починить, Заварить, Трубить!","Стоять, снярядись на починку труб!") + ru_names = list( + NOMINATIVE = "торговый автомат NT ERT Engineer Gear", + GENITIVE = "торгового автомата NT ERT Engineer Gear", + DATIVE = "торговому автомату NT ERT Engineer Gear", + ACCUSATIVE = "торговый автомат NT ERT Engineer Gear", + INSTRUMENTAL = "торговым автоматом NT ERT Engineer Gear", + PREPOSITIONAL = "торговом автомате NT ERT Engineer Gear" + ) + desc = "Автомат с инженерным оборудованием ОБР." + ads_list = list( + "Чини станцию от рук синдиката!", + "Не забывай, чинить - полезно!", + "Бжж-Бзз-з!", + "Починить, Заварить, Трубить!", + "Стоять, снярядись на починку труб!" + ) icon_state = "nta_base" base_icon_state = "nta-engi" @@ -3557,8 +4339,22 @@ /obj/machinery/vending/nta/ertarmory/janitor name = "NT ERT Janitor Gear" - desc = "A ERT ccleaning equipment vendor." - ads_list = list("Чисть станцию от рук синдиката!","Не забывай, чистить - полезно!","Вилкой чисти!.","Помыть, Постирать, Оттереть!","Стоять, снярядись клинерами!") + ru_names = list( + NOMINATIVE = "торговый автомат NT ERT Janitor Gear", + GENITIVE = "торгового автомата NT ERT Janitor Gear", + DATIVE = "торговому автомату NT ERT Janitor Gear", + ACCUSATIVE = "торговый автомат NT ERT Janitor Gear", + INSTRUMENTAL = "торговым автоматом NT ERT Janitor Gear", + PREPOSITIONAL = "торговом автомате NT ERT Janitor Gear" + ) + desc = "Автомат с уборочным оборудованием ОБР." + ads_list = list( + "Чисть станцию от рук синдиката!", + "Не забывай, чистить - полезно!", + "Вилкой чисти!", + "Помыть, Постирать, Оттереть!", + "Стоять, снярядись клинерами!" + ) icon_state = "nta_base" base_icon_state = "nta-janitor" @@ -3585,7 +4381,15 @@ /obj/machinery/vending/pai name = "\improper RoboFriends" - desc = "Wonderful vendor of PAI friends" + ru_names = list( + NOMINATIVE = "торговый автомат RoboFriends", + GENITIVE = "торгового автомата RoboFriends", + DATIVE = "торговому автомату RoboFriends", + ACCUSATIVE = "торговый автомат RoboFriends", + INSTRUMENTAL = "торговым автоматом RoboFriends", + PREPOSITIONAL = "торговом автомате RoboFriends" + ) + desc = "Потрясающий продавец ПИИ-друзей!" icon_state = "paivend_off" panel_overlay = "paivend_panel" @@ -3594,7 +4398,13 @@ broken_overlay = "paivend_broken" broken_lightmask_overlay = "paivend_broken_lightmask" - ads_list = list("А вы любите нас?","Мы твои друзья!","Эта покупка войдет в историю","Я ПАИ простой, купишь меня, а я тебе друга!","Спасибо за покупку.") + ads_list = list( + "А вы любите нас?", + "Мы твои друзья!", + "Эта покупка войдет в историю", + "Я ПИИ простой, купишь меня, а я тебе друга!", + "Спасибо за покупку." + ) resistance_flags = FIRE_PROOF products = list( /obj/item/paicard = 10, @@ -3624,7 +4434,15 @@ /obj/machinery/vending/security/ert name = "NT ERT Consumables Gear" - desc = "A consumable equipment for different situations." + ru_names = list( + NOMINATIVE = "торговый автомат NT ERT Consumables Gear", + GENITIVE = "торгового автомата NT ERT Consumables Gear", + DATIVE = "торговому автомату NT ERT Consumables Gear", + ACCUSATIVE = "торговый автомат NT ERT Consumables Gear", + INSTRUMENTAL = "торговым автоматом NT ERT Consumables Gear", + PREPOSITIONAL = "торговом автомате NT ERT Consumables Gear" + ) + desc = "Расходное оборудование для различных ситуаций." resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF refill_canister = /obj/item/vending_refill/nta @@ -3697,7 +4515,15 @@ /obj/machinery/vending/ntc/medal name = "NT Cargo Encouragement" - desc = "A encourage vendor with many of medal types." + ru_names = list( + NOMINATIVE = "торговый автомат NT Cargo Encouragement", + GENITIVE = "торгового автомата NT Cargo Encouragement", + DATIVE = "торговому автомату NT Cargo Encouragement", + ACCUSATIVE = "торговый автомат NT Cargo Encouragement", + INSTRUMENTAL = "торговым автоматом NT Cargo Encouragement", + PREPOSITIONAL = "торговом автомате NT Cargo Encouragement" + ) + desc = "Тяжелый кейс с медалями на любой вкус и цвет." icon = 'icons/obj/storage.dmi' icon_state = "medalbox" products = list( @@ -3717,7 +4543,15 @@ /obj/machinery/vending/ntc/medical name = "NT Cargo Medical Gear" - desc = "A some medical equipment vendor for cargo." + ru_names = list( + NOMINATIVE = "торговый автомат NT Cargo Medical Gear", + GENITIVE = "торгового автомата NT Cargo Medical Gear", + DATIVE = "торговому автомату NT Cargo Medical Gear", + ACCUSATIVE = "торговый автомат NT Cargo Medical Gear", + INSTRUMENTAL = "торговым автоматом NT Cargo Medical Gear", + PREPOSITIONAL = "торговом автомате NT Cargo Medical Gear" + ) + desc = "Различное медицинское оборудование для доставки." icon_state = "nta_base" base_icon_state = "nta-medical" @@ -3738,7 +4572,15 @@ /obj/machinery/vending/ntc/engineering name = "NT Cargo Engineering Gear" - desc = "A some engineering equipment vendor for cargo." + ru_names = list( + NOMINATIVE = "торговый автомат NT Cargo Engineering Gear", + GENITIVE = "торгового автомата NT Cargo Engineering Gear", + DATIVE = "торговому автомату NT Cargo Engineering Gear", + ACCUSATIVE = "торговый автомат NT Cargo Engineering Gear", + INSTRUMENTAL = "торговым автоматом NT Cargo Engineering Gear", + PREPOSITIONAL = "торговом автомате NT Cargo Engineering Gear" + ) + desc = "Различное инженерное оборудование для доставки." icon_state = "nta_base" base_icon_state = "nta-engi" @@ -3758,7 +4600,15 @@ /obj/machinery/vending/ntc/janitor name = "NT Cargo Janitor Gear" - desc = "A some janitor equipment vendor for cargo." + ru_names = list( + NOMINATIVE = "торговый автомат NT Cargo Janitor Gear", + GENITIVE = "торгового автомата NT Cargo Janitor Gear", + DATIVE = "торговому автомату NT Cargo Janitor Gear", + ACCUSATIVE = "торговый автомат NT Cargo Janitor Gear", + INSTRUMENTAL = "торговым автоматом NT Cargo Janitor Gear", + PREPOSITIONAL = "торговом автомате NT Cargo Janitor Gear" + ) + desc = "Различное уборочное оборудование для доставки." icon_state = "nta_base" base_icon_state = "nta-janitor" @@ -3783,7 +4633,15 @@ /obj/machinery/vending/ntcrates name = "NT Cargo Preset Gear" - desc = "A already preset of equipments vendor for cargo." + ru_names = list( + NOMINATIVE = "торговый автомат NT Cargo Preset Gear", + GENITIVE = "торгового автомата NT Cargo Preset Gear", + DATIVE = "торговому автомату NT Cargo Preset Gear", + ACCUSATIVE = "торговый автомат NT Cargo Preset Gear", + INSTRUMENTAL = "торговым автоматом NT Cargo Preset Gear", + PREPOSITIONAL = "торговом автомате NT Cargo Preset Gear" + ) + desc = "Предварительный комплект оборудования для доставки, на все случаи жизни." resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF refill_canister = /obj/item/vending_refill/nta @@ -3809,7 +4667,15 @@ /obj/machinery/vending/ntc/ert name = "NT Response Team Base Gear" - desc = "A ERT Base equipment vendor" + ru_names = list( + NOMINATIVE = "торговый автомат NT Response Team Base Gear", + GENITIVE = "торгового автомата NT Response Team Base Gear", + DATIVE = "торговому автомату NT Response Team Base Gear", + ACCUSATIVE = "торговый автомат NT Response Team Base Gear", + INSTRUMENTAL = "торговым автоматом NT Response Team Base Gear", + PREPOSITIONAL = "торговом автомате NT Response Team Base Gear" + ) + desc = "Автомат с базовым оборудованием ОБР" icon_state = "nta_base" base_icon_state = "nta-blue" @@ -3830,7 +4696,15 @@ /obj/machinery/vending/ntc_resources name = "NT Matter Сompression Vendor" - desc = "Its vendor use advanced technology of matter compression and can have a many volume of resources." + ru_names = list( + NOMINATIVE = "торговый автомат NT Matter Сompression Vendor", + GENITIVE = "торгового автомата NT Matter Сompression Vendor", + DATIVE = "торговому автомату NT Matter Сompression Vendor", + ACCUSATIVE = "торговый автомат NT Matter Сompression Vendor", + INSTRUMENTAL = "торговым автоматом NT Matter Сompression Vendor", + PREPOSITIONAL = "торговом автомате NT Matter Сompression Vendor" + ) + desc = "Этот автомат использует передовую технологию сжатия и может хранить в себе большой объем ресурсов." resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF refill_canister = /obj/item/vending_refill/nta @@ -3863,7 +4737,15 @@ /obj/machinery/vending/mech/ntc/exousuit name = "NT Exosuit Bluespace Transporter" - desc = "Fabricator with advanced technology of bluespace transporting of resources." + ru_names = list( + NOMINATIVE = "торговый автомат NT Exosuit Bluespace Transporter", + GENITIVE = "торгового автомата NT Exosuit Bluespace Transporter", + DATIVE = "торговому автомату NT Exosuit Bluespace Transporter", + ACCUSATIVE = "торговый автомат NT Exosuit Bluespace Transporter", + INSTRUMENTAL = "торговым автоматом NT Exosuit Bluespace Transporter", + PREPOSITIONAL = "торговом автомате NT Exosuit Bluespace Transporter" + ) + desc = "Фабрикатор с передовой технологией BlueSpace-транспортировки ресурсов." icon = 'icons/obj/machines/robotics.dmi' icon_state = "fab-idle" products = list( @@ -3877,7 +4759,15 @@ /obj/machinery/vending/mech/ntc/equipment name = "NT Exosuit Bluespace Transporter" - desc = "Fabricator with advanced technology of bluespace transporting of resources." + ru_names = list( + NOMINATIVE = "торговый автомат NT Exosuit Bluespace Transporter", + GENITIVE = "торгового автомата NT Exosuit Bluespace Transporter", + DATIVE = "торговому автомату NT Exosuit Bluespace Transporter", + ACCUSATIVE = "торговый автомат NT Exosuit Bluespace Transporter", + INSTRUMENTAL = "торговым автоматом NT Exosuit Bluespace Transporter", + PREPOSITIONAL = "торговом автомате NT Exosuit Bluespace Transporter" + ) + desc = "Фабрикатор с передовой технологией BlueSpace-транспортировки ресурсов." icon_state = "engivend_off" panel_overlay = "engivend_panel" @@ -3897,7 +4787,15 @@ /obj/machinery/vending/mech/ntc/weapon name = "NT Exosuit Bluespace Transporter" - desc = "Fabricator with advanced technology of bluespace transporting of resources." + ru_names = list( + NOMINATIVE = "торговый автомат NT Exosuit Bluespace Transporter", + GENITIVE = "торгового автомата NT Exosuit Bluespace Transporter", + DATIVE = "торговому автомату NT Exosuit Bluespace Transporter", + ACCUSATIVE = "торговый автомат NT Exosuit Bluespace Transporter", + INSTRUMENTAL = "торговым автоматом NT Exosuit Bluespace Transporter", + PREPOSITIONAL = "торговом автомате NT Exosuit Bluespace Transporter" + ) + desc = "Фабрикатор с передовой технологией BlueSpace-транспортировки ресурсов." icon = 'icons/obj/machines/vending.dmi' icon_state = "liberationstation_off" @@ -3923,7 +4821,15 @@ /obj/machinery/vending/mech/ntc/tools name = "NT Exosuit Bluespace Transporter" - desc = "Fabricator with advanced technology of bluespace transporting of resources." + ru_names = list( + NOMINATIVE = "торговый автомат NT Exosuit Bluespace Transporter", + GENITIVE = "торгового автомата NT Exosuit Bluespace Transporter", + DATIVE = "торговому автомату NT Exosuit Bluespace Transporter", + ACCUSATIVE = "торговый автомат NT Exosuit Bluespace Transporter", + INSTRUMENTAL = "торговым автоматом NT Exosuit Bluespace Transporter", + PREPOSITIONAL = "торговом автомате NT Exosuit Bluespace Transporter" + ) + desc = "Фабрикатор с передовой технологией BlueSpace-транспортировки ресурсов." icon_state = "tool_off" panel_overlay = "tool_panel" diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index b4eb22d7cda..8f1a832df19 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -14,6 +14,8 @@ force = 40 wreckage = /obj/structure/mecha_wreckage/durand + mech_type = MECH_TYPE_DURAND + /obj/mecha/combat/durand/GrantActions(mob/living/user, human_occupant = 0) ..() defense_action.Grant(user, src) diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 93ee3d2f5d6..178b39e1fbf 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -19,6 +19,8 @@ step_energy_drain = 3 normal_step_energy_drain = 3 + mech_type = MECH_TYPE_GYGAX + /obj/mecha/combat/gygax/GrantActions(mob/living/user, human_occupant = 0) ..() overload_action.Grant(user, src) diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm index 119ef2defb4..b9fd765b711 100644 --- a/code/game/mecha/combat/honker.dm +++ b/code/game/mecha/combat/honker.dm @@ -18,6 +18,8 @@ starting_voice = /obj/item/mecha_modkit/voice/honk var/squeak = 0 + mech_type = MECH_TYPE_HONKER + /obj/mecha/combat/honker/loaded/New() ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/honker diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index 6a893993bb6..2f5612a33ab 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -20,6 +20,8 @@ destruction_sleep_duration = 2 SECONDS strafe_allowed = TRUE + mech_type = MECH_TYPE_MARAUDER + /obj/mecha/combat/marauder/GrantActions(mob/living/user, human_occupant = 0) . = ..() thrusters_action.Grant(user, src) diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index f73c2d6710c..846b55d0c6c 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -20,6 +20,8 @@ phase_state = "phazon-phase" max_equip = 3 + mech_type = MECH_TYPE_PHAZON + /obj/mecha/combat/phazon/GrantActions(mob/living/user, human_occupant = 0) ..() phasing_action.Grant(user, src) diff --git a/code/game/mecha/combat/reticence.dm b/code/game/mecha/combat/reticence.dm index 7a6384e28f9..c75f28c795e 100644 --- a/code/game/mecha/combat/reticence.dm +++ b/code/game/mecha/combat/reticence.dm @@ -21,6 +21,8 @@ turnsound = null starting_voice = /obj/item/mecha_modkit/voice/silent + mech_type = MECH_TYPE_RETICENCE + /obj/mecha/combat/reticence/loaded/New() ..() var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine/silenced diff --git a/code/game/mecha/combat/sidewinder.dm b/code/game/mecha/combat/sidewinder.dm index c04fea4c8a8..fdd825087bc 100644 --- a/code/game/mecha/combat/sidewinder.dm +++ b/code/game/mecha/combat/sidewinder.dm @@ -16,6 +16,8 @@ max_equip = 40 //а хули вы хотели, 60 тонн! starting_voice = /obj/item/mecha_modkit/voice/nanotrasen + mech_type = MECH_TYPE_SIDEWINTER + /obj/mecha/combat/sidewinder/add_cell() cell = new /obj/item/stock_parts/cell/infinite/abductor(src) diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index 0427747442d..4db22046082 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -16,6 +16,13 @@ var/drill_delay = 7 var/drill_level = DRILL_BASIC +/obj/item/mecha_parts/mecha_equipment/drill/action_checks(atom/target) + . = ..() + if(!.) + return + + return chassis.Adjacent(target) + /obj/item/mecha_parts/mecha_equipment/drill/action(atom/target) if(!action_checks(target)) return FALSE diff --git a/code/game/mecha/makeshift/lockermech.dm b/code/game/mecha/makeshift/lockermech.dm index 2b336c7b7a9..1aee25e82eb 100644 --- a/code/game/mecha/makeshift/lockermech.dm +++ b/code/game/mecha/makeshift/lockermech.dm @@ -15,6 +15,8 @@ cargo_capacity = 5 // you can fit a few things in this locker but not much. + mech_type = MECH_TYPE_LOCKER + /obj/mecha/makeshift/Destroy() new /obj/structure/closet(loc) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 8f85f40c04d..716c499ae69 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -121,6 +121,9 @@ ///Is mecha strafing currently var/strafe = FALSE + ///Mech subtype. Currently used in paintkits. + var/mech_type = MECH_TYPE_NONE + hud_possible = list (DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_TRACK_HUD) /obj/mecha/Initialize() @@ -913,15 +916,12 @@ if(occupant) to_chat(user, span_warning("You can't customize a mech while someone is piloting it - that would be unsafe!")) return ATTACK_CHAIN_PROCEED + var/obj/item/paintkit/paintkit = I - var/found = FALSE - for(var/type in paintkit.allowed_types) - if(type == initial_icon) - found = TRUE - break - if(!found) + if(!(paintkit.allowed_types & mech_type)) to_chat(user, span_warning("This paintkit isn't meant for use on this class of exosuit.")) return ATTACK_CHAIN_PROCEED + if(!user.drop_transfer_item_to_loc(paintkit, src)) return ..() user.visible_message(span_notice("[user] opens [paintkit] and spends some quality time customising [name].")) @@ -1745,4 +1745,20 @@ icon_state = occupant ? init_icon_state : "[init_icon_state]-open" +/obj/mecha/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) + . = ..() + + if(!phasing || is_teleport_allowed(new_turf.z)) + return + + phasing = FALSE + occupant_message("Phasing is malfunctioning.") + + if(!phasing_action.owner) + return + + phasing_action.button_icon_state = "mech_phasing_off" + phasing_action.UpdateButtonIcon() + + #undef OCCUPANT_LOGGING diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm index 5a9e2026a7b..bec74b3deb3 100644 --- a/code/game/mecha/mecha_actions.dm +++ b/code/game/mecha/mecha_actions.dm @@ -210,7 +210,7 @@ button_icon_state = "mech_phasing_off" /datum/action/innate/mecha/mech_toggle_phasing/Activate() - if(!owner || !chassis || chassis.occupant != owner) + if(!owner || !chassis || chassis.occupant != owner || !is_teleport_allowed(chassis.z)) return chassis.phasing = !chassis.phasing button_icon_state = "mech_phasing_[chassis.phasing ? "on" : "off"]" diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index 19a206986bb..6427ac4639d 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -14,6 +14,8 @@ normal_step_energy_drain = 6 var/builtin_hud_user = 0 + mech_type = MECH_TYPE_ODYSSEUS + /obj/mecha/medical/odysseus/moved_inside(var/mob/living/carbon/human/H) . = ..() if(. && ishuman(H)) diff --git a/code/game/mecha/paintkits.dm b/code/game/mecha/paintkits.dm index bd18a162955..316fd2ae210 100644 --- a/code/game/mecha/paintkits.dm +++ b/code/game/mecha/paintkits.dm @@ -10,7 +10,7 @@ var/new_desc = "A mech." //How is the new mech described? var/new_icon = "ripley" //What base icon will the new mech use? var/removable = null //Can the kit be removed? - var/list/allowed_types = list() //Types of mech that the kit will work on. + var/allowed_types = NONE //Types of mech that the kit will work on. //If you want to add new paintkit, grab a paintkit sprite from: "icons/obj/paintkit.dmi" or make a new one //Then throw the sprites of the new mecha skin to the "icons/obj/mecha/mecha.dmi and add a new object below" @@ -23,7 +23,7 @@ new_name = "APLU \"Titan's Fist\"" new_desc = "This ordinary mining Ripley has been customized to look like a unit of the Titans Fist." new_icon = "titan" - allowed_types = list("ripley", "firefighter") + allowed_types = MECH_TYPE_RIPLEY /obj/item/paintkit/ripley_mercenary name = "APLU \"Strike the Earth!\" customisation kit" @@ -34,7 +34,7 @@ new_name = "APLU \"Strike the Earth!\"" new_desc = "Looks like an over worked, under maintained Ripley with some horrific damage." new_icon = "earth" - allowed_types = list("ripley", "firefighter") + allowed_types = MECH_TYPE_RIPLEY /obj/item/paintkit/gygax_syndie name = "Syndicate Gygax customisation kit" @@ -44,7 +44,7 @@ new_name = "Black Gygax" new_desc = "Why does this thing have a Syndicate logo on it? Wait a second..." new_icon = "gygax_black" - allowed_types = list("gygax") + allowed_types = MECH_TYPE_GYGAX /obj/item/paintkit/gygax_alt name = "Old gygax customisation kit" @@ -54,7 +54,7 @@ new_name = "Old Gygax" new_desc = "An outdated security exosuit. It is a real achievement to find a preserved exosuit of this model." new_icon = "gygax_alt" - allowed_types = list("gygax") + allowed_types = MECH_TYPE_GYGAX /obj/item/paintkit/ripley_red name = "APLU \"Firestarter\" customisation kit" @@ -64,7 +64,7 @@ new_name = "APLU \"Firestarter\"" new_desc = "A standard APLU exosuit with stylish orange flame decals." new_icon = "ripley_flames_red" - allowed_types = list("ripley", "firefighter") + allowed_types = MECH_TYPE_RIPLEY /obj/item/paintkit/firefighter_Hauler name = "APLU \"Hauler\" customisation kit" @@ -74,7 +74,7 @@ new_name = "APLU \"Hauler\"" new_desc = "An old engineering exosuit. For lovers of classics." new_icon = "hauler" - allowed_types = list("ripley", "firefighter") + allowed_types = MECH_TYPE_RIPLEY /obj/item/paintkit/durand_shire name = "Durand \"Shire\" modification kit" @@ -84,7 +84,7 @@ new_name = "Shire" new_desc = "An incredibly heavy-duty war machine derived from an Interstellar War design." new_icon = "shire" - allowed_types = list("durand") + allowed_types = MECH_TYPE_DURAND /obj/item/paintkit/durand_executor name = "Durand \"Executioner\" modification kit" @@ -94,7 +94,7 @@ new_name = "mk.V Executioner" new_desc = "Dreadnought of the Executioner Order, heavy fire support configuration, made for purge evil and heretics." new_icon = "executor" - allowed_types = list("durand") + allowed_types = MECH_TYPE_DURAND /obj/item/paintkit/firefighter_zairjah name = "APLU \"Zairjah\" customisation kit" @@ -104,7 +104,7 @@ new_name = "APLU \"Zairjah\"" new_desc = "A mining mecha of custom design, a closed cockpit with powerloader appendages." new_icon = "ripley_zairjah" - allowed_types = list("ripley", "firefighter") + allowed_types = MECH_TYPE_RIPLEY /obj/item/paintkit/firefighter_combat name = "APLU \"Combat Ripley\" customisation kit" @@ -114,7 +114,7 @@ new_name = "APLU \"Combat Ripley\"" new_desc = "Wait a second, why does his equipment slots spark so dangerously?" new_icon = "combatripley" - allowed_types = list("ripley", "firefighter") + allowed_types = MECH_TYPE_RIPLEY /obj/item/paintkit/firefighter_Reaper name = "APLU \"Reaper\" customisation kit" @@ -124,7 +124,7 @@ new_name = "APLU \"Reaper\"" new_desc = "OH SHIT IT'S THE DEATHSQUAD WE'RE ALL GONNA D- Stop, it's just a painted firefighter." new_icon = "deathripley" - allowed_types = list("ripley", "firefighter") + allowed_types = MECH_TYPE_RIPLEY /obj/item/paintkit/odysseus_hermes name = "Odysseus \"Hermes\" customisation kit" @@ -134,7 +134,7 @@ new_name = "Hermes" new_desc = "Heavy-duty diving exosuit developed and produced for for highly specialized underwater operations. How did he end up here?" new_icon = "hermes" - allowed_types = list("odysseus") + allowed_types = MECH_TYPE_ODYSSEUS /obj/item/paintkit/durand_unathi name = "Durand \"Kharn MK. IV\" customisation kit" @@ -144,7 +144,7 @@ new_name = "Kharn MK. IV" new_desc = "My life for the empress!" new_icon = "unathi" - allowed_types = list("durand") + allowed_types = MECH_TYPE_DURAND /obj/item/paintkit/phazon_imperion name = "Phazon \"Imperion\" customisation kit" @@ -154,7 +154,7 @@ new_name = "Imperion" new_desc = "The pinnacle of scientific research and pride of Nanotrasen, it uses cutting edge bluespace technology and expensive materials." new_icon = "imperion" - allowed_types = list("phazon") + allowed_types = MECH_TYPE_PHAZON /obj/item/paintkit/phazon_janus name = "Phazon \"Janus\" customisation kit" @@ -164,7 +164,7 @@ new_name = "Janus" new_desc = "The pinnacle of scientific research and pride of Nanotrasen, it uses cutting edge bluespace technology and expensive materials." new_icon = "janus" - allowed_types = list("phazon") + allowed_types = MECH_TYPE_PHAZON /obj/item/paintkit/phazon_plazmus name = "Phazon \"Plazmus\" customisation kit" @@ -174,7 +174,7 @@ new_name = "Plazmus" new_desc = "So, you combined two of the most dangerous technologies into this thing?" new_icon = "plazmus" - allowed_types = list("phazon") + allowed_types = MECH_TYPE_PHAZON /obj/item/paintkit/phazon_blanco name = "Phazon \"Blanco\" customisation kit" @@ -184,7 +184,7 @@ new_name = "Blanco" new_desc = "It took more than six months of work to find the perfect pastel colors for this mech" new_icon = "phazon_blanco" - allowed_types = list("phazon") + allowed_types = MECH_TYPE_PHAZON /obj/item/paintkit/firefighter_aluminizer name = "APLU \"Aluminizer\" customisation kit" @@ -194,7 +194,7 @@ new_name = "Aluminizer" new_desc = "Did you just painted your Ripley white? It looks good." new_icon = "aluminizer" - allowed_types = list("ripley", "firefighter") + allowed_types = MECH_TYPE_RIPLEY /obj/item/paintkit/odysseus_death name = "Odysseus \"Reaper\" customisation kit" @@ -204,7 +204,7 @@ new_name = "Reaper" new_desc = "OH SHIT IT'S THE DEATHSQUAD WE'RE ALL GONNA... get a bad medical treatment?" new_icon = "murdysseus" - allowed_types = list("odysseus") + allowed_types = MECH_TYPE_ODYSSEUS /obj/item/paintkit/durand_soviet name = "Durand \"Dollhouse\" customisation kit" @@ -214,7 +214,7 @@ new_name = "Doll House" new_desc = "A extremely heavy-duty combat mech designed in USSP. Glory to Space Russia!" new_icon = "dollhouse" - allowed_types = list("durand") + allowed_types = MECH_TYPE_DURAND /obj/item/paintkit/clarke_orangey name = "Clarke \"Orangey\" customisation kit" @@ -224,7 +224,7 @@ new_name = "Orangey" new_desc = "Did you just painted your Clarke orange? It looks quite nice." new_icon = "orangey" - allowed_types = list("clarke") + allowed_types = MECH_TYPE_CLARKE /obj/item/paintkit/clarke_spiderclarke name = "Clarke \"Spiderclarke\" customisation kit" @@ -234,7 +234,7 @@ new_name = "Spiderclarke" new_desc = "Heavy mining exo-suit coated with chitin. Isn't that a giant spider's scalp on his visor?" new_icon = "spiderclarke" - allowed_types = list("clarke") + allowed_types = MECH_TYPE_CLARKE /obj/item/paintkit/gygax_pobeda name = "Gygax \"Pobeda\" customisation kit" @@ -244,7 +244,7 @@ new_name = "Pobeda" new_desc = "A heavy-duty old Gygax designed and painted in USSP. Glory to Space Russia!" new_icon = "pobeda" - allowed_types = list("gygax") + allowed_types = MECH_TYPE_GYGAX /obj/item/paintkit/gygax_white name = "White Gygax customisation kit" @@ -254,7 +254,7 @@ new_name = "White Gygax" new_desc = "Did you just painted your Gygax white? I like it." new_icon = "medigax" - allowed_types = list("gygax") + allowed_types = MECH_TYPE_GYGAX /obj/item/paintkit/gygax_medgax name = "Gygax \"medgax\" customisation kit" @@ -264,7 +264,7 @@ new_name = "Medgax" new_desc = "OH SHIT THERE IS A COMBAT MECH IN THE HOSPITAL IT'S GONNA KILL US" new_icon = "medgax" - allowed_types = list("gygax") + allowed_types = MECH_TYPE_GYGAX /obj/item/paintkit/lockermech_syndie name = "Syndie Locker Mech customisation kit" @@ -274,7 +274,7 @@ new_name = "Syndie Locker Mech" new_desc = "Dark-red painted locker mech. The paint is still wet." new_icon = "syndielockermech" - allowed_types = list("lockermech") + allowed_types = MECH_TYPE_LOCKER /obj/item/paintkit/gygax_pirate name = "Pirate Gygax customisation kit" @@ -283,7 +283,7 @@ new_name = "Pirate Gygax" new_icon = "piratgygax" - allowed_types = list("gygax") + allowed_types = MECH_TYPE_GYGAX /obj/item/paintkit/lockermech_pirate name = "Pirate Locker Mech customisation kit" @@ -292,7 +292,7 @@ new_name = "Pirate Locker Mech" new_icon = "piratlockermech" - allowed_types = list("lockermech") + allowed_types = MECH_TYPE_LOCKER /obj/item/paintkit/durand_pirate name = "Pirate Durand customisation kit" @@ -301,7 +301,7 @@ new_name = "Pirate Durand" new_icon = "piratdurand" - allowed_types = list("durand") + allowed_types = MECH_TYPE_DURAND /obj/item/paintkit/mauler_pirate name = "Pirate Mauler customisation kit" @@ -310,7 +310,7 @@ new_name = "Pirate Mauler" new_icon = "piratmauler" - allowed_types = list("mauler") + allowed_types = MECH_TYPE_MARAUDER /obj/item/paintkit/lockermech_nt name = "NT Special Locker Mech customisation kit" @@ -319,7 +319,7 @@ new_name = "NT Special Locker Mech" new_icon = "ntlockermech" - allowed_types = list("lockermech") + allowed_types = MECH_TYPE_LOCKER /obj/item/paintkit/durand_nt name = "NT Special Durand customisation kit" @@ -328,7 +328,7 @@ new_name = "NT Special Durand" new_icon = "ntdurand" - allowed_types = list("durand") + allowed_types = MECH_TYPE_DURAND /obj/item/paintkit/ripley_nt name = "NT Special APLU customisation kit" @@ -337,7 +337,7 @@ new_name = "NT Special APLU" new_icon = "ntripley" - allowed_types = list("ripley", "firefighter") + allowed_types = MECH_TYPE_RIPLEY /obj/item/paintkit/phazon_nt name = "NT Special Phazon customisation kit" @@ -346,7 +346,7 @@ new_name = "NT Special Phazon" new_icon = "ntphazon" - allowed_types = list("phazon") + allowed_types = MECH_TYPE_PHAZON /obj/item/paintkit/ashed name = "Ashed customisation kit" @@ -355,4 +355,53 @@ new_name = "Ashed Mech" new_prefix = "ashed" - allowed_types = list("durand", "ripley", "gygax", "phazon", "lockermech") + allowed_types = MECH_TYPE_RIPLEY|MECH_TYPE_GYGAX|MECH_TYPE_DURAND|MECH_TYPE_PHAZON|MECH_TYPE_LOCKER + + +// Universal paintkit +/obj/item/universal_paintkit + name = "universal customisation kit" + desc = "A kit containing all the needed tools and parts to repaint the mech as many times as they wish." + icon = 'icons/obj/paintkit.dmi' + icon_state = "paintkit" + +/obj/item/universal_paintkit/attack_obj(obj/object, mob/living/user, params) + if(!ismecha(object)) + return ..() + + var/obj/mecha/mech = object + if(mech.occupant) + to_chat(user, span_warning("You can't customize a mech while someone is piloting it - that would be unsafe!")) + return ATTACK_CHAIN_PROCEED + + var/list/possibilities = list() + for(var/path in subtypesof(/obj/item/paintkit)) + var/obj/item/paintkit/kit = new path + + if(kit.allowed_types & mech.mech_type) + possibilities += kit + + if(isemptylist(possibilities)) + to_chat(user, span_warning("There are no skins for this mech type!")) + return ATTACK_CHAIN_PROCEED + + INVOKE_ASYNC(src, PROC_REF(choose_paint), user, mech, possibilities) + return ATTACK_CHAIN_BLOCKED_ALL + + +/obj/item/universal_paintkit/proc/choose_paint(mob/living/user, obj/mecha/mech, list/possibilities) + var/choice = tgui_input_list(user, "Pick your skin for mech.", "Paints", possibilities) + if(!choice || user.incapacitated() || !user.is_in_hands(src) || !user.Adjacent(mech)) + return + + user.visible_message(span_notice("[user] opens [src] and customises [mech.name].")) + + var/obj/item/paintkit/chosen_kit = choice + if(chosen_kit.new_prefix) + mech.initial_icon = "[chosen_kit.new_prefix][initial(mech.initial_icon)]" //weird but ok + else + mech.initial_icon = chosen_kit.new_icon + + mech.name = chosen_kit.new_name + mech.desc = chosen_kit.new_desc + mech.update_icon(UPDATE_ICON_STATE) diff --git a/code/game/mecha/working/clarke.dm b/code/game/mecha/working/clarke.dm index 0544fb386e1..84af825bad5 100644 --- a/code/game/mecha/working/clarke.dm +++ b/code/game/mecha/working/clarke.dm @@ -18,6 +18,8 @@ stepsound = 'sound/mecha/mechmove04.ogg' turnsound = 'sound/mecha/mechmove04.ogg' + mech_type = MECH_TYPE_CLARKE + /obj/mecha/working/clarke/GrantActions(mob/living/user, human_occupant = 0) . = ..() thrusters_action.Grant(user, src) diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index d395596ad31..fa7255d1147 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -16,6 +16,8 @@ var/hides = 0 var/plates = 0 + mech_type = MECH_TYPE_RIPLEY + /obj/mecha/working/ripley/Destroy() for(var/i=1, i <= hides, i++) diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index b7adbe7f282..5f15b415f03 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -59,6 +59,22 @@ return ..() /obj/effect/anomaly/process() + for(var/obj/item/I in get_turf(src)) + if(!I.origin_tech) + continue + if (istype(I, /obj/item/relict_production/rapid_dupe)) + var/amount = rand(1, 3) + for (var/i; i <= amount; i++) + new /obj/item/relic(get_turf(I)) + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(5, get_turf(I)) + smoke.start() + qdel(I) + continue + if (prob(2)) + new /obj/item/relic(get_turf(I)) + qdel(I) + anomalyEffect() if(death_time < world.time) if(loc) diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm index 4c9df1cec23..a288263f7a4 100644 --- a/code/game/objects/effects/decals/Cleanable/misc.dm +++ b/code/game/objects/effects/decals/Cleanable/misc.dm @@ -257,3 +257,32 @@ /obj/effect/decal/cleanable/glass/plasma icon_state = "plasmatiny" + +/obj/effect/decal/cleanable/ashrune + name = "Ash rune" + desc = "A rune drawn in ash." + icon = 'icons/effects/ashwalker_rune.dmi' + icon_state = "AshRuneSmall" + anchored = TRUE + mergeable_decal = FALSE + mouse_opacity = MOUSE_OPACITY_ICON + +/obj/effect/decal/cleanable/ashrune/Initialize(mapload) + . = ..() + + update_icon(UPDATE_ICON_STATE) + + pixel_x = -32 + pixel_y = -32 + +/obj/effect/decal/cleanable/ashrune/update_icon_state() + icon_state = "AshRuneFilled" + +/obj/effect/decal/cleanable/ashrune/ComponentInitialize() + AddComponent( \ + /datum/component/ritual_object, \ + /datum/ritual/ashwalker, \ + ) + +/obj/effect/decal/cleanable/ashrune/is_cleanable() + return FALSE diff --git a/code/game/objects/effects/decals/turfdecals/markings.dm b/code/game/objects/effects/decals/turfdecals/markings.dm index e0695ff0b84..a23e8410314 100644 --- a/code/game/objects/effects/decals/turfdecals/markings.dm +++ b/code/game/objects/effects/decals/turfdecals/markings.dm @@ -260,7 +260,10 @@ /obj/effect/turf_decal/siding/wood/pallet icon_state = "siding_wood_poddon" +<<<<<<< HEAD +======= +>>>>>>> 7b37176792d4632c52e42a22cba6dc41210b6ce3 /obj/effect/turf_decal/siding/wood/corner icon_state = "siding_wood_corner" diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 39d2e954db0..080ac73019f 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -135,6 +135,7 @@ /obj/item/stack/tape_roll = 10, /obj/item/storage/bag/plasticbag = 20, /obj/item/caution = 10, + /obj/item/clothing/head/helmet/biker = 2, ////////////////CONTRABAND STUFF////////////////// /obj/item/grenade/clown_grenade = 3, /obj/item/seeds/ambrosia/cruciatus = 3, diff --git a/code/game/objects/effects/spawners/random_spawners.dm b/code/game/objects/effects/spawners/random_spawners.dm index 5e4554162f8..19c7603d4ca 100644 --- a/code/game/objects/effects/spawners/random_spawners.dm +++ b/code/game/objects/effects/spawners/random_spawners.dm @@ -172,6 +172,16 @@ /mob/living/simple_animal/mouse/rat/irish = 1, ) +/obj/effect/spawner/random_spawners/fakewall + name = "fake door spawner" + icon_state = "rand_door" + result = list( + /turf/simulated/wall, + /obj/structure/sign/poster/secret/fakerdoor, + /turf/simulated/floor/plating, + /obj/structure/falsewall, + /turf/simulated/wall, + ) /obj/structure/sign/poster/secret/fakerdoor diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 25b478b26a2..d88fc674794 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -202,29 +202,33 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/g ///Datum used in item pixel shift TGUI var/datum/ui_module/item_pixel_shift/item_pixel_shift -/obj/item/New() - ..() - for(var/path in actions_types) - if(action_icon && action_icon_state) - new path(src, action_icon[path], action_icon_state[path]) - else - new path(src) - - if(!move_resist) - determine_move_resist() - /obj/item/Initialize(mapload) . = ..() + if(isstorage(loc)) //marks all items in storage as being such item_flags |= IN_STORAGE + if(!hitsound) if(damtype == "fire") hitsound = 'sound/items/welder.ogg' + if(damtype == "brute") hitsound = "swing_hit" + + for(var/path in actions_types) + if(action_icon && action_icon_state) + new path(src, action_icon[path], action_icon_state[path]) + + else + new path(src) + + if(!move_resist) + determine_move_resist() + add_eatable_component() + /obj/item/proc/add_eatable_component() AddComponent(/datum/component/eatable) diff --git a/code/game/objects/items/anomaly_beacon.dm b/code/game/objects/items/anomaly_beacon.dm new file mode 100644 index 00000000000..113136a524a --- /dev/null +++ b/code/game/objects/items/anomaly_beacon.dm @@ -0,0 +1,30 @@ +/obj/item/assembly/anomaly_beacon + icon = 'icons/obj/weapons/techrelic.dmi' + icon_state = "beacon" + item_state = "beacon" + lefthand_file = 'icons/mob/inhands/relics_production/inhandl.dmi' + righthand_file = 'icons/mob/inhands/relics_production/inhandr.dmi' + name = "anomaly beacon" + desc = "A device that draws power from bluespace and creates a permanent tracking beacon." + origin_tech = "bluespace=6" + +/obj/item/assembly/anomaly_beacon/activate() + var/obj/effect/anomaly/anomaly_path = pick(subtypesof(/obj/effect/anomaly/)) + var/newAnomaly = new anomaly_path(get_turf(src)) + notify_ghosts("[name] has an object of interest: [newAnomaly]!", title = "Something's Interesting!", source = newAnomaly, action = NOTIFY_FOLLOW) + qdel(src) + +/obj/item/assembly/anomaly_beacon/attack_self(mob/user) + activate() + +/datum/crafting_recipe/anomaly_beacon + name = "Anomaly beacon" + result = /obj/item/assembly/anomaly_beacon + tools = list(TOOL_SCREWDRIVER) + reqs = list(/obj/item/assembly/signaler/anomaly = 1, + /obj/item/relict_production/rapid_dupe = 1, + /obj/item/radio/beacon = 1, + /obj/item/stack/cable_coil = 5) + time = 300 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 4fb4454d9fe..16791d10f87 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -1,7 +1,7 @@ // This item just has an integrated camera console, which the data is "proxied" to /obj/item/camera_bug name = "camera bug" - desc = "For illicit snooping through the camera network." + desc = "Для незаконного слежения через сеть камер наблюдения." icon = 'icons/obj/device.dmi' icon_state = "camera_bug" w_class = WEIGHT_CLASS_TINY @@ -14,7 +14,7 @@ /obj/machinery/computer/security/camera_bug name = "invasive camera utility" - desc = "How did this get here?! Please report this as a bug to github" + desc = "Как это сюда попало?! Пожалуйста, сообщите об этом как об ошибке на github." use_power = NO_POWER_USE /obj/item/camera_bug/Initialize(mapload) @@ -38,7 +38,7 @@ /obj/item/camera_bug/ert name = "ERT Camera Monitor" - desc = "A small handheld device used by ERT commanders to view camera feeds remotely." + desc = "Небольшое портативное устройство, используемое командирами ОБР для удаленного наблюдения." /obj/item/camera_bug/ert/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 5df30b280e3..caa2e3e215a 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -132,6 +132,13 @@ light_range = 5 // A little better than the standard flashlight. hitsound = 'sound/weapons/genhit1.ogg' +/obj/item/flashlight/sectaclight + name = "security tactical flashlight" + desc = "Прочный тактический фонарь, оборудованный для комфортного ношения на голове. Используется представителями службы безопасности." + icon_state = "sectaclight" + item_state = "" + slot_flags = ITEM_SLOT_EARS + /obj/item/flashlight/drone name = "low-power flashlight" desc = "A miniature lamp, that might be used by small robots." diff --git a/code/game/objects/items/devices/machineprototype.dm b/code/game/objects/items/devices/machineprototype.dm index 7bfed75c1d4..062676b0280 100644 --- a/code/game/objects/items/devices/machineprototype.dm +++ b/code/game/objects/items/devices/machineprototype.dm @@ -5,3 +5,9 @@ icon_state = "machineprototype" materials = list(MAT_METAL=1000, MAT_GLASS=500) origin_tech = "engineering=6" + +/obj/item/machineprototype/alien + name = "unknown alien prototype" + icon_state = "ayyy_prototype" + desc = "A complicated alien machine of unknown origin. You have no idea how it works." + origin_tech = "materials=7;abductor=5" diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 6914b59cc95..6561e5a8d99 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -1,11 +1,12 @@ /obj/item/paicard name = "personal AI device" + desc = "Возможно, ваш новый лучший друг!" icon = 'icons/obj/aicards.dmi' icon_state = "pai" item_state = "pai" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT - origin_tech = "programming=2" + origin_tech = "programming=3;powerstorage=2" // Or it will be cloned in the experimentor var/request_cooldown = 5 // five seconds var/last_request var/obj/item/radio/headset/radio @@ -13,11 +14,10 @@ var/mob/living/silicon/pai/pai var/list/faction = list("neutral") // The factions the pAI will inherit from the card resistance_flags = FIRE_PROOF | ACID_PROOF | INDESTRUCTIBLE - var/next_ping_at = 0 - + COOLDOWN_DECLARE(ping_cooldown) + ru_names = list(NOMINATIVE = "интелкарта пИИ", GENITIVE = "интелкарты пИИ", DATIVE = "интелкарте пИИ", ACCUSATIVE = "интелкарту пИИ", INSTRUMENTAL = "интелкартой пИИ", PREPOSITIONAL = "интелкарте пИИ") /// for Syndicate pAI type var/is_syndicate_type = FALSE - var/extra_memory = 0 var/obj/item/paicard_upgrade/upgrade var/list/upgrades = list() @@ -25,22 +25,23 @@ name = "syndicate personal AI device" faction = list("syndicate") is_syndicate_type = TRUE - extra_memory = 50 upgrade = new() /obj/item/paicard/New() ..() add_overlay("pai-off") + LAZYADD(GLOB.paiController.paicards, src) /obj/item/paicard/Destroy() if(pai) pai.ghostize() QDEL_NULL(pai) + LAZYREMOVE(GLOB.paiController.paicards, src) QDEL_NULL(radio) return ..() /obj/item/paicard/attack_self(mob/user) - if(!in_range(src, user)) + if(!in_range(src, user) || (pai && (pai == user))) return user.set_machine(src) var/dat = {" @@ -254,34 +255,37 @@ return var/mob/M = usr if(!iscarbon(M)) - to_chat(usr, "You don't have any DNA, or your DNA is incompatible with this device.") + to_chat(M, span_notice("Ваше ДНК несовместимо с устройством.")) else var/datum/dna/dna = usr.dna pai.master = M.real_name pai.master_dna = dna.unique_enzymes - to_chat(pai, "

You have been bound to a new master.

") + var/list/message_box = list() + message_box.Add(span_notice("Обнаружен новый мастер: [pai.master]!")) + to_chat(pai, chat_box_notice(message_box.Join("
"))) + if(href_list["request"]) var/delta = (world.time / 10) - last_request if(request_cooldown > delta) var/cooldown_time = round(request_cooldown - ((world.time / 10) - last_request), 1) - to_chat(usr, "The request system is currently offline. Please wait another [cooldown_time] seconds.") + to_chat(usr, span_warning("Система запросов в настоящее время отключена. Время для перезапуска: [cooldown_time]с.")) return last_request = world.time / 10 looking_for_personality = 1 GLOB.paiController.findPAI(src, usr) if(href_list["wipe"]) - var/confirm = tgui_alert(usr, "Are you certain you wish to delete the current personality? This action cannot be undone.", "Personality Wipe", list("No", "Yes")) - if(confirm == "Yes") + var/confirm = tgui_alert(usr, "Вы уверены, что хотите стереть текущую личность? Это действие невозможно отменить.", "Стирание личности", list("Да", "Нет")) + if(confirm == "Да") for(var/mob/M in src) - to_chat(M, "

You feel yourself slipping away from reality.

") - to_chat(M, "

Byte by byte you lose your sense of self.

") - to_chat(M, "

Your mental faculties leave you.

") - to_chat(M, "
oblivion...
") + to_chat(M, "

Вы чувствуете, что теряете связь с реальностью...

") + to_chat(M, "

Байт за байтом вы теряете себя...

") + to_chat(M, "

Ваш разум ускользает!..

") + to_chat(M, "
забвение...
") var/mob/living/silicon/pai/P = M if(istype(P)) if(P.body_position == LYING_DOWN) P.close_up() - M.death(0, 1) + M.death(FALSE, TRUE) removePersonality() if(href_list["wires"]) var/t1 = text2num(href_list["wires"]) @@ -291,12 +295,12 @@ if(2) radio.ToggleReception() if(href_list["setlaws"]) - var/newlaws = tgui_input_text(usr, "Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", pai.pai_laws) + var/newlaws = tgui_input_text(usr, "Введите любые дополнительные директивы, которым должен следовать ваш пИИ. Учтите, что эти директивы не станут важнее верности персонального ИИ своему текущему мастеру.", "Настройка директив пИИ", pai.pai_laws) if(newlaws) pai.pai_laws = newlaws - to_chat(pai, "Your supplemental directives have been updated. Your new directives are:") - to_chat(pai, "Prime Directive:
[pai.pai_law0]") - to_chat(pai, "Supplemental Directives:
[pai.pai_laws]") + to_chat(pai, span_warning("Ваши дополнительные директивы были обновлены!")) + to_chat(pai, span_notice("Основная директива:
[pai.pai_law0]")) + to_chat(pai, span_notice("Дополнительные дерективы:
[pai.pai_laws]")) attack_self(usr) // WIRE_SIGNAL = 1 @@ -306,19 +310,38 @@ /obj/item/paicard/proc/setPersonality(mob/living/silicon/pai/personality) pai = personality add_overlay("pai-happy") + pai.syndipai = is_syndicate_type + if(upgrade) - extra_memory = upgrade.extra_memory - pai.syndipai = TRUE - pai.reset_software(extra_memory) + upgrade.set_syndie_key(src) + upgrade.used = TRUE + + pai.reset_software() + + SSticker.mode.update_cult_icons_removed(pai.mind) + SSticker.mode.update_rev_icons_removed(pai.mind) + + var/list/welcome_message = list() + welcome_message.Add(span_notice("Вы — персональный ИИ!")) + welcome_message.Add("Как личность, вы являетесь сложно мыслящим разумным существом. В отличие от станционных версий ИИ, вы способны понимать комплексные нюансы человеческого языка. Вы способны чувствовать „дух“ директивы и следовать ей, не попадая в ловушку обычных формальностей законов.") + welcome_message.Add("Помните, что машина вы только по названию и строению, во всех иных аспектах вы — идеальный спутник.") + welcome_message.Add("Если дополнительные директивы конфликтуют с основной, то они могут быть проигнорированы для продолжения исполнения основной директивы.") + if(upgrade && istype(upgrade, /obj/item/paicard_upgrade/protolate)) + welcome_message.Add(span_warning("Будучи СпИИ, вы имеете доступ к особым программам.")) + else if(upgrade) + welcome_message.Add(span_warning("Будучи СпИИ, вы имеете доступ к особым программам, а так же доступ к зашифрованному каналу связи Синдиката — :t")) + + to_chat(pai, chat_box_notice(welcome_message.Join("
"))) + /obj/item/paicard/proc/removePersonality() + extinguish_light(TRUE) pai = null cut_overlays() add_overlay("pai-off") if(blocks_emissive) add_overlay(get_emissive_block()) QDEL_LIST(upgrades) - extra_memory = 0 /obj/item/paicard var/current_emotion = 1 @@ -354,16 +377,24 @@ add_overlay(get_emissive_block()) current_emotion = emotion + /obj/item/paicard/proc/alertUpdate() - var/turf/T = get_turf_or_move(loc) - for(var/mob/M in viewers(T)) - M.show_message("[src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "[src] bleeps electronically.", 2) + visible_message(span_notice("[capitalize(declent_ru(NOMINATIVE))] выводит сообщение на экран: \"Дополнительные личности доступны для загрузки.\"")) + softping() + + +/obj/item/paicard/proc/softping() + if(COOLDOWN_FINISHED(src, ping_cooldown)) + playsound(get_turf(src), 'sound/items/posiping.ogg', 50, 0) + COOLDOWN_START(src, ping_cooldown, 20 SECONDS) + /obj/item/paicard/emp_act(severity) for(var/mob/M in src) M.emp_act(severity) ..() + /obj/item/paicard/extinguish_light(force = FALSE) if(pai) pai.extinguish_light() @@ -374,26 +405,25 @@ if(istype(I, /obj/item/pai_cartridge)) add_fingerprint(user) if(!pai) - to_chat(user, span_warning("PAI must be active to install the cartridge.")) + user.balloon_alert(user, "необходима активная личность!") return ATTACK_CHAIN_PROCEED for(var/obj/item/pai_cartridge/cartridge in upgrades) if(istype(I, cartridge)) - to_chat(user, span_warning("PAI already has this cartridge.")) + user.balloon_alert(user, "картридж уже установлен!") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You install [I].")) + user.balloon_alert(user, "картридж установлен!") switch(I.type) if(/obj/item/pai_cartridge/reset) - pai.reset_software(extra_memory) + pai.reset_software() qdel(I) if(/obj/item/pai_cartridge/female) pai.female_chassis = TRUE upgrades += I if(/obj/item/pai_cartridge/memory) var/obj/item/pai_cartridge/memory/memory = I - extra_memory = memory.extra_memory - pai.ram += min(extra_memory, 70) + pai.ram += min(memory.extra_memory, 70) upgrades += memory if(/obj/item/pai_cartridge/doorjack) var/obj/item/pai_cartridge/doorjack/doorjack = I @@ -410,38 +440,32 @@ if(istype(I, /obj/item/paicard_upgrade)) add_fingerprint(user) var/obj/item/paicard_upgrade/new_upgrade = I - if(pai) - if(pai.syndipai) - to_chat(user, span_warning("This [name] is badass enough already!")) - return ATTACK_CHAIN_PROCEED - if(!user.drop_transfer_item_to_loc(new_upgrade, src)) - return ..() - extra_memory += new_upgrade.extra_memory - pai.reset_software(extra_memory) - pai.syndipai = TRUE - qdel(new_upgrade) - return ATTACK_CHAIN_BLOCKED_ALL - if(is_syndicate_type) - to_chat(user, span_warning("This [name] is badass enough already!")) - return ATTACK_CHAIN_PROCEED - if(upgrade) - to_chat(user, span_warning("This [name] has [upgrade] installed already!")) + if(is_syndicate_type || upgrade || (pai && pai.syndipai)) + user.balloon_alert(user, "пИИ уже достаточно крут!") return ATTACK_CHAIN_PROCEED + if(!user.drop_transfer_item_to_loc(new_upgrade, src)) return ..() - to_chat(user, span_notice("You install [new_upgrade].")) + + user.balloon_alert(user, "вы установили картридж!") upgrade = new_upgrade - extra_memory += new_upgrade.extra_memory is_syndicate_type = TRUE + if(pai) + pai.syndipai = TRUE + pai.balloon_alert(pai, "разблокированы новые программы!") + upgrade.set_syndie_key(src) + upgrade.used = TRUE + pai.reset_software() + return ATTACK_CHAIN_BLOCKED_ALL if(istype(I, /obj/item/encryptionkey)) add_fingerprint(user) if(!radio) - to_chat(user, span_warning("This [name] has no radio installed!")) + to_chat(user, span_warning("[pai.name] не имеет установленного радио!")) return ATTACK_CHAIN_PROCEED if(radio.keyslot1) - to_chat(user, span_warning("[name]'s radio cannot hold another encryption key!")) + to_chat(user, span_warning("[pai.name] не имеет свободных слотов под ключи шифрования!")) return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() @@ -455,29 +479,33 @@ /obj/item/paicard/screwdriver_act(mob/living/user, obj/item/I) . = TRUE - if(!I.use_tool(src, user, 0, volume = 0)) + if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return var/turf/T = get_turf(user) if(upgrade && !pai) - extra_memory -= upgrade.extra_memory is_syndicate_type = FALSE + if(T) - upgrade.forceMove(T) + user.put_in_hands(upgrade) upgrade = null - to_chat(user, span_notice("You remove paicard upgrade.")) + + to_chat(user, span_notice("Вы вытащили картридж улучшения пИИ.")) if(radio?.keyslot1) for(var/ch_name in radio.channels) SSradio.remove_object(radio, SSradio.radiochannels[ch_name]) radio.secure_radio_connections[ch_name] = null + if(T) - radio.keyslot1.forceMove(T) + user.put_in_hands(radio.keyslot1) radio.keyslot1 = null + radio.recalculateChannels() - to_chat(user, span_notice("You pop out the encryption key in the headset!")) + to_chat(user, span_notice("Вы извлекли ключ шифрования из [declent_ru(GENITIVE)].")) I.play_tool_sound(user, I.tool_volume) + /obj/item/paicard/attack_ghost(mob/dead/observer/user) if(pai) return @@ -485,12 +513,10 @@ GLOB.paiController.recruitWindow(user) return if(!GLOB.paiController.check_recruit(user)) - to_chat(user, "You are not eligible to become a pAI.") + to_chat(user, span_warning("Вы не можете стать пИИ.")) return - if(world.time >= next_ping_at) - next_ping_at = world.time + 20 SECONDS - playsound(get_turf(src), 'sound/items/posiping.ogg', 80, 0) - visible_message("[src] pings softly.") + softping() + /obj/item/pai_cartridge name = "PAI upgrade" @@ -531,7 +557,7 @@ icon = 'icons/obj/pda.dmi' icon_state = "pai-spai" w_class = WEIGHT_CLASS_TINY - origin_tech = "programming=2;syndicate=2" + origin_tech = "programming=3;syndicate=2" // Or it will be cloned in the experimentor var/extra_memory = 50 var/used = TRUE @@ -543,6 +569,27 @@ /obj/item/paicard_upgrade/protolate + +/obj/item/paicard_upgrade/proc/set_syndie_key(obj/item/paicard/paicard) + if(!paicard) + return + + if(paicard.radio.keyslot2) + return + + paicard.radio.keyslot2 = new /obj/item/encryptionkey/syndicate(paicard.radio) + if(paicard.radio.keyslot2.syndie) + paicard.radio.syndiekey = paicard.radio.keyslot2 + + paicard.radio.recalculateChannels(TRUE) + if(paicard.pai) + to_chat(paicard.pai, span_notice("Обнаружены новые частоты радиосообщения, калибровка...")) + + +/obj/item/paicard_upgrade/protolate/set_syndie_key(obj/item/paicard) + return + + /obj/item/paper/pai_upgrade name = "Инструкция по применению" icon_state = "paper_words" diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 4d1c5e9b4fc..fd86c43f28e 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -219,7 +219,7 @@ /obj/item/radio/intercom/wirecutter_act(mob/user, obj/item/I) - if(buildstage != INTERCOM_BUILD_WIRED || b_stat || wires.is_all_cut()) + if((buildstage != INTERCOM_BUILD_WIRED || b_stat) && !wires.is_all_cut()) return ..() . = TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 16f09871432..d3620082bb2 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -287,6 +287,9 @@ REAGENT SCANNER var/isPrinting = FALSE + var/datum/money_account/connected_acc = null + + var/mob/scanned = null /obj/item/healthanalyzer/attack(mob/living/target, mob/living/user, params, def_zone, skip_attack_anim = FALSE) add_fingerprint(user) @@ -317,6 +320,9 @@ REAGENT SCANNER if(!isPrinting) print_report(user) return 1 + if(href_list["insurance"]) + do_insurance_collection(user, scanned, connected_acc) + return 1 if(href_list["mode"]) toggle_mode() return 1 @@ -335,7 +341,7 @@ REAGENT SCANNER var/mob/user = usr if(!istype(user)) return - if (user.incapacitated()) + if(user.incapacitated()) return print_report(user) @@ -375,7 +381,7 @@ REAGENT SCANNER popup.open(no_focus = 1) /obj/item/healthanalyzer/proc/get_header(mob/user) - return "ОчиститьЛокализация[advanced ? "Печать отчета" : ""]" + return "ОчиститьЛокализация[advanced ? "Печать отчетаСписать страховку" : ""]" /obj/item/healthanalyzer/examine(mob/user) . = ..() @@ -386,7 +392,7 @@ REAGENT SCANNER . += "Нужно подойти ближе, чтобы прочесть содержимое." /proc/medical_scan_action(mob/living/user, atom/target, var/obj/item/healthanalyzer/scanner, var/mode, var/advanced) - if (!user.IsAdvancedToolUser()) + if(!user.IsAdvancedToolUser()) to_chat(user, "Вы не достаточно ловки, чтобы использовать это устройство.") return @@ -408,19 +414,19 @@ REAGENT SCANNER return "[jointext(., "
")]
" var/mob/living/carbon/human/scan_subject = null - if (ishuman(target)) + if(ishuman(target)) scan_subject = target - else if (istype(target, /obj/structure/closet/body_bag)) + else if(istype(target, /obj/structure/closet/body_bag)) var/obj/structure/closet/body_bag/B = target if(!B.opened) var/list/scan_content = list() for(var/mob/living/L in B.contents) scan_content.Add(L) - if (scan_content.len == 1) + if(scan_content.len == 1) for(var/mob/living/carbon/human/L in scan_content) scan_subject = L - else if (scan_content.len > 1) + else if(scan_content.len > 1) to_chat(user, "[scanner] обнаружил несколько субъектов внутри [target], слишком близко для нормального сканирования.") return else @@ -438,6 +444,8 @@ REAGENT SCANNER . = medical_scan_results(scan_subject, mode, advanced) scanner.window_height += length(.) * 20 . = "[jointext(., "
")]
" + scanner.scanned = scan_subject + /proc/medical_scan_results(var/mob/living/M, var/mode = 1, var/advanced = FALSE) . = list() @@ -618,7 +626,16 @@ REAGENT SCANNER else . += "Гены стабильны." -// Это вывод в чат + var/datum/money_account/acc = get_insurance_account(H) + if(acc) + . += "Тип страховки - [acc.insurance_type]" + else + . += "Аккаунт не обнаружен" + . += "Требуемое количество очков страховки: [get_req_insurance(H)]" + if(acc) + . += "Текущее количество очков страховки: [acc.insurance]" + +// This is the output to the chat /proc/healthscan(mob/user, mob/living/M, mode = 1, advanced = FALSE) var/scan_data = medical_scan_results(M, mode, advanced) to_chat(user, "[jointext(scan_data, "
")]") @@ -659,6 +676,23 @@ REAGENT SCANNER qdel(I) return ATTACK_CHAIN_BLOCKED_ALL + if(istype(I, /obj/item/card/id)) + add_fingerprint(user) + if(!advanced) + to_chat(user, span_warning("Для привязки счета требуется наличие продвинутого модуля сканирования.")) + return ATTACK_CHAIN_PROCEED + + var/obj/item/card/id/id = I + + if(!id.associated_account_number) + to_chat(user, span_warning("Не обнаружено привязанного аккаунта.")) + return ATTACK_CHAIN_PROCEED + + connected_acc = id.associated_account_number + to_chat(user, span_notice("Аккаунт привязан.")) + playsound(loc, I.usesound, 50, TRUE) + return ATTACK_CHAIN_PROCEED + return ..() diff --git a/code/game/objects/items/misc.dm b/code/game/objects/items/misc.dm index 4e66a737e79..04cc2dc637e 100644 --- a/code/game/objects/items/misc.dm +++ b/code/game/objects/items/misc.dm @@ -66,18 +66,24 @@ var/obj/item/projectile/P = hitby if(P?.firer && P.firer_source_atom && (P.firer != P.firer_source_atom)) //if the projectile comes from YOU, like your spit or some shit, you can't steal that bro. Also protects mechs if(iscarbon(P.firer)) //You can't switcharoo with turrets or simplemobs, or borgs - switcharoo(P.firer, owner, P.firer_source_atom) - return TRUE //this means the attack is blocked - return ..() + return switcharoo(P.firer, owner, P.firer_source_atom) + return FALSE /obj/item/syndicate_reverse_card/proc/switcharoo(mob/firer, mob/user, obj/item/gun/target_gun) //this proc teleports the target_gun out of the firer's hands and into the user's. The firer gets the card. + if(!user.drop_item_ground(src)) //firstly, check for ani-drop on card owner + return FALSE + + if(!firer.drop_item_ground(target_gun)) //then, check for anti-drop on gun owner. Don't do it in the same proc + user.put_in_hands(src) + return FALSE //first, the sparks! do_sparks(12, TRUE, user) //next, we move the gun to the user and the card to the firer - if(firer.drop_item_ground(target_gun) && user.drop_item_ground(src)) - to_chat(user, span_warning("The [src] vanishes from your hands, and [target_gun] appears in them!")) - to_chat(firer, span_warning("[target_gun] vanishes from your hands, and a [src] appears in them!")) - user.put_in_hands(target_gun) - firer.put_in_hands(src) - used = TRUE - update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) + to_chat(user, span_warning("The [src] vanishes from your hands, and [target_gun] appears in them!")) + to_chat(firer, span_warning("[target_gun] vanishes from your hands, and a [src] appears in them!")) + user.put_in_hands(target_gun) + firer.put_in_hands(src) + used = TRUE + update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) + return TRUE + diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 1f77666e0f0..d1eb98f258b 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -268,6 +268,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list( new /datum/stack_recipe("White jumpsuit", /obj/item/clothing/under/color/white, 3), new /datum/stack_recipe("White scarf", /obj/item/clothing/accessory/scarf/white), new /datum/stack_recipe("White shoes", /obj/item/clothing/shoes/white, 2), + new /datum/stack_recipe("White footwraps", /obj/item/clothing/shoes/footwraps, 2), new /datum/stack_recipe("White softcap", /obj/item/clothing/head/soft/mime, 2), null, new /datum/stack_recipe("Backpack", /obj/item/storage/backpack, 4), @@ -285,6 +286,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list( null, new /datum/stack_recipe("Bedsheet", /obj/item/bedsheet, 3), new /datum/stack_recipe("Blindfold", /obj/item/clothing/glasses/sunglasses/blindfold, 3), + new /datum/stack_recipe("Fake blindfold", /obj/item/clothing/glasses/sunglasses/blindfold_fake, 2), new /datum/stack_recipe("Fingerless gloves", /obj/item/clothing/gloves/fingerless), new /datum/stack_recipe("Empty sandbag", /obj/item/emptysandbag, 4), new /datum/stack_recipe("Improvised gauze", /obj/item/stack/medical/bruise_pack/improvised, res_amount = 2, max_res_amount = 6), diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index cab66d86a78..7adedbe8dca 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -846,31 +846,42 @@ var/tired = 0 COOLDOWN_DECLARE(cooldown) -/obj/item/toy/plushie/rdplushie/attack_self(mob/user) - . = ..() - - if(. || !COOLDOWN_FINISHED(src, cooldown)) - return . +/obj/item/toy/plushie/rdplushie/proc/interaction() + if(!COOLDOWN_FINISHED(src, cooldown)) + return FALSE var/message if(tired < 100) tired++ - playsound(user, 'sound/items/greetings-emote.ogg', 30, TRUE) + playsound(loc, 'sound/items/greetings-emote.ogg', 30, TRUE) message = pick("Слава науке!", "Сделаем пару роботов?!", "Я будто на слаймовой батарейке! Ха!","Обожааааю слаймов! Блеп!", "Я запрограммировала роботов звать меня мамой!", "Знаешь анекдот про ядро ИИ, смазку и гуся?") else update_appearance(UPDATE_DESC|UPDATE_ICON_STATE) - playsound(user, 'sound/items/shyness-emote.ogg', 30, TRUE) + playsound(loc, 'sound/items/shyness-emote.ogg', 30, TRUE) message = pick("Твой мозг стоило бы поместить в машину...", "Чёрт, дела хуже некуда...", "Толпятся перед стойкой, будто насекомые...", "Мне нужно добавить лишь один закон, чтобы все закончилось..", "Ты думаешь, что умный, пользователь. Но ты предсказуем. Я знаю каждый твой шаг еще до того, как ты о нем подумаешь.", "Полигон не единственное место куда можно отправить бомбу...", "Выдави из себя что-то кроме \"УВЫ\", ничтожество...") - user.visible_message(span_notice(message)) + visible_message(span_notice(message)) COOLDOWN_START(src, cooldown, 3 SECONDS) +/obj/item/toy/plushie/rdplushie/attack_self(mob/user) + . = ..() + + interaction() + +/obj/item/toy/plushie/rdplushie/afterattack(atom/target, mob/user, proximity, flag, params) + . = ..() + + if(!proximity || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) + return + + interaction() + /obj/item/toy/plushie/rdplushie/update_icon_state() . = ..() @@ -891,6 +902,41 @@ desc = "Это уставшая кукла РД." +/obj/item/toy/plushie/gsbplushie + name = "GSBussy doll" + desc = "Глуповатого вида кукла, что держит в руках книгу Космического закона и имитацию револьвера Unica-6. \ + На задней части имеется следующая надпись: \ + «Кукла-аниматроник GSBussy, лимитированная серия. Произведено ######» - часть текста невозможно разобрать." + icon_state = "GSBussy_doll" + item_state = "GSBussy_doll" + COOLDOWN_DECLARE(cooldown) + +/obj/item/toy/plushie/gsbplushie/proc/interaction() + if(!COOLDOWN_FINISHED(src, cooldown)) + return FALSE + + var/message = pick("Я просто стояла рядом с автолатом и Уника исчезла...", ".ы ПОО-МММ-ОО-Г-Г-ГИТ-Е-Е-ее-Ее А-а-А-Р-р-Ан-Н-Еу-С-С!", + "ОТВЕЧАЙ, ГДЕ ТЫ ПОТЕРЯЛ СВОЙ ЧЁРТОВ ГОЛОВНОЙ УБОР?! КАЗНИТЬ ЕГО!", "Какой-то Д двадц...", + "Обыскивайте всех подряд! Летальте всех, кого считаете слишком опасным для нелетала!", "Мим теслу запускает! ЗАДЕРЖАТЬ!!!", + "Подмогу в туалет брига!", "Почему над унитазом установлены 3 камеры?") + + playsound(loc, 'sound/items/GSBussy.ogg', 30, TRUE) + visible_message(span_notice(message)) + COOLDOWN_START(src, cooldown, 3 SECONDS) + +/obj/item/toy/plushie/gsbplushie/attack_self(mob/user) + . = ..() + + interaction() + +/obj/item/toy/plushie/gsbplushie/afterattack(atom/target, mob/user, proximity, flag, params) + . = ..() + + if(!proximity || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) + return + + interaction() + /obj/item/toy/plushie/greyplushie name = "Плюшевый грей" desc = "Плюшевая кукла грея в толстовке. Кукла входит в серию \"Пришелец\" и имеет свитер, большую голову и мультяшные глаза. Любит мехов." diff --git a/code/game/objects/items/weapons/cigs.dm b/code/game/objects/items/weapons/cigs.dm index 3b1b3cc915c..a548b051206 100644 --- a/code/game/objects/items/weapons/cigs.dm +++ b/code/game/objects/items/weapons/cigs.dm @@ -331,6 +331,9 @@ LIGHTERS ARE IN LIGHTERS.DM /obj/item/clothing/mask/cigarette/shadyjims list_reagents = list("nicotine" = 40, "lipolicide" = 7.5, "ammonia" = 2, "atrazine" = 1, "toxin" = 1.5) +/obj/item/clothing/mask/cigarette/richard + list_reagents = list("nicotine" = 40, "epinephrine" = 5, "absinthe" = 5) + /obj/item/clothing/mask/cigarette/rollie name = "rollie" desc = "A roll of dried plant matter wrapped in thin paper." diff --git a/code/game/objects/items/weapons/experimental_syringe_gun.dm b/code/game/objects/items/weapons/experimental_syringe_gun.dm new file mode 100644 index 00000000000..e6095af7b03 --- /dev/null +++ b/code/game/objects/items/weapons/experimental_syringe_gun.dm @@ -0,0 +1,68 @@ +/obj/item/gun/syringe/rapidsyringe/experimental + name = "experimental syringe gun" + desc = "Эксперементальный шприцемет с 6 слотами для шприцев, встроенным, самовосполняющимся хранилищем химикатов и новейшей системой автозаправки шприцев." + origin_tech = "combat=3;biotech=4;bluespace=5" + icon = 'icons/obj/weapons/techrelic.dmi' + item_state = "strynggun" + lefthand_file = 'icons/mob/inhands/relics_production/inhandl.dmi' + righthand_file = 'icons/mob/inhands/relics_production/inhandr.dmi' + icon_state = "strynggun" + materials = list(MAT_METAL=2000, MAT_GLASS=2000, MAT_BLUESPACE=400) + var/obj/item/reagent_containers/glass/beaker/large/ready_reagents = new + var/obj/item/reagent_containers/glass/beaker/large/processed_reagents = new + var/synth_speed = 5 + var/bank_size = 100 + origin_tech = "bluespace=4;biotech=5" + +/obj/item/gun/syringe/rapidsyringe/experimental/Initialize() + . = ..() + START_PROCESSING(SSobj, src) + +/obj/item/gun/syringe/rapidsyringe/experimental/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + +/obj/item/gun/syringe/rapidsyringe/experimental/attackby(obj/item/A, mob/user) + if(istype(A, /obj/item/reagent_containers/syringe)) + var/in_clip = length(syringes) + (chambered.BB ? 1 : 0) + if(in_clip < max_syringes) + if(!user.drop_transfer_item_to_loc(A, src)) + return ..() + balloon_alert(user, "заряжено!") + syringes.Add(A) + process_chamber() // Chamber the syringe if none is already + return ATTACK_CHAIN_BLOCKED_ALL + else + balloon_alert(user, "недостаточно места!") + return ATTACK_CHAIN_PROCEED + else if(istype(A, /obj/item/reagent_containers/glass)) + var/obj/item/reagent_containers/glass/RC = A + if (!RC.reagents.reagent_list) + return ..() + ready_reagents.reagents.clear_reagents() + processed_reagents.reagents.clear_reagents() + RC.reagents.trans_to(ready_reagents, bank_size) + ready_reagents.reagents.trans_to(processed_reagents, synth_speed) + balloon_alert(user, "синтезируемый набор веществ изменен!") + return ATTACK_CHAIN_BLOCKED_ALL + else + return ..() + +/obj/item/gun/syringe/rapidsyringe/experimental/process() + for (var/obj/item/reagent_containers/syringe/S in syringes) + ready_reagents.reagents.trans_to(S, ready_reagents.reagents.total_volume) + for (var/datum/reagent/R in processed_reagents.reagents.reagent_list) + if (R.can_synth) + ready_reagents.reagents.add_reagent(R.id, R.volume) + +/datum/crafting_recipe/rapidsyringe_experimental + name = "Experemintal syringe gun" + result = /obj/item/gun/syringe/rapidsyringe/experimental + tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH) + reqs = list(/obj/item/relict_production/perfect_mix = 1, + /obj/item/assembly/signaler/anomaly/vortex = 1, + /obj/item/gun/syringe/rapidsyringe = 1, + /obj/item/stock_parts/matter_bin = 1) + time = 300 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON diff --git a/code/game/objects/items/weapons/grenades/fauna_bomb.dm b/code/game/objects/items/weapons/grenades/fauna_bomb.dm new file mode 100644 index 00000000000..6ca2c4314be --- /dev/null +++ b/code/game/objects/items/weapons/grenades/fauna_bomb.dm @@ -0,0 +1,64 @@ +/obj/item/grenade/fauna_bomb + name = "fauna bomb" + desc = "Эксперементальная, многоразовая граната, создающая фауну агрессивную ко всем, кроме активировавшего гранату." + w_class = WEIGHT_CLASS_SMALL + icon = 'icons/obj/weapons/techrelic.dmi' + icon_state = "bomb" + item_state = "bomb" + lefthand_file = 'icons/mob/inhands/relics_production/inhandl.dmi' + righthand_file = 'icons/mob/inhands/relics_production/inhandr.dmi' + var/deliveryamt = 8 + var/amount = 3 + COOLDOWN_DECLARE(fauna_bomb_cooldown) + var/mob/activator + origin_tech = "bluespace=4;biotech=5" + +/obj/item/grenade/fauna_bomb/attack_self(mob/user) + if(!COOLDOWN_FINISHED(src, fauna_bomb_cooldown)) + to_chat(user, span_warning("[src] is still recharging!")) + return + + COOLDOWN_START(src, fauna_bomb_cooldown, 60 SECONDS) + activator = user + return ..(user, FALSE) + +/obj/item/grenade/fauna_bomb/prime() + active = FALSE + playsound(get_turf(src), 'sound/items/rawr.ogg', 100, TRUE) + var/faction = activator.name + "_fauna_bomb" + activator.faction |= faction + var/list/mob/living/simple_animal/mobs = list() + + var/mob/living/simple_animal/spawn_mob_type = pick(/mob/living/simple_animal/hostile/asteroid/hivelord/legion, /mob/living/simple_animal/hostile/asteroid/goliath, /mob/living/simple_animal/hostile/asteroid/marrowweaver) + + for(var/i in 1 to amount) + var/mob/living/simple_animal/new_mob = new spawn_mob_type(get_turf(src)) + mobs.Add(new_mob) + new_mob.set_leash(activator, 10) + new_mob.faction |= faction + if(prob(50)) + for(var/j = 1, j <= rand(1, 3), j++) + step(new_mob, pick(NORTH, SOUTH, EAST, WEST)) + + if(prob(40)) + to_chat(activator, span_warning("[src] falls apart!")) + qdel(src) + + sleep(600) + for (var/mob/mob in mobs) + mob.dust() + +/obj/item/grenade/fauna_bomb/update_icon_state() + return + +/datum/crafting_recipe/fauna_bomb + name = "Fauna bomb" + result = /obj/item/grenade/fauna_bomb + tools = list(TOOL_SCREWDRIVER) + reqs = list(/obj/item/relict_production/pet_spray = 1, + /obj/item/assembly/signaler/anomaly/pyro = 1, + /obj/item/grenade/chem_grenade/adv_release = 1, + /obj/item/stack/cable_coil = 5) + time = 300 + category = CAT_WEAPONRY + subcategory = CAT_WEAPON diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index 8e27a202b85..96ebb79d2f1 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -56,7 +56,7 @@ /obj/item/grenade/attack_self(mob/user) if(!active && clown_check(user)) - to_chat(user, "You prime the [name]! [det_time/10] seconds!") + to_chat(user, span_warning("You prime the [name]! [det_time/10] seconds!")) active = TRUE update_icon(UPDATE_ICON_STATE) add_fingerprint(user) diff --git a/code/game/objects/items/weapons/stock_parts.dm b/code/game/objects/items/weapons/stock_parts.dm index d7d08a8b7fc..fca2cfa2c01 100644 --- a/code/game/objects/items/weapons/stock_parts.dm +++ b/code/game/objects/items/weapons/stock_parts.dm @@ -60,6 +60,14 @@ new /obj/item/stock_parts/scanning_module/triphasic(src) new /obj/item/stock_parts/cell/bluespace(src) +/obj/item/storage/part_replacer/bluespace/experimental/populate_contents() + for(var/amount in 1 to 10) + new /obj/item/stock_parts/capacitor/purple(src) + new /obj/item/stock_parts/manipulator/purple(src) + new /obj/item/stock_parts/matter_bin/purple(src) + new /obj/item/stock_parts/micro_laser/purple(src) + new /obj/item/stock_parts/scanning_module/purple(src) + /obj/item/storage/part_replacer/bluespace/drop_inventory(mob/user) if(user.a_intent == INTENT_HARM) //Меняем режим выгрузки empty_mode -= 1 @@ -272,7 +280,7 @@ name = "experimental capacitor" desc = "An capacity capacitor used in the construction of a variety of devices." icon_state = "ps_capacitor" - origin_tech = "powerstorage=5;materials=4;engineering=4" + origin_tech = "powerstorage=6;materials=5;engineering=5" rating = 5 materials = list(MAT_METAL=50, MAT_GLASS=50) @@ -280,7 +288,7 @@ name = "experimental scanning module" desc = "A compact, ultra resolution triphasic scanning module used in the construction of certain devices." icon_state = "ps_scan_module" - origin_tech = "magnets=5;materials=4;engineering=4" + origin_tech = "magnets=5;materials=5;engineering=5" rating = 5 materials = list(MAT_METAL=50, MAT_GLASS=20) @@ -288,7 +296,7 @@ name = "experimental manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "ps_mani" - origin_tech = "materials=6;programming=4;engineering=4" + origin_tech = "materials=6;programming=5;engineering=5" rating = 5 materials = list(MAT_METAL=30) @@ -296,7 +304,7 @@ name = "experimental micro-laser" icon_state = "ps_micro_laser" desc = "A tiny laser used in certain devices." - origin_tech = "magnets=5;materials=4;engineering=4" + origin_tech = "magnets=6;materials=5;engineering=5" rating = 5 materials = list(MAT_METAL=10, MAT_GLASS=20) @@ -304,7 +312,7 @@ name = "experimental matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "ps_matter_bin" - origin_tech = "materials=6;programming=4;engineering=4" + origin_tech = "materials=6;programming=5;engineering=5" rating = 5 materials = list(MAT_METAL=80) diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index a248a8cad79..9085b6dbe40 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -264,6 +264,48 @@ icon_state = "blueshieldpack" item_state = "blueshieldpack" +/obj/item/storage/backpack/justice + name = "backpack of justice" + desc = "Крепкий рюкзак выданный специально для самых крепких офицеров." + icon_state = "backpack_justice0" + item_state = "backpack_justice0" + actions_types = list(/datum/action/item_action/toggle_backpack_light) + var/on = FALSE + var/datum/looping_sound/ambulance_alarm/justice/soundloop + +/obj/item/storage/backpack/justice/attack_self() + toggle_backpack_light() + +/obj/item/storage/backpack/justice/Initialize(mapload) + . = ..() + soundloop = new(list(src)) + +/obj/item/storage/backpack/justice/Destroy(force) + QDEL_NULL(soundloop) + return ..() + +/obj/item/storage/backpack/justice/proc/toggle_backpack_light() + on = !on + + if(on) + turn_on() + else + turn_off() + + update_icon(UPDATE_ICON_STATE) + +/obj/item/storage/backpack/justice/update_icon_state() + icon_state = "backpack_justice[on]" + item_state = "backpack_justice[on]" + update_equipped_item(update_speedmods = FALSE) + +/obj/item/storage/backpack/justice/proc/turn_on() + soundloop.start() + +/obj/item/storage/backpack/justice/proc/turn_off() + soundloop.stop() + + /* * Syndicate backpacks. Sprites by ElGood */ diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 5d168990141..823e393bef5 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -42,6 +42,8 @@ drop_sound = 'sound/items/handling/toolbelt_drop.ogg' pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg' use_item_overlays = TRUE + max_combined_w_class = 15 // 6 `WEIGHT_CLASS_SMALL` items + RCD. + max_w_class = WEIGHT_CLASS_NORMAL can_hold = list( /obj/item/crowbar, /obj/item/screwdriver, @@ -57,7 +59,8 @@ /obj/item/holosign_creator, /obj/item/radio, /obj/item/robotanalyzer, - /obj/item/clothing/gloves) + /obj/item/clothing/gloves, + /obj/item/rcd) /obj/item/storage/belt/utility/full/populate_contents() new /obj/item/screwdriver(src) @@ -88,6 +91,8 @@ desc = "Holds tools, looks snazzy" icon_state = "utilitybelt_ce" item_state = "utility_ce" + storage_slots = 8 + max_combined_w_class = 17 // 7 `WEIGHT_CLASS_SMALL` items + RCD. /obj/item/storage/belt/utility/chief/full/populate_contents() new /obj/item/screwdriver/power(src) diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index c491bd96b2a..b1c8f7b30f9 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -335,6 +335,11 @@ item_state = "upliftpacket" cigarette_type = /obj/item/clothing/mask/cigarette/menthol +/obj/item/storage/fancy/cigarettes/cigpack_richard + name = "\improper Richard & Co cigarettes" + desc = "Курят только отчаянные." + cigarette_type = /obj/item/clothing/mask/cigarette/richard + /obj/item/storage/fancy/cigarettes/cigpack_robust name = "\improper Robust packet" desc = "Smoked by the robust." diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index 18f8a027c9a..4de56355822 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -220,3 +220,42 @@ /obj/item/storage/toolbox/surgery/empty/populate_contents() return +/obj/item/storage/toolbox/surgery/advanced + name = "Advanced Laser Surgery Kit" + desc = "Содержит в себе хирургические инструменты. Имеет зелёные неоновые накладки." + icon_state = "surgerykit_advanced" + item_state = "surgerykit_advanced" + +/obj/item/storage/toolbox/surgery/advanced/populate_contents() + new /obj/item/scalpel/laser/laser3(src) + new /obj/item/hemostat/laser(src) + new /obj/item/retractor/laser(src) + new /obj/item/surgicaldrill/laser(src) + new /obj/item/circular_saw/laser(src) + new /obj/item/bonesetter/laser(src) + new /obj/item/bonegel(src) + new /obj/item/FixOVein(src) + + +/obj/item/storage/toolbox/surgery/advanced/empty/populate_contents() + return + +/obj/item/storage/toolbox/surgery/alien + name = "Alien Surgery Kit" + desc = "Содержит в себе хирургические инструменты. Выглядит очень футуристично." + icon_state = "surgerykit_alien" + item_state = "surgerykit_alien" + +/obj/item/storage/toolbox/surgery/alien/populate_contents() + new /obj/item/scalpel/alien(src) + new /obj/item/hemostat/alien(src) + new /obj/item/retractor/alien(src) + new /obj/item/circular_saw/alien(src) + new /obj/item/surgicaldrill/alien(src) + new /obj/item/cautery/alien(src) + new /obj/item/bonegel/alien(src) + new /obj/item/bonesetter/alien(src) + new /obj/item/FixOVein/alien(src) + +/obj/item/storage/toolbox/surgery/alien/empty/populate_contents() + return diff --git a/code/game/objects/items/weapons/tuned_anomalous_teleporter.dm b/code/game/objects/items/weapons/tuned_anomalous_teleporter.dm new file mode 100644 index 00000000000..620ea5f9222 --- /dev/null +++ b/code/game/objects/items/weapons/tuned_anomalous_teleporter.dm @@ -0,0 +1,74 @@ +/obj/item/tuned_anomalous_teleporter + name = "tuned anomalous teleporter" + desc = "A portable item using blue-space technology." + icon = 'icons/obj/weapons/techrelic.dmi' + icon_state = "teleport" + lefthand_file = 'icons/mob/inhands/relics_production/inhandl.dmi' + righthand_file = 'icons/mob/inhands/relics_production/inhandr.dmi' + item_state = "teleport" + throwforce = 0 + w_class = WEIGHT_CLASS_SMALL + throw_speed = 3 + throw_range = 5 + materials = list(MAT_METAL=10000) + origin_tech = "magnets=3;bluespace=4" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 30, BIO = 0, RAD = 0, FIRE = 100, ACID = 100) + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF + /// Variable contains next time hand tele can be used to make it not EMP proof + var/emp_timer = 0 + COOLDOWN_DECLARE(tuned_anomalous_teleporter_cooldown) // declare cooldown for teleportations + COOLDOWN_DECLARE(emp_cooldown) // declare cooldown for EMP + var/base_cooldown = 20 SECONDS // cooldown for teleportations + var/emp_cooldown_min = 10 SECONDS // min cooldown for emp + var/emp_cooldown_max = 15 SECONDS // max cooldown for emp + var/tp_range = 5 // range of teleportations + origin_tech = "bluespace=5" + +/obj/item/tuned_anomalous_teleporter/attack_self(mob/user) + if(!COOLDOWN_FINISHED(src, emp_cooldown)) + do_sparks(5, FALSE, loc) + to_chat(user, span_warning("[src] attempts to teleport you, but abruptly shuts off.")) + return FALSE + if(!COOLDOWN_FINISHED(src, tuned_anomalous_teleporter_cooldown)) + to_chat(user, span_warning("[src] is still recharging.")) + return FALSE + + COOLDOWN_START(src, tuned_anomalous_teleporter_cooldown, base_cooldown) + + var/datum/teleport/TP = new /datum/teleport() + var/crossdir = angle2dir((dir2angle(user.dir)) % 360) + var/turf/T1 = get_turf(user) + for(var/i in 1 to tp_range) + T1 = get_step(T1, crossdir) + var/datum/effect_system/smoke_spread/s1 = new + var/datum/effect_system/smoke_spread/s2 = new + s1.set_up(5, FALSE, user) + s2.set_up(5, FALSE, user) + TP.start(user, T1, FALSE, TRUE, s1, s2, 'sound/effects/phasein.ogg', ) + TP.doTeleport() + +/obj/item/tuned_anomalous_teleporter/emp_act(severity) + make_inactive(severity) + return ..() + +/obj/item/tuned_anomalous_teleporter/proc/make_inactive(severity) + var/time = rand(emp_cooldown_min, emp_cooldown_max) * (severity == EMP_HEAVY ? 2 : 1) + COOLDOWN_START(src, emp_cooldown, time) + +/obj/item/tuned_anomalous_teleporter/examine(mob/user) + . = ..() + if(emp_timer > world.time) + . += span_warning("It looks inactive.") + +/datum/crafting_recipe/tuned_anomalous_teleporter + name = "Tuned anomalous teleporter" + result = /obj/item/tuned_anomalous_teleporter + tools = list(TOOL_SCREWDRIVER, TOOL_WELDER) + reqs = list(/obj/item/relict_production/strange_teleporter = 1, + /obj/item/assembly/signaler/anomaly/bluespace = 1, + /obj/item/gps = 1, + /obj/item/stack/ore/bluespace_crystal, + /obj/item/stack/sheet/metal = 2, + /obj/item/stack/cable_coil = 5) + time = 300 + category = CAT_MISC diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 9c6eb1c2b7b..85a4c2e9fa4 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -664,37 +664,49 @@ icon_state = "mjollnir[HAS_TRAIT(src, TRAIT_WIELDED)]" -/obj/item/twohanded/singularityhammer/proc/vortex(turf/pull, mob/wielder) - for(var/atom/movable/X in orange(5, pull)) - if(X == wielder) - continue - if((X) && (!X.anchored) && (!ishuman(X))) - step_towards(X, pull) - step_towards(X, pull) - step_towards(X, pull) - else if(ishuman(X)) - var/mob/living/carbon/human/H = X - if(istype(H.shoes, /obj/item/clothing/shoes/magboots)) - var/obj/item/clothing/shoes/magboots/M = H.shoes - if(M.magpulse) - continue - H.Weaken(2 SECONDS) - step_towards(H, pull) - step_towards(H, pull) - step_towards(H, pull) - /obj/item/twohanded/singularityhammer/afterattack(atom/A, mob/user, proximity, params) - if(!proximity) + if(!proximity || charged < 5 || !HAS_TRAIT(src, TRAIT_WIELDED)) return - if(HAS_TRAIT(src, TRAIT_WIELDED)) - if(charged == 5) - charged = 0 - if(isliving(A)) - var/mob/living/Z = A - Z.take_organ_damage(20, 0) - playsound(user, 'sound/weapons/marauder.ogg', 50, 1) - var/turf/target = get_turf(A) - vortex(target, user) + + charged = 0 + var/turf/target = get_turf(A) + playsound(target, 'sound/weapons/marauder.ogg', 50, TRUE) + + if(isliving(A)) + var/mob/living/victim = A + victim.take_organ_damage(20) + + for(var/atom/pulled_thing as anything in (orange(5, target) - user)) + pulled_thing.singularity_hammer_act(target) + + +/atom/proc/singularity_hammer_act(turf/pull) + return + + +/atom/movable/singularity_hammer_act(turf/pull) + if(anchored) + return + + unbuckle_all_mobs() + + for(var/a in 1 to 3) + if(!step_towards(src, pull)) + return + + +/mob/dead/observer/singularity_hammer_act(turf/pull) + return + + +/mob/living/singularity_hammer_act(turf/pull) + if(HAS_TRAIT(src, TRAIT_NEGATES_GRAVITY)) + return + + buckled?.unbuckle_mob(src) + Weaken(2 SECONDS) + ..() + /obj/item/twohanded/mjollnir name = "Mjolnir" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index d9c36e05b3d..f67520c13a8 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -174,6 +174,7 @@ new /obj/item/sensor_device/advanced/command(src) new /obj/item/storage/garmentbag/blueshield(src) new /obj/item/storage/belt/security/webbing(src) + new /obj/item/reagent_containers/spray/cleaner/tactical(src) /obj/structure/closet/secure_closet/ntrep name = "\improper Nanotrasen Representative's locker" diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index f3836a1beb4..e39c59128bf 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -222,6 +222,11 @@ desc = "A dead and stuffed Diona nymph, mounted on a board." icon_state = "kidanplaque" +/obj/structure/sign/tajarplaque + name = "Tajaran wall plaque" + desc = "A nice tajaran photo, mounted on a board." + icon_state = "tajarplaque" + /obj/structure/sign/mech name = "\improper mech painting" desc = "A painting of a mech" diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 95de37c8e40..5361a73e4bd 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -322,7 +322,7 @@ desc = "An antique statue of a human angel made of stone." icon_state = "angel" anchored = TRUE - oreAmount = 0 + obj_flags = NODECONSTRUCT /obj/structure/statue/russian_mulebot desc = "Like a MULEbot, but more Russian and less functional."; @@ -442,7 +442,8 @@ bound_width = 64 var/lit = 0 layer = EDGED_TURF_LAYER - + anchored = TRUE + obj_flags = NODECONSTRUCT /obj/structure/statue/unknown/update_icon_state() icon_state = "unknown[lit ? "_lit" : ""]" diff --git a/code/game/turfs/simulated/floor/lava.dm b/code/game/turfs/simulated/floor/lava.dm index 4a3ce6519da..0f98f4f00bf 100644 --- a/code/game/turfs/simulated/floor/lava.dm +++ b/code/game/turfs/simulated/floor/lava.dm @@ -156,7 +156,7 @@ if(burn_obj.resistance_flags & FIRE_PROOF) burn_obj.resistance_flags &= ~FIRE_PROOF if(burn_obj.armor.getRating(FIRE) > 50) //obj with 100% fire armor still get slowly burned away. - burn_obj.armor.setRating(fire_value = 50) + burn_obj.armor = burn_obj.armor.setRating(fire_value = 50) burn_obj.fire_act(exposed_temperature = temperature_damage, exposed_volume = 1000) return TRUE diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 74962f27a87..75b987f1c2e 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -489,7 +489,10 @@ var/static/list/random_air = list() /turf/simulated/floor/engine/randomised/Initialize(mapload) +<<<<<<< HEAD . = ..() +======= +>>>>>>> 7b37176792d4632c52e42a22cba6dc41210b6ce3 if(!length(random_air)) random_air = list("OXYGEN" = rand(500,2000), "plasma" = rand(500,2000), "N2O" = rand(500,2000),"NITROGEN" = rand(500,2000), "CO2" = rand(500,2000)) @@ -498,3 +501,7 @@ toxins = random_air["Plasma"] nitrogen = random_air["NITROGEN"] carbon_dioxide = random_air["CO2"] +<<<<<<< HEAD +======= + . = ..() +>>>>>>> 7b37176792d4632c52e42a22cba6dc41210b6ce3 diff --git a/code/game/turfs/simulated/walls_indestructible.dm b/code/game/turfs/simulated/walls_indestructible.dm index 2e17a5dbd0a..f7ada6c4534 100644 --- a/code/game/turfs/simulated/walls_indestructible.dm +++ b/code/game/turfs/simulated/walls_indestructible.dm @@ -248,8 +248,8 @@ icon = 'icons/turf/walls/cult_wall.dmi' icon_state = "cult" smooth = SMOOTH_BITMASK - canSmoothWith = SMOOTH_GROUP_CULT_WALLS - smoothing_groups = SMOOTH_GROUP_CULT_WALLS + canSmoothWith = null + smoothing_groups = NONE /turf/simulated/wall/indestructible/mineral_rock diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index c3840580fe4..d721c488e8f 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -9,15 +9,15 @@ /mob/living/proc/be_suicidal(forced = FALSE) if(stat == DEAD) - to_chat(src, "You're already dead!") + to_chat(src, "Вы уже мертвы!") return if(!SSticker) - to_chat(src, "You can't commit suicide before the game starts!") + to_chat(src, "Вы не можете покончить с собой до начала игры!") return if(suiciding) - to_chat(src, "You're already committing suicide! Be patient!") + to_chat(src, "Вы уже совершаете самоубийство! Наберитесь терпения!") return @@ -26,18 +26,18 @@ if(ischangeling(src)) // the alternative is to allow clings to commit suicide, but then you'd probably have them // killing themselves as soon as they're in cuffs - to_chat(src, span_warning("We refuse to take the coward's way out.")) + to_chat(src, span_warning("Мы не пойдем по лёгкому пути.")) return - confirm = tgui_alert(src, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No")) + confirm = tgui_alert(src, "Вы уверены, что хотите покончить с собой?", "Подтвердить самоубийство", list("Да", "Нет")) if(stat == DEAD || suiciding) //We check again, because alerts sleep until a choice is made - to_chat(src, "You're already dead!") + to_chat(src, "Вы уже мертвы!") return - if(forced || (confirm == "Yes")) + if(forced || (confirm == "Да")) if(!forced && isAntag(src)) - confirm = tgui_alert(src, "Are you absolutely sure? If you do this after you got converted/joined as an antagonist, you could face a jobban!", "Confirm Suicide", list("Yes", "No")) - if(confirm == "Yes") + confirm = tgui_alert(src, "Вы абсолютно уверены в этом? Беспричинные самоубийства, а так же самоубийства после задержания или получения роли антагониста могут караться баном!", "Подтвердить самоубийство", list("Да", "Нет")) + if(confirm == "Да") suiciding = TRUE do_suicide() add_attack_logs(src, src, "Attempted suicide as special role") @@ -58,7 +58,7 @@ /mob/living/simple_animal/mouse/do_suicide() - visible_message(span_danger("[src] is playing dead permanently! It looks like [p_theyre()] trying to commit suicide.")) + visible_message(span_danger("[src] бешено мечется! Уровень сыра упал до критической отметки, и [genderize_ru(gender, "он", "она", "оно", "они")] покинул[genderize_ru(gender, "", "а", "о", "и")] наш мир.")) adjustOxyLoss(max(100 - getBruteLoss(100), 0)) @@ -73,7 +73,7 @@ /mob/living/silicon/do_suicide() - to_chat(viewers(src), span_danger("[src] is powering down. It looks like [p_theyre()] trying to commit suicide.")) + to_chat(viewers(src), span_danger("[src] отключа[pluralize_ru(gender, "ет", "ют")] питание. Это похоже на попытку суицида.")) //put em at -175 adjustOxyLoss(max(maxHealth * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) @@ -86,7 +86,10 @@ if(mobility_flags & MOBILITY_MOVE) close_up() card.removePersonality() - visible_message(span_notice("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\""), blind_message = span_notice("[src] bleeps electronically.")) + card.visible_message( + span_notice("[name] выводит сообщение на экран: \"Стирание файлов личности. Чтобы продолжить использование устройства пИИ, загрузите новую личность.\""), + blind_message = span_notice("[capitalize(declent_ru(NOMINATIVE))] электронно пищит."), + ) death(gibbed = FALSE, cleanWipe = TRUE) @@ -96,14 +99,14 @@ /mob/living/carbon/brain/do_suicide() - to_chat(viewers(loc), span_danger("[src]'s brain is growing dull and lifeless. It looks like it's lost the will to live.")) + to_chat(viewers(loc), span_danger("Мозг [src] становится тусклым и безжизненным. Похоже, [genderize_ru(gender, "он", "она", "оно", "они")] потерял[genderize_ru(gender, "", "а", "о", "и")] волю к жизни.")) spawn(5 SECONDS) death(gibbed = FALSE) suiciding = FALSE /mob/living/carbon/alien/humanoid/do_suicide() - to_chat(viewers(src), span_danger("[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide.")) + to_chat(viewers(src), span_danger("[src] [pluralize_ru(gender, "бьётся", "бьются")] в конвульсиях! Это похоже на попытку суицида.")) //put em at -175 adjustOxyLoss(max(175 - getFireLoss() - getBruteLoss() - getOxyLoss(), 0)) @@ -136,7 +139,7 @@ human_suicide(damagetype, O) return - to_chat(viewers(src), span_danger("[src] [replacetext(pick(dna.species.suicide_messages), "their", p_their())] It looks like [p_theyre()] trying to commit suicide.")) + to_chat(viewers(src), span_danger("[src] [replacetext(pick(dna.species.suicide_messages), "their", p_their())] Это похоже на попытку суицида.")) human_suicide(0) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 6dcbfa1797a..e94b2d95848 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -204,6 +204,7 @@ GLOBAL_LIST_INIT(admin_verbs_mod, list( /datum/admins/proc/PlayerNotes, /client/proc/admin_ghost, /*allows us to ghost/reenter body at will*/ /client/proc/cmd_mentor_say, + /client/proc/cmd_admin_say, /*admin-only ooc chat*/ /datum/admins/proc/show_player_notes, /client/proc/player_panel_new, /client/proc/dsay, diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 7a105876f36..37c10d36971 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1935,20 +1935,21 @@ show_player_panel(M) else if(href_list["adminplayerobservefollow"]) - var/client/C = usr.client + var/client/client = usr.client + if(!isobserver(usr)) - if(!check_rights(R_ADMIN|R_MOD)) // Need to be mod or admin to aghost + if(!check_rights(R_ADMIN | R_MOD)) // Need to be mod or admin to aghost return - C.admin_ghost() - var/mob/M = locateUID(href_list["adminplayerobservefollow"]) - if(!istype(M, /mob)) - to_chat(usr, "This can only be used on instances of type /mob", confidential=TRUE) + client.admin_ghost() + + var/mob/mob = locateUID(href_list["adminplayerobservefollow"]) + + if(!istype(mob)) + to_chat(usr, span_warning("This can only be used on instances of type /mob"), confidential = TRUE) return - var/mob/dead/observer/A = C.mob - sleep(5) - A.ManualFollow(M) + addtimer(CALLBACK(client.mob, TYPE_PROC_REF(/mob, ManualFollow), mob), 5 DECISECONDS) else if(href_list["check_antagonist"]) check_antagonists() @@ -1956,11 +1957,13 @@ else if(href_list["check_teams"]) if(!check_rights(R_ADMIN)) return + check_teams() else if(href_list["edit_blob_win_count"]) if(!check_rights(R_ADMIN)) return + var/blob_win_count = input(usr, "Ввидите новое число критической массы","Критическая масса:", SSticker.mode.blob_win_count) as num if(!blob_win_count) return @@ -1976,6 +1979,7 @@ else if(href_list["send_warning"]) if(!check_rights(R_ADMIN)) return + var/message = stripped_input(usr, "Введите предупреждение", "Предупреждение") if(alert(usr,"Вы действительно хотите отправить предупреждение всем блобам?", "", "Да", "Нет") == "Нет") return @@ -1990,6 +1994,7 @@ else if(href_list["burst_all_blobs"]) if(!check_rights(R_ADMIN)) return + if(alert(usr,"Вы действительно хотите лопнуть всех блобов?", "", "Да", "Нет") == "Нет") return @@ -2006,6 +2011,7 @@ if(!SSticker || !SSticker.mode) return + var/datum/game_mode/mode = SSticker.mode if(tgui_alert(usr,"Вы действительно хотите [mode.delay_blob_end? "вернуть" : "преостановить"] конец раунда в случае победы блоба?", "", list("Да", "Нет")) == "Нет") return diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm index 29a3544ec3b..6ba99d10bec 100644 --- a/code/modules/admin/verbs/adminjump.dm +++ b/code/modules/admin/verbs/adminjump.dm @@ -73,9 +73,12 @@ if(isobj(usr.loc)) var/obj/O = usr.loc O.force_eject_occupant(usr) + log_admin("[key_name(usr)] jumped to [COORD(T)] in [T.loc]") + if(!isobserver(usr)) message_admins("[key_name_admin(usr)] jumped to [COORD(T)] in [T.loc]") + admin_forcemove(usr, T) SSblackbox.record_feedback("tally", "admin_verb", 1, "Jump To Turf") //If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! return @@ -105,15 +108,20 @@ return var/turf/T = locate(tx, ty, tz) + if(T) if(isobj(usr.loc)) var/obj/O = usr.loc O.force_eject_occupant(usr) + admin_forcemove(usr, T) + if(isobserver(usr)) var/mob/dead/observer/O = usr O.ManualFollow(T) + SSblackbox.record_feedback("tally", "admin_verb", 1, "Jump To Coordinate") //If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! + if(!isobserver(usr)) message_admins("[key_name_admin(usr)] jumped to coordinates [COORD(T)]") diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 69204b0f591..97cfd18f369 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -1,10 +1,12 @@ /client/proc/cmd_admin_say(msg as text) set name = "Asay" //Gave this shit a shorter name so you only have to time out "asay" rather than "admin say" to use it --NeoFite set hidden = 1 - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_MOD)) + return msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) - if(!msg) return + if(!msg) + return msg = handleDiscordEmojis(msg) @@ -12,22 +14,21 @@ GLOB.asays += asay log_adminsay(msg, src) - if(check_rights(R_ADMIN,0)) - for(var/client/C in GLOB.admins) - if(R_ADMIN & C.holder.rights) - // Lets see if this admin was pinged in the asay message - if(findtext(msg, "@[C.ckey]") || findtext(msg, "@[C.key]")) // Check ckey and key, so you can type @AffectedArc07 or @affectedarc07 - SEND_SOUND(C, 'sound/misc/ping.ogg') - msg = replacetext(msg, "@[C.ckey]", "@[C.ckey]") - msg = replacetext(msg, "@[C.key]", "@[C.key]") // Same applies here. key and ckey. + for(var/client/C in GLOB.admins) + if(check_rights(R_ADMIN|R_MOD, 0, C.mob)) + // Lets see if this admin was pinged in the asay message + if(findtext(msg, "@[C.ckey]") || findtext(msg, "@[C.key]")) // Check ckey and key, so you can type @AffectedArc07 or @affectedarc07 + SEND_SOUND(C, 'sound/misc/ping.ogg') + msg = replacetext(msg, "@[C.ckey]", "@[C.ckey]") + msg = replacetext(msg, "@[C.key]", "@[C.key]") // Same applies here. key and ckey. - msg = "[msg]" - to_chat(C, "ADMIN: [key_name(usr, 1)] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_ADMINCHAT, confidential = TRUE) + msg = "[msg]" + to_chat(C, "ADMIN: [key_name(usr, 1)] ([admin_jump_link(mob)]): [msg]", MESSAGE_TYPE_ADMINCHAT, confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Asay") //If you are copy-pasting this, ensure the 4th parameter is unique to the new proc! /client/proc/get_admin_say() - if(check_rights(R_ADMIN, FALSE)) + if(check_rights(R_ADMIN|R_MOD, FALSE)) var/msg = input(src, null, "asay \"text\"") as text|null cmd_admin_say(msg) else if(check_rights(R_MENTOR)) diff --git a/code/modules/antagonists/borer/borer_spell.dm b/code/modules/antagonists/borer/borer_spell.dm index c987e70370c..d5f8ca41088 100644 --- a/code/modules/antagonists/borer/borer_spell.dm +++ b/code/modules/antagonists/borer/borer_spell.dm @@ -112,8 +112,6 @@ action_icon_state = "god_transmit" need_active_overlay = TRUE - var/evo_cost = 0.3 - /obj/effect/proc_holder/spell/borer_force_say/create_new_targeting() return new /datum/spell_targeting/self @@ -121,10 +119,6 @@ if (user.stat || user.host?.stat) return FALSE - if(user.antag_datum.evo_points < evo_cost) - to_chat(user, "Вам требуется еще [evo_cost - user.antag_datum.evo_points] очков эволюции для подчинения голосовых связок хозяина.") - return FALSE - . = ..() /obj/effect/proc_holder/spell/borer_force_say/cast(list/targets, mob/living/simple_animal/borer/user) @@ -133,10 +127,8 @@ if(!force_say_content) return - if(user.controlling || user.stat || user.host?.stat || user.antag_datum.evo_points < evo_cost) // we really need that double check + if(user.controlling || user.stat || user.host?.stat) // we really need that double check return user.host.say(force_say_content) - user.antag_datum.evo_points -= evo_cost - add_attack_logs(user, user.host, "Forcesaid: [force_say_content]") diff --git a/code/modules/antagonists/malf_ai/malf_ai_datum.dm b/code/modules/antagonists/malf_ai/malf_ai_datum.dm index 80e25b3bd84..f16ed32201f 100644 --- a/code/modules/antagonists/malf_ai/malf_ai_datum.dm +++ b/code/modules/antagonists/malf_ai/malf_ai_datum.dm @@ -2,7 +2,7 @@ name = "Malfunctioning AI" roundend_category = "traitors" job_rank = ROLE_MALF_AI - special_role = SPECIAL_ROLE_TRAITOR + special_role = SPECIAL_ROLE_MALFAI antag_hud_name = "hudsyndicate" antag_hud_type = ANTAG_HUD_TRAITOR /// Should the AI get codewords? diff --git a/code/modules/antagonists/space_ninja/ninja_shuttle.dm b/code/modules/antagonists/space_ninja/ninja_shuttle.dm index 32a38a7411b..a50e3e763cf 100644 --- a/code/modules/antagonists/space_ninja/ninja_shuttle.dm +++ b/code/modules/antagonists/space_ninja/ninja_shuttle.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/shuttle/ninja name = "Spider Clan \"Ombra\" shuttle console" - desc = "Used to call and send the \"Ombra\" shuttle." + desc = "Используется для вызова и отправки шаттла \"Ombra\"." icon_keyboard = "generic_key" icon_screen = "ninja_shuttle" req_access = list() @@ -13,7 +13,7 @@ /obj/machinery/computer/camera_advanced/shuttle_docker/ninja name = "Spider Clan \"Ombra\" shuttle navigation computer" - desc = "Used to designate a precise transit location for the \"Ombra\" shuttle." + desc = "Используется, чтобы указать точное местоположение для отправки шаттла \"Ombra\"." icon_screen = "ninja_navigation" icon_keyboard = "generic_key" shuttleId = "ombra" diff --git a/code/modules/antagonists/space_ninja/suit/gloves.dm b/code/modules/antagonists/space_ninja/suit/gloves.dm index 5bcba84e211..3665e1ddfe4 100644 --- a/code/modules/antagonists/space_ninja/suit/gloves.dm +++ b/code/modules/antagonists/space_ninja/suit/gloves.dm @@ -22,6 +22,7 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT strip_delay = 120 + permeability_coefficient = 1 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF armor = list("melee" = 40, "bullet" = 30, "laser" = 20,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 100, "fire" = 100, "acid" = 100) ///Ниндзя украл ваше бельё ( ͡° ͜ʖ ͡°) diff --git a/code/modules/antagonists/space_ninja/suit/head.dm b/code/modules/antagonists/space_ninja/suit/head.dm index 54a949b3417..38f6e5850d9 100644 --- a/code/modules/antagonists/space_ninja/suit/head.dm +++ b/code/modules/antagonists/space_ninja/suit/head.dm @@ -19,6 +19,7 @@ armor = list("melee" = 40, "bullet" = 30, "laser" = 20,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 100, "fire" = 100, "acid" = 100) blockTracking = TRUE //Roughly the only unique thing about this helmet. strip_delay = 12 + permeability_coefficient = 1 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF /** diff --git a/code/modules/antagonists/space_ninja/suit/mask.dm b/code/modules/antagonists/space_ninja/suit/mask.dm index 968b86ec024..3631dfd312f 100644 --- a/code/modules/antagonists/space_ninja/suit/mask.dm +++ b/code/modules/antagonists/space_ninja/suit/mask.dm @@ -15,6 +15,7 @@ icon_state = "ninja_mask_classic_thermals" item_state = "ninja_mask_classic_thermals" strip_delay = 120 + permeability_coefficient = 1 flags_inv = HIDEHEADSETS|HIDEGLASSES|HIDENAME flags_cover = MASKCOVERSEYES //We don't need to cover mouth clothing_flags = BLOCK_GAS_SMOKE_EFFECT|AIRTIGHT|BLOCK_CAPSAICIN diff --git a/code/modules/antagonists/space_ninja/suit/shoes.dm b/code/modules/antagonists/space_ninja/suit/shoes.dm index 75d1aeda567..fd4b0e55a1a 100644 --- a/code/modules/antagonists/space_ninja/suit/shoes.dm +++ b/code/modules/antagonists/space_ninja/suit/shoes.dm @@ -21,7 +21,7 @@ min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT heat_protection = FEET max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT - permeability_coefficient = 0.01 + permeability_coefficient = 1 strip_delay = 120 slowdown = 0 clothing_traits = list(TRAIT_NEGATES_GRAVITY, TRAIT_NO_SLIP_WATER) diff --git a/code/modules/antagonists/space_ninja/suit/suit.dm b/code/modules/antagonists/space_ninja/suit/suit.dm index bef1639f685..5511f7813ee 100644 --- a/code/modules/antagonists/space_ninja/suit/suit.dm +++ b/code/modules/antagonists/space_ninja/suit/suit.dm @@ -21,6 +21,7 @@ resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF armor = list("melee" = 40, "bullet" = 30, "laser" = 20,"energy" = 30, "bomb" = 30, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) strip_delay = 12 + permeability_coefficient = 1 min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL flags_inv_transparent = HIDEGLOVES|HIDEJUMPSUIT diff --git a/code/modules/antagonists/space_ninja/suit/uniform.dm b/code/modules/antagonists/space_ninja/suit/uniform.dm index 208f1bf6f71..5926b74af21 100644 --- a/code/modules/antagonists/space_ninja/suit/uniform.dm +++ b/code/modules/antagonists/space_ninja/suit/uniform.dm @@ -7,6 +7,7 @@ icon_state = "ninja_under" item_state = "ninja_under" item_color = "ninja_under" + permeability_coefficient = 1 resistance_flags = NONE sensor_mode = SENSOR_OFF //Hey who's this guy on the Spider Clan Shuttle?? random_sensor = FALSE diff --git a/code/modules/antagonists/vampire/vampire_datum.dm b/code/modules/antagonists/vampire/vampire_datum.dm index ab388e1ffa9..362a11ff5cf 100644 --- a/code/modules/antagonists/vampire/vampire_datum.dm +++ b/code/modules/antagonists/vampire/vampire_datum.dm @@ -198,12 +198,13 @@ /datum/antagonist/vampire/proc/handle_bloodsucking(mob/living/carbon/human/target, suck_rate_override) draining = target + var/mob/living/carbon/human/cur = owner.current var/unique_suck_id = target.UID() var/blood = 0 var/blood_volume_warning = 9999 //Blood volume threshold for warnings var/cycle_counter = 0 var/time_per_action - var/vampire_dir = get_dir(owner.current, target) + var/vampire_dir = get_dir(cur, target) var/old_bloodusable = 0 //used to see if we increased our blood usable @@ -213,20 +214,20 @@ else suck_rate_final = suck_rate - if(owner.current.is_muzzled()) - to_chat(owner.current, span_warning("[owner.current.wear_mask] мешает вам укусить [target]!")) + if(cur.is_muzzled()) + to_chat(cur, span_warning("[cur.wear_mask] мешает вам укусить [target]!")) draining = null return - add_attack_logs(owner.current, target, "vampirebit & is draining their blood.", ATKLOG_ALMOSTALL) + add_attack_logs(cur, target, "vampirebit & is draining their blood.", ATKLOG_ALMOSTALL) - if(!iscarbon(owner.current)) + if(!iscarbon(cur)) target.LAssailant = null else - target.LAssailant = owner.current + target.LAssailant = cur var/is_target_grabbed = FALSE - if(target.pulledby == owner.current && owner.current.grab_state > GRAB_PASSIVE) + if(target.pulledby == cur && cur.grab_state > GRAB_PASSIVE) is_target_grabbed = TRUE if(!is_target_grabbed || vampire_dir == NORTHEAST || vampire_dir == NORTHWEST || \ @@ -238,25 +239,27 @@ cycle_counter = STATE_GRABBING time_per_action = suck_rate_final*BITE_TIME_MOD - while(do_after(owner.current, time_per_action, target, NONE, interaction_key = DOAFTER_SOURCE_VAMPIRE_SUCKING, max_interact_count = 1)) + while(do_after(cur, time_per_action, target, NONE, interaction_key = DOAFTER_SOURCE_VAMPIRE_SUCKING, max_interact_count = 1)) cycle_counter++ - owner.current.face_atom(target) + cur.face_atom(target) old_bloodusable = bloodusable switch(cycle_counter) if(STATE_CLOSING_IN) - owner.current.visible_message(span_danger("[owner.current] приближается к [target]"), \ + cur.visible_message(span_danger("[cur] приближается к [target]"), \ span_danger("Вы приближаетесь к [target]")) getting_closer_animation(target, STATE_CLOSING_IN, vampire_dir) time_per_action = suck_rate_final*GRABBING_TIME_MOD continue + if(STATE_GRABBING) - owner.current.visible_message(span_danger("[owner.current] грубо хватает шею [target]"), \ + cur.visible_message(span_danger("[cur] грубо хватает шею [target]"), \ span_danger("Вы грубо хватает шею [target]")) getting_closer_animation(target, STATE_GRABBING, vampire_dir) time_per_action = suck_rate_final*BITE_TIME_MOD continue + if(STATE_BITE) - owner.current.visible_message(span_danger("[owner.current] вонзает [genderize_ru(owner.current.gender, "его", "её", "его", "их")] клыки!"), \ + cur.visible_message(span_danger("[cur] вонзает [genderize_ru(cur.gender, "его", "её", "его", "их")] клыки!"), \ span_danger("Вы вонзаете клыки в шею [target] и начинаете высасывать [genderize_ru(target.gender, "его", "её", "его", "их")] кровь."), \ span_italics("Вы слышите тихий звук прокола и влажные хлюпающие звуки.")) bite_animation(target, vampire_dir) @@ -265,9 +268,9 @@ if(unique_suck_id in drained_humans) if(drained_humans[unique_suck_id] >= BLOOD_DRAIN_LIMIT) - to_chat(owner.current, span_warning("Вы поглотили всю жизненную эссенцию [target], дальнейшее питьё крови будет только утолять голод!")) + to_chat(cur, span_warning("Вы поглотили всю жизненную эссенцию [target], дальнейшее питьё крови будет только утолять голод!")) target.blood_volume = max(target.blood_volume - 25, 0) - owner.current.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, owner.current.nutrition + 5)) + cur.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, cur.nutrition + 5)) continue @@ -275,29 +278,47 @@ if(target.ckey || target.player_ghosted) //Requires ckey regardless if monkey or humanoid, or the body has been ghosted before it died blood = min(20, target.blood_volume) adjust_blood(target, blood * BLOOD_GAINED_MODIFIER) - to_chat(owner.current, span_boldnotice("Вы накопили [bloodtotal] единиц[declension_ru(bloodtotal, "у", "ы", "")] крови[bloodusable != old_bloodusable ? ", и теперь вам доступно [bloodusable] единиц[declension_ru(bloodusable, "а", "ы", "")] крови" : ""].")) + cur.adjustBruteLoss(-3) + cur.adjustFireLoss(-3) + cur.adjustOxyLoss(-10) + cur.adjustToxLoss(-2) + cur.adjustBrainLoss(-1) + for(var/obj/item/organ/external/bodypart as anything in cur.bodyparts) + if(bodypart.has_fracture() && prob(5)) + to_chat(cur, span_notice("You feel a burning sensation in your [bodypart.name] as it straightens involuntarily!")) + bodypart.mend_fracture() + + if(bodypart.has_internal_bleeding() && prob(5)) + to_chat(cur, span_notice("You feel a burning sensation in your [bodypart.name] as your veins begin to recover!")) + bodypart.stop_internal_bleeding() + + if(bloodtotal >= REQ_BLOOD_FOR_SUBCLASS_ACT) + subclass?.on_blood_sucking(owner) + + to_chat(cur, span_boldnotice("Вы накопили [bloodtotal] единиц[declension_ru(bloodtotal, "у", "ы", "")] крови[bloodusable != old_bloodusable ? ", и теперь вам доступно [bloodusable] единиц[declension_ru(bloodusable, "а", "ы", "")] крови" : ""].")) target.blood_volume = max(target.blood_volume - 25, 0) //Blood level warnings (Code 'borrowed' from Fulp) if(target.blood_volume) if(target.blood_volume <= BLOOD_VOLUME_BAD && blood_volume_warning > BLOOD_VOLUME_BAD) - to_chat(owner.current, span_danger("У вашей жертвы остаётся опасно мало крови!")) + to_chat(cur, span_danger("У вашей жертвы остаётся опасно мало крови!")) else if(target.blood_volume <= BLOOD_VOLUME_OKAY && blood_volume_warning > BLOOD_VOLUME_OKAY) - to_chat(owner.current, span_warning("У вашей жертвы остаётся тревожно мало крови!")) + to_chat(cur, span_warning("У вашей жертвы остаётся тревожно мало крови!")) + blood_volume_warning = target.blood_volume //Set to blood volume, so that you only get the message once else - to_chat(owner.current, span_warning("Вы выпили свою жертву досуха!")) + to_chat(cur, span_warning("Вы выпили свою жертву досуха!")) break if(!target.ckey && !target.player_ghosted)//Only runs if there is no ckey and the body has not being ghosted while alive - to_chat(owner.current, span_boldnotice("Питьё крови у [target] насыщает вас, но доступной крови от этого вы не получаете.")) - owner.current.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, owner.current.nutrition + 5)) + to_chat(cur, span_boldnotice("Питьё крови у [target] насыщает вас, но доступной крови от этого вы не получаете.")) + cur.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, cur.nutrition + 5)) else - owner.current.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, owner.current.nutrition + (blood / 2))) + cur.set_nutrition(min(NUTRITION_LEVEL_WELL_FED, cur.nutrition + (blood / 2))) stop_sucking() diff --git a/code/modules/antagonists/vampire/vampire_subclasses.dm b/code/modules/antagonists/vampire/vampire_subclasses.dm index a3af73d3147..0884168f95c 100644 --- a/code/modules/antagonists/vampire/vampire_subclasses.dm +++ b/code/modules/antagonists/vampire/vampire_subclasses.dm @@ -28,6 +28,9 @@ ) +/datum/vampire_subclass/proc/on_blood_sucking(mob/living/carbon/human/H) + return + /datum/vampire_subclass/proc/add_subclass_ability(datum/antagonist/vampire/vamp) for(var/thing in standard_powers) if(vamp.bloodtotal >= standard_powers[thing]) @@ -51,6 +54,14 @@ /obj/effect/proc_holder/spell/vampire/self/eternal_darkness, /datum/vampire_passive/xray) +/datum/vampire_subclass/umbrae/on_blood_sucking(mob/living/carbon/human/H) + var/list/lights = list() + for(var/obj/machinery/light/L in GLOB.machines) + if(L.status && L.z == H.z) + lights += L + + var/obj/machinery/light/L = pick(lights) + L.break_light_tube() /datum/vampire_subclass/hemomancer name = "hemomancer" @@ -63,6 +74,8 @@ fully_powered_abilities = list(/datum/vampire_passive/full, /obj/effect/proc_holder/spell/vampire/self/blood_spill) +/datum/vampire_subclass/hemomancer/on_blood_sucking(mob/living/carbon/human/H) + H.blood_volume = min(H.blood_volume + 5, BLOOD_VOLUME_NORMAL) /datum/vampire_subclass/gargantua name = "gargantua" @@ -76,6 +89,9 @@ /obj/effect/proc_holder/spell/vampire/charge) improved_rejuv_healing = TRUE +/datum/vampire_subclass/gargantua/on_blood_sucking(mob/living/carbon/human/H) + H.adjustBruteLoss(-2) + H.adjustFireLoss(-2) /datum/vampire_subclass/dantalion name = "dantalion" @@ -92,6 +108,11 @@ /obj/effect/proc_holder/spell/vampire/hysteria, /datum/vampire_passive/increment_thrall_cap/three) +/datum/vampire_subclass/dantalion/on_blood_sucking(mob/living/carbon/human/H) + for(var/datum/mind/thrall in H?.mind?.som?.serv) + thrall.current?.adjustBruteLoss(-3) + thrall.current?.adjustFireLoss(-3) + thrall.current?.adjustOxyLoss(-5) /datum/vampire_subclass/bestia name = "bestia" @@ -110,6 +131,9 @@ /datum/vampire_passive/dissection_cap/two) improved_rejuv_healing = TRUE +/datum/vampire_subclass/bestia/on_blood_sucking(mob/living/carbon/human/H) + H.adjustBruteLoss(-2) + H.adjustFireLoss(-2) /datum/vampire_subclass/ancient name = "ancient" diff --git a/code/modules/asset_cache/assets/asset_roboquest.dm b/code/modules/asset_cache/assets/asset_roboquest.dm index 17b64b40b05..32a85d18fcc 100644 --- a/code/modules/asset_cache/assets/asset_roboquest.dm +++ b/code/modules/asset_cache/assets/asset_roboquest.dm @@ -1,5 +1,6 @@ /datum/asset/spritesheet/roboquest name = "roboquest" + cross_round_cachable = FALSE /datum/asset/spritesheet/roboquest/create_spritesheets() for(var/equip_path in subtypesof(/obj/item/mecha_parts/mecha_equipment)) diff --git a/code/modules/atmospherics/machinery/other/area_atmos_computer.dm b/code/modules/atmospherics/machinery/other/area_atmos_computer.dm index 87e31ffda70..ff0e4002acc 100644 --- a/code/modules/atmospherics/machinery/other/area_atmos_computer.dm +++ b/code/modules/atmospherics/machinery/other/area_atmos_computer.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/area_atmos name = "area air control" - desc = "A computer used to control the stationary scrubbers and pumps in the area." + desc = "Консоль управления стационарными скрубберами и насосами в этой зоне." icon_screen = "area_atmos" icon_keyboard = "atmos_key" circuit = /obj/item/circuitboard/area_atmos diff --git a/code/modules/awaymissions/mission_code/ruins/graveyard.dm b/code/modules/awaymissions/mission_code/ruins/graveyard.dm index 22d2fb7fb32..a33dc6dda2e 100644 --- a/code/modules/awaymissions/mission_code/ruins/graveyard.dm +++ b/code/modules/awaymissions/mission_code/ruins/graveyard.dm @@ -23,7 +23,7 @@ /obj/machinery/computer/shuttle/funeral name = "Funeral \"The Undertaker\" Shuttle Console" - desc = "Used to call and send the funeral \"The Undertaker\" shuttle." + desc = "Используется для вызова и отправки похоронного шаттла \"The Undertaker\"." shuttleId = "funeral" possible_destinations = "graveyard_church;graveyard_dock" diff --git a/code/modules/awaymissions/mission_code/stationCollision.dm b/code/modules/awaymissions/mission_code/stationCollision.dm index cfa818d7cc0..9e56bf8bb21 100644 --- a/code/modules/awaymissions/mission_code/stationCollision.dm +++ b/code/modules/awaymissions/mission_code/stationCollision.dm @@ -163,22 +163,22 @@ GLOBAL_VAR_INIT(sc_safecode5, "[rand(0,9)]") /* * Modified Nar-Sie */ -/obj/singularity/narsie/sc_Narsie +/obj/singularity/god/narsie/sc_Narsie desc = "Your body becomes weak and your feel your mind slipping away as you try to comprehend what you know can't be possible." move_self = 0 //Contianed narsie does not move! grav_pull = 0 //Contained narsie does not pull stuff in! var/uneatable = list(/turf/space, /obj/effect/overlay, /mob/living/simple_animal/hostile/construct) //Override this to prevent no adminlog runtimes and admin warnings about a singularity without containment -/obj/singularity/narsie/sc_Narsie/admin_investigate_setup() +/obj/singularity/god/narsie/sc_Narsie/admin_investigate_setup() return -/obj/singularity/narsie/sc_Narsie/process() +/obj/singularity/god/narsie/sc_Narsie/process() eat() if(prob(25)) mezzer() -/obj/singularity/narsie/sc_Narsie/consume(atom/A) +/obj/singularity/god/narsie/sc_Narsie/consume(atom/A) if(!A.simulated) return FALSE if(is_type_in_list(A, uneatable)) @@ -201,5 +201,5 @@ GLOBAL_VAR_INIT(sc_safecode5, "[rand(0,9)]") T.ChangeTurf(T.baseturf) return -/obj/singularity/narsie/sc_Narsie/ex_act() +/obj/singularity/god/narsie/sc_Narsie/ex_act() return diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm index e07985e3440..b86f94b8be1 100644 --- a/code/modules/awaymissions/mission_code/wildwest.dm +++ b/code/modules/awaymissions/mission_code/wildwest.dm @@ -34,14 +34,6 @@ name = "\improper Wild West Vault" icon_state = "away3" -/area/awaymission/wwvaultdoors - name = "\improper Wild West Vault Doors" // this is to keep the vault area being entirely lit because of requires_power - icon_state = "away2" - requires_power = FALSE - static_lighting = FALSE - base_lighting_alpha = 255 - base_lighting_color = COLOR_WHITE - /* * Wish Granter */ diff --git a/code/modules/client/preference/loadout/loadout_donor.dm b/code/modules/client/preference/loadout/loadout_donor.dm index b7854bf2fc3..a5d99260b3a 100644 --- a/code/modules/client/preference/loadout/loadout_donor.dm +++ b/code/modules/client/preference/loadout/loadout_donor.dm @@ -236,6 +236,24 @@ cost = 1 allowed_roles = list(JOB_TITLE_REPRESENTATIVE) +/datum/gear/donor/strip/syndi + display_name = "strip, Syndicate" + path = /obj/item/clothing/accessory/head_strip/syndicate + donator_tier = 3 + cost = 1 + +/datum/gear/donor/strip/comrad + display_name = "strip, SSSP" + path = /obj/item/clothing/accessory/head_strip/comrad + donator_tier = 3 + cost = 1 + +/datum/gear/donor/strip/federal + display_name = "strip, TSF" + path = /obj/item/clothing/accessory/head_strip/federal + donator_tier = 3 + cost = 1 + /datum/gear/donor/heartglasses display_name = "heart-shaped glasses, color" path = /obj/item/clothing/glasses/heart @@ -247,6 +265,70 @@ ..() gear_tweaks += new /datum/gear_tweak/color(parent = src) +/datum/gear/donor/heart_meson + display_name = "Heart Meson Glasses" + path = /obj/item/clothing/glasses/meson/heart + donator_tier = 4 + cost = 2 + slot = ITEM_SLOT_EYES + allowed_roles = list(JOB_TITLE_CHIEF, JOB_TITLE_ENGINEER, JOB_TITLE_ATMOSTECH, JOB_TITLE_MECHANIC, JOB_TITLE_QUARTERMASTER, JOB_TITLE_MINER, JOB_TITLE_CAPTAIN, JOB_TITLE_ENGINEER_TRAINEE) + +/datum/gear/donor/heart_science + display_name = "Heart Science Glasses" + path = /obj/item/clothing/glasses/science/heart + donator_tier = 4 + cost = 2 + slot = ITEM_SLOT_EYES + allowed_roles = list(JOB_TITLE_CAPTAIN, JOB_TITLE_SCIENTIST, JOB_TITLE_ROBOTICIST, JOB_TITLE_RD, JOB_TITLE_GENETICIST, JOB_TITLE_CHEMIST, JOB_TITLE_SCIENTIST_STUDENT) + +/datum/gear/donor/heart_health + display_name = "Heart Medical Glasses" + path = /obj/item/clothing/glasses/hud/health/heart + donator_tier = 4 + cost = 2 + slot = ITEM_SLOT_EYES + allowed_roles = list(JOB_TITLE_CAPTAIN, JOB_TITLE_CMO, JOB_TITLE_INTERN, JOB_TITLE_PARAMEDIC, JOB_TITLE_VIROLOGIST, JOB_TITLE_BLUESHIELD, JOB_TITLE_PSYCHIATRIST, JOB_TITLE_DOCTOR, JOB_TITLE_CORONER) + +/datum/gear/donor/heart_diagnostic + display_name = "Heart Diagnostic Glasses" + path = /obj/item/clothing/glasses/hud/diagnostic/heart + donator_tier = 4 + cost = 2 + slot = ITEM_SLOT_EYES + allowed_roles = list(JOB_TITLE_CAPTAIN, JOB_TITLE_RD, JOB_TITLE_ROBOTICIST) + +/datum/gear/donor/heart_security + display_name = "Heart Security Glasses" + path = /obj/item/clothing/glasses/hud/security/sunglasses/heart + donator_tier = 4 + cost = 2 + slot = ITEM_SLOT_EYES + allowed_roles = list(JOB_TITLE_CAPTAIN, JOB_TITLE_DETECTIVE, JOB_TITLE_PILOT, JOB_TITLE_HOS, JOB_TITLE_WARDEN, JOB_TITLE_BLUESHIELD, JOB_TITLE_JUDGE, JOB_TITLE_OFFICER) + +/datum/gear/donor/heartsec_read + display_name = "Heart Security Glasses" + path = /obj/item/clothing/glasses/hud/security/sunglasses/heart/read_only + donator_tier = 4 + cost = 2 + slot = ITEM_SLOT_EYES + allowed_roles = list(JOB_TITLE_LAWYER) + +/datum/gear/donor/heart_hydroponic + display_name = "Heart Hydroponic Glasses" + path = /obj/item/clothing/glasses/hud/heart + donator_tier = 4 + cost = 2 + slot = ITEM_SLOT_EYES + allowed_roles = list(JOB_TITLE_CAPTAIN, JOB_TITLE_BOTANIST) + +/datum/gear/donor/heart_skills + display_name = "Heart Skills Glasses" + path = /obj/item/clothing/glasses/hud/skills/heart + donator_tier = 4 + cost = 2 + slot = ITEM_SLOT_EYES + allowed_roles = list(JOB_TITLE_CAPTAIN, JOB_TITLE_REPRESENTATIVE, JOB_TITLE_BLUESHIELD, JOB_TITLE_HOP) + /datum/gear/donor/night_dress display_name = "night dress, select" description = "A classic night dress." @@ -338,6 +420,12 @@ donator_tier = 3 cost = 1 +/datum/gear/donor/earring_NT + display_name = "Earrings NT" + path = /obj/item/clothing/ears/earrings/Nt + donator_tier = 3 + cost = 1 + /datum/gear/donor/hijab donator_tier = 1 cost = 1 @@ -398,3 +486,15 @@ display_name = "RD doll" path = /obj/item/toy/plushie/rdplushie +/datum/gear/donor/gsbplushie + donator_tier = 3 + cost = 1 + display_name = "GSBussy doll" + path = /obj/item/toy/plushie/gsbplushie + +/datum/gear/donor/backpack_shitsec + donator_tier = 3 + cost = 1 + display_name = "backpack of justice" + path = /obj/item/storage/backpack/justice + allowed_roles = list(JOB_TITLE_HOS, JOB_TITLE_WARDEN, JOB_TITLE_OFFICER, JOB_TITLE_PILOT) diff --git a/code/modules/client/preference/loadout/loadout_general.dm b/code/modules/client/preference/loadout/loadout_general.dm index 3cc4dfc056d..774e92169fe 100644 --- a/code/modules/client/preference/loadout/loadout_general.dm +++ b/code/modules/client/preference/loadout/loadout_general.dm @@ -32,6 +32,17 @@ display_name = "a cheap lighter" path = /obj/item/lighter +/datum/gear/earrings + display_name = "earrings, select" + path = /obj/item/clothing/ears/earrings + +/datum/gear/earrings/New() + ..() + var/list/earrings = list("silver" = /obj/item/clothing/ears/earrings/silver, + "gold" = /obj/item/clothing/ears/earrings + ) + gear_tweaks += new /datum/gear_tweak/path(earrings, src) + /datum/gear/matches display_name = "a box of matches" path = /obj/item/storage/box/matches diff --git a/code/modules/client/preference/loadout/loadout_glasses.dm b/code/modules/client/preference/loadout/loadout_glasses.dm index dd7350aa640..7cb1fd8037b 100644 --- a/code/modules/client/preference/loadout/loadout_glasses.dm +++ b/code/modules/client/preference/loadout/loadout_glasses.dm @@ -43,3 +43,34 @@ display_name = "Security tactical glasses" path = /obj/item/clothing/glasses/hud/security/sunglasses/tacticool allowed_roles = list(JOB_TITLE_HOS, JOB_TITLE_WARDEN, JOB_TITLE_OFFICER, JOB_TITLE_PILOT) + +/datum/gear/glasses/medhudpatch + display_name = "Medical HUD eyepatch" + path = /obj/item/clothing/glasses/hud/health/patch + allowed_roles = list(JOB_TITLE_CMO, JOB_TITLE_DOCTOR, JOB_TITLE_INTERN, JOB_TITLE_CHEMIST, JOB_TITLE_PSYCHIATRIST, JOB_TITLE_PARAMEDIC, JOB_TITLE_VIROLOGIST, JOB_TITLE_BRIGDOC, JOB_TITLE_CORONER) + +/datum/gear/glasses/sechudpatch + display_name = "Security HUD eyepatch" + path = /obj/item/clothing/glasses/hud/security/patch + allowed_roles = list(JOB_TITLE_HOS, JOB_TITLE_WARDEN, JOB_TITLE_OFFICER, JOB_TITLE_PILOT, JOB_TITLE_JUDGE, JOB_TITLE_DETECTIVE) + +/datum/gear/glasses/sechudpatch/read_only + display_name = "Security HUD eyepatch (read only)" + path = /obj/item/clothing/glasses/hud/security/patch/read_only + allowed_roles = list(JOB_TITLE_LAWYER) + +/datum/gear/glasses/hydrohudpatch + display_name = "Hydroponic HUD eyepatch" + path = /obj/item/clothing/glasses/hud/hydroponic/patch + allowed_roles = list(JOB_TITLE_BOTANIST) + +/datum/gear/glasses/diaghudpatch + display_name = "Diagnostic HUD eyepatch" + path = /obj/item/clothing/glasses/hud/diagnostic/patch + allowed_roles = list(JOB_TITLE_ROBOTICIST, JOB_TITLE_RD) + +/datum/gear/glasses/skillhudpatch + display_name = "Skills HUD eyepatch" + path = /obj/item/clothing/glasses/hud/skills/patch + allowed_roles = list(JOB_TITLE_HOP, JOB_TITLE_CAPTAIN) + diff --git a/code/modules/client/preference/loadout/loadout_shoes.dm b/code/modules/client/preference/loadout/loadout_shoes.dm index dcd52436a80..8245e9371b7 100644 --- a/code/modules/client/preference/loadout/loadout_shoes.dm +++ b/code/modules/client/preference/loadout/loadout_shoes.dm @@ -71,17 +71,9 @@ path = /obj/item/clothing/shoes/leather_boots /datum/gear/shoes/footwraps - display_name = "cloth footwraps, select" + display_name = "cloth footwraps, color" path = /obj/item/clothing/shoes/footwraps /datum/gear/shoes/footwraps/New() ..() - var/list/feet = list("classic" = /obj/item/clothing/shoes/footwraps, - "yellow" = /obj/item/clothing/shoes/footwraps/yellow, - "silver" = /obj/item/clothing/shoes/footwraps/silver, - "red" = /obj/item/clothing/shoes/footwraps/red, - "blue" = /obj/item/clothing/shoes/footwraps/blue, - "black" = /obj/item/clothing/shoes/footwraps/black, - "brown" = /obj/item/clothing/shoes/footwraps/brown, - ) - gear_tweaks += new /datum/gear_tweak/path(feet, src) + gear_tweaks += new /datum/gear_tweak/color(parent = src) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 473d6d5f907..7a371b75989 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -906,7 +906,8 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts html += "[rank] \[ЧЕРЕЗ [(available_in_days)] ДНЕЙ]" continue if(!job.character_old_enough(user.client)) - html += "[rank] \[ВОЗРАСТ ОТ [(job.min_age_allowed)]]" + var/datum/species/current_species = GLOB.all_species[species] + html += "[rank] \[ВОЗРАСТ ОТ [get_age_limits(current_species, job.min_age_type)]" continue if(job.species_in_blacklist(user.client)) html += "[rank] \[НЕДОСТУПНО ДЛЯ ДАННОЙ РАСЫ]" @@ -1542,7 +1543,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts real_name = random_name(gender,species) user.client << output(real_name, "title_browser:update_current_character") if("age") - age = rand(AGE_MIN, AGE_MAX) + age = get_rand_age(S) if("hair") if(species in list(SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_MACNINEPERSON, SPECIES_WRYN, SPECIES_VULPKANIN, SPECIES_VOX)) h_colour = rand_hex_color() @@ -1619,10 +1620,11 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") if("age") - var/new_age = tgui_input_number(user, "Choose your character's age:\n([AGE_MIN]-[AGE_MAX])", "Character Preference", age, AGE_MAX, AGE_MIN) + var/list/age_list = get_age_limits(S, list(SPECIES_AGE_MIN, SPECIES_AGE_MAX)) + var/new_age = tgui_input_number(user, "Choose your character's age:\n([age_list[SPECIES_AGE_MIN]]-[age_list[SPECIES_AGE_MAX]])", "Character Preference", age, age_list[SPECIES_AGE_MAX], age_list[SPECIES_AGE_MIN]) if(!new_age) return - age = max(min(round(text2num(new_age)), AGE_MAX), AGE_MIN) + age = clamp(round(text2num(new_age)), age_list[SPECIES_AGE_MIN], age_list[SPECIES_AGE_MAX]) if("species") var/list/new_species = list(SPECIES_HUMAN) var/prev_species = species @@ -1696,6 +1698,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts if(!(NS.bodyflags & HAS_SKIN_COLOR)) s_colour = "#000000" + age = get_rand_age(NS) alt_head = "None" //No alt heads on species that don't have them. speciesprefs = 0 //My Vox tank shouldn't change how my future Grey talks. language = LANGUAGE_NONE @@ -1758,7 +1761,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts b_type = new_b_type if("hair") - if(species in list(SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_MACNINEPERSON, SPECIES_VULPKANIN, SPECIES_VOX)) //Species that have hair. (No HAS_HAIR flag) + if(species in list(SPECIES_HUMAN, SPECIES_UNATHI, SPECIES_TAJARAN, SPECIES_SKRELL, SPECIES_MACNINEPERSON, SPECIES_VULPKANIN, SPECIES_VOX, SPECIES_WRYN)) //Species that have hair. (No HAS_HAIR flag) var/input = "Choose your character's hair colour:" var/new_hair = input(user, input, "Character Preference", h_colour) as color|null if(new_hair) diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index a1d7b7c2045..6cc2c34071a 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -340,7 +340,8 @@ if(!real_name) real_name = random_name(gender,species) be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name)) gender = sanitize_gender(gender, FALSE, !SP.has_gender) - age = sanitize_integer(age, AGE_MIN, AGE_MAX, initial(age)) + var/age_limits = get_age_limits(SP, list(SPECIES_AGE_MIN, SPECIES_AGE_MAX, JOB_MIN_AGE_COMMAND)) + age = sanitize_integer(age, age_limits[SPECIES_AGE_MIN], age_limits[SPECIES_AGE_MAX], age_limits[JOB_MIN_AGE_COMMAND]) h_colour = sanitize_hexcolor(h_colour) h_sec_colour = sanitize_hexcolor(h_sec_colour) f_colour = sanitize_hexcolor(f_colour) diff --git a/code/modules/client/preference/preferences_toggles.dm b/code/modules/client/preference/preferences_toggles.dm index a17aa806114..2cef26fd5e9 100644 --- a/code/modules/client/preference/preferences_toggles.dm +++ b/code/modules/client/preference/preferences_toggles.dm @@ -590,3 +590,14 @@ enable_message = "You will see item description tips now." disable_message = "You will not see item description tips now." blackbox_message = "Toggle item description tips on hover" + +/datum/preference_toggle/toggle_take_out_of_the_round_without_obj + name = "Вывод из игры без цели" + description = "Переключает разрешение другим игрокам выводить вас из раунда без соответствующей цели." + preftoggle_bitflag = PREFTOGGLE_2_GIB_WITHOUT_OBJECTIVE + preftoggle_toggle = PREFTOGGLE_TOGGLE2 + preftoggle_category = PREFTOGGLE_CATEGORY_GENERAL + enable_message = "Другие игроки теперь имеют право выводить вас из раунда без цели." + disable_message = "Другие игроки больше не имеют права выводить вас из раунда без цели." + blackbox_message = "Переключение разрешения выводить игрока из раунда" + diff --git a/code/modules/clothing/chameleon/generic_chameleon_clothing.dm b/code/modules/clothing/chameleon/generic_chameleon_clothing.dm index 135b23f2eb5..d30e5ea5321 100644 --- a/code/modules/clothing/chameleon/generic_chameleon_clothing.dm +++ b/code/modules/clothing/chameleon/generic_chameleon_clothing.dm @@ -220,6 +220,7 @@ do { \ SPECIES_WOLPIN = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_NEARA = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) var/obj/item/voice_changer/voice_changer diff --git a/code/modules/clothing/ears/ears.dm b/code/modules/clothing/ears/ears.dm index 10f291af765..4d483f38060 100644 --- a/code/modules/clothing/ears/ears.dm +++ b/code/modules/clothing/ears/ears.dm @@ -9,3 +9,23 @@ strip_delay = 15 put_on_delay = 25 resistance_flags = FLAMMABLE + +/obj/item/clothing/ears/earrings + name = "Earrings" + desc = "Простые золотые серёжки" + icon_state = "earring_gold" + item_state = "earring_gold" + slot_flags = ITEM_SLOT_EARS + species_restricted = list(SPECIES_HUMAN, SPECIES_VOX, SPECIES_VULPKANIN, SPECIES_TAJARAN, SPECIES_DIONA, SPECIES_DRASK, SPECIES_SLIMEPERSON, SPECIES_SKRELL, SPECIES_MACNINEPERSON, SPECIES_MOTH, SPECIES_NUCLEATION) + +/obj/item/clothing/ears/earrings/Nt + name = "Earrings NT" + desc = "Золотые серьги с гравировкой НТ" + icon_state = "earring_NT" + item_state = "earring_NT" + +/obj/item/clothing/ears/earrings/silver + name = "Silver earings" + desc = "Простые серебряные серьги" + icon_state = "earring_silver" + item_state = "earring_silver" diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 4aa7b0db32f..a1567ef30b7 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -113,6 +113,12 @@ flash_protect = FLASH_PROTECTION_FLASH tint = 1 +/obj/item/clothing/glasses/meson/heart + name = "\improper Heart Meson Glasses" + desc = "Модные очки в форме сердечек с встроенным ИЛС под рабочие нужды." + icon_state = "heart_meson" + item_state = "heart_meson" + /obj/item/clothing/glasses/meson/night name = "Night Vision Optical Meson Scanner" desc = "An Optical Meson Scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness." @@ -186,6 +192,12 @@ see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //don't render darkness while wearing these +/obj/item/clothing/glasses/science/heart + name = "\improper Heart Science Glasses" + desc = "Модные очки в форме сердечек с встроенным ИЛС под рабочие нужды." + icon_state = "heart_science" + item_state = "heart_science" + /obj/item/clothing/glasses/janitor name = "Janitorial Goggles" desc = "These'll keep the soap out of your eyes." diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index d1805c4db40..de7194f995e 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -82,6 +82,19 @@ MEDICAL lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE prescription_upgradable = FALSE +/obj/item/clothing/glasses/hud/health/heart + name = "\improper Heart Medical Glasses" + desc = "Модные очки в форме сердечек с встроенным ИЛС под рабочие нужды." + icon_state = "heart_med" + item_state = "heart_med" + +/obj/item/clothing/glasses/hud/health/patch + name = "\improper Medical HUD Eyepatch" + desc = "A heads-up eyepatch that scans the humans in view and provides accurate data about their health status." + icon_state = "medhudpatch" + item_state = "medhudpatch" + prescription_upgradable = FALSE + /obj/item/clothing/glasses/hud/health/sunglasses name = "medical sunglasses" desc = "Sunglasses with a medical HUD." @@ -147,6 +160,19 @@ DIAGNOSTIC SPECIES_STOK = 'icons/mob/clothing/species/monkey/eyes.dmi' ) +/obj/item/clothing/glasses/hud/diagnostic/patch + name = "\improper Diagnostic HUD Eyepatch" + desc = "A heads-up eyepatch capable of analyzing the integrity and status of robotics and exosuits." + icon_state = "diaghudpatch" + item_state = "diaghudpatch" + prescription_upgradable = FALSE + +/obj/item/clothing/glasses/hud/diagnostic/heart + name = "\improper Heart Diagnostic Glasses" + desc = "Модные очки в форме сердечек с встроенным ИЛС под рабочие нужды." + icon_state = "heart_diagnostic" + item_state = "heart_diagnostic" + /obj/item/clothing/glasses/hud/diagnostic/night name = "\improper Night Vision Diagnostic HUD" desc = "A robotics diagnostic HUD fitted with a light amplifier." @@ -206,6 +232,16 @@ SECURITY SPECIES_STOK = 'icons/mob/clothing/species/monkey/eyes.dmi' ) +/obj/item/clothing/glasses/hud/security/patch + name = "\improper Security HUD Eyepatch" + desc = "A heads-up eyepatch that scans the humans in view and provides accurate data about their ID status and security records." + icon_state = "sechudpatch" + item_state = "sechudpatch" + prescription_upgradable = FALSE + +/obj/item/clothing/glasses/hud/security/patch/read_only + examine_extensions = EXAMINE_HUD_SECURITY_READ + /obj/item/clothing/glasses/hud/security/read_only examine_extensions = EXAMINE_HUD_SECURITY_READ @@ -238,6 +274,15 @@ SECURITY SPECIES_STOK = 'icons/mob/clothing/species/monkey/eyes.dmi' ) +/obj/item/clothing/glasses/hud/security/sunglasses/heart + name = "\improper Heart Security Glasses" + desc = "Модные очки в форме сердечек с встроенным ИЛС под рабочие нужды." + icon_state = "heart_sec" + item_state = "heart_sec" + +/obj/item/clothing/glasses/hud/security/sunglasses/heart/read_only + examine_extensions = EXAMINE_HUD_SECURITY_READ + /obj/item/clothing/glasses/hud/security/sunglasses/tacticool name = "security tactical glasses" desc = "Ballistic glasses with a security HUD. Gives you tacticool protection and selfish increase. The elastic band allows it to be worn over a helmet." @@ -327,6 +372,19 @@ HYDROPONIC SPECIES_STOK = 'icons/mob/clothing/species/monkey/eyes.dmi' ) +/obj/item/clothing/glasses/hud/hydroponic/patch + name = "\improper Hydroponic HUD Eyepatch" + desc = "A heads-up eyepatch capable of analyzing the health and status of plants growing in hydro trays and soil." + icon_state = "hydrohudpatch" + item_state = "hydrohudpatch" + prescription_upgradable = FALSE + +/obj/item/clothing/glasses/hud/heart + name = "\improper Heart Hydroponic Glasses" + desc = "Модные очки в форме сердечек с встроенным ИЛС под рабочие нужды." + icon_state = "heart_hydro" + item_state = "heart_hydro" + /obj/item/clothing/glasses/hud/hydroponic/night name = "\improper Night Vision Hydroponic HUD" desc = "A hydroponic HUD fitted with a light amplifier." @@ -383,6 +441,19 @@ SKILLS SPECIES_STOK = 'icons/mob/clothing/species/monkey/eyes.dmi' ) +/obj/item/clothing/glasses/hud/skills/patch + name = "\improper Skills HUD Eyepatch" + desc = "A heads-up eyepatch capable of showing the employment history records of NT crew members." + icon_state = "skillhudpatch" + item_state = "skillhudpatch" + prescription_upgradable = FALSE + +/obj/item/clothing/glasses/hud/skills/heart + name = "\improper Heart Skills Glasses" + desc = "Модные очки в форме сердечек с встроенным ИЛС под рабочие нужды." + icon_state = "heart_skill" + item_state = "heart_skill" + /obj/item/clothing/glasses/hud/skills/sunglasses name = "skills sunglasses" desc = "Sunglasses with a build-in skills HUD, showing the employment history of nearby NT crew members." diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index cc5bd1bacea..0e7ac2bcb7f 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -471,3 +471,30 @@ SPECIES_NEARA = 'icons/mob/clothing/species/monkey/head.dmi', SPECIES_STOK = 'icons/mob/clothing/species/monkey/head.dmi' ) + +/obj/item/clothing/head/helmet/biker + name = "Motorcycle helmet" + desc = "Самый обычный мотоциклетный шлем." + armor = list("melee" = 25, "bullet" = 10, "laser" = 30, "energy" = 30, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 0) + icon_state = "biker" + item_state = "biker" + flags_inv = HIDEMASK|HIDEHEADSETS|HIDEGLASSES|HIDEHAIR + flags_cover = HEADCOVERSEYES|HEADCOVERSMOUTH + color = "#161515" + sprite_sheets = list( + SPECIES_MONKEY = 'icons/mob/clothing/species/monkey/head.dmi' + ) + species_restricted = list(SPECIES_HUMAN, SPECIES_SLIMEPERSON, SPECIES_SKELETON, SPECIES_NUCLEATION, SPECIES_MACNINEPERSON, SPECIES_DIONA, SPECIES_SHADOW_BASIC, SPECIES_MONKEY) + +/obj/item/clothing/head/helmet/biker/Initialize(mapload) + . = ..() + update_icon(UPDATE_OVERLAYS) + +/obj/item/clothing/head/helmet/biker/ComponentInitialize() + . = ..() + AddComponent(/datum/component/spraycan_paintable) + +/obj/item/clothing/head/helmet/biker/update_overlays() + . = ..() + var/mutable_appearance/biker_overlay = mutable_appearance(icon='icons/obj/clothing/hats.dmi', icon_state = "biker_overlay") + . += biker_overlay diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index 251bebffc06..2b9de438487 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -24,7 +24,8 @@ SPECIES_FARWA = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_WOLPIN = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_NEARA = 'icons/mob/clothing/species/monkey/mask.dmi', - SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi' + SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) @@ -54,7 +55,8 @@ SPECIES_FARWA = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_WOLPIN = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_NEARA = 'icons/mob/clothing/species/monkey/mask.dmi', - SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi' + SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) /obj/item/clothing/mask/luchador/tecnicos diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 60740bcd960..7b7cf4c8306 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -27,7 +27,8 @@ SPECIES_FARWA = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_WOLPIN = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_NEARA = 'icons/mob/clothing/species/monkey/mask.dmi', - SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi' + SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) /obj/item/clothing/mask/breath/attack_self(mob/user) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 0e729aa7815..b1dcdf8c4fd 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -26,7 +26,8 @@ SPECIES_FARWA = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_WOLPIN = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_NEARA = 'icons/mob/clothing/species/monkey/mask.dmi', - SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi' + SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) // **** Welding gas mask **** @@ -79,7 +80,8 @@ SPECIES_FARWA = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_WOLPIN = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_NEARA = 'icons/mob/clothing/species/monkey/mask.dmi', - SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi' + SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) @@ -187,7 +189,8 @@ icon_state = "rainbow" item_state = "rainbow" sprite_sheets = list( - SPECIES_VULPKANIN = 'icons/mob/clothing/species/vulpkanin/head.dmi' + SPECIES_VULPKANIN = 'icons/mob/clothing/species/vulpkanin/head.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) /obj/item/clothing/mask/gas/clownwiz diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 64f226b705b..3993acea1cc 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -19,7 +19,8 @@ SPECIES_FARWA = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_WOLPIN = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_NEARA = 'icons/mob/clothing/species/monkey/mask.dmi', - SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi' + SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) // Clumsy folks can't take the mask off themselves. @@ -249,7 +250,8 @@ SPECIES_FARWA = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_WOLPIN = 'icons/mob/clothing/species/monkey/mask.dmi', SPECIES_NEARA = 'icons/mob/clothing/species/monkey/mask.dmi', - SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi' + SPECIES_STOK = 'icons/mob/clothing/species/monkey/mask.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) @@ -474,9 +476,34 @@ icon_state = "pennywise_mask" item_state = "pennywise_mask" sprite_sheets = list( - SPECIES_VULPKANIN = 'icons/mob/clothing/species/vulpkanin/head.dmi' + SPECIES_VULPKANIN = 'icons/mob/clothing/species/vulpkanin/head.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' ) +/obj/item/clothing/mask/gas/clown_hat/sweettooth + name = "Sweet Tooth Mask" + desc = "Брутальная маска клоуна. Она до сих пор пахнет цирком. И керосином." + icon_state = "sweettooth_mask" + item_state = "sweettooth_mask" + ru_names = list( + NOMINATIVE = "Маска Сладкоежки", + GENITIVE = "Маски Сладкоежки", + DATIVE = "Маске Сладкоежки", + ACCUSATIVE = "Маску Сладкоежки", + INSTRUMENTAL = "Маской Сладкоежки", + PREPOSITIONAL = "Маске Сладкоежки" + ) + sprite_sheets = list( + SPECIES_UNATHI = 'icons/mob/clothing/species/unathi/mask.dmi', + SPECIES_TAJARAN = 'icons/mob/clothing/species/tajaran/mask.dmi', + SPECIES_VULPKANIN = 'icons/mob/clothing/species/vulpkanin/mask.dmi', + SPECIES_VOX = 'icons/mob/clothing/species/vox/mask.dmi', + SPECIES_MONKEY = 'icons/mob/clothing/species/monkey/mask.dmi', + SPECIES_DRASK = 'icons/mob/clothing/species/drask/mask.dmi', + SPECIES_GREY = 'icons/mob/clothing/species/grey/mask.dmi', + SPECIES_KIDAN = 'icons/mob/clothing/species/kidan/mask.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/mask.dmi' + ) /obj/item/clothing/mask/gas/clown_hat/rockso name = "Rockso Mask" @@ -504,7 +531,7 @@ w_class = WEIGHT_CLASS_TINY flags_inv = HIDENAME|HIDEFACIALHAIR adjusted_slot_flags = ITEM_SLOT_HEAD - adjusted_flags_inv = HIDENAME|HIDEFACIALHAIR|HIDEHEADHAIR + adjusted_flags_inv = HIDENAME|HIDEFACIALHAIR can_toggle = TRUE sprite_sheets = list( SPECIES_VOX = 'icons/mob/clothing/species/vox/mask.dmi', diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 2607eaf7ec1..51f3161fb41 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -399,43 +399,18 @@ /obj/item/clothing/shoes/cowboy/lizardmasterwork = 1) /obj/item/clothing/shoes/footwraps - name = "cloth footwraps" - desc = "A roll of treated canvas used for wrapping claws or paws." - icon_state = "clothwrap" - item_state = "clothwrap" - force = 0 - silence_steps = TRUE - w_class = WEIGHT_CLASS_SMALL - -/obj/item/clothing/shoes/footwraps/yellow - name = "yellow cloth footwraps" - icon_state = "yellow_wrap" - item_state = "yellow_wrap" - -/obj/item/clothing/shoes/footwraps/silver - name = "silver cloth footwraps" - icon_state = "silver_wrap" - item_state = "silver_wrap" - -/obj/item/clothing/shoes/footwraps/red - name = "red cloth footwraps" - icon_state = "red_wrap" - item_state = "red_wrap" - -/obj/item/clothing/shoes/footwraps/blue - name = "blue cloth footwraps" - icon_state = "blue_wrap" - item_state = "blue_wrap" - -/obj/item/clothing/shoes/footwraps/black - name = "black cloth footwraps" - icon_state = "black_wrap" - item_state = "black_wrap" - -/obj/item/clothing/shoes/footwraps/brown - name = "brown cloth footwraps" - icon_state = "brown_wrap" - item_state = "brown_wrap" + name = "cloth footwraps" + desc = "A roll of treated canvas used for wrapping claws or paws." + icon_state = "clothwrap" + item_state = "clothwrap" + force = 0 + silence_steps = TRUE + w_class = WEIGHT_CLASS_SMALL + var/paintable = TRUE + +/obj/item/clothing/shoes/footwraps/ComponentInitialize() + if(paintable) + AddComponent(/datum/component/spraycan_paintable) /obj/item/clothing/shoes/footwraps/goliath name = "goliath hide footwraps" @@ -444,6 +419,7 @@ item_state = "footwraps_goliath" armor = list("melee" = 5, "bullet" = 5, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 0) resistance_flags = FIRE_PROOF + paintable = FALSE /obj/item/clothing/shoes/footwraps/dragon name = "ash drake hide footwraps" @@ -452,6 +428,7 @@ item_state = "footwraps_dragon" armor = list("melee" = 10, "bullet" = 10, "laser" = 15, "energy" = 10, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 15, "acid" = 0) resistance_flags = FIRE_PROOF | ACID_PROOF + paintable = FALSE /obj/item/clothing/shoes/bhop name = "jump boots" diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 88ec9980b30..d9379daaec9 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -1131,6 +1131,27 @@ item_state = "ntrstrip" strip_bubble_icon = "NTR" +/obj/item/clothing/accessory/head_strip/syndicate + name = "Syndicate strip" + desc = "Круглый металлический значок тёмно-красного цвета с расположенной в центре ярко-зелёной буквой \"S\" с бордовым штырём." + icon_state = "syndistrip" + item_state = "syndistrip" + strip_bubble_icon = "Syndie" + +/obj/item/clothing/accessory/head_strip/comrad + name = "Comrade patch" + desc = "Грубый прямоугольный шеврон цвета хаки с бело-золотыми вставками по бокам и вышитой красными нитями аббревиатурой \"СССП\" в центре: стандартная нашивка, выдаваемая добровольцам." + icon_state = "patch_sssp" + item_state = "patch_sssp" + strip_bubble_icon = "comrad" + +/obj/item/clothing/accessory/head_strip/federal + name = "Federal strip" + desc = "Плотно сшитая круглая нашивка из синего бархата с белой окантовкой и золотыми вставками. По центру красуется логотип ТСФ, прошитый бело-золотыми металлическими нитями: стандартный знак отличия для граждан ТСФ." + icon_state = "stripe_federal" + item_state = "stripe_federal" + strip_bubble_icon = "federal" + /obj/item/clothing/accessory/head_strip/lawyers_badge name = "attorney's badge" desc = "Fills you with the conviction of JUSTICE. Lawyers tend to want to show it to everyone they meet." diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index ecdbe936684..e84df73a48c 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -795,6 +795,30 @@ item_color = "pennywise" body_parts_covered = UPPER_TORSO|LOWER_TORSO +/obj/item/clothing/under/sweettooth + name = "Sweet Tooth Costume" + desc = "Брутально выглядящий костюм, отдалённо смахивающий на клоунский. Такой отлично подошёл бы какому-нибудь серийному убийце." + icon_state = "sweettooth_uniform" + item_color = "sweettooth_uniform" + ru_names = list( + NOMINATIVE = "Костюм Сладкоежки", + GENITIVE = "Костюма Сладкоежки", + DATIVE = "Костюму Сладкоежки", + ACCUSATIVE = "Костюм Сладкоежки", + INSTRUMENTAL = "Костюмом Сладкоежки", + PREPOSITIONAL = "Костюме Сладкоежки" + ) + body_parts_covered = UPPER_TORSO | LOWER_TORSO + sprite_sheets = list( + SPECIES_VOX = 'icons/mob/clothing/species/vox/uniform.dmi', + SPECIES_MONKEY = 'icons/mob/clothing/species/monkey/uniform.dmi', + SPECIES_DRASK = 'icons/mob/clothing/species/drask/uniform.dmi', + SPECIES_GREY = 'icons/mob/clothing/species/grey/uniform.dmi', + SPECIES_KIDAN = 'icons/mob/clothing/species/kidan/uniform.dmi', + SPECIES_WRYN = 'icons/mob/clothing/species/wryn/uniform.dmi', + SPECIES_GREY = 'icons/mob/clothing/species/grey/uniform.dmi' + ) + /obj/item/clothing/under/rockso name = "Rockso Costume" desc = "I DO COCAINE!" diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index cd2fd7af4fd..4dcd10981ba 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -1519,6 +1519,39 @@ subcategory = CAT_WEAPON always_availible = FALSE +/datum/crafting_recipe/pickaxe + name = "Iron pickaxe" + reqs = list( + /obj/item/stack/sheet/wood = 2, + /obj/item/stack/sheet/metal = 5 + ) + result = list(/obj/item/pickaxe) + category = CAT_PRIMAL + +/datum/crafting_recipe/pickaxe/silver + name = "Silver pickaxe" + reqs = list( + /obj/item/stack/sheet/wood = 2, + /obj/item/stack/sheet/mineral/silver = 5 + ) + result = list(/obj/item/pickaxe/silver) + +/datum/crafting_recipe/pickaxe/golden + name = "Golden pickaxe" + reqs = list( + /obj/item/stack/sheet/wood = 2, + /obj/item/stack/sheet/mineral/gold = 5 + ) + result = list(/obj/item/pickaxe/gold) + +/datum/crafting_recipe/pickaxe/diamond + name = "Diamond pickaxe" + reqs = list( + /obj/item/stack/sheet/wood = 2, + /obj/item/stack/sheet/mineral/diamond = 5 + ) + result = list(/obj/item/pickaxe/diamond) + /datum/crafting_recipe/drone name = "Inactive Drone" result = list(/obj/item/inactive_drone) diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index 9e20ae02a3d..da677f8c89b 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -11,6 +11,7 @@ log transactions #define CHANGE_SECURITY_LEVEL 1 #define TRANSFER_FUNDS 2 #define VIEW_TRANSACTION_LOGS 3 +#define CHANGE_INSURANCE_TYPE 4 #define PRINT_DELAY 100 #define LOCKOUT_TIME 120 @@ -77,9 +78,15 @@ log transactions /obj/machinery/atm/proc/reconnect_database() for(var/obj/machinery/computer/account_database/DB in GLOB.machines) - if(DB.z == z && !(DB.stat & NOPOWER) && DB.activated) + if(DB.stat & NOPOWER || !DB.activated) + continue + if(is_station_level(z) && is_station_level(DB.z)) linked_db = DB break + else + if(DB.z == z) + linked_db = DB + break /obj/machinery/atm/update_icon_state() @@ -155,7 +162,7 @@ log transactions /obj/machinery/atm/ui_interact(mob/user, datum/tgui/ui = null) ui = SStgui.try_update_ui(user, src, ui) - if (!ui) + if(!ui) ui = new(user, src, "ATM", name) ui.open() @@ -171,6 +178,8 @@ log transactions if(authenticated_account) data["owner_name"] = authenticated_account.owner_name data["money"] = authenticated_account.money + data["insurance"] = authenticated_account.insurance + data["insurance_type"] = authenticated_account.insurance_type data["security_level"] = authenticated_account.security_level var/list/trx = list() @@ -208,7 +217,7 @@ log transactions to_chat(usr, "[bicon(src)]You don't have enough funds to do that!") if("view_screen") - var/list/valid_screen = list(DEFAULT_SCREEN, CHANGE_SECURITY_LEVEL, TRANSFER_FUNDS, VIEW_TRANSACTION_LOGS) + var/list/valid_screen = list(DEFAULT_SCREEN, CHANGE_SECURITY_LEVEL, TRANSFER_FUNDS, VIEW_TRANSACTION_LOGS, CHANGE_INSURANCE_TYPE) var/screen_proper = text2num(params["view_screen"]) if(screen_proper in valid_screen) view_screen = screen_proper @@ -221,6 +230,22 @@ log transactions var/new_sec_level = max(min(params["new_security_level"], 2), 0) authenticated_account.security_level = new_sec_level + if("change_insurance_type") + if(authenticated_account) + var/new_insurance_type = params["new_insurance_type"] + var/req_money = 0 + switch (new_insurance_type) + if(INSURANCE_TYPE_STANDART) + req_money = INSURANCE_STANDART_COST + if(INSURANCE_TYPE_DELUXE) + req_money = INSURANCE_DELUXE_COST + + if(authenticated_account.charge(req_money)) + usr.balloon_alert("Тип страховки изменен") + authenticated_account.insurance_type = new_insurance_type + else + usr.balloon_alert("Недостаточно средств") + if("attempt_auth") if(linked_db) if(!ticks_left_locked_down) @@ -289,6 +314,30 @@ log transactions else to_chat(usr, "[bicon(src)]You don't have enough funds to do that!") + if("insurance") + var/amount = max(text2num(params["insurance_amount"]), 0) + if(amount <= 0) + to_chat(usr, "[bicon(src)]" + span_warning("That is not a valid amount.")) + else if(authenticated_account && amount > 0) + if(amount <= authenticated_account.money) + playsound(src, 'sound/machines/chime.ogg', 50, TRUE) + + //remove the money + if(amount > 100000) // prevent crashes + to_chat(usr, span_notice("The ATM's screen flashes, 'Лимит единоразового пополнения страховки достигнут, установка пополнения на 100,000.'")) + amount = 100000 + if(authenticated_account.charge(amount, null, "Insurance replenishment", machine_id, authenticated_account.owner_name)) + replenish_insurance(amount) + else + to_chat(usr, "[bicon(src)]" + span_warning("У вас недостаточно кредитов для этого!")) + + if("insurance_replenishment") + authenticated_account.insurance_auto_replen = !authenticated_account.insurance_auto_replen + if(authenticated_account.insurance_auto_replen) + to_chat(usr, "[bicon(src)]" + span_warning("Автопополнение страховки включено!")) + else + to_chat(usr, "[bicon(src)]" + span_warning("Автопополнение страховки отключено!")) + if("balance_statement") if(authenticated_account) if(world.timeofday < lastprint + PRINT_DELAY) @@ -334,3 +383,5 @@ log transactions if(usr) usr.put_in_hands(C, ignore_anim = FALSE) +/obj/machinery/atm/proc/replenish_insurance(amount) + authenticated_account.addInsurancePoints(amount) diff --git a/code/modules/economy/Accounts.dm b/code/modules/economy/Accounts.dm index a675e47bfaa..bc7a12e0908 100644 --- a/code/modules/economy/Accounts.dm +++ b/code/modules/economy/Accounts.dm @@ -13,6 +13,7 @@ GLOBAL_VAR_INIT(next_account_number, 0) GLOBAL_DATUM(centcomm_account_db, /obj/machinery/computer/account_database) // this being an object hurts me deeply on the inside GLOBAL_DATUM(vendor_account, /datum/money_account) GLOBAL_LIST_EMPTY(all_money_accounts) +GLOBAL_LIST_EMPTY(dna2account) GLOBAL_DATUM(CC_account, /datum/money_account) @@ -135,9 +136,13 @@ GLOBAL_DATUM(CC_account, /datum/money_account) var/money = 0 var/suspended = 0 var/list/transaction_log = list() + var/insurance = INSURANCE_NONE + var/insurance_type = INSURANCE_TYPE_NONE + var/insurance_auto_replen = TRUE var/security_level = 0 //0 - auto-identify from worn ID, require only account number //1 - require manual login / account number and pin //2 - require card and manual login + COOLDOWN_DECLARE(insurance_collecting) var/datum/job/linked_job = /datum/job var/salary_payment_active = FALSE @@ -145,6 +150,9 @@ GLOBAL_DATUM(CC_account, /datum/money_account) /datum/money_account/New() ..() +/datum/money_account/proc/addInsurancePoints(amount) + insurance += amount + /datum/money_account/proc/notify_pda_owner(var/text, var/noti = FALSE) for(var/obj/item/pda/send_pda in GLOB.PDAs) if(owner_name == send_pda.owner) diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm index 0fdb5366ca3..a6a748078e4 100644 --- a/code/modules/economy/Accounts_DB.dm +++ b/code/modules/economy/Accounts_DB.dm @@ -6,7 +6,7 @@ GLOBAL_VAR(current_date_string) /obj/machinery/computer/account_database name = "Accounts Uplink Terminal" - desc = "Access transaction logs, account data and all kinds of other financial records." + desc = "Получите доступ к журналам транзакций, данным учетной записи и всем видам других финансовых записей." icon_screen = "accounts" req_access = list(ACCESS_HOP, ACCESS_CAPTAIN, ACCESS_CENT_COMMANDER) light_color = LIGHT_COLOR_GREEN @@ -25,7 +25,7 @@ GLOBAL_VAR(current_date_string) // If someone ever makes a map without one of these consoles, the entire eco AND date system breaks // This upsets me a lot // AA Todo: SSeconomy - + if(!GLOB.current_date_string) GLOB.current_date_string = "[time2text(world.timeofday, "DD Month")], [GLOB.game_year]" @@ -148,6 +148,8 @@ GLOBAL_VAR(current_date_string) var/datum/money_account/M = create_account(account_name, starting_funds, src) if(starting_funds > 0) GLOB.station_account.charge(starting_funds, null, "New account activation", "", "New account activation", M.owner_name) + M.insurance_type = INSURANCE_TYPE_BUDGETARY + M.insurance = INSURANCE_NONE current_page = AUT_ACCLST diff --git a/code/modules/economy/insurance.dm b/code/modules/economy/insurance.dm new file mode 100644 index 00000000000..dd58e90b94c --- /dev/null +++ b/code/modules/economy/insurance.dm @@ -0,0 +1,120 @@ + +/proc/send_insurance_alert(datum/money_account/acc, amount_spent) + var/obj/machinery/message_server/message_server = find_pda_server() + if(message_server) + message_server.send_pda_message(acc.owner_name, "Insurance NT Department", "Медицинской страховки недостаточно на покрытие расходов на лечение. С вашего счета списанно [amount_spent] кредитов.") + +// if have id -> acc from id +// else -> dna acc + +/proc/get_insurance_account(mob/living/carbon/human/user) + var/obj/item/card/id/user_id = user.get_id_card() + if(istype(user_id) && user_id.associated_account_number) + return get_money_account(user_id.associated_account_number) + if(user.dna in GLOB.dna2account) + return GLOB.dna2account[user.dna] + else + return null + +/proc/do_insurance_collection(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/money_account/connected_acc) + if(!istype(target)) + target.visible_message("Некорректная цель списания страховки.") + return FALSE + + var/list/access = user?.get_access() + if(user && !(ACCESS_MEDICAL in access)) + target.visible_message("Недостаточно доступа для списания страховки.") + return FALSE + + var/req = get_req_insurance(target) + var/datum/money_account/acc = get_insurance_account(target) + + if(!acc) + target.visible_message("Аккаунт не обнаружен.") + return FALSE + + if(!COOLDOWN_FINISHED(acc, insurance_collecting)) + target.visible_message("С цели недавно уже списывалась страховка. Подождите немного.") + return FALSE + COOLDOWN_START(acc, insurance_collecting, 60 SECONDS) + + var/from_insurance = min(acc.insurance, req) + var/from_money_acc = (req - from_insurance) * 2 + + if(from_money_acc) + if(!acc.insurance_auto_replen) + target.visible_message(span_warning("Страховки не хватает на оплату лечения. Автопополнение страховки отключено.")) + return FALSE + if(!acc.charge(from_money_acc)) + target.visible_message(span_warning("Страховки не хватает на оплату лечения. Автопополнение страховки провалилось.")) + return FALSE + + if(from_money_acc) + send_insurance_alert(acc) + + acc.addInsurancePoints(-from_insurance) + + if(connected_acc) + var/datum/money_account/money_account = attempt_account_access_nosec(connected_acc) + if(money_account) + money_account.money += round(round(req / 2)) + + target.visible_message("Страховка списанна в размере: [req].") + if(from_money_acc) + target.visible_message("Страховки не хватило. [from_money_acc / 2] недостающих очков страховки восполнено за счет [from_money_acc] кредитов со счета пациента.") + + return TRUE + +/proc/get_req_insurance(mob/living/carbon/human/user) + var/insurance = 0 + + insurance += user.getBruteLoss() * REQ_INSURANCE_BRUT + insurance += user.getFireLoss() * REQ_INSURANCE_BURN + insurance += user.getOxyLoss() * REQ_INSURANCE_OXY + insurance += user.getToxLoss() * REQ_INSURANCE_TOX + insurance += user.getCloneLoss() * REQ_INSURANCE_CLONE + + var/internal_organs_damage = 0 + for(var/obj/item/organ/internal/organ as anything in user.internal_organs) + internal_organs_damage += organ.damage + + insurance += internal_organs_damage * REQ_INSURANCE_ORGAN + + insurance += user.radiation * REQ_INSURANCE_RAD + insurance += max(0, round((BLOOD_VOLUME_NORMAL - user.blood_volume) / BLOOD_VOLUME_NORMAL * 100)) * REQ_INSURANCE_BLOOD + + var/internal_bleedings = 0 + for(var/obj/item/organ/external/bodypart as anything in user.bodyparts) + if(bodypart.has_internal_bleeding()) + internal_bleedings++ + + insurance += internal_bleedings * REQ_INSURANCE_INTBLEED + + var/broken_bones = 0 + for(var/obj/item/organ/external/bodypart as anything in user.bodyparts) + if(bodypart.has_fracture()) + broken_bones++ + + insurance += broken_bones * REQ_INSURANCE_BONE + + var/missed_organs = 0 + for (var/organ in user.dna.species.has_organ) + if(!(organ in user.internal_organs_slot)) + missed_organs++ + + insurance += missed_organs * REQ_INSURANCE_LOST_ORGAN + + var/missed_limbs = 0 + for (var/limb in user.dna.species.has_limbs) + if(!(user.bodyparts_by_name[limb] in user.bodyparts)) + missed_limbs++ + + insurance += missed_limbs * REQ_INSURANCE_LOST_LIMB + + if(user.health < HEALTH_THRESHOLD_CRIT) + insurance += REQ_INSURANCE_CRIT + + if(user.stat == DEAD) + insurance += REQ_INSURANCE_DEATH + + return insurance diff --git a/code/modules/economy/quests/quest_console.dm b/code/modules/economy/quests/quest_console.dm index ed42cd70c5d..2070bfb0f27 100644 --- a/code/modules/economy/quests/quest_console.dm +++ b/code/modules/economy/quests/quest_console.dm @@ -6,7 +6,7 @@ /obj/machinery/computer/supplyquest name = "Supply Request Console" - desc = "Essential for supply requests. Your bread and butter." + desc = "Незаменим при оформлении заказов на поставку. Ваш хлеб с маслом." icon_keyboard = "cargo_quest_key" icon_screen = "cargo_quest" req_access = list(ACCESS_CARGO) @@ -221,7 +221,7 @@ /obj/machinery/computer/supplyquest/workers name = "Supply Request Monitor" - desc = "From this monitor, you can view active requests, and you can take a printed version of the request to make it easier to collect supplies. Oh, and so you don't forget." + desc = "На этом мониторе вы можете просматривать активные запросы и распечатывать их, чтобы упростить сбор материалов. Да, и чтобы вы не забыли." icon_state = "quest_console" icon_screen = "quest" icon_keyboard = null @@ -313,7 +313,7 @@ /obj/machinery/computer/supplyquest/iternal name = "invasive quest utility" - desc = "How did this get here?! Please report this as a bug to github" + desc = "Как это сюда попало?! Пожалуйста, сообщите об этом как об ошибке на github" use_power = NO_POWER_USE /obj/item/qm_quest_tablet/Initialize(mapload) diff --git a/code/modules/economy/robotic_quests/robo_quest_console.dm b/code/modules/economy/robotic_quests/robo_quest_console.dm index 4ac49cef500..7891ec061a6 100644 --- a/code/modules/economy/robotic_quests/robo_quest_console.dm +++ b/code/modules/economy/robotic_quests/robo_quest_console.dm @@ -21,7 +21,7 @@ /obj/machinery/computer/roboquest name = "Robotics Request Console" - desc = "Console used for receiving requests for construction of exosuits." + desc = "Консоль, используемая для приема запросов на изготовление экзоскелетов." icon_screen = "robo_ntos_roboquest" icon_keyboard = "rd_key" light_color = LIGHT_COLOR_FADEDPURPLE @@ -31,10 +31,6 @@ var/style = "ntos_roboquest" /// Can we send mecha? var/canSend = FALSE - /// Is there mecha and pad for check? - var/canCheck = FALSE - /// Timer to clear checkMessage - var/check_timer /// Message after check var/checkMessage = "" /// Level of success of last mecha check @@ -46,21 +42,26 @@ var/obj/item/card/id/currentID /// This console pad var/obj/machinery/roboquest_pad/pad - var/list/shop_items = list() + var/static/list/shop_items /obj/machinery/computer/roboquest/Initialize(mapload) ..() - generate_roboshop() + + if(!shop_items) + generate_roboshop() + if(mapload) - var/mapping_pad = locate(/obj/machinery/roboquest_pad) in get_area(src) - if(mapping_pad) - pad = mapping_pad - pad.console = src - canCheck = TRUE - -/obj/machinery/computer/roboquest/New() - generate_roboshop() - . = ..() + return INITIALIZE_HINT_LATELOAD + + +/obj/machinery/computer/roboquest/LateInitialize() + var/mapping_pad = locate(/obj/machinery/roboquest_pad) in get_area(src) + if(!mapping_pad) + return + + pad = mapping_pad + pad.console = src + /obj/machinery/computer/roboquest/Destroy() for(var/obj/item/I in contents) @@ -93,26 +94,35 @@ /obj/machinery/computer/roboquest/multitool_act(mob/living/user, obj/item/I) if(!istype(I, /obj/item/multitool)) return FALSE + . = TRUE + var/obj/item/multitool/multitool = I if(!istype(multitool.buffer, /obj/machinery/roboquest_pad)) add_fingerprint(user) to_chat(user, span_warning("The [multitool.name]'s buffer has no valid information.")) return . + if(!I.use_tool(src, user, volume = I.tool_volume)) return . + pad = multitool.buffer if(pad.console && pad.console != src) + pad.console.canSend = null pad.console.pad = null + pad.console = src - canCheck = TRUE - multitool.buffer = null + if(pad.advanced) + atom_say("Advanced quantum pad detected. Instant mech teleportation is available.") + to_chat(user, span_notice("You have uploaded the data from [multitool]'s buffer.")) + multitool.buffer = null /obj/machinery/computer/roboquest/emag_act(mob/user) if(!emagged) emagged = TRUE + atom_say("System override detected. Instant mech teleportation is available.") playsound(src, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) @@ -146,6 +156,10 @@ var/list/newshop = list() for(var/path in subtypesof(/datum/roboshop_item)) var/datum/roboshop_item/item = new path + if(!item.path) + qdel(item) + continue + var/category for(var/cat in item.cost) if(item.cost[cat]) @@ -153,15 +167,24 @@ category += "_[cat]" else category = cat + var/newitem = list("name" = item.name, "desc" = item.desc, "cost" = item.cost, "icon" = path2assetID(path), "path" = path, "emagOnly" = item.emag_only) newshop[category] += list(newitem) + qdel(item) + shop_items = newshop + /obj/machinery/computer/roboquest/proc/clear_checkMessage() checkMessage = "" /obj/machinery/computer/roboquest/proc/on_quest_complete() - return // чето будет наверно + return // Unused for now. + + +/obj/machinery/computer/roboquest/proc/can_instant_teleport() + return emagged || pad?.advanced + /obj/machinery/computer/roboquest/attack_hand(mob/user) if(..()) @@ -191,11 +214,12 @@ data["questInfo"] = FALSE data["hasTask"] = FALSE data["points"] = points - data["canCheck"] = canCheck + data["canCheck"] = pad data["canSend"] = canSend data["checkMessage"] = checkMessage data["style"] = style data["cooldown"] = currentID?.bounty_penalty ? time2text((currentID.bounty_penalty-world.time), "mm:ss") : FALSE + data["instant_teleport"] = can_instant_teleport() return data /obj/machinery/computer/roboquest/ui_static_data(mob/user) @@ -231,20 +255,21 @@ currentID.bounty_penalty = world.time + 5 MINUTES if("Check") if(!pad) - checkMessage = "Привязанный пад не обнаружен" + checkMessage = "Привязанный пад не обнаружен." else var/amount = check_pad() switch(success) if(NO_SUCCESS) - checkMessage = "Мех отсутствует или не соответствует заказу" + checkMessage = "Мех отсутствует или не соответствует заказу." if(CORRECT_MECHA) - checkMessage = "Мех соответствует заказу, но не имеет заказанных модулей. Награда Будет сильно урезана" + checkMessage = "Мех соответствует заказу, но не имеет заказанных модулей. Награда Будет сильно урезана." if(SOME_CORRECT_MODULES) checkMessage = "Мех соответствует заказу, но имеет лишь [amount]/[currentID.robo_bounty.modules_amount] модулей. Награда будет слегка урезана." if(ALL_CORRECT_MODULES) checkMessage = "Мех и модули полностью соответствуют заказу. Награда будет максимальной." - check_timer = null - check_timer = addtimer(CALLBACK(src, PROC_REF(clear_checkMessage)), 15 SECONDS) + + addtimer(CALLBACK(src, PROC_REF(clear_checkMessage)), 15 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) + if("SendMech") check_pad() if(canSend) @@ -263,7 +288,7 @@ else // Else, 1 areaindex[locname] = 1 L[locname] = T - if(params["type"] != "only_packing") + if(params["type"] == "send") var/select = tgui_input_list(ui.user, "Please select a telepad.", "RCS", L) if(!select) return @@ -271,11 +296,16 @@ return else // Else choose the value of the selection quantum = L[select] - flick("sqpad-beam", pad) - pad.teleport(quantum, currentID.robo_bounty, src, (3-success)) - checkMessage = "Вы отправили меха с оценкой успеха [success] из трех" - check_timer = null - check_timer = addtimer(CALLBACK(src, PROC_REF(clear_checkMessage)), 15 SECONDS) + + if(params["type"] == "instant") + pad.clear(currentID.robo_bounty, src, (3-success)) + else + pad.teleport(quantum, currentID.robo_bounty, src, (3-success)) + + flick("[initial(pad.icon_state)]-beam", pad) + checkMessage = "Вы отправили меха с оценкой успеха [success] из трех." + addtimer(CALLBACK(src, PROC_REF(clear_checkMessage)), 15 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) + if("ChangeStyle") switch(style) if("ntos_roboquest") @@ -301,8 +331,10 @@ return for(var/cat in r_item.cost) points[cat] -= r_item.cost[cat] + new r_item.path(get_turf(src)) qdel(r_item) + if("printOrder") if(print_delayed) return FALSE @@ -346,25 +378,50 @@ /obj/machinery/roboquest_pad name = "Robotics Request Quantum Pad" - desc = "A bluespace quantum-linked telepad linked to a orbital long-range matter transmitter." + desc = "A bluespace quantum-linked telepad linked to a local telepad network." icon = 'icons/obj/telescience.dmi' - icon_state = "sqpad-idle" + icon_state = "sqpad" idle_power_usage = 500 /// Current pad`s console var/obj/machinery/computer/roboquest/console + /// whether our robopad is advanced + var/advanced = FALSE /obj/machinery/roboquest_pad/New() ..() component_parts = list() - component_parts += new /obj/item/circuitboard/roboquest_pad(null) component_parts += new /obj/item/stack/ore/bluespace_crystal/artificial(null) component_parts += new /obj/item/stack/cable_coil(null, 1) + component_parts += new /obj/item/circuitboard/roboquest_pad(null) RefreshParts() + + +/obj/machinery/roboquest_pad/ComponentInitialize() var/static/list/loc_connections = list( COMSIG_ATOM_EXITED = PROC_REF(on_exited), ) AddElement(/datum/element/connect_loc, loc_connections) + +/obj/machinery/roboquest_pad/advanced + name = "Robotics Request Advanced Quantum Pad" + desc = "A bluespace quantum-linked telepad linked to a orbital long-range matter transmitter. Capable of instant teleportation of mech without need of send them to the cargo." + icon_state = "advqpad" + advanced = TRUE + + +/obj/machinery/roboquest_pad/advanced/New() + ..() + component_parts = list() + component_parts += new /obj/item/stack/ore/bluespace_crystal/artificial(null) + component_parts += new /obj/item/stock_parts/capacitor/purple(null) + component_parts += new /obj/item/stock_parts/manipulator/purple(null) + component_parts += new /obj/item/stock_parts/scanning_module/purple(src) + component_parts += new /obj/item/stack/cable_coil(null, 1) + component_parts += new /obj/item/circuitboard/advanced_roboquest_pad(null) + RefreshParts() + + /obj/machinery/roboquest_pad/Destroy() if(console) console.canSend = FALSE @@ -382,7 +439,7 @@ . = TRUE if(!I.tool_use_check(user, 0)) return - default_deconstruction_screwdriver(user, "pad-idle-o", "qpad-idle", I) + default_deconstruction_screwdriver(user, "pad-o", initial(icon_state), I) /obj/machinery/roboquest_pad/proc/teleport(atom/destination, datum/roboquest/quest, obj/machinery/computer/roboquest/console, var/penalty) do_sparks(5, 1, get_turf(src)) @@ -394,6 +451,26 @@ do_teleport(box, destination) console.canSend = FALSE +/obj/machinery/roboquest_pad/proc/clear(datum/roboquest/quest, obj/machinery/computer/roboquest/console, var/penalty) + do_sparks(5, 1, get_turf(src)) + var/obj/mecha/M = (locate(/obj/mecha) in get_turf(src)) + if(istype(M)) + qdel(M) + if(quest && console) + for(var/category in quest.reward) + quest.reward[category] -= penalty + if(quest.reward[category] < 0) + quest.reward[category] = 0 + console.points[category] += quest.reward[category] + SSshuttle.points += quest.reward["robo"] * 30 + if(quest.id) + var/datum/money_account/A = get_money_account(quest.id.associated_account_number) + if(A) + A.money += quest.maximum_cash - round(quest.maximum_cash * penalty / 4) + console.on_quest_complete() + quest.id.robo_bounty = null + quest = null + /obj/machinery/roboquest_pad/proc/on_exited(datum/source, atom/movable/departed, atom/newLoc) SIGNAL_HANDLER diff --git a/code/modules/economy/robotic_quests/robo_quests.dm b/code/modules/economy/robotic_quests/robo_quests.dm index 34331e011a0..d6499498d92 100644 --- a/code/modules/economy/robotic_quests/robo_quests.dm +++ b/code/modules/economy/robotic_quests/robo_quests.dm @@ -125,217 +125,126 @@ /datum/roboshop_item var/name var/desc - /// Path to shop item + /// Path to shop item. Left undefined to use `visual_item` path. var/atom/path + /// The item we want to show visually in roboshop. + var/atom/visual_item /// Cost in RoboPoints. Can be (*, 0, 0, 0) (*, *, 0, 0) (*, *, *, 0) (0, *, 0, 0) (0, *, *, 0) (0, 0, *, 0) (0, 0, 0, *) var/list/cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 0) /// Custom item, leave empty if you okay with standart icon var/icon_name var/icon_file - /// Don`t touch - var/icon/tgui_icon /// If emag only(Really??) var/emag_only = FALSE + /datum/roboshop_item/New() - if(!name) - name = path::name if(!desc) - desc = path::desc + desc = visual_item::desc + if(!icon_name) - icon_name = path::icon_state + icon_name = visual_item::icon_state + if(!icon_file) - icon_file = path::icon - src.tgui_icon = icon(icon_file, icon_name, SOUTH, 1, FALSE) + icon_file = visual_item::icon + + if(!path) + path = visual_item + + if(!name) + name = path::name // It is better to know exactly what we are buying. /datum/roboshop_item/bluespace_core name = "bluespace anomaly core" desc = "The neutralized core of a bluespace anomaly. It keeps phasing in and out of view. It'd probably be valuable for research." - path = /obj/item/assembly/signaler/anomaly/bluespace + visual_item = /obj/item/assembly/signaler/anomaly/bluespace cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 15) +/datum/roboshop_item/advanced_roboquest_pad + name = "robotics request advanced quantum pad" + desc = "This quantum pad is capable of instant teleportation of mech without need of send them to the cargo." + visual_item = /obj/item/circuitboard/advanced_roboquest_pad + cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 7) + +/datum/roboshop_item/universal_paintkit + name = "universal mech paintkit" + desc = "This device will allow the user to repaint the mech as many times as they wish." + visual_item = /obj/item/universal_paintkit + cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 5) + /datum/roboshop_item/mecha_drop name = "mecha drop tool" - path = /obj/item/mecha_drop + visual_item = /obj/item/mecha_drop cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 20) emag_only = TRUE +/datum/roboshop_item/alien_prototype + name = "unknown alien prototype" + visual_item = /obj/item/machineprototype/alien + cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 10) + /datum/roboshop_item/bbag - name = "bluespace bodybag" - path = /obj/item/bodybag/bluespace + path = /obj/item/disk/design_disk/roboquest/bluespace_bag_disk + visual_item = /obj/item/bodybag/bluespace cost = list("working" = 0, "medical" = 6, "security" = 0, "robo" = 0) /datum/roboshop_item/holotool - name = "holotool" - path = /obj/item/holotool + path = /obj/item/disk/design_disk/roboquest/holotool + visual_item = /obj/item/holotool cost = list("working" = 6, "medical" = 0, "security" = 0, "robo" = 0) /datum/roboshop_item/shield_breacker - path = /obj/item/gun/energy/plasma_pistol + path = /obj/item/disk/design_disk/roboquest/shield_breaker + visual_item = /obj/item/gun/energy/plasma_pistol cost = list("working" = 0, "medical" = 0, "security" = 6, "robo" = 0) /datum/roboshop_item/experimental_parts name = "\improper experimental parts" - path = /obj/item/storage/box/stockparts/experimental_parts + path = /obj/item/storage/part_replacer/bluespace/experimental + visual_item = /obj/item/storage/box/stockparts/experimental_parts cost = list("working" = 2, "medical" = 2, "security" = 2, "robo" = 0) -//Paintkits -/datum/roboshop_item/paint_ripley_titan - name = "Ripley, Firefighter \"Titan's Fist\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 5) - path = /obj/item/paintkit/ripley_titansfist -/datum/roboshop_item/paint_ripley_earth - name = "Ripley, Firefighter \"Strike the Earth!\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 5) - path = /obj/item/paintkit/ripley_mercenary +//design disks -/datum/roboshop_item/paint_ripley_red - name = "Ripley, Firefighter \"Firestarter\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 4) - path = /obj/item/paintkit/ripley_red +/obj/item/disk/design_disk/roboquest + name = "roboquests design disk" + desc = "Вы этого не должны видеть. Напишите в баг-репорты." + icon_state = "holodisk" + ///used in examine hints + var/hint_name = "items" + var/design_type -/datum/roboshop_item/paint_firefighter_hauler - name = "Ripley, Firefighter \"Hauler\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 4) - path = /obj/item/paintkit/firefighter_Hauler +/obj/item/disk/design_disk/roboquest/Initialize() + . = ..() + if(isnull(design_type)) + return INITIALIZE_HINT_QDEL -/datum/roboshop_item/paint_firefighter_zairjah - name = "Ripley, Firefighter \"Zairjah\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 5) - path = /obj/item/paintkit/firefighter_zairjah + blueprint = new design_type() -/datum/roboshop_item/paint_firefighter_combat - name = "Ripley, Firefighter \"Combat Ripley\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 5) - path = /obj/item/paintkit/firefighter_combat +/obj/item/disk/design_disk/roboquest/examine(mob/user) + . = ..() + . += span_notice("Insert disk into R&D concole and download it for mass production of [hint_name].") -/datum/roboshop_item/paint_firefighter_reaper - name = "Ripley, Firefighter \"Reaper\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/firefighter_Reaper -/datum/roboshop_item/paint_firefighter_aluminizer - name = "Ripley, Firefighter \"Aluminizer\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 5) - path = /obj/item/paintkit/firefighter_aluminizer +/obj/item/disk/design_disk/roboquest/bluespace_bag_disk + name = "bluespace bag design" + desc = "This disk contains blueprints for production of bluespace bodybags." + design_type = /datum/design/bbag + hint_name = "bluespace bodybags" -/datum/roboshop_item/paint_ripley_nt - name = "Ripley, Firefighter \"NT Special\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 5) - path = /obj/item/paintkit/ripley_nt +/obj/item/disk/design_disk/roboquest/holotool + name = "holotool design" + desc = "This disk contains blueprints for production of holotools." + design_type = /datum/design/holotool + hint_name = "holotools" -/datum/roboshop_item/paint_clarke_orangey - name = "Clarke \"Orangey\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 4) - path = /obj/item/paintkit/clarke_orangey - -/datum/roboshop_item/paint_clarke_spiderclarke - name = "Clarke \"Spiderclarke\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 5) - path = /obj/item/paintkit/clarke_spiderclarke - -/datum/roboshop_item/paint_odysseus_hermes - name = "Odysseus \"Hermes\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 5) - path = /obj/item/paintkit/odysseus_hermes - -/datum/roboshop_item/paint_odysseus_reaper - name = "Odysseus \"Reaper\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/odysseus_death - -/datum/roboshop_item/paint_gygax_alt - name = "Gygax \"Old\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 4) - path = /obj/item/paintkit/gygax_alt - -/datum/roboshop_item/paint_gygax_pobeda - name = "Gygax \"Pobeda\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 4) - path = /obj/item/paintkit/gygax_pobeda - -/datum/roboshop_item/paint_gygax_white - name = "Gygax \"White\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 4) - path = /obj/item/paintkit/gygax_white - -/datum/roboshop_item/paint_gygax_medgax - name = "Gygax \"Medgax\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/gygax_medgax - -/datum/roboshop_item/paint_gygax_black - name = "Gygax \"Syndicate\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 4) - emag_only = TRUE - path = /obj/item/paintkit/gygax_syndie - -/datum/roboshop_item/paint_gygax_pirate - name = "Gygax \"Pirate\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/gygax_pirate - -/datum/roboshop_item/paint_durand_unathi - name = "Durand \"Kharn MK. IV\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 4) - path = /obj/item/paintkit/durand_unathi - -/datum/roboshop_item/paint_durand_shire - name = "Durand \"Shire\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/durand_shire - -/datum/roboshop_item/paint_durand_pirate - name = "Durand \"Pirate\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/durand_pirate - -/datum/roboshop_item/paint_durand_nt - name = "Durand \"NT Special\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/durand_nt - -/datum/roboshop_item/paint_durand_soviet - name = "Durand \"Dollhouse\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/durand_soviet - -/datum/roboshop_item/paint_durand_executor - name = "Durand \"mk.V Executioner\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/durand_executor - -/datum/roboshop_item/paint_phazon_imperion - name = "Phazon \"Imperion\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/phazon_imperion - -/datum/roboshop_item/paint_phazon_janus - name = "Phazon \"Janus\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/phazon_janus - -/datum/roboshop_item/paint_phazon_plazmus - name = "Phazon \"Plazmus\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/phazon_plazmus - -/datum/roboshop_item/paint_phazon_blanco - name = "Phazon \"Blanco\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/phazon_blanco - -/datum/roboshop_item/paint_phazon_nt - name = "Phazon \"NT Special\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/phazon_nt - -/datum/roboshop_item/paint_ashed - name = "Ashed \"Mechs\"" - cost = list("working" = 0, "medical" = 0, "security" = 0, "robo" = 6) - path = /obj/item/paintkit/ashed +/obj/item/disk/design_disk/roboquest/shield_breaker + name = "plasma pistol design" + desc = "This disk contains blueprints for production of plasma pistols." + design_type = /datum/design/real_plasma_pistol + hint_name = "plasma pistols" #undef WORKING_CLASS #undef MEDICAL_CLASS diff --git a/code/modules/events/money_spam.dm b/code/modules/events/money_spam.dm index 1c3998f51c5..baaaf4c9a03 100644 --- a/code/modules/events/money_spam.dm +++ b/code/modules/events/money_spam.dm @@ -5,14 +5,7 @@ /datum/event/pda_spam/setup() last_spam_time = world.time - pick_message_server() - -/datum/event/pda_spam/proc/pick_message_server() - if(GLOB.message_servers) - for(var/obj/machinery/message_server/MS in GLOB.message_servers) - if(MS.active) - useMS = MS - break + find_pda_server() /datum/event/pda_spam/tick() if(world.time > last_spam_time + 3000) @@ -21,8 +14,7 @@ return if(!useMS || !useMS.active) - useMS = null - pick_message_server() + useMS = find_pda_server() if(useMS) if(prob(5)) diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 2cb5b697f5b..415f9c04b43 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -3,6 +3,14 @@ #define NEGATIVE 2 #define MINOR_NEGATIVE 3 +/datum/event/spacevine + announceWhen = 120 + var/obj/structure/spacevine_controller/SC + +/datum/event/spacevine/Destroy(force) + SC = null + return ..() + /datum/event/spacevine/start() var/list/turfs = list() //list of all the empty floor turfs in the hallway areas @@ -17,7 +25,7 @@ if(turfs.len) //Pick a turf to spawn at if we can var/turf/T = pick(turfs) - var/obj/structure/spacevine_controller/SC = new /obj/structure/spacevine_controller(T, , rand(30,70),rand(5,2)) //spawn a controller at turf + SC = new /obj/structure/spacevine_controller(T, null, rand(30, 70), rand(5, 2)) // spawn a controller at turf // Make the event start fun - give the vine a random hostile mutation if(SC.vines.len) @@ -31,6 +39,9 @@ mutations.Cut() mutations = null +/datum/event/spacevine/announce(false_alarm) + if((false_alarm || LAZYLEN(SC?.vines)) && (LAZYLEN(GLOB.player_list) < 20)) + GLOB.event_announcement.Announce("Биосканеры фиксируют рост космической лозы в [get_area(SC.loc)]. Избавьтесь от неё, прежде чем она нанесёт ущерб станции.", "ВНИМАНИЕ: БИОЛОГИЧЕСКАЯ УГРОЗА.") /datum/spacevine_mutation var/name = "" @@ -366,7 +377,7 @@ hue = "#444444" quality = POSITIVE severity = 3 - var/drop_rate = 20 + var/drop_rate = 40 var/list/mineral_results = list( /obj/item/stack/sheet/metal = 1 ) @@ -381,7 +392,7 @@ /datum/spacevine_mutation/mineral/valuables name = "glimmering" hue = "#888800" - drop_rate = 10 + drop_rate = 20 mineral_results = list( /obj/item/stack/sheet/mineral/silver = 4, /obj/item/stack/sheet/mineral/gold = 2, @@ -577,17 +588,18 @@ var/spread_multiplier = 5 var/spread_cap = 30 var/list/mutations_list = list() - var/mutativeness = 1 + var/mutativeness = 0 /obj/structure/spacevine_controller/New(loc, list/muts, potency, production) color = "#ffffff" spawn_spacevine_piece(loc, null, muts) START_PROCESSING(SSobj, src) init_subtypes(/datum/spacevine_mutation/, mutations_list) - if(potency != null && potency > 0) - // 1 mutativeness at 10 potency - // 4 mutativeness at 100 potency + // 1 mutativeness at 10 potency + // 4 mutativeness at 100 potency + if(potency) mutativeness = log(10, potency) ** 2 + if(production != null) // 1 production is crazy powerful var/spread_value = max(10 - production, 1) @@ -597,6 +609,7 @@ // 6 vines/spread at 6 production // ~2.5 vines/spread at 1 production spread_multiplier /= spread_value / 5 + ..() diff --git a/code/modules/food_and_drinks/item_food/eat_item_list_cloth.dm b/code/modules/food_and_drinks/item_food/eat_item_list_cloth.dm index 727aa768eae..20a955125af 100644 --- a/code/modules/food_and_drinks/item_food/eat_item_list_cloth.dm +++ b/code/modules/food_and_drinks/item_food/eat_item_list_cloth.dm @@ -488,7 +488,7 @@ integrity_bite = 20, \ nutritional_value = 10, \ ) - + /obj/item/clothing/suit/cardborg/add_eatable_component() AddComponent( \ /datum/component/eatable, \ @@ -624,3 +624,13 @@ nutritional_value = 10, \ ) +// SHOES + +/obj/item/clothing/shoes/footwraps/add_eatable_component() + AddComponent( \ + /datum/component/eatable, \ + material_type = MATERIAL_CLASS_CLOTH, \ + max_bites = 4, \ + integrity_bite = 20, \ + nutritional_value = 10, \ + ) diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm index 9fefc140507..15b8157362e 100644 --- a/code/modules/hydroponics/grown/kudzu.dm +++ b/code/modules/hydroponics/grown/kudzu.dm @@ -37,6 +37,17 @@ qdel(src) return TRUE +/obj/item/seeds/kudzu/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/seeds/kudzu)) + var/obj/item/seeds/kudzu/AttackerSeed = I + mutations |= AttackerSeed.mutations + + add_fingerprint(user) + qdel(I) + return ATTACK_CHAIN_BLOCKED_ALL + + return ..() + /obj/item/seeds/kudzu/attack_self(mob/user) if(plant(user)) to_chat(user, "You plant the kudzu. You monster.") diff --git a/code/modules/instruments/objs/items/headphones.dm b/code/modules/instruments/objs/items/headphones.dm index 0ba3c4420a6..19a9b9fc8e9 100644 --- a/code/modules/instruments/objs/items/headphones.dm +++ b/code/modules/instruments/objs/items/headphones.dm @@ -3,7 +3,7 @@ desc = "Unce unce unce unce." icon_state = "headphones0" item_state = "headphones0" - slot_flags_2 = ITEM_FLAG_TWOEARS + slot_flags = ITEM_SLOT_EARS actions_types = list(/datum/action/item_action/change_headphones_song) var/datum/song/headphones/song var/on = FALSE @@ -38,10 +38,10 @@ song.ui_interact(user, ui) -/obj/item/clothing/ears/headphones/ui_act(action, params) +/obj/item/clothing/ears/headphones/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) if(..()) return - return song.ui_act(action, params) + return song.ui_act(action, params, ui, state) /obj/item/clothing/ears/headphones/update_icon_state() diff --git a/code/modules/instruments/songs/_song_ui.dm b/code/modules/instruments/songs/_song_ui.dm index 7d13daadb01..2ed481cc988 100644 --- a/code/modules/instruments/songs/_song_ui.dm +++ b/code/modules/instruments/songs/_song_ui.dm @@ -87,6 +87,10 @@ return if(length(newline) > MUSIC_MAXLINECHARS) newline = copytext(newline, 1, MUSIC_MAXLINECHARS) + + if(!legality_check(user, newline)) + return + lines.Add(newline) if("deleteline") var/num = round(text2num(params["line"])) @@ -98,8 +102,13 @@ var/content = tgui_input_text(user, "Enter your line:", parent.name, lines[num], max_length = MUSIC_MAXLINECHARS) if(!content || !(state.can_use_topic(parent, user) == UI_INTERACTIVE)) return + if(num > length(lines) || num < 1) return + + if(!legality_check(user, content)) + return + lines[num] = content if("stop") stop_playing() @@ -143,6 +152,7 @@ set_dropoff_volume(initial(sustain_dropoff_volume), TRUE) else return FALSE + parent.add_fingerprint(user) /** @@ -150,25 +160,45 @@ */ /datum/song/proc/parse_song(text, mob/user) set waitfor = FALSE - //split into lines stop_playing() - lines = splittext(text, "\n") - if(length(lines)) + //split into lines + var/list/lines_to_add = splittext(text, "\n") + if(length(lines_to_add)) var/bpm_string = "BPM: " - if(findtext(lines[1], bpm_string, 1, length(bpm_string) + 1)) - var/divisor = text2num(copytext(lines[1], length(bpm_string) + 1)) || 120 // default + if(findtext(lines_to_add[1], bpm_string, 1, length(bpm_string) + 1)) + var/divisor = text2num(copytext(lines_to_add[1], length(bpm_string) + 1)) || 120 // default tempo = sanitize_tempo(600 / round(divisor, 1)) - lines.Cut(1, 2) + lines_to_add.Cut(1, 2) else tempo = sanitize_tempo(5) // default 120 BPM - if(length(lines) > MUSIC_MAXLINES) + if(length(lines_to_add) > MUSIC_MAXLINES) to_chat(user, "Too many lines!") - lines.Cut(MUSIC_MAXLINES + 1) + lines_to_add.Cut(MUSIC_MAXLINES + 1) var/linenum = 1 - for(var/l in lines) + for(var/l in lines_to_add) if(length_char(l) > MUSIC_MAXLINECHARS) to_chat(user, "Line [linenum] too long!") - lines.Remove(l) + lines_to_add.Remove(l) + continue else linenum++ + + if(!legality_check(user, l)) + break + + lines = lines_to_add SStgui.update_uis(parent) + +///Checks string for containing only midi-sequence characters. +/datum/song/proc/legality_check(mob/user, text) + var/static/regex/regex = regex(@"[^A-Ga-g0-9n\ \#\-\,\/\.(\r\n|\r|\n)]") + var/detection = regex.Find(text) + if(detection) + var/position_prev = clamp(detection - 16, 1, length(text)) + var/position_next = clamp(detection + 16, 1, length(text)) + var/illegal_text = copytext_char(text, position_prev, position_next + 1) + message_admins("[user] ([user.ckey]) tried to put an illegal string into a song. Part of a string: [illegal_text]") + log_admin("[user] ([user.ckey]) tried to put an illegal string into a song. Part of a string: [illegal_text]") + return FALSE + + return TRUE diff --git a/code/modules/map_fluff/event.dm b/code/modules/map_fluff/event.dm index 686b74e28b2..f855ef690bf 100644 --- a/code/modules/map_fluff/event.dm +++ b/code/modules/map_fluff/event.dm @@ -56,8 +56,12 @@ /datum/map/Atom name = "Atom" map_path = "_maps/map_files/Segmentstation/Atom.dmm" +<<<<<<< HEAD lavaland_path = "_maps/map_files/Delta/Lavaland.dmm" +======= + lavaland_path = "_maps/map_files/Segmentstation/lavaland.dmm" +>>>>>>> 7b37176792d4632c52e42a22cba6dc41210b6ce3 station_name = "NSS Atom" station_short = "Atom" dock_name = "NAV Trurl" diff --git a/code/modules/map_fluff/nova.dm b/code/modules/map_fluff/nova.dm index d015b53c620..d1086be98a8 100644 --- a/code/modules/map_fluff/nova.dm +++ b/code/modules/map_fluff/nova.dm @@ -15,5 +15,4 @@ company_name = "Nanotrasen" company_short = "NT" starsys_name = "Epsilon Eridani" - admin_only = TRUE - webmap_url = null //Nanomap and webmap will be added later. + webmap_url = "https://webmap.affectedarc07.co.uk/maps/ss1984/nova/" diff --git a/code/modules/mini_games/thunderdome/thunderdome_battle.dm b/code/modules/mini_games/thunderdome/thunderdome_battle.dm index 38fca4877f9..8d233c1c83c 100644 --- a/code/modules/mini_games/thunderdome/thunderdome_battle.dm +++ b/code/modules/mini_games/thunderdome/thunderdome_battle.dm @@ -9,7 +9,7 @@ #define MAX_PLAYERS_COUNT 16 #define MIN_PLAYERS_COUNT 2 #define SPAWN_COEFFICENT 0.85 //how many (polled * spawn_coefficent) players will go brawling -#define PICK_PENALTY 30 SECONDS //Prevents fast handed guys from picking polls twice in a row. +#define PICK_PENALTY 10 SECONDS //Prevents fast handed guys from picking polls twice in a row. // Uncomment this if you want to mess up with thunderdome alone /* #define THUND_TESTING diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 978864203c5..822765b8858 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -361,6 +361,70 @@ if(.) H.charge_time += bonus_value +/// Massive eyed tentacle +/obj/item/crusher_trophy/eyed_tentacle + name = "Massive eyed tentacle" + desc = "Большое и глазастое щупальце древнего голиафа. Может быть установлено как трофей крашера." + icon_state = "ancient_goliath_tentacle" + denied_type = /obj/item/crusher_trophy/eyed_tentacle + bonus_value = 1 + +/obj/item/crusher_trophy/eyed_tentacle/effect_desc() + return "causes kinetic crusher to deal 50% more damage if target has more than 90% HP" + +/obj/item/crusher_trophy/eyed_tentacle/on_melee_hit(mob/living/target, mob/living/user) + var/procent = (target.health / target.maxHealth) * 100 + if(procent < 90) + return + + var/obj/item/twohanded/kinetic_crusher/crusher = user.get_active_hand() + if(!crusher) + return + + target.apply_damage(crusher.force * bonus_value, crusher.damtype, user.zone_selected) + +/// Poison fang +/obj/item/crusher_trophy/fang + name = "Poison fang" + desc = "Уродливый и отравленный коготь. Может быть установлен как трофей крашера." + icon_state = "ob_gniga" + denied_type = /obj/item/crusher_trophy/fang + bonus_value = 1.1 + +/obj/item/crusher_trophy/fang/effect_desc() + return "causes fauna to get 10% more damage after mark destroyed for 2 seconds" + +/obj/item/crusher_trophy/fang/on_mark_detonation(mob/living/target, mob/living/user) + target.apply_status_effect(STATUS_EFFECT_FANG_EXHAUSTION, bonus_value) + +/// Frost gland +/obj/item/crusher_trophy/gland + name = "Frost gland" + desc = "Замороженная железа. Может быть установлена как трофей крашера." + icon_state = "ice_gniga" + denied_type = /obj/item/crusher_trophy/gland + bonus_value = 0.9 + +/obj/item/crusher_trophy/gland/effect_desc() + return "causes fauna to deal 10% less damage when marked" + +/obj/item/crusher_trophy/gland/on_mark_application(mob/living/simple_animal/target, datum/status_effect/crusher_mark/mark, had_mark) + if(had_mark) + return + + if(!istype(target)) + return + + target.melee_damage_lower *= bonus_value + target.melee_damage_upper *= bonus_value + +/obj/item/crusher_trophy/gland/on_mark_detonation(mob/living/simple_animal/target, mob/living/user) + if(!istype(target)) // double check + return + + target.melee_damage_lower /= bonus_value + target.melee_damage_upper /= bonus_value + //blood-drunk hunter /obj/item/crusher_trophy/miner_eye name = "eye of a blood-drunk hunter" diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index fe40978ad6e..440f75fb851 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -263,6 +263,7 @@ anchored = TRUE density = TRUE pixel_y = -32 + move_resist = MOVE_FORCE_STRONG /obj/item/gps/computer/wrench_act(mob/living/user, obj/item/I) diff --git a/code/modules/mining/laborcamp/laborshuttle.dm b/code/modules/mining/laborcamp/laborshuttle.dm index 88b0a6601dc..baf25e99d26 100644 --- a/code/modules/mining/laborcamp/laborshuttle.dm +++ b/code/modules/mining/laborcamp/laborshuttle.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/shuttle/labor name = "labor shuttle console" - desc = "Used to call and send the labor camp shuttle." + desc = "Используется для вызова и отправки шаттла каторги." circuit = /obj/item/circuitboard/labor_shuttle shuttleId = "laborcamp" possible_destinations = "laborcamp_home;laborcamp_away" @@ -9,7 +9,7 @@ /obj/machinery/computer/shuttle/labor/one_way name = "prisoner shuttle console" - desc = "A one-way shuttle console, used to summon the shuttle to the labor camp." + desc = "Консоль управления шаттлом в одну сторону, используемый для вызова шаттла на каторгу." possible_destinations = "laborcamp_away" circuit = /obj/item/circuitboard/labor_shuttle/one_way req_access = list( ) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 40e76bac740..56f0ba5e765 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -60,7 +60,7 @@ /obj/machinery/computer/shuttle/mining name = "Mining Shuttle Console" - desc = "Used to call and send the mining shuttle." + desc = "Используется для вызова и отправки шахтёрского шаттла." circuit = /obj/item/circuitboard/mining_shuttle shuttleId = "mining" possible_destinations = "mining_home;mining_away" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index d2ff4cd36de..469f5cff6cb 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -174,20 +174,38 @@ Works together with spawning an observer, noted above. if(key) if(GLOB.non_respawnable_keys[ckey]) flags &= ~GHOST_CAN_REENTER + var/mob/dead/observer/ghost = new(src, flags) //Transfer safety to observer spawning proc. if(client) client.mouse_pointer_icon = initial(client.mouse_pointer_icon) //Возвращает курсор в изначальное положение (после меха, нинзи, спелла и т.п) + ghost.timeofdeath = src.timeofdeath //BS12 EDIT GLOB.respawnable_list -= src + if(ghost.can_reenter_corpse) GLOB.respawnable_list += ghost else GLOB.non_respawnable_keys[ckey] = 1 + ghost.key = key ghost.client?.init_verbs() SEND_SIGNAL(src, COMSIG_MOB_GHOSTIZE, ghost) return ghost +/mob/proc/ManualFollow(atom/movable/target) + if(!target) + return FALSE + + if(!isobserver(src)) // parent calls + var/mob/dead/observer/observer = ghostize() + + if(!observer) + return FALSE + + observer.ManualFollow(target) + + return TRUE + /* This is the proc mobs get to turn into a ghost. Forked from ghostize due to compatibility issues. */ @@ -422,8 +440,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp orbit_menu.ui_interact(src) // This is the ghost's follow verb with an argument -/mob/dead/observer/proc/ManualFollow(atom/movable/target) - if(!target || !isobserver(usr)) +/mob/dead/observer/ManualFollow(atom/movable/target) + . = ..() + + if(!.) return if(!get_turf(target)) @@ -456,7 +476,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp else //Circular rot_seg = 36 //360/10 bby, smooth enough aproximation of a circle - to_chat(src, "Now following [target]") + to_chat(src, span_notice("Now following [target]")) orbit(target, orbitsize, FALSE, 20, rot_seg, forceMove = TRUE) /mob/dead/observer/orbit(atom/A, radius, clockwise, rotation_speed, rotation_segments, pre_rotation, lockinorbit, forceMove) diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm index 0aa9fca0317..50f9f03aab0 100644 --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -257,6 +257,64 @@ flags = RESTRICTED syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix","*","!") + +#define SKRELL_ADDITIONAL_SYLLABLES 2 // Maximum of additional syllables for first and second names + +/datum/language/skrell/get_random_name() // Name generator authors: @saichi23 && @cadavrik + // Now I love making list in list in list in list in list + // Two sublists were made by authors so that the names would turn out most consonant for reading (in a way that's possible for skrells) + var/list/ru_name_syllables = list( + list( // list 1 + list("заоо", "зао", "зикс", "зо", "йуо", "кью", "кьюм", "кси", "ксу", "квум", "кву", // sublist1 + "кви", "квей", "квиш", "куу", "кюан", "киэн", "ку", "кил", "лиа", "люик", "луи", + "рио", "сейу", "тсой", "уль", "улур", "урр", "ур", "цу", "эль", "эо", "эу"), + + list( + "аг", "вум", "вул", "вол", "гли", "зи", "заоо", "зао", "зикс", "зуо", "зук", "зуво", // sublist2 + "икс", "ил", "ис", "йук", "кву", "квум", "куум", "куо", "куа", "куак", "кул", "квол", + "кью", "кьюа", "кэ", "кин", "кии", "кс", "ки", "киу", "кос", "лоа", "лак", "лум", "лик", + "лии", "ллак", "мзикс", "мвол", "ори", "ору", "орр", "ррум", "ру", "руум", "руа", "рл", + "сэк", "су", "сиа", "тейе", "тейку", "тсу", "туа", "туи", "ту", "тал", "уат", "уок", "урр", + "уоо", "уо", "уик", "уии", "уэк", "эйкс", "эль", "эрр", "эй", "эйс", "о", "у", "а", "з", "э", "м" ,"к", "с", "р" + ) + ), + + list( // list 2 + list("заоо", "зао", "зо", "йуо", "лиа", "луи", "рио", "сейу", "эо"), // sublist1 + + list( + "вум", "вул", "вол", "гли", "зи", "заоо", "зао", "зикс", "зуо", "зук", "зуво", // sublist2 + "йук", "кву", "квум", "куум", "куо", "куа", "куак", "кул", "квол", "кью", "кьюа", + "кэ", "кин", "кии", "кс", "ки", "киу", "кос", "лоа", "лак", "лум", "лик", "лии", "ллак", + "мзикс", "мвол", "ррум", "ру", "руум", "руа", "рл", "сэк", "су", "сиа", "тейе", "тейку", + "тсу", "туа", "туи", "ту", "тал", "з", "м", "к", "с", "р" + ) + ) + ) + + var/full_name = "" + + for(var/i in 1 to 2) // First and second names, making from 2-3 syllables each. + var/apostrophe = "'" + var/new_name = "" + var/using_list = rand(1, LAZYLEN(ru_name_syllables)) // We use only one list for the first name and one list for the second name, without mixing syllables from different lists. + + new_name += pick(ru_name_syllables[using_list][1]) // The first syllable is only from the first sublist. + + for(var/add_syllables in 1 to rand(1, SKRELL_ADDITIONAL_SYLLABLES)) // Additional 1-2 syllables, taken from sublist2. + if(apostrophe && prob(50)) + new_name += apostrophe + apostrophe = null // Adding "'" with chance, but only once for first and second names + + new_name += pick(ru_name_syllables[using_list][2]) + + full_name += " [capitalize(new_name)]" + + return "[trim(full_name)]" + +#undef SKRELL_ADDITIONAL_SYLLABLES + + /datum/language/vox name = "Vox-pidgin" desc = "The common tongue of the various Vox ships making up the Shoal. It sounds like chaotic shrieking to everyone else." diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index c1549ff71f2..dbfbb236453 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -88,7 +88,7 @@ status_tab_data[++status_tab_data.len] = list("Intent:", "[a_intent]") status_tab_data[++status_tab_data.len] = list("Move Mode:", "[m_intent]") if(can_evolve) - status_tab_data[++status_tab_data.len] = list("Evolution progress: [evolution_points]/[max_evolution_points]") + status_tab_data[++status_tab_data.len] = list("Evolution progress:", "[evolution_points]/[max_evolution_points]") /mob/living/carbon/alien/get_default_language() diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 0ac6d286628..2ff4dc5b667 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -32,7 +32,7 @@ hide_action = new hide_action.Grant(src) ..() - AddSpell(new /obj/effect/proc_holder/spell/alien_spell/evolve_larva) + AddSpell(new /obj/effect/proc_holder/spell/alien_spell/evolve/larva) /mob/living/carbon/alien/larva/Destroy() diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 1cfac94b198..6152cecfe17 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -426,6 +426,10 @@ pose = addtext(pose,".") //Makes sure all emotes end with a period. msg += "\n[p_they(TRUE)] [p_are()] [pose]" + if(client && mind && !mind.offstation_role && user.mind?.special_role) // No ashwalkers, monkeys etc + var/permission_granted = client.prefs.toggles2 & PREFTOGGLE_2_GIB_WITHOUT_OBJECTIVE + msg += "\n
[span_info("Вы[permission_granted ? "" : " [span_warning("НЕ")]"] можете вывести этого игрока из игры не имея соответствующей цели.")]
" + . = list(msg) 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 8c4e4cd1eb0..63f34de85cc 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1454,12 +1454,18 @@ Eyes need to have significantly high darksight to shine unless the mob has the X to_chat(src, "\The [S] pulls \the [hand] from your grip!") apply_effect(current_size * 3, IRRADIATE) -/mob/living/carbon/human/narsie_act(obj/singularity/narsie/narsie) +/mob/living/carbon/human/narsie_act(obj/singularity/god/narsie/narsie) if(iswizard(src) && iscultist(src)) //Wizard cultists are immune to narsie because it would prematurely end the wiz round that's about to end by the automated shuttle call anyway return - narsie.soul_devoured += 1 + if(narsie) + narsie.soul_devoured++ ..() +/mob/living/carbon/human/ratvar_act(weak, obj/singularity/god/ratvar/ratvar) + if(ratvar) + ratvar.soul_devoured++ + . = ..() + /mob/living/carbon/human/proc/do_cpr(mob/living/carbon/human/H) if(H == src) to_chat(src, "You cannot perform CPR on yourself!") @@ -1590,8 +1596,10 @@ Eyes need to have significantly high darksight to shine unless the mob has the X return ..() -/mob/living/carbon/human/proc/get_age_pitch(var/tolerance = 5) - return 1.0 + 0.5*(30 - age)/80 + (0.01*rand(-tolerance,tolerance)) + +/mob/living/carbon/human/proc/get_age_pitch(tolerance = 5) + return dna?.species.get_emote_pitch(src, tolerance) || 1.0 + 0.5 * (30 - age) / 80 + (0.01 * rand(-tolerance, tolerance)) + /mob/living/carbon/human/get_access_locations() . = ..() diff --git a/code/modules/mob/living/carbon/human/human_emote.dm b/code/modules/mob/living/carbon/human/human_emote.dm index 21909b8d2a3..4475de8d31b 100644 --- a/code/modules/mob/living/carbon/human/human_emote.dm +++ b/code/modules/mob/living/carbon/human/human_emote.dm @@ -1038,24 +1038,6 @@ sound = 'sound/effects/unathihiss.ogg' -/datum/emote/living/carbon/human/unathi/rumble - key = "rumble" - key_third_person = "rumble" - message = "урч%(ит,ат)%." - message_mime = "тихо урч%(ит,ат)%." - message_postfix = " на %t." - message_param = EMOTE_PARAM_USE_POSTFIX - emote_type = EMOTE_AUDIBLE|EMOTE_MOUTH - muzzled_noises = list("урчащие", "гортанные") - audio_cooldown = 30 SECONDS - age_based = TRUE - volume = 65 - sound = list( - 'sound/voice/unathi/rumble.ogg', - 'sound/voice/unathi/rumble2.ogg', - ) - - /datum/emote/living/carbon/human/unathi/roar key = "roar" key_third_person = "roar" diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 02f8414ee42..40f0c30dce2 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -129,7 +129,7 @@ if(bodypart.is_robotic()) total_dmg += bodypart.brute_dam total_dmg += bodypart.burn_dam - return (health < (100 - total_dmg)) + return (health < (maxHealth - total_dmg)) /mob/living/carbon/human/proc/count_infected_organs() diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index 3a55730a3a7..70d7d6b7c41 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -261,6 +261,10 @@ var/list/autohiss_extra_map = null var/list/autohiss_exempt = null + /// Contains info for all age related preferences. + var/list/age_sheet + + /datum/species/New() unarmed = new unarmed_type() @@ -269,6 +273,26 @@ return species_language.get_random_name(gender) +/proc/get_age_limits(datum/species/species, list/tags) + if(!islist(tags)) + tags = list(tags) + + var/list/result = list() + for(var/tag in tags) + if(species) + result[tag] = LAZYACCESS(species.age_sheet, tag) + + if(!isnum(result[tag])) + result[tag] = AGE_SHEET[tag] + + return length(result) > 1 ? result : result[tags[1]] + + +/proc/get_rand_age(datum/species/species) + var/age_limits = get_age_limits(species, list(SPECIES_AGE_MIN, SPECIES_AGE_MAX)) + return rand(age_limits[SPECIES_AGE_MIN], age_limits[SPECIES_AGE_MAX]) + + /** * Handles creation of mob organs. * @@ -1188,3 +1212,6 @@ It'll return null if the organ doesn't correspond, so include null checks when u var/obj/item/organ/external/head/HD = H.get_organ(BODY_ZONE_HEAD) return HD.hair_colour +/datum/species/proc/get_emote_pitch(mob/living/carbon/human/H, tolerance) + var/age_limits = get_age_limits(src, list(SPECIES_AGE_MIN, SPECIES_AGE_MAX)) + return 1 + 0.5 * (age_limits[SPECIES_AGE_MIN] + 10 - H.age) / age_limits[SPECIES_AGE_MAX] + (0.01 * rand(-tolerance, tolerance)) diff --git a/code/modules/mob/living/carbon/human/species/diona.dm b/code/modules/mob/living/carbon/human/species/diona.dm index 23a681bea88..12c74470e67 100644 --- a/code/modules/mob/living/carbon/human/species/diona.dm +++ b/code/modules/mob/living/carbon/human/species/diona.dm @@ -80,6 +80,13 @@ disliked_food = MEAT | RAW | EGG liked_food = VEGETABLES | FRUIT + age_sheet = list( + SPECIES_AGE_MIN = 1, + SPECIES_AGE_MAX = 90, + JOB_MIN_AGE_HIGH_ED = 26, + JOB_MIN_AGE_COMMAND = 26, + ) + /datum/species/diona/can_understand(mob/other) if(istype(other, /mob/living/simple_animal/diona)) return 1 @@ -109,8 +116,8 @@ return FALSE if("salglu_solution") if(prob(33)) - H.adjustBruteLoss(-1) - H.adjustFireLoss(-1) + H.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + H.adjustFireLoss(-1, affect_robotic = FALSE) H.reagents.remove_reagent(R.id, R.metabolization_rate * H.metabolism_efficiency * H.digestion_ratio) return FALSE diff --git a/code/modules/mob/living/carbon/human/species/drask.dm b/code/modules/mob/living/carbon/human/species/drask.dm index e970e3668e4..2d2b25dc886 100644 --- a/code/modules/mob/living/carbon/human/species/drask.dm +++ b/code/modules/mob/living/carbon/human/species/drask.dm @@ -1,5 +1,6 @@ #define DRASK_COOLINGSTARTTEMP 280 #define ENVIRONMENT_COOLINGSTOPTEMP 400 +#define DRASK_PITCH_SHIFT -0.1 // a bit lower emotes /datum/species/drask name = SPECIES_DRASK @@ -83,6 +84,13 @@ liked_food = DAIRY special_diet = MATERIAL_CLASS_SOAP + age_sheet = list( + SPECIES_AGE_MIN = 30, + SPECIES_AGE_MAX = 999, + JOB_MIN_AGE_HIGH_ED = 50, + JOB_MIN_AGE_COMMAND = 50, + ) + /datum/species/drask/get_species_runechat_color(mob/living/carbon/human/H) var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) return E.eye_colour @@ -123,5 +131,11 @@ return FALSE return ..() +/datum/species/drask/get_emote_pitch(mob/living/carbon/human/H, tolerance) + . = ..() + . += DRASK_PITCH_SHIFT + + #undef DRASK_COOLINGSTARTTEMP #undef ENVIRONMENT_COOLINGSTOPTEMP +#undef DRASK_PITCH_SHIFT diff --git a/code/modules/mob/living/carbon/human/species/grey.dm b/code/modules/mob/living/carbon/human/species/grey.dm index ab50b745c0e..f73f111c338 100644 --- a/code/modules/mob/living/carbon/human/species/grey.dm +++ b/code/modules/mob/living/carbon/human/species/grey.dm @@ -45,6 +45,13 @@ disliked_food = SUGAR | FRIED liked_food = VEGETABLES | GRAIN | MEAT + age_sheet = list( + SPECIES_AGE_MIN = 3, + SPECIES_AGE_MAX = 150, + JOB_MIN_AGE_HIGH_ED = 13, + JOB_MIN_AGE_COMMAND = 13, + ) + /datum/species/grey/on_species_gain(mob/living/carbon/human/H) . = ..() diff --git a/code/modules/mob/living/carbon/human/species/kidan.dm b/code/modules/mob/living/carbon/human/species/kidan.dm index e26407e63ef..5aa7b8c3933 100644 --- a/code/modules/mob/living/carbon/human/species/kidan.dm +++ b/code/modules/mob/living/carbon/human/species/kidan.dm @@ -95,6 +95,13 @@ disliked_food = FRIED | DAIRY liked_food = SUGAR | ALCOHOL | GROSS | FRUIT + age_sheet = list( + SPECIES_AGE_MIN = 12, + SPECIES_AGE_MAX = 45, + JOB_MIN_AGE_HIGH_ED = 20, + JOB_MIN_AGE_COMMAND = 20, + ) + /datum/species/kidan/get_species_runechat_color(mob/living/carbon/human/H) var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) return E.eye_colour diff --git a/code/modules/mob/living/carbon/human/species/machine.dm b/code/modules/mob/living/carbon/human/species/machine.dm index e933bc407b7..c12df2472d3 100644 --- a/code/modules/mob/living/carbon/human/species/machine.dm +++ b/code/modules/mob/living/carbon/human/species/machine.dm @@ -95,6 +95,13 @@ disliked_food = NONE toxic_food = NONE + age_sheet = list( + SPECIES_AGE_MIN = 1, + SPECIES_AGE_MAX = 58, + JOB_MIN_AGE_HIGH_ED = 15, + JOB_MIN_AGE_COMMAND = 15, + ) + /datum/species/machine/on_species_gain(mob/living/carbon/human/H) . = ..() var/datum/action/innate/change_monitor/monitor = locate() in H.actions @@ -185,3 +192,7 @@ H.change_hair(new_style, 1) // The 1 is to enable custom sprites if(new_color) H.change_hair_color(new_color) + + +/datum/species/machine/get_emote_pitch(mob/living/carbon/human/H, tolerance) + return 1 + (0.01*rand(-tolerance,tolerance)) diff --git a/code/modules/mob/living/carbon/human/species/moth.dm b/code/modules/mob/living/carbon/human/species/moth.dm index 8040cc46d4a..4e053ec0e69 100644 --- a/code/modules/mob/living/carbon/human/species/moth.dm +++ b/code/modules/mob/living/carbon/human/species/moth.dm @@ -4,6 +4,7 @@ #define COCOON_NUTRITION_REQUIREMENT 201 #define COCOON_NUTRITION_AMOUNT -200 #define FLYSWATTER_DAMAGE_MULTIPLIER 10 +#define MOTH_PITCH_SHIFT 0.15 // a bit higher emotes /datum/species/moth name = SPECIES_MOTH @@ -81,6 +82,13 @@ liked_food = SUGAR | GROSS | FRUIT | VEGETABLES special_diet = MATERIAL_CLASS_CLOTH + age_sheet = list( + SPECIES_AGE_MIN = 3, + SPECIES_AGE_MAX = 60, + JOB_MIN_AGE_HIGH_ED = 15, + JOB_MIN_AGE_COMMAND = 15, + ) + /datum/species/moth/on_species_gain(mob/living/carbon/human/H) . = ..() H.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/limbless) @@ -251,9 +259,14 @@ owner.UpdateAppearance() return ..() +/datum/species/moth/get_emote_pitch(mob/living/carbon/human/H, tolerance) + . = ..() + . += MOTH_PITCH_SHIFT + #undef COCOON_WEAVE_DELAY #undef COCOON_EMERGE_DELAY #undef COCOON_HARM_AMOUNT #undef COCOON_NUTRITION_AMOUNT #undef FLYSWATTER_DAMAGE_MULTIPLIER +#undef MOTH_PITCH_SHIFT diff --git a/code/modules/mob/living/carbon/human/species/nucleation.dm b/code/modules/mob/living/carbon/human/species/nucleation.dm index 64e391b0164..d150ca9bc5b 100644 --- a/code/modules/mob/living/carbon/human/species/nucleation.dm +++ b/code/modules/mob/living/carbon/human/species/nucleation.dm @@ -48,6 +48,13 @@ meat_type = /obj/item/reagent_containers/food/snacks/meat/humanoid/nucleation + age_sheet = list( + SPECIES_AGE_MIN = 18, + SPECIES_AGE_MAX = 230, + JOB_MIN_AGE_HIGH_ED = 30, + JOB_MIN_AGE_COMMAND = 30, + ) + /datum/species/nucleation/on_species_gain(mob/living/carbon/human/H) . = ..() diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm index d58397dd029..d9982ae1f02 100644 --- a/code/modules/mob/living/carbon/human/species/plasmaman.dm +++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm @@ -60,6 +60,13 @@ disliked_food = NONE liked_food = NONE + age_sheet = list( + SPECIES_AGE_MIN = 4, + SPECIES_AGE_MAX = 150, + JOB_MIN_AGE_HIGH_ED = 25, + JOB_MIN_AGE_COMMAND = 25, + ) + /datum/species/plasmaman/on_species_gain(mob/living/carbon/human/H) . = ..() diff --git a/code/modules/mob/living/carbon/human/species/skrell.dm b/code/modules/mob/living/carbon/human/species/skrell.dm index 2d9a03bd225..84741d29f66 100644 --- a/code/modules/mob/living/carbon/human/species/skrell.dm +++ b/code/modules/mob/living/carbon/human/species/skrell.dm @@ -80,6 +80,13 @@ male_snore_sound = list('sound/voice/skrell/snore1.ogg', 'sound/voice/skrell/snore2.ogg', 'sound/voice/skrell/snore3.ogg') whistle_sound = list('sound/voice/skrell/whistling1.ogg', 'sound/voice/skrell/whistling2.ogg') + age_sheet = list( + SPECIES_AGE_MIN = 18, + SPECIES_AGE_MAX = 400, + JOB_MIN_AGE_HIGH_ED = 25, + JOB_MIN_AGE_COMMAND = 25, + ) + /datum/species/skrell/on_species_gain(mob/living/carbon/human/H) . = ..() add_verb(H, list( diff --git a/code/modules/mob/living/carbon/human/species/slime.dm b/code/modules/mob/living/carbon/human/species/slime.dm index 1fe041aa49a..d8f86a8ea3a 100644 --- a/code/modules/mob/living/carbon/human/species/slime.dm +++ b/code/modules/mob/living/carbon/human/species/slime.dm @@ -81,6 +81,13 @@ /// Special flag used for slimeperson evolved from the slime. var/evolved_slime = FALSE + age_sheet = list( + SPECIES_AGE_MIN = 17, + SPECIES_AGE_MAX = 140, + JOB_MIN_AGE_HIGH_ED = 30, + JOB_MIN_AGE_COMMAND = 30, + ) + /datum/species/slime/on_species_gain(mob/living/carbon/human/H) . = ..() var/datum/action/innate/regrow/grow = locate() in H.actions diff --git a/code/modules/mob/living/carbon/human/species/tajaran.dm b/code/modules/mob/living/carbon/human/species/tajaran.dm index 230f8d3740a..4e3697815bf 100644 --- a/code/modules/mob/living/carbon/human/species/tajaran.dm +++ b/code/modules/mob/living/carbon/human/species/tajaran.dm @@ -78,6 +78,13 @@ disliked_food = VEGETABLES | FRUIT | GRAIN | GROSS liked_food = MEAT | RAW | DAIRY | EGG + age_sheet = list( + SPECIES_AGE_MIN = 11, + SPECIES_AGE_MAX = 44, + JOB_MIN_AGE_HIGH_ED = 19, + JOB_MIN_AGE_COMMAND = 19, + ) + /datum/species/tajaran/handle_death(gibbed, mob/living/carbon/human/H) H.stop_tail_wagging() diff --git a/code/modules/mob/living/carbon/human/species/unathi.dm b/code/modules/mob/living/carbon/human/species/unathi.dm index 1f4434c5139..d59fde6447f 100644 --- a/code/modules/mob/living/carbon/human/species/unathi.dm +++ b/code/modules/mob/living/carbon/human/species/unathi.dm @@ -92,6 +92,13 @@ disliked_food = FRIED liked_food = MEAT | RAW | EGG | GROSS | FRUIT | VEGETABLES + age_sheet = list( + SPECIES_AGE_MIN = 12, + SPECIES_AGE_MAX = 70, + JOB_MIN_AGE_HIGH_ED = 22, + JOB_MIN_AGE_COMMAND = 22, + ) + /datum/species/unathi/handle_death(gibbed, mob/living/carbon/human/H) H.stop_tail_wagging() @@ -106,8 +113,7 @@ /mob/living/carbon/human/proc/emote_roar, /mob/living/carbon/human/proc/emote_threat, /mob/living/carbon/human/proc/emote_whip, - /mob/living/carbon/human/proc/emote_whip_l, - /mob/living/carbon/human/proc/emote_rumble)) + /mob/living/carbon/human/proc/emote_whip_l)) var/datum/action/innate/tail_cut/lash = locate() in H.actions if(!lash) lash = new @@ -123,8 +129,7 @@ /mob/living/carbon/human/proc/emote_roar, /mob/living/carbon/human/proc/emote_threat, /mob/living/carbon/human/proc/emote_whip, - /mob/living/carbon/human/proc/emote_whip_l, - /mob/living/carbon/human/proc/emote_rumble)) + /mob/living/carbon/human/proc/emote_whip_l)) var/datum/action/innate/tail_cut/lash = locate() in H.actions lash?.Remove(H) diff --git a/code/modules/mob/living/carbon/human/species/vox.dm b/code/modules/mob/living/carbon/human/species/vox.dm index 9b977acd988..78410fed588 100644 --- a/code/modules/mob/living/carbon/human/species/vox.dm +++ b/code/modules/mob/living/carbon/human/species/vox.dm @@ -103,6 +103,13 @@ liked_food = NONE special_diet = MATERIAL_CLASS_TECH + age_sheet = list( + SPECIES_AGE_MIN = 1, + SPECIES_AGE_MAX = 70, + JOB_MIN_AGE_HIGH_ED = 10, + JOB_MIN_AGE_COMMAND = 10, + ) + /datum/species/vox/handle_death(gibbed, mob/living/carbon/human/H) H.stop_tail_wagging() @@ -182,6 +189,11 @@ return ..() + +/datum/species/vox/get_emote_pitch(mob/living/carbon/human/H, tolerance) + return 1 + (0.01*rand(-tolerance,tolerance)) + + /datum/species/vox/armalis name = SPECIES_VOX_ARMALIS name_plural = "Vox Armalis" diff --git a/code/modules/mob/living/carbon/human/species/vulpkanin.dm b/code/modules/mob/living/carbon/human/species/vulpkanin.dm index 9be8a9711b0..708774dd5a5 100644 --- a/code/modules/mob/living/carbon/human/species/vulpkanin.dm +++ b/code/modules/mob/living/carbon/human/species/vulpkanin.dm @@ -71,6 +71,13 @@ disliked_food = VEGETABLES | FRUIT | GRAIN liked_food = MEAT | RAW | DAIRY | GROSS | EGG + age_sheet = list( + SPECIES_AGE_MIN = 18, + SPECIES_AGE_MAX = 80, + JOB_MIN_AGE_HIGH_ED = 30, + JOB_MIN_AGE_COMMAND = 30, + ) + /datum/species/vulpkanin/handle_death(gibbed, mob/living/carbon/human/H) H.stop_tail_wagging() diff --git a/code/modules/mob/living/carbon/human/species/wryn.dm b/code/modules/mob/living/carbon/human/species/wryn.dm index a8d45c63469..8774d576256 100644 --- a/code/modules/mob/living/carbon/human/species/wryn.dm +++ b/code/modules/mob/living/carbon/human/species/wryn.dm @@ -72,6 +72,13 @@ //Default styles for created mobs. default_hair = "Antennae" + age_sheet = list( + SPECIES_AGE_MIN = 15, + SPECIES_AGE_MAX = 55, + JOB_MIN_AGE_HIGH_ED = 22, + JOB_MIN_AGE_COMMAND = 22, + ) + /datum/species/wryn/on_species_gain(mob/living/carbon/human/H) . = ..() var/datum/action/innate/wryn_sting/wryn_sting = locate() in H.actions diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index dc279a53871..dc484ceedcb 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -54,7 +54,11 @@ ..() INVOKE_ASYNC(src, PROC_REF(burst_blob_on_die)) timeofdeath = world.time - add_attack_logs(src, src, "died[gibbed ? " (Gibbed)": ""]") + var/gib_pref = "" + if(client) + gib_pref = " Разрешение на гиб без цели в" + (client.prefs.toggles2 & PREFTOGGLE_2_GIB_WITHOUT_OBJECTIVE ? "" : "ы") + "ключено." + + add_attack_logs(src, src, "died[gibbed ? " (Gibbed)": ""]" + gib_pref) if(!gibbed && deathgasp_on_death) INVOKE_ASYNC(src, PROC_REF(emote), "deathgasp") diff --git a/code/modules/mob/living/silicon/pai/death.dm b/code/modules/mob/living/silicon/pai/death.dm index 674537abc57..fa8197fc23e 100644 --- a/code/modules/mob/living/silicon/pai/death.dm +++ b/code/modules/mob/living/silicon/pai/death.dm @@ -2,11 +2,14 @@ if(can_die()) if(!cleanWipe) force_fold_out() + visible_message(span_warning("[name] издаёт последний протяжный писк прежде, чем теряет питание и рассыпается на части..")) + else + card.visible_message(span_warning("Экран персонального ИИ медленно угасает, когда личность покидает устройство...")) - visible_message("[src] emits a dull beep before it loses power and collapses.", "You hear a dull beep followed by the sound of glass crunching.") name = "pAI debris" - desc = "The unfortunate remains of some poor personal AI device." + desc = "Дымящиеся останки какого-то несчастного персонального ИИ." icon_state = "[chassis]_dead" + silence_time = null // Only execute the below if we successfully died . = ..(gibbed) diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm index d79775fad3d..0d5b713b66b 100644 --- a/code/modules/mob/living/silicon/pai/life.dm +++ b/code/modules/mob/living/silicon/pai/life.dm @@ -4,16 +4,18 @@ . = ..() if(QDELETED(src) || stat == DEAD) return + if(silence_time) if(world.timeofday >= silence_time) silence_time = null - to_chat(src, "Communication circuit reinitialized. Speech and messaging functionality restored.") + if(stat != DEAD) + to_chat(src, span_notice("Модуль связи восстановлен. Функции передачи речи и сообщений восстановлены.") ) if(installed_software["doorjack"]) var/datum/pai_software/door_jack/DJ = installed_software["doorjack"] if(DJ.cable) if(get_dist(src, DJ.cable) > 1) - visible_message("The data cable connected to [src] rapidly retracts back into its spool!") + visible_message(span_warning("Кабель данных, подключенный к пИИ, быстро втягивается обратно!")) QDEL_NULL(DJ.cable) if(installed_software["sec_chem"]) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 61126bd3c84..709c20446e5 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -1,5 +1,6 @@ /mob/living/silicon/pai name = "pAI" + desc = "Вам бы хотелось его погладить." icon = 'icons/mob/pai.dmi' icon_state = "repairbot" @@ -84,7 +85,6 @@ var/obj/machinery/computer/security/camera_bug/integrated_console //Syndicate's pai camera bug var/obj/machinery/computer/secure_data/integrated_records - var/obj/item/gps/internal/pai_gps/pai_internal_gps var/translator_on = 0 // keeps track of the translator module var/flashlight_on = FALSE //keeps track of the flashlight module @@ -114,10 +114,13 @@ if(card) faction = card.faction.Copy() + sradio = new(src) + if(card) if(!card.radio) card.radio = new /obj/item/radio/headset(card) + radio = card.radio radio_name = name @@ -134,23 +137,26 @@ add_verb(src, /mob/living/silicon/pai/proc/choose_verbs) add_verb(src, /mob/living/silicon/pai/proc/pai_change_voice) - var/datum/action/innate/pai_soft/P = new - P.Grant(src) + var/datum/action/innate/pai_soft/pai_soft = new var/datum/action/innate/pai_soft/pai_choose_chassis/pai_choose_chassis_action = new - pai_choose_chassis_action.Grant(src) var/datum/action/innate/pai_soft/pai_fold_out/pai_fold_out_action = new - pai_fold_out_action.Grant(src) var/datum/action/innate/pai_soft/pai_fold_up/pai_fold_up_action = new - pai_fold_up_action.Grant(src) var/datum/action/innate/pai_soft/pai_change_voice/pai_change_voice_action = new + var/datum/action/innate/pai_soft/pai_suicide/pai_suicide_action = new + + pai_soft.Grant(src) + pai_choose_chassis_action.Grant(src) + pai_fold_out_action.Grant(src) + pai_fold_up_action.Grant(src) pai_change_voice_action.Grant(src) - var/datum/action/innate/pai/pai_suicide/pai_suicide_action = new pai_suicide_action.Grant(src) - //PDA + + /// PDA pda = new(src) pda.ownjob = "Personal Assistant" pda.owner = "[src]" pda.name = "[pda.owner] ([pda.ownjob])" + var/datum/data/pda/app/messenger/M = pda.find_program(/datum/data/pda/app/messenger) M.toff = TRUE @@ -162,24 +168,40 @@ integrated_records.parent = src integrated_records.req_access = list() - pai_internal_gps = new(src) - pai_internal_gps.parent = src - reset_software() -/mob/living/silicon/pai/proc/reset_software(var/extra_memory = 0) +/mob/living/silicon/pai/proc/reset_software() QDEL_LIST_ASSOC_VAL(installed_software) // Software modules. No these var names have nothing to do with photoshop for(var/PS in subtypesof(/datum/pai_software)) var/datum/pai_software/PSD = new PS(src) + if(PSD.is_active(src)) PSD.toggle(src) + if(PSD.default) installed_software[PSD.id] = PSD + gps.tracking = FALSE + active_software = installed_software["mainmenu"] // Default us to the main menu - ram = min(initial(ram) + extra_memory, 170) + SStgui.close_user_uis(src) + reset_memory() + +/mob/living/silicon/pai/proc/reset_memory() + // Handle RAM + ram = initial(ram) + + if(!card) + return + + var/obj/item/pai_cartridge/memory/memory_cartridge = (locate(/obj/item/pai_cartridge/memory) in card.upgrades) + if(memory_cartridge) + ram += memory_cartridge.extra_memory + + if(card.upgrade) + ram += card.upgrade.extra_memory /mob/living/silicon/pai/update_icons() @@ -192,7 +214,11 @@ /mob/living/silicon/pai/proc/show_silenced() if(silence_time) var/timeleft = round((silence_time - world.timeofday)/10 ,1) - return list("Communications system reboot in:", "-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") + return list("Перезагрузка систем связи через:", "[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") + + +/mob/living/silicon/pai/init_subsystems() + gps = new(src, gpstag = "pAI0", upgraded = TRUE, tracking = FALSE) /mob/living/silicon/pai/get_status_tab_items() @@ -214,20 +240,25 @@ // 33% chance to unbind // 33% chance to change prime directive (based on severity) // 33% chance of no additional effect + if(QDELETED(src) || stat == DEAD) + return silence_time = world.timeofday + 120 * 10 // Silence for 2 minutes - to_chat(src, "Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.") + to_chat(src, span_danger("Системы связи перегружены! Инициирована перезагрузка повреждённых систем. Все модули коммуникации недоступны на время перезагрузки.")) if(prob(20)) - var/turf/T = get_turf_or_move(loc) - for(var/mob/M in viewers(T)) - M.show_message("A shower of sparks spray from [src]'s inner workings.", 3, "You hear and smell the ozone hiss of electrical sparks being expelled violently.", 2) + visible_message( + span_warning("[name] выходит из строя, испуская фонтан искр!"), + blind_message = ("Вы слышите шипение искр и чувствуете запах гари."), + ) + + do_sparks(3, FALSE, src) return death(0) switch(pick(1, 2 ,3)) if(1) master = null master_dna = null - to_chat(src, "You feel unbound.") + to_chat(src, span_notice("Вы чувствуете себя свободным!")) if(2) var/command if(severity == 1) @@ -237,7 +268,7 @@ pai_law0 = "[command] your master." to_chat(src, "Pr1m3 d1r3c71v3 uPd473D.") if(3) - to_chat(src, "You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all.") + to_chat(src, span_warning(" Вы чувствуете, как электрический разряд проходит сквозь ваши микросхемы и осознаёте, как сильно вам повезло, что вы вообще можете ещё чувствовать что-либо...")) /mob/living/silicon/pai/ex_act(severity) ..() @@ -275,24 +306,25 @@ return if(loc != card) - balloon_alert(src, "вы уже встали на шасси!") + balloon_alert(src, "вы уже встали на шасси!") return if(world.time <= last_special) - balloon_alert(src, "необходимо подождать!") + balloon_alert(src, "необходимо подождать!") return last_special = world.time + 200 //I'm not sure how much of this is necessary, but I would rather avoid issues. force_fold_out() + visible_message(span_notice("[name] раскладывается, переходя в мобильную форму."), span_notice("Вы раскладываетесь в мобильную форму.")) - visible_message("[src] folds outwards, expanding into a mobile form.", "You fold outwards, expanding into a mobile form.") /mob/living/silicon/pai/proc/force_fold_out() - if(istype(card.loc, /mob)) + if(ismob(card.loc)) var/mob/holder = card.loc holder.drop_item_ground(card) + else if(is_pda(card.loc)) var/obj/item/pda/holder = card.loc holder.pai = null @@ -310,11 +342,11 @@ return if(loc == card) - balloon_alert(src, "вы уже в компактной форме!") + balloon_alert(src, "вы уже в компактной форме!") return if(world.time <= last_special) - balloon_alert(src, "необходимо подождать") + balloon_alert(src, "необходимо подождать") return close_up() @@ -324,8 +356,6 @@ set name = "Choose Chassis" var/list/my_choices = list() - var/choice - var/finalized = "No" //check for custom_sprite if(!custom_sprite) @@ -355,27 +385,25 @@ my_choices["Custom"] = "[ckey]-pai" if(loc == card) //don't let them continue in card form, since they won't be able to actually see their new mobile form sprite. - balloon_alert(src, "вы должны быть в мобильной форме.") + balloon_alert(src, "вы должны быть в мобильной форме!") return - while(finalized == "No" && client) - choice = input(usr,"What would you like to use for your mobile chassis icon? This decision can only be made once.") as null|anything in my_choices - if(!choice) return - if(choice == "Custom") - icon = 'icons/mob/custom_synthetic/custom-synthetic.dmi' - else - icon = 'icons/mob/pai.dmi' - icon_state = my_choices[choice] - finalized = alert("Look at your sprite. Is this what you wish to use?",,"No","Yes") + var/choice = tgui_input_list(usr, "Как бы вы хотели выглядеть? Вы можете менять внешность мобильной формы без ограничений.", "Смена формы", my_choices) + if(!choice) return + if(choice == "Custom") + icon = 'icons/mob/custom_synthetic/custom-synthetic.dmi' + else + icon = 'icons/mob/pai.dmi' + icon_state = my_choices[choice] chassis = my_choices[choice] - remove_verb(src, /mob/living/silicon/pai/proc/choose_chassis) + /mob/living/silicon/pai/proc/choose_verbs() set category = "pAI Commands" set name = "Choose Speech Verbs" - var/choice = input(usr,"What theme would you like to use for your speech verbs? This decision can only be made once.") as null|anything in possible_say_verbs + var/choice = tgui_input_list(usr, "Какой тип модуляции речи вы бы хотели использовать? Этот выбор можно сделать лишь единожды.", "Модуляция речи", possible_say_verbs) if(!choice) return var/list/sayverbs = possible_say_verbs[choice] @@ -385,6 +413,7 @@ remove_verb(src, /mob/living/silicon/pai/proc/choose_verbs) + /mob/living/silicon/pai/proc/pai_change_voice() set name = "Change Voice" set desc = "Express yourself!" @@ -395,6 +424,7 @@ /mob/living/silicon/pai/post_lying_on_rest() if(stat == DEAD) return + ADD_TRAIT(src, TRAIT_IMMOBILIZED, RESTING_TRAIT) update_icons() @@ -409,11 +439,11 @@ set name = "pAI Suicide" set desc = "Kill yourself and become a ghost (You will recieve a confirmation prompt.)" - if(alert("ДЕЙСТВИТЕЛЬНО хочешь убить себя? Это действие нельзя отменить.", "Suicide", "No", "Suicide") == "Suicide") + if(tgui_alert(src, "ДЕЙСТВИТЕЛЬНО хотите убить себя? Это действие нельзя отменить.", "Выгрузка личности", list("Выгрузиться", "Нет")) == "Выгрузиться") do_suicide() - else - balloon_alert(src, "протокол самоуничтожения отменен.") + balloon_alert(src, "протокол выгрузки отменён") + /mob/living/silicon/pai/update_sight() if(!client) @@ -453,23 +483,26 @@ if(istype(I, /obj/item/stack/nanopaste)) var/obj/item/stack/nanopaste/nanopaste = I if(stat == DEAD) - to_chat(user, span_warning("The [name] is beyond help, at this point.")) + user.balloon_alert(user, "пИИ не подлежит ремонту...") return ATTACK_CHAIN_PROCEED + if(!getBruteLoss() && !getFireLoss()) - to_chat(user, span_warning("All [name]'s systems are nominal.")) + user.balloon_alert(user, "пИИ в полном порядке") return ATTACK_CHAIN_PROCEED + if(!nanopaste.use(1)) - to_chat(user, span_warning("You need at least one unit of [nanopaste] to proceed.")) + user.balloon_alert(user, "нанопаста закончилась!") return ATTACK_CHAIN_PROCEED + heal_overall_damage(15, 15) - user.visible_message( - span_notice("[user] has applied some [nanopaste.name] at [src]'s damaged areas."), - span_notice("You have applied some [nanopaste.name] at [src]'s damaged areas."), + visible_message( + span_notice("[user] наносит немного нанопасты на корпус пИИ. [name] выглядит получше."), + span_notice("Вы нанесли немного нанопасты на корпус. [name] выглядит получше."), ) return ATTACK_CHAIN_PROCEED_SUCCESS if(istype(I, /obj/item/paicard_upgrade) || istype(I, /obj/item/pai_cartridge)) - to_chat(user, span_warning("The [name] must be in card form.")) + to_chat(user, span_warning("ПИИ должен быть в компактной форме.")) return ATTACK_CHAIN_PROCEED user.do_attack_animation(src) @@ -477,25 +510,28 @@ if(!I.force) playsound(loc, 'sound/weapons/tap.ogg', I.get_clamped_volume(), TRUE, -1) visible_message( - span_warning("[user] bonks [src] harmlessly with [I]."), - span_warning("[user] bonks you harmlessly with [I]."), + span_warning("[user] бережно стука[pluralize_ru(user.gender, "ет", "ют")] по [name] [I.declent_ru(INSTRUMENTAL)]."), + span_warning("[user] бережно стука[pluralize_ru(user.gender, "ет", "ют")] вас [I.declent_ru(INSTRUMENTAL)]."), ) return ATTACK_CHAIN_PROCEED_SUCCESS + if(I.hitsound) playsound(loc, I.hitsound, I.get_clamped_volume(), TRUE, -1) add_attack_logs(user, src, "Attacked with [I.name] ([uppertext(user.a_intent)]) ([uppertext(I.damtype)]), DMG: [I.force])", (ckey && I.force > 0 && I.damtype != STAMINA) ? null : ATKLOG_ALMOSTALL) visible_message( - span_danger("[user] attacks [src] with [I]!"), - span_userdanger("[user] attacks you with [I]!"), + span_danger("[user] сильно бь[pluralize_ru(user.gender, "ёт", "ют")] по [name] [I.declent_ru(INSTRUMENTAL)]!"), + span_userdanger("[user] сильно бь[pluralize_ru(user.gender, "ёт", "ют")] вас [I.declent_ru(INSTRUMENTAL)]!"), ) + var/damage_type = I.damtype if(damage_type != BRUTE && damage_type != BURN) damage_type = BRUTE - apply_damage(I.force, damage_type) + apply_damage(I.force, damage_type) spawn(1) // thats dumb if(stat != DEAD) close_up() + return ATTACK_CHAIN_PROCEED_SUCCESS @@ -507,10 +543,10 @@ if(stat == DEAD) return if(user.a_intent == INTENT_HELP) - user.visible_message("[user] pets [src].") + user.visible_message(span_notice("[user] гладит [name].")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) else - visible_message("[user.name] boops [src] on the head.") + visible_message(span_danger("[user] бупает [name] по голове.")) spawn(1) close_up() @@ -523,7 +559,8 @@ if(loc == card) return - visible_message("[src] neatly folds inwards, compacting down to a rectangular card.", "You neatly fold inwards, compacting down to a rectangular card.") + visible_message(span_notice("[name] аккуратно складывается, переходя в компактную форму."), \ + span_notice("Вы аккуратно складываетесь, переходя в компактную форму.")) stop_pulling() reset_perspective(card) @@ -559,11 +596,11 @@ switch(stat) if(CONSCIOUS) if(!client) - msg += "It appears to be in stand-by mode.\n" //afk + msg += span_notice("Оно находится в режиме ожидания.\n") //afk if(UNCONSCIOUS) - msg += "It doesn't seem to be responding.\n" + msg += span_warning("Оно кажется выключенным.\n") if(DEAD) - msg += "It looks completely unsalvageable.\n" + msg += span_deadsay("Оно явно не подлежит восстановлению...\n") if(print_flavor_text()) msg += "[print_flavor_text()]\n" @@ -615,15 +652,17 @@ /mob/living/silicon/pai/MouseDrop(mob/living/carbon/human/user, src_location, over_location, src_control, over_control, params) if(!ishuman(user) || !Adjacent(user) || user.incapacitated() || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return ..() + if(usr == src) - switch(tgui_alert(user, "[src] wants you to pick [p_them()] up. Do it?", "Pick up", list("Yes", "No"))) - if("Yes") + switch(tgui_alert(user, "[src] хочет, чтобы вы его подобрали. Подобрать?", "Подбор", list("Да", "Нет"))) + if("Да") if(Adjacent(user)) get_scooped(user) else - to_chat(src, span_warning("You need to stay in reaching distance to be picked up.")) - if("No") - to_chat(src, span_warning("[user] decided not to pick you up.")) + to_chat(src, span_warning("Вам нужно подойти поближе.")) + + if("Нет") + to_chat(src, span_warning("[user] не хо[pluralize_ru(user.gender,"чет","тят")] вас подбирать...")) else if(Adjacent(user)) get_scooped(user) @@ -643,7 +682,7 @@ card.set_light_on(FALSE) /datum/action/innate/pai_soft - name = "Pai Sowtware" + name = "PAI Software" desc = "Активация вашего внутреннего интерфейса для выбора программ." icon_icon = 'icons/obj/aicards.dmi' button_icon_state = "pai-action" @@ -654,10 +693,9 @@ P.ui_interact(P) /datum/action/innate/pai_soft/pai_choose_chassis - name = "Choose chassis" + name = "Choose Chassis" desc = "Выбор внешности голографического каркаса" button_icon_state = "pai-action3" - check_flags = AB_CHECK_CONSCIOUS /datum/action/innate/pai_soft/pai_choose_chassis/Activate() var/mob/living/silicon/pai/pai = owner @@ -682,7 +720,7 @@ pai.fold_up() /datum/action/innate/pai_soft/pai_change_voice - name = "Collapse Chassis" + name = "Change Voice" desc = "Изменение звука голосового модуля" button_icon_state = "pai-action4" @@ -690,12 +728,11 @@ var/mob/living/silicon/pai/pai = owner pai.pai_change_voice() -/datum/action/innate/pai/pai_suicide - name = "Pai suicide" +/datum/action/innate/pai_soft/pai_suicide + name = "PAI Suicide" desc = "Активация протокола самоуничтожения" button_icon_state = "pai-action6" - check_flags = AB_CHECK_CONSCIOUS -/datum/action/innate/pai/pai_suicide/Activate() +/datum/action/innate/pai_soft/pai_suicide/Activate() var/mob/living/silicon/pai/pai = owner pai.pAI_suicide() diff --git a/code/modules/mob/living/silicon/pai/pai_say.dm b/code/modules/mob/living/silicon/pai/pai_say.dm index 8b58e961110..ac1bcc6844f 100644 --- a/code/modules/mob/living/silicon/pai/pai_say.dm +++ b/code/modules/mob/living/silicon/pai/pai_say.dm @@ -1,6 +1,8 @@ /mob/living/silicon/pai/say(message, verb = "says", sanitize = TRUE, ignore_speech_problems = FALSE, ignore_atmospherics = FALSE, ignore_languages = FALSE) + if(QDELETED(src) || stat == DEAD) + return if(silence_time) - to_chat(src, "Communication circuits remain uninitialized.") + to_chat(src, span_warning("Коммуникационные цепи всё ещё перегружены!")) return return ..(message) diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index ad4cdbfca2d..e0dcb624bca 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -13,6 +13,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo /datum/paiController var/list/pai_candidates = list() var/list/asked = list() + var/list/paicards var/summon_cooldown = 0 var/askDelay = 10 * 60 * 1 // One minute [ms * sec * min] @@ -41,25 +42,12 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo pai.name = candidate.name pai.real_name = pai.name pai.key = candidate.key - if(card.is_syndicate_type) - pai.syndipai = card.is_syndicate_type - pai.ram += card.extra_memory - card.setPersonality(pai) card.looking_for_personality = 0 - if(card.upgrade) - card.upgrade.used = TRUE - if(!istype(card.upgrade, /obj/item/paicard_upgrade/protolate)) - card.radio.keyslot2 = new /obj/item/encryptionkey/syndicate(card.radio) - if(card.radio.keyslot2.syndie) - card.radio.syndiekey = card.radio.keyslot2 - card.radio.recalculateChannels(TRUE) - - SSticker.mode.update_cult_icons_removed(card.pai.mind) - SSticker.mode.update_rev_icons_removed(card.pai.mind) pai_candidates -= candidate usr << browse(null, "window=findPai") + usr << browse(null, "window=paicard") return if("signup" in href_list) @@ -70,7 +58,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo return if(!(O in GLOB.respawnable_list)) - to_chat(O, "You've given up your ability to respawn!") + to_chat(O, span_notice("Вы отказались от возможности возрождения!")) return if(!check_recruit(O)) return @@ -124,14 +112,20 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo if("submit") if(candidate) - candidate.ready = 1 - for(var/obj/item/paicard/p in world) - if(p.looking_for_personality == 1) - p.alertUpdate() + candidate.ready = !candidate.ready + if(candidate.ready) + to_chat(usr, span_notice("Вы отправили заявку на становление пИИ.")) + for(var/obj/item/paicard/p in paicards) + if(p.looking_for_personality) + p.alertUpdate() + else + to_chat(usr, span_notice("Вы отменили заявку на становление пИИ.")) + usr << browse(null, "window=paiRecruit") return recruitWindow(usr) + /datum/paiController/proc/recruitWindow(var/mob/M as mob) var/datum/paiCandidate/candidate for(var/datum/paiCandidate/c in pai_candidates) @@ -253,7 +247,7 @@ GLOBAL_DATUM_INIT(paiController, /datum/paiController, new) // Global handler fo
- +
Submit Personality[candidate.ready ? "Reset personality" : "Submit personality"]

diff --git a/code/modules/mob/living/silicon/pai/software/_base.dm b/code/modules/mob/living/silicon/pai/software/_base.dm index 6c111e7e42c..a807e3f21e5 100644 --- a/code/modules/mob/living/silicon/pai/software/_base.dm +++ b/code/modules/mob/living/silicon/pai/software/_base.dm @@ -95,7 +95,7 @@ if(!M || !M.loc || count > 6) //For a runtime where M ends up in nullspace (similar to bluespace but less colourful) if(inform) - to_chat(usr, "You are not being carried by anyone!") + to_chat(usr, span_warning("Вас никто не несёт!")) return null M = M.loc count++ diff --git a/code/modules/mob/living/silicon/pai/software/pai_apps.dm b/code/modules/mob/living/silicon/pai/software/pai_apps.dm index fbca872c40a..cc5ecd436c0 100644 --- a/code/modules/mob/living/silicon/pai/software/pai_apps.dm +++ b/code/modules/mob/living/silicon/pai/software/pai_apps.dm @@ -104,17 +104,19 @@ return // Check the carrier - var/answer = tgui_alert(M, "[pai_holder] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[pai_holder] Check DNA", list("Yes", "No")) - if(answer == "Yes") - M.visible_message("[M] presses [M.p_their()] thumb against [pai_holder].", "You press your thumb against [pai_holder].") + var/answer = tgui_alert(M, "[pai_holder] запрашивает у вас образец ДНК. Предоставить образец для подтверждения вашей личности?", "[pai_holder] запрашивает ДНК", list("Да", "Нет")) + if(answer == "Да") + M.visible_message(span_notice("[M] помеща[pluralize_ru(M.gender,"ет","ют")] палец на сканер ДНК."), span_notice("Вы помещаете палец на сканер ДНК.")) var/datum/dna/dna = M.dna - to_chat(usr, "[M]'s UE string: [dna.unique_enzymes]") + to_chat(usr, span_notice("Сканируемый: [M]")) + to_chat(usr, span_notice("UE код: [dna.unique_enzymes]")) if(dna.unique_enzymes == pai_holder.master_dna) - to_chat(usr, "DNA is a match to stored Master DNA.") + to_chat(usr, span_notice("ДНК совпадает с записанным ДНК мастера.")) else - to_chat(usr, "DNA does not match stored Master DNA.") + to_chat(usr, span_warning("ДНК не совпадает с записанным ДНК мастера!")) else - to_chat(usr, "[M] does not seem like [M.p_they()] [M.p_are()] going to provide a DNA sample willingly.") + to_chat(usr, span_warning("[M] отказа[genderize_ru(M.gender,"лся","лась","лось","лись" )] предоставлять вам образец ДНК.")) + // Crew Manifest // /datum/pai_software/crew_manifest @@ -321,7 +323,7 @@ if(cable && cable.machine) hackmachine = cable.machine if(hacking) - to_chat(usr, "You are already hacking that door!") + to_chat(usr, span_warning("Вы уже взламываете этот шлюз!")) else hacking = TRUE INVOKE_ASYNC(src, PROC_REF(hackloop)) @@ -329,11 +331,14 @@ hackmachine = null if("cable") if(cable) // Retracting - pai_holder.visible_message(span_warning("[cable] is pulled back into [pai_holder] with a quick snap.")) + pai_holder.visible_message(span_warning("[pai_holder] с быстрым щелчком втягивает кабель в свой корпус.")) QDEL_NULL(cable) else // Extending cable = new /obj/item/pai_cable(get_turf(pai_holder)) - pai_holder.visible_message(span_warning("A port on [pai_holder] opens to reveal [cable], which promptly falls to the floor.")) + var/mob/living/carbon/human/H = get_holding_mob() + if(H) + H.put_in_hands(cable) + pai_holder.visible_message(span_warning("На интелкарте пИИ открывается порт, из которого тут же выпадает кабель.")) /** * Door jack hack loop @@ -403,12 +408,6 @@ template_file = "pai_gps_module" ui_icon = "location-arrow" -/obj/item/gps/internal/pai_gps - icon_state = null - upgraded = TRUE - gpstag = "pAI0" - invisibility = INVISIBILITY_ABSTRACT - tracking = FALSE /datum/pai_software/gps/ui_act(action, list/params) if(..()) @@ -416,7 +415,7 @@ switch(action) if("ui_interact") - pai_holder.pai_internal_gps.ui_interact(pai_holder) + pai_holder.gps.ui_interact(pai_holder) // Host Bioscan // /datum/pai_software/host_scan @@ -520,14 +519,16 @@ if(initial(test.key) == params["key"]) C = new test() break + if(!C || !held || !src) return - var/datum/reagent/R = GLOB.chemical_reagents_list[C.key] - to_chat(pai_holder, "You inject [R.name] from your internal secret laboratory into [held]'s bloodstream.") + var/datum/reagent/R = GLOB.chemical_reagents_list[C.key] + to_chat(pai_holder, span_notice("В кровоток носителя введён синтезированный реагент: \"[R.name]\".")) held.reagents.add_reagent(C.key, C.quantity) pai_holder.chemicals -= C.chemuse + // Advanced Security Records // /datum/pai_software/adv_sec_records name = "Advanced Security Records" diff --git a/code/modules/mob/living/silicon/robot/drone/drone_console.dm b/code/modules/mob/living/silicon/robot/drone/drone_console.dm index 8b6428aadf0..fd3080ddd35 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_console.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_console.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/drone_control name = "maintenance drone control console" - desc = "Used to monitor the station's drone population and the assembler that services them." + desc = "Используется для наблюдения за популяцией дронов на станции и сборщиком, который их обслуживает." icon_screen = "power" icon_keyboard = "power_key" req_access = list(ACCESS_ENGINE_EQUIP) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index f9e36b98105..06714b5a316 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -5,7 +5,7 @@ has_unlimited_silicon_privilege = 1 weather_immunities = list(TRAIT_WEATHER_IMMUNE) var/syndicate = 0 - var/obj/item/gps/cyborg/gps = new + var/obj/item/gps/cyborg/gps var/const/MAIN_CHANNEL = "Main Frequency" var/lawchannel = MAIN_CHANNEL // Default channel on which to state laws var/list/stating_laws = list()// Channels laws are currently being stated on @@ -36,21 +36,23 @@ var/obj/item/radio/common_radio -/mob/living/silicon/New() +/mob/living/silicon/Initialize(mapload) + . = ..() GLOB.silicon_mob_list |= src - ..() + add_language(LANGUAGE_GALACTIC_COMMON) + init_subsystems() - RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, PROC_REF(alarm_triggered)) - RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, PROC_REF(alarm_cancelled)) -/mob/living/silicon/Initialize() - . = ..() var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] diag_hud.add_to_hud(src) + diag_hud_set_status() diag_hud_set_health() + RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, PROC_REF(alarm_triggered)) + RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, PROC_REF(alarm_cancelled)) + /mob/living/silicon/med_hud_set_health() return diag_hud_set_health() //we use a different hud @@ -58,13 +60,20 @@ return diag_hud_set_status() //we use a different hud /mob/living/silicon/Destroy() + UnregisterSignal(SSalarm, list( + COMSIG_TRIGGERED_ALARM, + COMSIG_CANCELLED_ALARM + )) + GLOB.silicon_mob_list -= src + QDEL_NULL(atmos_control) QDEL_NULL(crew_monitor) QDEL_NULL(law_manager) QDEL_NULL(power_monitor) QDEL_NULL(gps) QDEL_NULL(blueprints) + return ..() /mob/living/silicon/proc/alarm_triggered(src, class, area/A, list/O, obj/alarmsource) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index d5f7031309d..e1d9a031e38 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -16,9 +16,9 @@ pass_flags = PASSFLAPS AI_delay_max = 0 SECONDS - speak_emote = list("states") + speak_emote = list("констатирует") tts_seed = null - friendly = "boops" + friendly = "утыкается в" bubble_icon = "machine" faction = list("neutral", "silicon") @@ -28,7 +28,7 @@ var/bot_core_type = /obj/machinery/bot_core var/list/users = list() //for dialog updates var/window_id = "bot_control" - var/window_name = "Protobot 1.0" //Popup title + var/window_name = "ПротоБот 1.0" //Popup title /// 0 for default size var/window_width = 0 var/window_height = 0 @@ -115,7 +115,7 @@ /// The type of bot it is. var/model = "" - var/bot_purpose = "improve the station to the best of your ability" + var/bot_purpose = "принести станции как можно больше пользы исходя из своих возможностей" /// Bot control frequency var/control_freq = BOT_FREQ /// The radio filter the bot uses to identify itself on the network. @@ -125,11 +125,11 @@ /// The type of data HUD the bot uses. Diagnostic by default. var/data_hud_type = DATA_HUD_DIAGNOSTIC /// This holds text for what the bot is mode doing, reported on the remote bot control interface. - var/list/mode_name = list("In Pursuit","Preparing to Arrest", "Arresting", \ - "Beginning Patrol", "Patrolling", "Summoned by PDA", \ - "Cleaning", "Repairing", "Proceeding to work site", "Healing", \ - "Responding", "Navigating to Delivery Location", "Navigating to Home", \ - "Waiting for clear path", "Calculating navigation path", "Pinging beacon network", "Unable to reach destination") + var/list/mode_name = list("В погоне","Подготовка к задержанию", "Процесс задержания", \ + "Начало патрулирования", "Патрулирование", "Вызов через ПДА", \ + "Уборка", "Ремонтные работы", "Движение к месту проведения ремонтных работ", "Проведение лечебных процедур", \ + "Реакция на вызов", "Движению в локацию доставки", "Движение в домашнюю локацию", \ + "Препятствие на маршруте", "Расчёт навигационного маршрута", "Запрос сети радиомаячков", "Точка маршрута недоступна") var/datum/atom_hud/data/bot_path/path_hud = new /datum/atom_hud/data/bot_path() var/path_image_icon = 'icons/obj/aibots.dmi' @@ -165,15 +165,15 @@ /mob/living/simple_animal/bot/proc/get_mode() if(client) //Player bots do not have modes, thus the override. Also an easy way for PDA users/AI to know when a bot is a player. if(paicard) - return "pAI Controlled" + return "Под управлением ПИИ" else - return "Autonomous" + return "Автономный режим" else if(!on) - return span_bad("Inactive") + return span_bad("Отключён") else if(hijacked) - return "ERROR" + return span_bad("ОШИБКА") else if(!mode) - return span_good("Idle") + return span_good("Бездействие") else return span_average("[mode_name[mode]]") @@ -292,7 +292,7 @@ locked = FALSE emagged = 1 if(user) - to_chat(user, span_notice("You bypass [src]'s controls.")) + to_chat(user, span_notice("Вы взламываете систему управления [declent_ru(GENITIVE)].")) return if(!locked && open) //Bot panel is unlocked by ID or emag, and the panel is screwed open. Ready for emagging. @@ -303,23 +303,23 @@ locked = TRUE //Access denied forever! bot_reset() turn_on() //The bot automatically turns on when emagged, unless recently hit with EMP. - to_chat(src, span_userdanger("(#$*#$^^( OVERRIDE DETECTED")) + to_chat(src, span_userdanger("ПЕРЕГРУЗКА ВНУТРЕННИХ СИСТЕМ")) show_laws() return if(user) //Bot is unlocked, but the maint panel has not been opened with a screwdriver yet. - to_chat(user, span_warning("You need to open maintenance panel first!")) + balloon_alert(user, "техпанель закрыта!") /mob/living/simple_animal/bot/examine(mob/user) . = ..() if(health < maxHealth) if(health > maxHealth/3) - . += span_notice("[src]'s parts look loose.") + . += span_notice("[capitalize(declent_ru(NOMINATIVE))] выглядит слегка повреждённым.") else - . += span_warning("[src]'s parts look very loose!") + . += span_warning("[capitalize(declent_ru(NOMINATIVE))] выглядит сильно повреждённым!") else - . += span_notice("[src] is in pristine condition.") + . += span_notice("[capitalize(declent_ru(NOMINATIVE))] в отличном состоянии.") /mob/living/simple_animal/bot/adjustHealth( @@ -366,7 +366,7 @@ user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) apply_damage(user.attack_damage, BRUTE) - visible_message(span_danger("[user] has slashed [src]!")) + visible_message(span_danger("[user] руб[pluralize_ru(user.gender, "ит", "ят")] [declent_ru(GENITIVE)]!")) playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) if(prob(10)) new /obj/effect/decal/cleanable/blood/oil(loc) @@ -377,7 +377,7 @@ if(user.melee_damage_upper == 0) return apply_damage(user.melee_damage_upper, BRUTE) - visible_message(span_danger("[user] has [user.attacktext] [src]!")) + visible_message(span_danger("[user] has [user.attacktext] [declent_ru(GENITIVE)]!")) add_attack_logs(user, src, "Animal attacked", ATKLOG_ALL) if(prob(10)) new /obj/effect/decal/cleanable/blood/oil(loc) @@ -398,7 +398,7 @@ if(!topic_denied(user)) interact(user) else - to_chat(user, span_warning("[src]'s interface is not responding!")) + to_chat(user, span_warning("Интерфейс [declent_ru(GENITIVE)] не отвечает!")) /mob/living/simple_animal/bot/proc/interact(mob/user) @@ -412,45 +412,45 @@ if(I.GetID() || is_pda(I)) add_fingerprint(user) if(emagged) - to_chat(user, span_danger("ERROR##?")) + balloon_alert(user, "ошибка") return ATTACK_CHAIN_PROCEED if(open) - to_chat(user, span_warning("Please close the access panel before locking it.")) + balloon_alert(user, "техпанель открыта!") return ATTACK_CHAIN_PROCEED if(!bot_core.allowed(user)) - to_chat(user, span_warning("Access denied.")) + balloon_alert(user, "отказано в доступе!") return ATTACK_CHAIN_PROCEED locked = !locked - to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]") + balloon_alert(user, "техпанель [locked ? "заблокирована" : "разблокирована"]") return ATTACK_CHAIN_PROCEED_SUCCESS if(istype(I, /obj/item/paicard)) add_fingerprint(user) var/obj/item/paicard/card = I if(locked || open || hijacked) - to_chat(user, span_warning("The personality slot is locked.")) + balloon_alert(user, "слот для ПИИ заблокирован!") return ATTACK_CHAIN_PROCEED if(paicard) - to_chat(user, span_warning("The [paicard.name] is already inserted.")) + balloon_alert(user, "слот для ПИИ занят!") return ATTACK_CHAIN_PROCEED if(!card.pai || !card.pai.mind) - to_chat(user, span_warning("The [card.name] is inactive].")) + balloon_alert(user, "ПИИ не активен!") return ATTACK_CHAIN_PROCEED if(key || (!allow_pai && !card.pai.syndipai)) - to_chat(user, span_warning("The [name] is not compatible with [card].")) + balloon_alert(user, "робот не совместим с ПИИ!") return ATTACK_CHAIN_PROCEED if(!card.pai.ckey || jobban_isbanned(card.pai, ROLE_SENTIENT)) - to_chat(user, span_warning("The [card.name] is unable to establish a connection to [src].")) + balloon_alert(user, "ПИИ не совместим с роботом!") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(card, src)) return ..() paicard = card user.visible_message( - span_notice("[user] has inserted [card] into [src]."), - span_notice("You have inserted [card] into [src]."), + span_notice("[user] помести[genderize_ru(user.gender, "л", "ла", "ло", "ли")] [card] в [declent_ru(GENITIVE)]."), + span_notice("Вы поместили [card] в [declent_ru(GENITIVE)]."), ) paicard.pai.mind.transfer_to(src) - to_chat(src, span_notice("You sense your form change as you are uploaded into [src].")) + to_chat(src, span_notice("Вы были установлены в [declent_ru(GENITIVE)]. Соединение с внутренними системами в процессе.")) bot_name = name name = paicard.pai.name faction = user.faction @@ -460,17 +460,18 @@ if(istype(I, /obj/item/hemostat)) if(open) - to_chat(user, span_warning("Please close the access panel before manipulating with the personality slot.")) + balloon_alert(user, "техпанель открыта!") return ATTACK_CHAIN_PROCEED if(!paicard) - to_chat(user, span_warning("The [name] has no personality card installed.")) + balloon_alert(user, "слот для ПИИ пуст!") return ATTACK_CHAIN_PROCEED - to_chat(user, span_notice("You attempt to pull [paicard] free...")) + balloon_alert(user, "извлечение ПИИ") if(!do_after(user, 3 SECONDS * I.toolspeed, src, category = DA_CAT_TOOL) || open || !paicard) return ATTACK_CHAIN_PROCEED - user.visible_message( - span_notice("[user] has pulled [paicard] out of [bot_name]!"), - span_notice("You have pulled [paicard] out of [bot_name]."), + balloon_alert(user, "ПИИ извлечён") + visible_message( + span_notice("[user] вытащи[genderize_ru(user.gender, "л", "ла", "ло", "ли")] [paicard] из [declent_ru(GENITIVE)]!"), + span_notice("Вы вытащили [paicard] из [declent_ru(GENITIVE)]."), ) ejectpai(user) return ATTACK_CHAIN_PROCEED_SUCCESS @@ -483,12 +484,12 @@ return FALSE . = TRUE if(locked) - to_chat(user, span_warning("The maintenance panel is locked.")) + balloon_alert(user, "техпанель заблокирована!") return . // must be true or we attempt to stab the bot if(!I.use_tool(src, user, volume = I.tool_volume)) return . open = !open - to_chat(user, span_notice("The maintenance panel is now [open ? "opened" : "closed"].")) + balloon_alert(user, "техпанель [open ? "открыта" : "закрыта"]!") /mob/living/simple_animal/bot/welder_act(mob/user, obj/item/I) @@ -498,16 +499,19 @@ return FALSE . = TRUE if(health >= maxHealth) - to_chat(user, span_warning("[src] does not need a repair!")) + balloon_alert(user, "ремонт не требуется") return if(!open) - to_chat(user, span_warning("Unable to repair with the maintenance panel closed!")) + balloon_alert(user, "техпанель закрыта!") return if(!I.use_tool(src, user, volume = I.tool_volume)) return adjustBruteLoss(-10) add_fingerprint(user) - user.visible_message("[user] repairs [src]!", span_notice("You repair [src].")) + user.visible_message( + span_notice("[user] ремонтиру[pluralize_ru(user.gender, "ет", "ют")] [declent_ru(GENITIVE)]."), + span_notice("Вы ремонтируете [declent_ru(GENITIVE)].") + ) /mob/living/simple_animal/bot/bullet_act(obj/item/projectile/Proj) @@ -530,8 +534,8 @@ if(paicard) paicard.emp_act(severity) - visible_message("[paicard] is flies out of [bot_name]!", - span_warning("You are forcefully ejected from [bot_name]!")) + visible_message("[paicard] вылетает из [declent_ru(GENITIVE)]!", + span_warning("Вас выкинуло из [declent_ru(GENITIVE)]!")) ejectpai() if(on) turn_off() @@ -572,9 +576,9 @@ /mob/living/simple_animal/bot/proc/set_custom_texts() //Superclass for setting hack texts. Appears only if a set is not given to a bot locally. - text_hack = "You hack [name]." - text_dehack = "You reset [name]." - text_dehack_fail = "You fail to reset [name]." + text_hack = "Вы взломали [declent_ru(GENITIVE)]." + text_dehack = "Вы восстановили [declent_ru(GENITIVE)]." + text_dehack_fail = "Вы не смогли восстановить [declent_ru(GENITIVE)]." /mob/living/simple_animal/bot/proc/speak(message, channel) //Pass a message to have the bot say() it. Pass a frequency to say it on the radio. @@ -700,15 +704,15 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r access_card.access = all_access.GetAccess() //Give the bot all-access while under the AI's command. if(client) reset_access_timer_id = addtimer(CALLBACK(src, PROC_REF(bot_reset)), 60 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time - to_chat(src, span_notice("[span_big("Priority waypoint set by [calling_ai] [caller]. Proceed to [end_area.name].")]
[path.len-1] meters to destination. You have been granted additional door access for 60 seconds.")) + to_chat(src, span_notice("[span_big("Приоритетный маршрут установлен [calling_ai] [caller]. Проследуйте в локацию [end_area.name].")]
[path.len-1]
метров до точки назначения. Вам выдан неограниченный доступ к шлюзам на следующие 60 секунд.")) if(message) - to_chat(calling_ai, span_notice("[bicon(src)] [name] called to [end_area.name]. [length(path)-1] meters to destination.")) + to_chat(calling_ai, span_notice("[bicon(src)] [capitalize(declent_ru(NOMINATIVE))] вызван в локацию [end_area.name]. [length(path)-1] метров до точки назначения.")) pathset = TRUE mode = BOT_RESPONDING tries = 0 else if(message) - to_chat(calling_ai, span_danger("Failed to calculate a valid route. Ensure destination is clear of obstructions and within range.")) + to_chat(calling_ai, span_danger("Не удалось рассчитать правильный маршрут. Убедитесь в отсутствии препятствий на пути и доступности точки назначения.")) calling_ai = null access_card.access = prev_access // Don't forget to reset it set_path(null) @@ -719,14 +723,14 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r var/success = bot_move(ai_waypoint, 3) if(!success) if(calling_ai) - to_chat(calling_ai, "[bicon(src)] [get_turf(src) == ai_waypoint ? "[src] successfully arrived to waypoint." : "[src] failed to reach waypoint."]") + to_chat(calling_ai, "[bicon(src)] [get_turf(src) == ai_waypoint ? span_notice("[capitalize(declent_ru(NOMINATIVE))] прибыл в точку назначения.") : span_danger("[capitalize(declent_ru(NOMINATIVE))] не смог добраться до точки назначения.")]") calling_ai = null bot_reset() /mob/living/simple_animal/bot/proc/bot_reset() if(calling_ai) //Simple notification to the AI if it called a bot. It will not know the cause or identity of the bot. - to_chat(calling_ai, "Call command to a bot has been reset.") + to_chat(calling_ai, span_danger("Команда вызова робота была отменена.")) calling_ai = null if(reset_access_timer_id) deltimer(reset_access_timer_id) @@ -760,7 +764,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r if(tries >= BOT_STEP_MAX_RETRIES) //Bot is trapped, so stop trying to patrol. auto_patrol = FALSE tries = 0 - speak("Unable to start patrol.") + speak("Не удалось начать патрулирование.") return if(!auto_patrol) //A bot not set to patrol should not be patrolling. @@ -770,7 +774,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r if(patrol_target) // has patrol target INVOKE_ASYNC(src, PROC_REF(target_patrol)) else // no patrol target, so need a new one - speak("Engaging patrol mode.") + speak("Режим патрулирования активирован.") find_patrol_target() tries++ @@ -831,7 +835,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r else auto_patrol = FALSE mode = BOT_IDLE - speak("Disengaging patrol mode.") + speak("Режим патрулирования отключён.") send_status() @@ -866,18 +870,18 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r /mob/living/simple_animal/bot/proc/bot_control_message(command, mob/user, user_turf) switch(command) if("stop") - to_chat(src, span_warningbig("STOP PATROL")) + to_chat(src, span_warningbig("ОСТАНОВИТЬ ПАТРУЛИРОВАНИЕ")) if("go") - to_chat(src, span_warningbig("START PATROL")) + to_chat(src, span_warningbig("НАЧАТЬ ПАТРУЛИРОВАНИЕ")) if("summon") var/area/our_area = get_area(user_turf) - to_chat(src, span_warningbig(">PRIORITY ALERT: [user] in [our_area.name]!")) + to_chat(src, span_warningbig(">ПРИОРИТЕТНОЕ ОПОВЕЩЕНИЕ: [user] в локации [our_area.name]!")) if("home") - to_chat(src, span_warningbig("RETURN HOME!")) + to_chat(src, span_warningbig("ВЕРНУТЬСЯ ДОМОЙ!")) if("ejectpai") return // Do nothing for this else - to_chat(src, span_warning("Unidentified control sequence received: [command]")) + to_chat(src, span_warning("Получена нераспознанная команда: [command].")) /obj/machinery/bot_core/receive_signal(datum/signal/signal) @@ -902,7 +906,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r if(signal.data["active"] != src) return - if(emagged == 2 || remote_disabled || hijacked) //Emagged bots do not respect anyone's authority! Bots with their remote controls off cannot get commands. //Emagged bots do not respect anyone's authority! Bots with their remote controls off cannot get commands. + if(emagged == 2 || remote_disabled || hijacked) //Emagged bots do not respect anyone's authority! Bots with their remote controls off cannot get commands. return if(client) @@ -927,7 +931,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r mode = BOT_SUMMON calc_summon_path() - speak("Responding.", radio_channel) + speak("Запрос получен.", radio_channel) else . = FALSE @@ -1003,7 +1007,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r /mob/living/simple_animal/bot/proc/on_summon_path_finish(list/path) set_path(path) if(!length(path)) //Cannot reach target. Give up and announce the issue. - speak("Summon command failed, destination unreachable.", radio_channel) + speak("Команда вызова не выполнена, пункт назначения недоступен.", radio_channel) bot_reset() @@ -1064,7 +1068,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r return TRUE if(topic_denied(usr)) - to_chat(usr, span_warning("[src]'s interface is not responding!")) + to_chat(usr, span_warning("Интерфейс [declent_ru(GENITIVE)] не отвечает!")) return TRUE add_fingerprint(usr) @@ -1085,7 +1089,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r handle_hacking(usr) if("ejectpai") if(paicard && (!locked || issilicon(usr) || usr.can_admin_interact())) - to_chat(usr, span_notice("You eject [paicard] from [bot_name].")) + to_chat(usr, span_notice("Вы вытащили [paicard] из [declent_ru(GENITIVE)].")) ejectpai(usr) update_controls() @@ -1162,10 +1166,10 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r /mob/living/simple_animal/bot/proc/hack(mob/user) var/hack if(issilicon(user) || user.can_admin_interact()) //Allows silicons or admins to toggle the emag status of a bot. - hack += "[emagged == 2 ? "Software compromised! Unit may exhibit dangerous or erratic behavior." : "Unit operating normally. Release safety lock?"]
" - hack += "Harm Prevention Safety System: [emagged ? "DANGER" : "Engaged"]
" + hack += "[emagged == 2 ? "Программное обеспечение взломано! Устройство может вести себя опасно или нестабильно." : "Устройство работает в нормальном режиме. Отключить протоколы безопасности?"]
" + hack += "Протоколы безопасности: [emagged ? span_bad("Отключены") : "Включены"]
" else if(!locked) //Humans with access can use this option to hide a bot from the AI's remote control panel and PDA control. - hack += "Remote network control radio: [remote_disabled ? "Disconnected" : "Connected"]
" + hack += "Удалённое радиоуправление: [remote_disabled ? "Отключено" : "Включено"]
" return hack @@ -1173,16 +1177,16 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r var/eject = "" if(!locked || issilicon(usr) || user.can_admin_interact()) if(paicard || allow_pai) - eject += "Personality card status: " + eject += "Состояние ПИИ: " if(paicard) if(client) - eject += "Active" + eject += "Активирован" else - eject += "Inactive" + eject += "Отключён" else if(!allow_pai || key) - eject += "Unavailable" + eject += "Нет доступа" else - eject += "Not inserted" + eject += "Отсутствует" eject += "
" eject += "
" return eject @@ -1203,7 +1207,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r else add_attack_logs(src, paicard.pai, "Ejected") if(announce) - to_chat(paicard.pai, span_notice("You feel your control fade as [paicard] ejects from [bot_name].")) + to_chat(paicard.pai, span_notice("Вы были извлечены из [declent_ru(GENITIVE)]. Соединение прервано.")) paicard = null name = bot_name faction = initial(faction) @@ -1212,7 +1216,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r /mob/living/simple_animal/bot/proc/ejectpairemote(mob/user) if(bot_core.allowed(user) && paicard) - speak("Ejecting personality chip.", radio_channel) + speak("Извлечение ПИИ.", radio_channel) ejectpai(user) @@ -1255,19 +1259,19 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r set name = "Show Directives" set category = "IC" - to_chat(src, "Directives:") + to_chat(src, "Набор законов:") if(paicard && paicard.pai && paicard.pai.master && paicard.pai.pai_law0) - to_chat(src, "Your master, [paicard.pai.master], may overrule any and all laws.") + to_chat(src, span_warning("Приказы вашего мастера, [paicard.pai.master], стоят выше любых других законов. Следование этим приказам - ваша первоочередная задача.")) to_chat(src, "0. [paicard.pai.pai_law0]") if(emagged >= 2) - to_chat(src, "1. #$!@#$32K#$") + to_chat(src, span_danger("1. #$!@#$32K#$")) else - to_chat(src, "1. You are a machine built to serve the station's crew and AI(s).") - to_chat(src, "2. Your function is to [bot_purpose].") - to_chat(src, "3. You cannot serve your function if you are broken.") - to_chat(src, "4. Serve your function to the best of your ability.") + to_chat(src, "1. Вы - машина, созданная для служения экипажу станции и ИИ.") + to_chat(src, "2. Ваше задача - [bot_purpose].") + to_chat(src, "3. Вы не сможете выполнять свою задачу, если будете сломаны.") + to_chat(src, "4. Выполняйте свою функцию в меру своих возможностей.") if(paicard && paicard.pai && paicard.pai.pai_laws) - to_chat(src, "Supplemental Directive(s):") + to_chat(src, "Дополнительные законы(s):") to_chat(src, "[paicard.pai.pai_laws]") @@ -1372,7 +1376,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r /obj/effect/proc_holder/spell/bot_speed name = "Speed Charge" - desc = "Speeds up the bot's internal systems for a while." + desc = "На некоторое время ускоряет работу внутренних систем робота." action_icon_state = "adrenal-bot" base_cooldown = 300 SECONDS clothes_req = FALSE @@ -1386,6 +1390,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r /obj/effect/proc_holder/spell/bot_speed/cast(list/targets, mob/user = usr) for(var/mob/living/simple_animal/bot/bot in targets) bot.set_varspeed(0.1) + balloon_alert(src, "вы ускоряетесь") addtimer(CALLBACK(bot, TYPE_PROC_REF(/mob/living/simple_animal/bot, reset_speed)), 45 SECONDS) @@ -1393,7 +1398,7 @@ Pass the desired type path itself, declaring a temporary var beforehand is not r if(QDELETED(src)) return set_varspeed(initial(speed)) - to_chat(src, span_notice("Now you are moving at your normal speed.")) + balloon_alert(src, "вы замедляетесь") /obj/machinery/bot_core/syndicate req_access = list(ACCESS_SYNDICATE) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 52d26d3be43..baccfd4f241 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -1,7 +1,15 @@ //Cleanbot /mob/living/simple_animal/bot/cleanbot name = "\improper Cleanbot" - desc = "A little cleaning robot, he looks so excited!" + desc = "Маленький робот-уборщик. Он выглядит таким увлечённым!" + ru_names = list( + NOMINATIVE = "чистобот", + GENITIVE = "чистобота", + DATIVE = "чистоботу", + ACCUSATIVE = "чистобота", + INSTRUMENTAL = "чистоботом", + PREPOSITIONAL = "чистоботе", + ) icon = 'icons/obj/aibots.dmi' icon_state = "cleanbot" density = FALSE @@ -12,10 +20,10 @@ bot_filter = RADIO_CLEANBOT bot_type = CLEAN_BOT model = "Cleanbot" - bot_purpose = "seek out messes and clean them" + bot_purpose = "найти грязь и мусор и избавиться от них" bot_core_type = /obj/machinery/bot_core/cleanbot window_id = "autoclean" - window_name = "Automatic Station Cleaner v1.1" + window_name = "Автоматическая Уборочная Единица v1.1" pass_flags = PASSMOB|PASSFLAPS path_image_color = "#993299" @@ -73,9 +81,9 @@ /mob/living/simple_animal/bot/cleanbot/set_custom_texts() - text_hack = "You corrupt [name]'s cleaning software." - text_dehack = "[name]'s software has been reset!" - text_dehack_fail = "[name] does not seem to respond to your repair code!" + text_hack = "Вы взломали протоколы уборки [declent_ru(GENITIVE)]." + text_dehack = "Вы восстановили протоколы уборки [declent_ru(GENITIVE)]." + text_dehack_fail = "[capitalize(declent_ru(NOMINATIVE))] не отвечает на ваши команды!" /mob/living/simple_animal/bot/cleanbot/attackby(obj/item/I, mob/user, params) @@ -86,9 +94,10 @@ add_fingerprint(user) var/obj/item/toy/crayon/spraycan/can = I if(can.capped) - to_chat(user, span_warning("The cap on [can] is sealed.")) + balloon_alert(user, "баллончик закрыт!") return ATTACK_CHAIN_PROCEED|ATTACK_CHAIN_NO_AFTERATTACK playsound(loc, 'sound/effects/spray.ogg', 20, TRUE) + balloon_alert(user, "краска нанесена") mask_color = can.colour update_icon() return ATTACK_CHAIN_PROCEED_SUCCESS|ATTACK_CHAIN_NO_AFTERATTACK @@ -99,7 +108,7 @@ /mob/living/simple_animal/bot/cleanbot/emag_act(mob/user) ..() if(emagged == 2 && user) - to_chat(user, span_danger("[src] buzzes and beeps.")) + to_chat(user, span_danger("[capitalize(declent_ru(NOMINATIVE))] странно жужжит!")) /mob/living/simple_animal/bot/cleanbot/process_scan(obj/effect/decal/cleanable/D) @@ -124,11 +133,11 @@ T.MakeSlippery(TURF_WET_WATER, 80 SECONDS) if(prob(5)) //Spawns foam! - visible_message(span_danger("[src] whirs and bubbles violently, before releasing a plume of froth!")) + visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] издаёт громкие булькающие звуки, прежде чем выпустить шлейф пены!")) new /obj/effect/particle_effect/foam(loc) else if(prob(5)) - audible_message("[src] makes an excited beeping booping sound!") + custom_emote(EMOTE_VISIBLE, "бипает и бупает!") if(!target) //Search for cleanables it can see. target = scan(/obj/effect/decal/cleanable) @@ -201,7 +210,7 @@ /mob/living/simple_animal/bot/cleanbot/proc/start_clean(obj/effect/decal/cleanable/target) set_anchored(TRUE) - visible_message(span_notice("[src] begins to clean up [target]")) + visible_message(span_notice("[capitalize(declent_ru(NOMINATIVE))] начинает очищать [target].")) mode = BOT_CLEANING update_icon() addtimer(CALLBACK(src, PROC_REF(do_clean), target), 5 SECONDS) @@ -219,7 +228,7 @@ /mob/living/simple_animal/bot/cleanbot/explode() on = FALSE - visible_message(span_userdanger("[src] blows apart!")) + visible_message(span_userdanger("[capitalize(declent_ru(NOMINATIVE))] разлетается на части!")) var/turf/Tsec = get_turf(src) new /obj/item/reagent_containers/glass/bucket(Tsec) new /obj/item/assembly/prox_sensor(Tsec) @@ -260,7 +269,7 @@ if (..()) return if(topic_denied(usr)) - to_chat(usr, "[src]'s interface is not responding!") + to_chat(usr, span_danger("Интерфейс [declent_ru(GENITIVE)] не отвечает!")) return add_fingerprint(usr) . = TRUE diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index cfa971dcf23..c195fa48f6a 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -2,8 +2,8 @@ //Cleanbot assembly /obj/item/bucket_sensor - desc = "It's a bucket. With a sensor attached." - name = "proxy bucket" + name = "Proxy bucket" + desc = "Это ведро, к которому прикреплён сенсор." icon = 'icons/obj/aibots.dmi' icon_state = "bucket_proxy" force = 3 @@ -20,7 +20,7 @@ return ..() if(is_pen(I)) - var/new_name = rename_interactive(user, I, prompt = "Enter new robot name") + var/new_name = rename_interactive(user, I, prompt = "Введите новое имя для робота") if(!isnull(new_name)) created_name = new_name add_game_logs("[key_name(user)] has renamed a robot to [new_name]", user) @@ -28,17 +28,20 @@ add_fingerprint(user) if(!istype(I, /obj/item/robot_parts/l_arm) && !istype(I, /obj/item/robot_parts/r_arm)) - to_chat(user, span_warning("You need a cyborg arm to finish the construction.")) + to_chat(user, span_notice("Для завершения сборки чистобота нужна робо-рука.")) + balloon_alert(user, "это сюда не подойдёт") return ATTACK_CHAIN_PROCEED if(!isturf(loc)) - to_chat(user, span_warning("You cannot finish the construction [ismob(loc) ? "in inventory" : "in [loc]"].")) + to_chat(user, span_notice("Вы не можете завершить сборку [ismob(loc) ? "в инвентаре" : "здесь"].")) + balloon_alert(user, "невозможно") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have added the robot arm to the bucket and sensor assembly. Beep boop!")) + balloon_alert(user, "сборка завершена") + to_chat(user, span_notice("Вы завершили сборку чистобота.")) var/mob/living/simple_animal/bot/cleanbot/new_bot = new(loc) transfer_fingerprints_to(new_bot) I.transfer_fingerprints_to(new_bot) @@ -55,7 +58,7 @@ /obj/item/ed209_assembly name = "\improper ED-209 assembly" - desc = "Some sort of bizarre assembly." + desc = "Заготовка для чего-то серьёзного." icon = 'icons/obj/aibots.dmi' icon_state = "ed209_frame" item_state = "ed209_frame" @@ -114,7 +117,7 @@ return ..() if(is_pen(I)) - var/new_name = rename_interactive(user, I, prompt = "Enter new robot name") + var/new_name = rename_interactive(user, I, prompt = "Введите новое имя для робота") if(!isnull(new_name)) created_name = new_name add_game_logs("[key_name(user)] has renamed a robot to [new_name]", user) @@ -124,13 +127,15 @@ if(0, 1) add_fingerprint(user) if(!istype(I, /obj/item/robot_parts/l_leg) && !istype(I, /obj/item/robot_parts/r_leg)) - to_chat(user, span_warning("You need a cyborg leg to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ED-209 нужна робо-нога.")) + balloon_alert(user, "это сюда не подойдёт") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() qdel(I) build_step++ - to_chat(user, span_notice("You have added the the robot leg to the ED-209 assembly.")) + to_chat(user, span_notice("Вы прикрепили робо-ногу к заготовке ED-209.")) + balloon_alert(user, "деталь установлена") update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) return ATTACK_CHAIN_PROCEED_SUCCESS @@ -142,13 +147,15 @@ else if(istype(I, /obj/item/clothing/suit/bluetag)) newcolor = "b" if(!newcolor && !istype(I, /obj/item/clothing/suit/armor/vest)) - to_chat(user, span_warning("You need a helmet to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ED-209 нужен защитный жилет.")) + balloon_alert(user, "это сюда не подойдёт") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() lasercolor = newcolor build_step++ - to_chat(user, span_notice("You have added [I] to the ED-209 assembly.")) + to_chat(user, span_notice("Вы прикрепили защитный жилет к заготовке ED-209.")) + balloon_alert(user, "деталь установлена") update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) qdel(I) return ATTACK_CHAIN_PROCEED_SUCCESS @@ -158,20 +165,24 @@ switch(lasercolor) if("b") if(!istype(I, /obj/item/clothing/head/helmet/bluetaghelm)) - to_chat(user, span_warning("You need a blue laser tag helmet to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ED-209 нужен синий шлем для лазертага.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if("r") if(!istype(I, /obj/item/clothing/head/helmet/redtaghelm)) - to_chat(user, span_warning("You need a red laser tag helmet to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ED-209 нужен красный шлем для лазертага.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if("") if(!istype(I, /obj/item/clothing/head/helmet)) - to_chat(user, span_warning("You need a standard helmet to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ED-209 нужен стандартный шлем СБ.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() build_step++ - to_chat(user, span_notice("You have added [I] to the ED-209 assembly.")) + to_chat(user, span_notice("Вы прикрепили шлем к заготовке ED-209.")) + balloon_alert(user, "деталь установлена") update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) qdel(I) return ATTACK_CHAIN_BLOCKED_ALL @@ -179,13 +190,15 @@ if(5) add_fingerprint(user) if(!isprox(I)) - to_chat(user, span_warning("You need a proximity sensor to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ED-209 нужен датчик движения.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() qdel(I) build_step++ - to_chat(user, span_notice("You have added the proximity sensor to the ED-209 assembly.")) + to_chat(user, span_notice("Вы прикрепили датчик движения к заготовке ED-209.")) + balloon_alert(user, "деталь установлена") update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) return ATTACK_CHAIN_BLOCKED_ALL @@ -193,14 +206,14 @@ add_fingerprint(user) var/obj/item/stack/cable_coil/coil = I if(!iscoil(I) || coil.get_amount() < 1) - to_chat(user, span_warning("You need at least one length of cable to continue the construction.")) + balloon_alert(user, "здесь нужны провода") return ATTACK_CHAIN_PROCEED coil.play_tool_sound(src) - to_chat(user, span_notice("You start to wire the ED-209 assembly...")) + balloon_alert(user, "вы начинаете прокладывать проводку") if(!do_after(user, 4 SECONDS * I.toolspeed, src, category = DA_CAT_TOOL) || build_step != 6 || QDELETED(coil) || !coil.use(1)) return ATTACK_CHAIN_PROCEED build_step++ - to_chat(user, span_notice("You have wired the ED-209 assembly.")) + balloon_alert(user, "вы проложили проводку") update_appearance(UPDATE_NAME) return ATTACK_CHAIN_PROCEED_SUCCESS @@ -210,23 +223,27 @@ switch(lasercolor) if("b") if(!istype(I, /obj/item/gun/energy/laser/tag/blue)) - to_chat(user, span_warning("You need a blue laser tag gun to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ED-209 нужен синий лазертаг-карабин.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED new_name = "bluetag ED-209 assembly" if("r") if(!istype(I, /obj/item/gun/energy/laser/tag/red)) - to_chat(user, span_warning("You need a red laser tag gun to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ED-209 нужен красный лазертаг-карабин.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED new_name = "redtag ED-209 assembly" if("") if(!istype(I, /obj/item/gun/energy/gun/advtaser)) - to_chat(user, span_warning("You need a hybrid taser to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ED-209 нужен гибридный тазер.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED new_name = "taser ED-209 assembly" if(!user.drop_transfer_item_to_loc(I, src)) return ..() build_step++ - to_chat(user, span_notice("You have added [I] to the ED-209 assembly.")) + to_chat(user, span_notice("Вы установили вооружение в заготовку ED-209.")) + balloon_alert(user, "деталь установлена") update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) qdel(I) return ATTACK_CHAIN_BLOCKED_ALL @@ -234,14 +251,17 @@ if(9) add_fingerprint(user) if(!istype(I, /obj/item/stock_parts/cell)) - to_chat(user, span_warning("You need a power cell to complete the assembly.")) + to_chat(user, span_notice("Для завершения сборки ED-209 нужна батарея.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!isturf(loc)) - to_chat(user, span_warning("You cannot finish the construction [ismob(loc) ? "in inventory" : "in [loc]"].")) + to_chat(user, span_notice("Вы не можете завершить сборку [ismob(loc) ? "в инвентаре" : "здесь"].")) + balloon_alert(user, "невозможно") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have completed the ED-209 assembly. Beep boop!")) + balloon_alert(user, "сборка завершена") + to_chat(user, span_notice("Вы завершили сборку ED-209.")) var/mob/living/simple_animal/bot/ed209/new_bot = new(loc, created_name, lasercolor) transfer_fingerprints_to(new_bot) I.transfer_fingerprints_to(new_bot) @@ -262,7 +282,8 @@ if(!I.use_tool(src, user, volume = I.tool_volume)) return . build_step++ - to_chat(user, span_notice("You have welded the the armor to [src].")) + to_chat(user, span_notice("Вы приварили броню к заготовке ED-209.")) + balloon_alert(user, "деталь установлена") update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) @@ -270,17 +291,17 @@ if(build_step != 8) return FALSE . = TRUE - to_chat(user, span_notice("You start attaching the gun to the frame...")) + balloon_alert(user, "вы начинаете устанавливать оружие") if(!I.use_tool(src, user, 4 SECONDS, volume = I.tool_volume) || build_step != 8) return . build_step++ update_appearance(UPDATE_NAME) - to_chat(user, span_notice("You attach the gun to the frame.")) + balloon_alert(user, "вы установили оружие") //Floorbot assemblies /obj/item/toolbox_tiles - desc = "It's a toolbox with tiles sticking out the top" + desc = "Это ящик для инструментов, из которого торчат плитки пола." name = "tiles and toolbox" icon = 'icons/obj/aibots.dmi' icon_state = "toolbox_tiles" @@ -294,7 +315,7 @@ var/toolbox_color = "" //Blank for blue, r for red, y for yellow, etc. /obj/item/toolbox_tiles/sensor - desc = "It's a toolbox with tiles sticking out the top and a sensor attached" + desc = "Это ящик для инструментов, из которого торчат плитки пола. К нему прикреплён датчик движения." name = "tiles, toolbox and sensor arrangement" icon_state = "toolbox_tiles_sensor" @@ -308,15 +329,18 @@ add_fingerprint(user) var/obj/item/stack/tile/plasteel/plasteel = I if(istype(I, /obj/item/storage/toolbox/green/memetic)) - to_chat(user, "Nice try...") + to_chat(user, span_notice("Хорошая попытка...")) + balloon_alert(user, "невозможно") return . if(length(contents)) - to_chat(user, span_warning("The [name] should be empty to start the floorbot construction.")) + to_chat(user, span_notice("Вы не можете начать сборку, пока в ящике для инструментов что-то лежит.")) + balloon_alert(user, "невозможно") return . if(!plasteel.use(10)) - to_chat(user, span_warning("You need at least ten sheets of plasteel to start the floorbot construction.")) + to_chat(user, span_notice("Для начала сборки ремонтного робота нужно 10 листов пластали.")) + balloon_alert(user, "недостаточно материалов") return . . |= ATTACK_CHAIN_BLOCKED_ALL @@ -346,7 +370,8 @@ if(loc == user) user.temporarily_remove_item_from_inventory(src, force = TRUE) user.put_in_hands(assembly) - to_chat(user, span_notice("You have reinforced the toolbox with plasteel sheets. Now it is suitable for further floorbot construction.")) + to_chat(user, span_notice("Вы укрепили ящик для инструментов листами пластали.")) + balloon_alert(user, "ящик укреплён") qdel(src) @@ -359,7 +384,7 @@ return ..() if(is_pen(I)) - var/new_name = rename_interactive(user, I, prompt = "Enter new robot name") + var/new_name = rename_interactive(user, I, prompt = "Введите новое имя для робота") if(!isnull(new_name)) created_name = new_name add_game_logs("[key_name(user)] has renamed a robot to [new_name]", user) @@ -367,7 +392,8 @@ add_fingerprint(user) if(!isprox(I)) - to_chat(user, span_warning("You need a proximity sensor to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки ремонтного робота нужен датчик движения.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) @@ -382,7 +408,8 @@ if(loc == user) user.temporarily_remove_item_from_inventory(src, force = TRUE) user.put_in_hands(assembly) - to_chat(user, span_notice("You have added the proximity sensor to the floorbot assembly.")) + to_chat(user, span_notice("Вы прикрепили датчик движения к заготовке ремонтного робота.")) + balloon_alert(user, "деталь установлена") qdel(I) qdel(src) return ATTACK_CHAIN_BLOCKED_ALL @@ -398,7 +425,7 @@ return ..() if(is_pen(I)) - var/new_name = rename_interactive(user, I, prompt = "Enter new robot name") + var/new_name = rename_interactive(user, I, prompt = "Введите новое имя для робота") if(!isnull(new_name)) created_name = new_name add_game_logs("[key_name(user)] has renamed a robot to [new_name]", user) @@ -406,11 +433,13 @@ add_fingerprint(user) if(!istype(I, /obj/item/robot_parts/l_arm) && !istype(I, /obj/item/robot_parts/r_arm)) - to_chat(user, span_warning("You need a cyborg arm to finish the construction.")) + to_chat(user, span_notice("Для завершения сборки ремонтного робота нужна робо-рука.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!isturf(loc)) - to_chat(user, span_warning("You cannot finish the construction [ismob(loc) ? "in inventory" : "in [loc]"].")) + to_chat(user, span_notice("Вы не можете завершить сборку [ismob(loc) ? "в инвентаре" : "здесь"].")) + balloon_alert(user, "невозможно") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) @@ -422,7 +451,8 @@ new_bot.add_fingerprint(user) new_bot.name = created_name new_bot.robot_arm = I.type - to_chat(user, span_notice("You have completed the floorbot assembly. Beep boop!")) + balloon_alert(user, "сборка завершена") + to_chat(user, span_notice("Вы завершили сборку ремонтного робота.")) qdel(I) qdel(src) return ATTACK_CHAIN_BLOCKED_ALL @@ -436,7 +466,8 @@ add_fingerprint(user) if(length(contents)) - to_chat(user, span_warning("The [name] should be empty to start the medibot construction.")) + to_chat(user, span_notice("Вы не можете начать сборку, пока в аптечке что-то лежит.")) + balloon_alert(user, "невозможно") return . . |= ATTACK_CHAIN_BLOCKED_ALL @@ -458,14 +489,15 @@ if(loc == user) user.temporarily_remove_item_from_inventory(src, force = TRUE) user.put_in_hands(assembly) - to_chat(user, span_notice("You have added the cyborg arm to [src]. Now it is suitable for further medibot construction.")) + to_chat(user, span_notice("Вы прикрепили робо-руку к аптечке.")) + balloon_alert(user, "деталь установлена") qdel(I) qdel(src) /obj/item/firstaid_arm_assembly name = "incomplete medibot assembly." - desc = "A first aid kit with a robot arm permanently grafted to it." + desc = "Аптечка первой помощи с прикрепленной роботизированной рукой." icon = 'icons/obj/aibots.dmi' icon_state = "firstaid_arm" w_class = WEIGHT_CLASS_NORMAL @@ -508,7 +540,7 @@ return ..() if(is_pen(I)) - var/new_name = rename_interactive(user, I, prompt = "Enter new robot name") + var/new_name = rename_interactive(user, I, prompt = "Введите новое имя для робота") if(!isnull(new_name)) created_name = new_name add_game_logs("[key_name(user)] has renamed a robot to [new_name]", user) @@ -518,11 +550,13 @@ if(0) add_fingerprint(user) if(!istype(I, /obj/item/healthanalyzer)) - to_chat(user, span_warning("You need a health analyzer to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки медбота нужен анализатор здоровья.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have added the health analyzer to the medibot assembly.")) + to_chat(user, span_notice("Вы прикрепили анализатор здоровья к аптечке.")) + balloon_alert(user, "деталь установлена") build_step++ update_appearance(UPDATE_NAME|UPDATE_OVERLAYS) qdel(I) @@ -531,14 +565,17 @@ if(1) add_fingerprint(user) if(!isprox(I)) - to_chat(user, span_warning("You need a proximity sensor to complete the assembly.")) + to_chat(user, span_notice("Для завершения сборки медбота нужен датчик движения.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!isturf(loc)) - to_chat(user, span_warning("You cannot finish the construction [ismob(loc) ? "in inventory" : "in [loc]"].")) + to_chat(user, span_notice("Вы не можете завершить сборку [ismob(loc) ? "в инвентаре" : "здесь"].")) + balloon_alert(user, "невозможно") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have completed the medibot assembly. Beep boop!")) + balloon_alert(user, "сборка завершена") + to_chat(user, span_notice("Вы завершили сборку медбота.")) var/mob/living/simple_animal/bot/medbot/new_bot if(syndicate_aligned) // syndicate medibots are a special case that have so many unique vars on them, @@ -567,7 +604,7 @@ //Secbot Assembly /obj/item/secbot_assembly name = "incomplete securitron assembly" - desc = "Some sort of bizarre assembly made from a proximity sensor, helmet, and signaler." + desc = "Замудрённая конструкция, состоящая из датчика движения, шлема и сигнального устройства." icon = 'icons/obj/aibots.dmi' icon_state = "helmet_signaler" item_state = "helmet" @@ -604,7 +641,8 @@ add_fingerprint(user) var/obj/item/assembly/signaler/signaler = I if(signaler.secured) - to_chat(user, span_warning("The [signaler.name] should be unsecured.")) + to_chat(user, span_notice("Сигнальное устройство не должно быть закреплено.")) + balloon_alert(user, "невозможно") return ATTACK_CHAIN_PROCEED . |= ATTACK_CHAIN_BLOCKED_ALL @@ -616,7 +654,7 @@ if(loc == user) user.temporarily_remove_item_from_inventory(src, force = TRUE) user.put_in_hands(assembly) - to_chat(user, span_notice("You have added the the signaler to the helmet. Now it is suitable for further securitron construction.")) + balloon_alert(user, "сигнальное устройство прикреплено") qdel(I) qdel(src) @@ -626,7 +664,7 @@ return ..() if(is_pen(I)) - var/new_name = rename_interactive(user, I, prompt = "Enter new robot name") + var/new_name = rename_interactive(user, I, prompt = "Введите новое имя для робота") if(!isnull(new_name)) created_name = new_name add_game_logs("[key_name(user)] has renamed a robot to [new_name]", user) @@ -636,11 +674,13 @@ if(1) add_fingerprint(user) if(!isprox(I)) - to_chat(user, span_warning("You need a proximity sensor to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки охранного робота нужен датчик движения.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have added the proximity sensor to the securitron assembly.")) + to_chat(user, span_notice("Вы прикрепили датчик движения к заготовке охранного робота.")) + balloon_alert(user, "деталь установлена") build_step++ update_appearance(UPDATE_NAME|UPDATE_OVERLAYS) qdel(I) @@ -649,11 +689,13 @@ if(2) add_fingerprint(user) if(!istype(I, /obj/item/robot_parts/l_arm) && !istype(I, /obj/item/robot_parts/r_arm)) - to_chat(user, span_warning("You need a cyborg arm to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки охранного робота нужна робо-рука.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have added the cyborg arm to the securitron assembly.")) + to_chat(user, span_notice("Вы прикрепили робо-руку к заготовке охранного робота.")) + balloon_alert(user, "деталь установлена") build_step++ robot_arm = I.type update_appearance(UPDATE_NAME|UPDATE_OVERLAYS) @@ -663,14 +705,17 @@ if(3) add_fingerprint(user) if(!istype(I, /obj/item/melee/baton/security)) - to_chat(user, span_warning("You need a stunbaton to complete the assembly.")) + to_chat(user, span_notice("Для продолжения сборки охранного робота нужна оглушающая дубинка.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!isturf(loc)) - to_chat(user, span_warning("You cannot finish the construction [ismob(loc) ? "in inventory" : "in [loc]"].")) + to_chat(user, span_notice("Вы не можете завершить сборку [ismob(loc) ? "в инвентаре" : "здесь"].")) + balloon_alert(user, "невозможно") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have completed the securitron assembly. Beep boop!")) + balloon_alert(user, "сборка завершена") + to_chat(user, span_notice("Вы завершили сборку охранного робота.")) var/mob/living/simple_animal/bot/secbot/new_bot = new(loc) new_bot.name = created_name new_bot.robot_arm = robot_arm @@ -699,21 +744,24 @@ var/obj/item/clothing/head/helmet/helmet = new(drop_loc) transfer_fingerprints_to(helmet) helmet.add_fingerprint(user) - to_chat(user, span_notice("You have disconnected the signaler from the helmet.")) + to_chat(user, span_notice("Вы отсоединили сигнальное устройство от шлема.")) + balloon_alert(user, "деталь отсоединена") qdel(src) if(2) var/obj/item/assembly/prox_sensor/sensor = new(drop_loc) transfer_fingerprints_to(sensor) sensor.add_fingerprint(user) build_step-- - to_chat(user, span_notice("You have detached the proximity sensor from the securitron assembly.")) + to_chat(user, span_notice("Вы отсоединили датчик движения от заготовки.")) + balloon_alert(user, "деталь отсоединена") update_appearance(UPDATE_NAME|UPDATE_OVERLAYS) if(3) var/obj/item/robot_parts/new_arm = new robot_arm(drop_loc) transfer_fingerprints_to(new_arm) new_arm.add_fingerprint(user) build_step-- - to_chat(user, span_notice("You have removed the cyborg arm from the securitron assembly.")) + to_chat(user, span_notice("Вы отсоединили робо-руку от заготовки.")) + balloon_alert(user, "деталь отсоединена") update_appearance(UPDATE_NAME|UPDATE_OVERLAYS) @@ -723,7 +771,8 @@ . = TRUE if(!I.use_tool(src, user, volume = I.tool_volume)) return . - to_chat(user, span_notice("You have adjusted the arm slots for extra weapons.")) + to_chat(user, span_notice("Вы создали дополнительные слоты для вооружения в заготовке охранного робота.")) + balloon_alert(user, "корпус модифицирован") var/obj/item/griefsky_assembly/destroyer_of_the_worlds = new(drop_location()) transfer_fingerprints_to(destroyer_of_the_worlds) destroyer_of_the_worlds.add_fingerprint(user) @@ -743,10 +792,12 @@ return . if(build_step == 1) build_step = 0 - to_chat(user, span_notice("You have welded shut the hole in the securitron assembly.")) + to_chat(user, span_notice("Вы заварили лишние отверстия в заготовке охранного робота.")) + balloon_alert(user, "корпус модифицирован") else build_step = 1 - to_chat(user, span_notice("You have welded a hole in the securitron assembly.")) + to_chat(user, span_notice("Вы вырезали дополнительные отверстия в заготовке охранного робота.")) + balloon_alert(user, "корпус модифицирован") update_appearance(UPDATE_OVERLAYS) @@ -754,7 +805,7 @@ /obj/item/griefsky_assembly name = "\improper General Griefsky assembly" - desc = "Some sort of bizarre assembly." + desc = "Причудливая конструкция. Выглядит мощно." icon = 'icons/obj/aibots.dmi' icon_state = "griefsky_assembly" item_state = "griefsky_assembly" @@ -776,27 +827,33 @@ var/toy_sword = istype(I, /obj/item/toy/sword) if(!energy_sword && !toy_sword) if(build_step == 0 && toy_step == 0) - to_chat(user, span_warning("You need a toy sword or an energy sword to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки нужен лазерный меч.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(build_step > 0) - to_chat(user, span_warning("You need an energy sword to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки нужен настоящий лазерный меч.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(toy_step > 0) - to_chat(user, span_warning("You need a toy sword to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки нужен игрушечный лазерный меч.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED return ATTACK_CHAIN_PROCEED if(energy_sword) if(toy_step > 0) - to_chat(user, span_warning("The energy sword is incompatible with the Genewul Giftskee assembly.")) + to_chat(user, span_notice("Этот лазерный меч не подойдёт.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(build_step == 3) if(!isturf(loc)) - to_chat(user, span_warning("You cannot finish the construction [ismob(loc) ? "in inventory" : "in [loc]"].")) + to_chat(user, span_notice("Вы не можете завершить сборку [ismob(loc) ? "в инвентаре" : "здесь"].")) + balloon_alert(user, "невозможно") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have completed the General Griefsky assembly. Its war crimes time!")) + balloon_alert(user, "сборка завершена") + to_chat(user, span_notice("Вы завершили сборку Генерала Грифски. Время совершить парочку военных преступлений!")) var/mob/living/simple_animal/bot/secbot/griefsky/destroyer_of_the_worlds = new(loc) transfer_fingerprints_to(destroyer_of_the_worlds) I.transfer_fingerprints_to(destroyer_of_the_worlds) @@ -809,20 +866,24 @@ build_step++ I.transfer_fingerprints_to(src) update_appearance(UPDATE_NAME) - to_chat(user, span_notice("You have added the energy sword to the General Griefsky assembly. It prays for more!")) + to_chat(user, span_notice("Вы прикрепили лазерный меч к заготовке.")) + balloon_alert(user, "деталь установлена") qdel(I) return ATTACK_CHAIN_BLOCKED_ALL if(build_step > 0) - to_chat(user, span_warning("The toy sword is incompatible with the General Griefsky assembly.")) + to_chat(user, span_notice("Этот лазерный меч не подойдёт.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(toy_step == 3) if(!isturf(loc)) - to_chat(user, span_warning("You cannot finish the construction [ismob(loc) ? "in inventory" : "in [loc]"].")) + to_chat(user, span_notice("Вы не можете завершить сборку [ismob(loc) ? "в инвентаре" : "здесь"].")) + balloon_alert(user, "невозможно") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have completed the Genewul Giftskee assembly. Its party time!")) + balloon_alert(user, "сборка завершена") + to_chat(user, span_notice("Вы завершили сборку Генерала Грифски.")) var/mob/living/simple_animal/bot/secbot/griefsky/toy/destroyer_of_the_pinatas = new(loc) transfer_fingerprints_to(destroyer_of_the_pinatas) I.transfer_fingerprints_to(destroyer_of_the_pinatas) @@ -835,7 +896,8 @@ toy_step++ I.transfer_fingerprints_to(src) update_appearance(UPDATE_NAME) - to_chat(user, span_notice("You have added the toy sword to the Genewul Giftskee assembly. It prays for more!")) + to_chat(user, span_notice("Вы прикрепили игрушечный лазерный меч к заготовке.")) + balloon_alert(user, "деталь установлена") qdel(I) return ATTACK_CHAIN_BLOCKED_ALL @@ -849,11 +911,13 @@ var/obj/item/sword if(build_step) sword = new /obj/item/melee/energy/sword(drop_location()) - to_chat(user, span_notice("You have detached the energy sword from the Griefsky assembly.")) + to_chat(user, span_notice("Вы отсоединили лазерный меч от заготовки.")) + balloon_alert(user, "деталь отсоединена") build_step-- else if(toy_step) sword = new /obj/item/toy/sword(drop_location()) - to_chat(user, span_notice("You have detached the toy sword from the Griefsky assembly.")) + to_chat(user, span_notice("Вы отсоединили игрушечный лазерный меч от заготовки.")) + balloon_alert(user, "деталь отсоединена") toy_step-- transfer_fingerprints_to(sword) sword.add_fingerprint(user) @@ -868,7 +932,8 @@ add_fingerprint(user) if(length(contents)) - to_chat(user, span_warning("The [name] should be empty to start the honkbot construction.")) + to_chat(user, span_notice("Вы не можете начать сборку, пока в коробке что-то лежит.")) + balloon_alert(user, "невозможно") return . . |= ATTACK_CHAIN_BLOCKED_ALL @@ -883,14 +948,15 @@ if(loc == user) user.temporarily_remove_item_from_inventory(src, force = TRUE) user.put_in_hands(assembly) - to_chat(user, span_notice("You have added the cyborg arm to [src]. Now it is suitable for further honkbot construction.")) + to_chat(user, span_notice("Вы прикрепили робо-руку к коробке.")) + balloon_alert(user, "деталь установлена") qdel(I) qdel(src) /obj/item/honkbot_arm_assembly name = "incomplete honkbot assembly" - desc = "A clown box with a robot arm permanently grafted to it." + desc = "Клоунская коробка с прикрепленной роботизированной рукой." icon = 'icons/obj/aibots.dmi' icon_state = "honkbot_arm" w_class = WEIGHT_CLASS_NORMAL @@ -908,11 +974,13 @@ if(0) add_fingerprint(user) if(!isprox(I)) - to_chat(user, span_warning("You need a proximity sensor to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки хонкбота нужен датчик движения.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have added the proximity sensor to the honkbot assembly.")) + to_chat(user, span_notice("Вы прикрепили датчик движения к заготовке хонкбота.")) + balloon_alert(user, "деталь установлена") build_step++ update_appearance(UPDATE_ICON_STATE) qdel(I) @@ -921,11 +989,13 @@ if(1) add_fingerprint(user) if(!istype(I, /obj/item/bikehorn)) - to_chat(user, span_warning("You need a bike horn to continue the construction.")) + to_chat(user, span_notice("Для продолжения сборки хонкбота нужен велосипедный гудок.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have added the bike horn to the honkbot assembly.")) + to_chat(user, span_notice("Вы прикрепили велосипедный гудок к заготовке хонкбота.")) + balloon_alert(user, "деталь установлена") build_step++ update_appearance(UPDATE_ICON_STATE|UPDATE_DESC) qdel(I) @@ -934,14 +1004,17 @@ if(2) add_fingerprint(user) if(!istype(I, /obj/item/instrument/trombone)) - to_chat(user, span_warning("You need a trombone to complete the assembly.")) + to_chat(user, span_notice("Для завершения сборки хонкбота нужен тромбон.")) + balloon_alert(user, "неверная деталь") return ATTACK_CHAIN_PROCEED if(!isturf(loc)) - to_chat(user, span_warning("You cannot finish the construction [ismob(loc) ? "in inventory" : "in [loc]"].")) + to_chat(user, span_notice("Вы не можете завершить сборку [ismob(loc) ? "в инвентаре" : "здесь"].")) + balloon_alert(user, "невозможно") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() - to_chat(user, span_notice("You have completed the honkbot assembly. HONK!")) + balloon_alert(user, "сборка завершена") + to_chat(user, span_notice("Вы завершили сборку хонкобота.")) var/mob/living/simple_animal/bot/honkbot/new_bot = new(loc) new_bot.robot_arm = robot_arm transfer_fingerprints_to(new_bot) @@ -961,7 +1034,7 @@ /obj/item/honkbot_arm_assembly/update_desc(updates = ALL) . = ..() if(build_step == 2) - desc = "A clown box with a robot arm and a bikehorn permanently grafted to it. It needs a trombone to be finished" + desc = "Клоунская коробка с прикреплённой роботизированной рукой и велосипедным гудком. Ему не хватает лишь тромбона." return . desc = initial(desc) diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 6ee5edbd899..361a97b2184 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -3,7 +3,15 @@ /mob/living/simple_animal/bot/ed209 name = "\improper ED-209 Security Robot" - desc = "A security robot. He looks less than thrilled." + desc = "Охранный робот. Он выглядит абсолютно спокойным." + ru_names = list( + NOMINATIVE = "охранный робот ED-209", + GENITIVE = "охранного робота ED-209", + DATIVE = "охранному роботу ED-209", + ACCUSATIVE = "охранного робота ED-209", + INSTRUMENTAL = "охранным роботом ED-209", + PREPOSITIONAL = "охранном роботе ED-209", + ) icon = 'icons/obj/aibots.dmi' icon_state = "ed2090" density = TRUE @@ -19,10 +27,10 @@ bot_type = SEC_BOT bot_filter = RADIO_SECBOT model = "ED-209" - bot_purpose = "seek out criminals, handcuff them, and report their location to security" + bot_purpose = "найти преступников, задержать их и доложить службе безопасности" bot_core_type = /obj/machinery/bot_core/secbot window_id = "autoed209" - window_name = "Automatic Security Unit v2.6" + window_name = "Автоматическая Охранная Единица v2.6" path_image_color = "#FF0000" data_hud_type = DATA_HUD_SECURITY_ADVANCED @@ -80,9 +88,9 @@ if(created_name == initial(name) || !created_name) if(lasercolor == "b") - name = pick("BLUE BALLER","SANIC","BLUE KILLDEATH MURDERBOT") + name = pick("СИНИЙ УБИВАТОР","САНИК","СИНИЙ КИБОРГ УБИЙЦА") else if (lasercolor == "r") - name = pick("RED RAMPAGE","RED ROVER","RED KILLDEATH MURDERBOT") + name = pick("КРАСНОЕ БЕЗУМИЕ","КРАСНЫЙ УНИЧТОЖИТЕЛЬ","КРАСНЫЙ КИБОРГ УБИЙЦА") //SECHUD var/datum/atom_hud/secsensor = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] @@ -119,9 +127,9 @@ /mob/living/simple_animal/bot/ed209/set_custom_texts() - text_hack = "You disable [name]'s combat inhibitor." - text_dehack = "You restore [name]'s combat inhibitor." - text_dehack_fail = "[name] ignores your attempts to restrict [p_them()]!" + text_hack = "Вы взломали боевую систему [declent_ru(GENITIVE)]" + text_dehack = "Вы восстановили боевую систему [declent_ru(GENITIVE)]." + text_dehack_fail = "[capitalize(declent_ru(NOMINATIVE))] отказывается вам подчиняться!" /mob/living/simple_animal/bot/ed209/show_controls(mob/M) @@ -159,7 +167,7 @@ if (..()) return if(topic_denied(usr)) - to_chat(usr, "[src]'s interface is not responding!") + to_chat(usr, span_warning("Интерфейс [declent_ru(GENITIVE)] не отвечает!")) return add_fingerprint(usr) . = TRUE @@ -228,9 +236,9 @@ ..() if(emagged == 2) if(user) - to_chat(user, span_warning("You short out [src]'s target assessment circuits.")) + to_chat(user, span_warning("Вы замыкаете микросхемы системы целеуказания [declent_ru(GENITIVE)].")) oldtarget_name = user.name - audible_message(span_danger("[src] buzzes oddly!")) + audible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] странно жужжит!")) declare_arrests = FALSE icon_state = "[lasercolor]ed209[on]" set_weapon() @@ -402,9 +410,9 @@ else if(threatlevel >= 4) target = C oldtarget_name = C.name - speak("Level [threatlevel] infraction alert!") + speak("Вижу преступника! Уровень опасности - [threatlevel]!") playsound(loc, pick('sound/voice/ed209_20sec.ogg', 'sound/voice/edplaceholder.ogg'), 50, 0) - visible_message("[src] points at [C.name]!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] указывает на [C.name]!") mode = BOT_HUNT INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break @@ -420,7 +428,7 @@ /mob/living/simple_animal/bot/ed209/explode() SSmove_manager.stop_looping(src) - visible_message("[src] blows apart!") + visible_message(span_userdanger("[capitalize(declent_ru(NOMINATIVE))] разлетается на части!")) var/turf/Tsec = get_turf(src) var/obj/item/ed209_assembly/Sa = new /obj/item/ed209_assembly(Tsec) @@ -629,19 +637,19 @@ if(declare_arrests) var/area/location = get_area(src) if(!speak_cooldown) - speak("[arrest_type ? "Detaining" : "Arresting"] level [threat] scumbag [C] in [location].", radio_channel) + speak("[arrest_type ? "Удерживаю" : "Задерживаю"] подонка по имени [C] в локации [location]. Уровень опасности - [threat].", radio_channel) speak_cooldown = TRUE addtimer(VARSET_CALLBACK(src, speak_cooldown, FALSE), SPEAK_COOLDOWN) - C.visible_message(span_danger("[src] has stunned [C]!"), - span_userdanger("[src] has stunned you!")) + C.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] оглушил [C]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] оглушил вас!")) /mob/living/simple_animal/bot/ed209/proc/start_cuffing(mob/living/carbon/C) mode = BOT_ARREST playsound(loc, 'sound/weapons/cablecuff.ogg', 30, 1, -2) - C.visible_message(span_danger("[src] is trying to put zipties on [C]!"), - span_userdanger("[src] is trying to put zipties on you!")) + C.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] начинает надевать стяжки на [C]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] пытается надеть на вас стяжки!")) addtimer(CALLBACK(src, PROC_REF(cuff_callback), C), 6 SECONDS) @@ -653,6 +661,9 @@ return C.apply_restraints(new /obj/item/restraints/handcuffs/cable/zipties/used(null), ITEM_SLOT_HANDCUFFED, TRUE) + C.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] надел стяжки на [C]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] надел на вас стяжки!")) + back_to_idle() diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 9728321bced..2dc92554766 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -1,7 +1,15 @@ //Floorbot /mob/living/simple_animal/bot/floorbot name = "\improper Floorbot" - desc = "A little floor repairing robot, he looks so excited!" + desc = "Маленький робот для починки полов и обшивки. Он выглядит таким увлечённым!" + ru_names = list( + NOMINATIVE = "ремонтный робот", + GENITIVE = "ремонтного робота", + DATIVE = "ремонтному роботу", + ACCUSATIVE = "ремонтного робота", + INSTRUMENTAL = "ремонтным роботом", + PREPOSITIONAL = "ремонтном роботе", + ) icon = 'icons/obj/aibots.dmi' icon_state = "floorbot0" density = FALSE @@ -13,10 +21,10 @@ bot_type = FLOOR_BOT bot_filter = RADIO_FLOORBOT model = "Floorbot" - bot_purpose = "seek out damaged or missing floor tiles, and repair or replace them as necessary" + bot_purpose = "найти повреждения в полу или обшивке и восстановить их целостность" bot_core_type = /obj/machinery/bot_core/floorbot window_id = "autofloor" - window_name = "Automatic Station Floor Repairer v1.1" + window_name = "Автоматическая Ремонтная Единица v1.1" path_image_color = "#FFA500" /// Determines what to do when process_scan() recieves a target. See process_scan() for details. @@ -67,35 +75,35 @@ /mob/living/simple_animal/bot/floorbot/set_custom_texts() - text_hack = "You corrupt [name]'s construction protocols." - text_dehack = "You detect errors in [name] and reset [p_their()] programming." - text_dehack_fail = "[name] is not responding to reset commands!" + text_hack = "Вы взломали рабочие протоколы [declent_ru(GENITIVE)]." + text_dehack = "Вы восстановили рабочие протоколы [declent_ru(GENITIVE)]." + text_dehack_fail = "[capitalize(declent_ru(NOMINATIVE))] не отвечает на команды сброса настроек!" /mob/living/simple_animal/bot/floorbot/get_controls(mob/user) var/dat dat += hack(user) dat += showpai(user) - dat += "Floor Repairer Controls v1.1

" - dat += "Status: [on ? "On" : "Off"]
" - dat += "Maintenance panel panel is [open ? "opened" : "closed"]
" - dat += "Tiles left: [amount]
" - dat += "Behvaiour controls are [locked ? "locked" : "unlocked"]
" + dat += "Панель управления ремонтным роботом v1.1

" + dat += "Состояние: [on ? "Включён" : "Выключен"]
" + dat += "Панель технического обслуживания [open ? "открыта" : "закрыта"]
" + dat += "Плиток пола в запасе: [amount]
" + dat += "Управление поведением [locked ? "заблокировано" : "разблокировано"]
" if(!locked || issilicon(user) || user.can_admin_interact()) - dat += "Add tiles to new hull plating: [autotile ? "Yes" : "No"]
" - dat += "Replace floor tiles: [replacetiles ? "Yes" : "No"]
" - dat += "Finds tiles: [eattiles ? "Yes" : "No"]
" - dat += "Make pieces of metal into tiles when empty: [maketiles ? "Yes" : "No"]
" - dat += "Transmit notice when empty: [nag_on_empty ? "Yes" : "No"]
" - dat += "Repair damaged tiles and platings: [fixfloors ? "Yes" : "No"]
" - dat += "Traction Magnets: [anchored ? "Engaged" : "Disengaged"]
" - dat += "Patrol Station: [auto_patrol ? "Yes" : "No"]
" + dat += "Устанавливать плитки пола на сегменты обшивки:[autotile ? "Да" : "Нет"]
" + dat += "Заменять плитки пола: [replacetiles ? "Да" : "Нет"]
" + dat += "Загружать свободные плитки во внутреннее хранилище: [eattiles ? "Да" : "Нет"]
" + dat += "Перерабатывать металл в плитки пола, когда хранилище опустошено: [maketiles ? "Да" : "Нет"]
" + dat += "Уведомлять, когда хранилище опустошено: [nag_on_empty ? "Да" : "Нет"]
" + dat += "Ремонтировать повреждения пола и обшивки: [fixfloors ? "Да" : "Нет"]
" + dat += "Закрепиться на месте: [anchored ? "Да" : "Нет"]
" + dat += "Режим патрулирования: [auto_patrol ? "Да" : "Нет"]
" var/bmode if(targetdirection) bmode = dir2text(targetdirection) else - bmode = "disabled" - dat += "Bridge Mode : [bmode]
" + bmode = "Выключен" + dat += "Режим постройки моста: [bmode]
" return dat @@ -109,10 +117,11 @@ var/obj/item/stack/tile/plasteel/plasteel = I var/loaded = min(50 - amount, plasteel.get_amount()) if(!plasteel.use(loaded)) - to_chat(user, span_warning("You need at least one floor tile to put into [src]!")) + to_chat(user, span_warning("Вам нужна хотя бы одна плитка пола для загрузки в [declent_ru(ACCUSATIVE)]!")) return ATTACK_CHAIN_PROCEED amount += loaded - to_chat(user, span_notice("You have loaded [loaded] tile\s into the floorbot. [p_they(TRUE)] now contains [amount] tiles.")) + balloon_alert(user, "плитки загружены") + to_chat(user, span_notice("Вы загрузили [loaded] плитки в [declent_ru(ACCUSATIVE)]. Текущее количество плиток - [amount].")) nagged = FALSE update_icon() return ATTACK_CHAIN_PROCEED_SUCCESS @@ -124,7 +133,7 @@ ..() if(emagged == 2) if(user) - to_chat(user, span_danger("[src] buzzes and beeps.")) + to_chat(user, span_danger("[capitalize(declent_ru(NOMINATIVE))] жужжит и пищит.")) /mob/living/simple_animal/bot/floorbot/Topic(href, href_list) @@ -148,17 +157,17 @@ set_anchored(!anchored) if("bridgemode") - var/setdir = input("Select construction direction:") as null|anything in list("north","east","south","west","disable") + var/setdir = input("Выберите направление строительства:") as null|anything in list("север","юг","запад","восток","отключить") switch(setdir) - if("north") + if("север") targetdirection = 1 - if("south") + if("юг") targetdirection = 2 - if("east") + if("восток") targetdirection = 4 - if("west") + if("запад") targetdirection = 8 - if("disable") + if("отключить") targetdirection = null update_controls() @@ -184,7 +193,7 @@ nag() if(prob(5)) - audible_message("[src] makes an excited booping beeping sound!") + custom_emote(EMOTE_VISIBLE, "бупает и бипает!") //Normal scanning procedure. We have tiles loaded, are not emagged. if(!target && emagged < 2 && amount > 0) @@ -238,7 +247,7 @@ F.break_tile_to_plating() else F.ReplaceWithLattice() - audible_message(span_danger("[src] makes an excited booping sound.")) + custom_emote(EMOTE_VISIBLE, "бупает.") addtimer(CALLBACK(src, PROC_REF(inc_amount_callback)), 5 SECONDS) path = list() @@ -276,7 +285,7 @@ /mob/living/simple_animal/bot/floorbot/proc/nag() //Annoy everyone on the channel to refill us! if(!nagged) - speak("Requesting refill at [get_area(src)]!", radio_channel) + speak("Запрашивается пополнение стройматериалов в локации [get_area(src)]!", radio_channel) nagged = TRUE @@ -337,7 +346,7 @@ set_anchored(TRUE) if(isspaceturf(target_turf)) //If we are fixing an area not part of pure space, it is - visible_message(span_notice("[targetdirection ? "[src] begins installing a bridge plating." : "[src] begins to repair the hole."]")) + custom_emote(EMOTE_VISIBLE, "[targetdirection ? "начинает строить сегмент моста." : "начинает заделывать пробоину."]") mode = BOT_REPAIRING update_icon() addtimer(CALLBACK(src, PROC_REF(make_bridge_plating), target_turf), 5 SECONDS) @@ -346,7 +355,7 @@ var/turf/simulated/floor/F = target_turf mode = BOT_REPAIRING update_icon() - visible_message(span_notice("[src] begins repairing the floor.")) + custom_emote(EMOTE_VISIBLE, "начинает ремонтировать пол.") addtimer(CALLBACK(src, PROC_REF(make_bridge_plating), F), 5 SECONDS) @@ -380,7 +389,7 @@ /mob/living/simple_animal/bot/floorbot/proc/start_eattile(obj/item/stack/tile/plasteel/T) if(!istype(T, /obj/item/stack/tile/plasteel)) return - visible_message(span_notice("[src] begins to collect tiles.")) + custom_emote(EMOTE_VISIBLE, "начинает собирать плитки.") mode = BOT_REPAIRING addtimer(CALLBACK(src, PROC_REF(do_eattile), T), 2 SECONDS) @@ -407,7 +416,7 @@ /mob/living/simple_animal/bot/floorbot/proc/start_maketile(obj/item/stack/sheet/metal/M) if(!istype(M, /obj/item/stack/sheet/metal)) return - visible_message(span_notice("[src] begins to create tiles.")) + custom_emote(EMOTE_VISIBLE, "начинает создавать плитки.") mode = BOT_REPAIRING addtimer(CALLBACK(src, PROC_REF(do_maketile), M), 2 SECONDS) @@ -442,7 +451,7 @@ /mob/living/simple_animal/bot/floorbot/explode() on = FALSE - visible_message("[src] blows apart!") + visible_message(span_userdanger("[capitalize(declent_ru(NOMINATIVE))] разлетается на части!")) var/turf/Tsec = get_turf(src) var/obj/item/storage/toolbox/mechanical/N = new /obj/item/storage/toolbox/mechanical(Tsec) N.contents = list() diff --git a/code/modules/mob/living/simple_animal/bot/griefsky.dm b/code/modules/mob/living/simple_animal/bot/griefsky.dm index d426c808ad5..865dc05a854 100644 --- a/code/modules/mob/living/simple_animal/bot/griefsky.dm +++ b/code/modules/mob/living/simple_animal/bot/griefsky.dm @@ -1,11 +1,19 @@ /mob/living/simple_animal/bot/secbot/griefsky //This bot is powerful. If you managed to get 4 eswords somehow, you deserve this horror. Emag him for best results. name = "\improper General Griefsky" - desc = "Is that a secbot with four eswords in its arms...?" + desc = "Это охранный робот с четырьмя лазерными мечами в руках..?" + ru_names = list( + NOMINATIVE = "Генерал Грифски", + GENITIVE = "Генерала Грифски", + DATIVE = "Генералу Грифски", + ACCUSATIVE = "Генерала Грифски", + INSTRUMENTAL = "Генералом Грифски", + PREPOSITIONAL = "Генерале Грифски", + ) icon_state = "griefsky0" health = 100 maxHealth = 100 base_icon = "griefsky" - window_name = "Automatic Security Unit v3.0" + window_name = "Автоматическая Охранная Единица v3.0" var/spin_icon = "griefsky-c" // griefsky and griefsky junior have dif icons var/weapon = /obj/item/melee/energy/sword @@ -22,7 +30,15 @@ /mob/living/simple_animal/bot/secbot/griefsky/toy //A toy version of general griefsky! name = "Genewul Giftskee" - desc = "An adorable looking secbot with four toy swords taped to its arms" + desc = "Очаровательный охранный робот с четырьмя игрушечными мечами в руках. Прелесть!" + ru_names = list( + NOMINATIVE = "Гиневал Гифтски", + GENITIVE = "Гиневала Гифтски", + DATIVE = "Гиневалу Гифтски", + ACCUSATIVE = "Гиневала Гифтски", + INSTRUMENTAL = "Гиневалом Гифтски", + PREPOSITIONAL = "Гиневале Гифтски", + ) spin_icon = "griefskyj-c" health = 50 maxHealth = 50 @@ -42,12 +58,20 @@ /mob/living/simple_animal/bot/secbot/griefsky/syndicate - radio_channel = "SyndTaipan" - name = "Генерал Синди" + name = "General Syndie" + desc = "В процессе его создания пострадало как минимум 24 агента. 22 из них не выжили..." + ru_names = list( + NOMINATIVE = "Генерал Синди", + GENITIVE = "Генерала Синди", + DATIVE = "Генералу Синди", + ACCUSATIVE = "Генерала Синди", + INSTRUMENTAL = "Генералом Синди", + PREPOSITIONAL = "Генерале Синди", + ) icon_state = "general_syndie0" base_icon = "general_syndie" spin_icon = "general_syndie-c" - desc = "В процессе его создания пострадало как минимум 24 агента. 22 из них не выжили..." + radio_channel = "SyndTaipan" faction = list("syndicate") allow_pai = TRUE auto_patrol = TRUE @@ -90,7 +114,7 @@ if(!iscarbon(arrived) || arrived != target || in_range(src, arrived)) return FALSE - visible_message(span_danger("[src] flails his swords and pushes [arrived] out of it's way!")) + visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] размахивает своими мечами и отталкивает [arrived]!")) arrived.Weaken(4 SECONDS) @@ -105,7 +129,7 @@ /mob/living/simple_animal/bot/secbot/griefsky/bullet_act(obj/item/projectile/P) //so uncivilized retaliate(P.firer) if((icon_state == spin_icon) && (prob(block_chance_ranged))) //only when the eswords are on - visible_message("[src] deflects [P] with its energy swords!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] отражает [P] своим мечом!") playsound(loc, 'sound/weapons/blade1.ogg', 50, 1, 0) else ..() @@ -113,7 +137,7 @@ /mob/living/simple_animal/bot/secbot/griefsky/proc/sword_attack(mob/living/carbon/C) // esword attack if((HAS_TRAIT(src, TRAIT_PACIFISM) || GLOB.pacifism_after_gt) && dmg) if(usr) - to_chat(usr, span_warning("You don't want to harm other living beings!")) + balloon_alert(usr, "никакого насилия!") return do_attack_animation(C) playsound(loc, 'sound/weapons/blade1.ogg', 50, TRUE, -1) @@ -133,12 +157,12 @@ var/area/location = get_area(src) if(!spam_flag) if(syndie) - speak("Back away! I will deal with this [("syndicate" in C.faction) ? "level [threat]" : "Nanotrasen"] swine [C] in [location] myself!.", radio_channel) + speak("Контакт! [C] [threat] уровня угрозы, место - [location]! Сейчас нашинкую этого [("syndicate" in C.faction) ? "ублюдка!" : "прихвостня НТ!"]", radio_channel) else - speak("Back away! I will deal with this level [threat] swine [C] in [location] myself!.", radio_channel) + speak("Контакт! [C] [threat] уровня угрозы, место - [location]! Сейчас нашинкую этого ублюдка!", radio_channel) spam_flag = TRUE addtimer(VARSET_CALLBACK(src, spam_flag, FALSE), 10 SECONDS) //to avoid spamming comms of sec for each hit - visible_message("[src] flails his swords and cuts [C]!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] замахивается своими мечами и рубит [C]!") /mob/living/simple_animal/bot/secbot/griefsky/handle_automated_action() @@ -181,7 +205,7 @@ frustration = 0 else back_to_idle() - speak("You fool") + speak("Идиот...") else back_to_idle() @@ -210,7 +234,7 @@ else if(!("syndicate" in C.faction)) threatlevel = 20 if(is_taipan(z) && C.mind?.assigned_role != "Space Base Syndicate Comms Officer" && (check_for_mug(C.get_active_hand()) || check_for_mug(C.get_inactive_hand()))) - speak("[C.name] наглый вор! Положи кружку!", radio_channel) + speak("[C.name], наглый ты воришка! Положи кружку на место!", radio_channel) threatlevel += 4 else threatlevel = C.assess_threat(src) @@ -221,11 +245,11 @@ else if(threatlevel >= 4) target = C oldtarget_name = C.name - speak("You are a bold one") + speak("Ты больно смелый, как я погляжу, да?!") playsound(src,'sound/weapons/saberon.ogg',50,TRUE,-1) - visible_message("[src] ignites his energy swords!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] включает свои лазерные мечи!") icon_state = "[base_icon]-c" - visible_message("[src] points at [C.name]!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] указывает на [C.name]!") mode = BOT_HUNT INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break @@ -244,7 +268,7 @@ /mob/living/simple_animal/bot/secbot/griefsky/explode() SSmove_manager.stop_looping(src) - visible_message(span_boldannounceic("[src] lets out a huge cough as it blows apart!")) + visible_message(span_boldannounceic("[capitalize(declent_ru(NOMINATIVE))] разлетается на части!")) var/turf/Tsec = get_turf(src) new /obj/item/assembly/prox_sensor(Tsec) var/obj/item/secbot_assembly/Sa = new /obj/item/secbot_assembly(Tsec) @@ -272,7 +296,7 @@ /mob/living/simple_animal/bot/secbot/griefsky/bullet_act(obj/item/projectile/P) //so uncivilized retaliate(P.firer) if((icon_state == spin_icon) && (prob(block_chance_ranged))) //only when the eswords are on - visible_message("[src] deflects [P] with its energy swords!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] отражает [P] своим мечом!") playsound(loc, 'sound/weapons/blade1.ogg', 50, 1, 0) else ..() @@ -285,7 +309,7 @@ if(icon_state != spin_icon) return if(prob(block_chance_melee)) - visible_message("[src] deflects [user]'s attack with his energy swords!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] отражает атаку [user] своим мечом!") playsound(loc, 'sound/weapons/blade1.ogg', 50, TRUE, -1) return TRUE @@ -301,7 +325,7 @@ /mob/living/simple_animal/bot/secbot/griefsky/attackby(obj/item/I, mob/user, params) //cant touch or attack him while spinning if(icon_state == spin_icon && prob(block_chance_melee)) // FFS! have no time to rework this now user.do_attack_animation(src) - visible_message("[src] deflects [user]'s move with his energy swords!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] блокирует атаку [user] своими мечами!") playsound(loc, 'sound/weapons/blade1.ogg', 50, TRUE, -1) return ATTACK_CHAIN_BLOCKED_ALL return ..() diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index 56a52393439..eb6296117a1 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -1,6 +1,14 @@ /mob/living/simple_animal/bot/honkbot name = "\improper honkbot" - desc = "A little robot. It looks happy with its bike horn." + desc = "Маленький робот. У него есть гудок. Он счастлив." + ru_names = list( + NOMINATIVE = "хонкобот", + GENITIVE = "хонкобота", + DATIVE = "хонкоботу", + ACCUSATIVE = "хонкобота", + INSTRUMENTAL = "хонкоботом", + PREPOSITIONAL = "хонкоботе", + ) icon = 'icons/obj/aibots.dmi' icon_state = "honkbot" density = FALSE @@ -15,7 +23,7 @@ model = "Honkbot" bot_core_type = /obj/machinery/bot_core/honkbot window_id = "autohonk" - window_name = "Honkomatic Bike Horn Unit v1.0.7" + window_name = "Хонкоматическая Клоуновая Единица v1.0.7" data_hud_type = DATA_HUD_SECURITY_BASIC // show jobs path_image_color = "#FF69B4" @@ -78,9 +86,9 @@ /mob/living/simple_animal/bot/honkbot/set_custom_texts() - text_hack = "You overload [name]'s sound control system" - text_dehack = "You reboot [name] and restore the sound control system." - text_dehack_fail = "[name] refuses to accept your authority!" + text_hack = "Вы перегрузили звуковую систему [declent_ru(GENITIVE)]." + text_dehack = "Вы восстановили звуковую систему [declent_ru(GENITIVE)]." + text_dehack_fail = "[capitalize(declent_ru(NOMINATIVE))] отказывается вам подчиняться!" /mob/living/simple_animal/bot/honkbot/get_controls(mob/user) @@ -88,15 +96,15 @@ dat += hack(user) dat += showpai(user) dat += text({" - Honkomatic Bike Horn Unit v1.0.7 controls

- Status: []
- Behaviour controls are [locked ? "locked" : "unlocked"]
- Maintenance panel is [open ? "opened" : "closed"]
"}, + Панель управления Хонкоматической Клоуновой Единицей v1.0.7

+ Состояние: []
+ Управление поведением [locked ? "заблокировано" : "разблокировано"]
+ Панель технического обслуживания [open ? "открыта" : "закрыта"]
"}, - "[on ? "On" : "Off"]") + "[on ? "Включён" : "Выключен"]") if(!locked || issilicon(user) || user.can_admin_interact()) - dat += "Auto Patrol [auto_patrol ? "On" : "Off"]
" + dat += "Режим патрулирования: [auto_patrol ? "Да" : "Нет"]
" return dat @@ -118,9 +126,9 @@ ..() if(emagged == 2) if(user) - to_chat(user, span_warning("You short out [src]'s target assessment circuits. It gives out an evil laugh!!")) + to_chat(user, span_warning("Вы замыкаете микросхемы системы целеуказания [declent_ru(GENITIVE)]. [capitalize(declent_ru(NOMINATIVE))] злобно смеётся!")) oldtarget_name = user.name - audible_message(span_danger("[src] gives out an evil laugh!")) + audible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] злобно смеётся!")) playsound(src, 'sound/machines/honkbot_evil_laugh.ogg', 75, TRUE, -1) // evil laughter update_icon() @@ -205,8 +213,8 @@ threatlevel = 6 // will never let you go addtimer(VARSET_CALLBACK(src, spam_flag, FALSE), cooldowntime) add_attack_logs(src, C, "honked by [src]") - C.visible_message("[src] has honked [C]!",\ - "[src] has honked you!") + C.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] хонкнул [C]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] хонкнул вас!")) else C.Stuttering(40 SECONDS) C.Stun(20 SECONDS) @@ -295,8 +303,8 @@ target = C oldtarget_name = C.name bike_horn() - speak("Honk!") - visible_message("[src] starts chasing [C.name]!") + speak("Хонк!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] начинает гнаться за [C.name]!") mode = BOT_HUNT INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break @@ -309,7 +317,7 @@ /mob/living/simple_animal/bot/honkbot/explode() //doesn't drop cardboard nor its assembly, since its a very frail material. SSmove_manager.stop_looping(src) - visible_message(span_boldannounceic("[src] blows apart!")) + visible_message(span_userdanger("[capitalize(declent_ru(NOMINATIVE))] разлетается на части!")) var/turf/Tsec = get_turf(src) new /obj/item/bikehorn(Tsec) new /obj/item/assembly/prox_sensor(Tsec) @@ -336,14 +344,14 @@ return arrived.visible_message(span_warning("[pick( \ - "[arrived] dives out of [src]'s way!", \ - "[arrived] stumbles over [src]!", \ - "[arrived] jumps out of [src]'s path!", \ - "[arrived] trips over [src] and falls!", \ - "[arrived] topples over [src]!", \ - "[arrived] leaps out of [src]'s way!")]")) + "[arrived] спотыка[pluralize_ru(arrived.gender, "ет", "ют")]ся об [declent_ru(GENITIVE)]!", \ + "[arrived] опрокидыва[pluralize_ru(arrived.gender, "ет", "ют")]ся на [declent_ru(GENITIVE)]!", \ + "[arrived] отлета[pluralize_ru(arrived.gender, "ет", "ют")] с пути [declent_ru(GENITIVE)]!", \ + "[capitalize(declent_ru(NOMINATIVE))] сбивает [arrived]!", \ + "[capitalize(declent_ru(NOMINATIVE))] влетает в [arrived], заставляя [genderize_ru(arrived.gender, "его", "её", "его", "их")] упасть!", \ + "[capitalize(declent_ru(NOMINATIVE))] опрокидывает [arrived]!")]")) arrived.Weaken(10 SECONDS) if(!client) - INVOKE_ASYNC(src, PROC_REF(speak), "honk") + INVOKE_ASYNC(src, PROC_REF(speak), "хонк!") sensor_blink() diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index c655f81514f..49b6e53e178 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -1,7 +1,15 @@ //Medbot /mob/living/simple_animal/bot/medbot name = "\improper Medibot" - desc = "A little medical robot. He looks somewhat underwhelmed." + desc = "Маленький медицинский робот. Выглядит несколько подавленным." + ru_names = list( + NOMINATIVE = "медбот", + GENITIVE = "медбота", + DATIVE = "медботу", + ACCUSATIVE = "медбота", + INSTRUMENTAL = "медботом", + PREPOSITIONAL = "медботе", + ) icon = 'icons/obj/aibots.dmi' icon_state = "medibot0" density = FALSE @@ -15,10 +23,10 @@ bot_type = MED_BOT bot_filter = RADIO_MEDBOT model = "Medibot" - bot_purpose = "seek out hurt crewmembers and ensure that they are healed" + bot_purpose = "найти раненых членов экипажа и проследить, чтобы они были исцелены" bot_core_type = /obj/machinery/bot_core/medbot window_id = "automed" - window_name = "Automatic Medical Unit v1.1" + window_name = "Автоматическая Медицинская Единица v1.1" path_image_color = "#DDDDFF" data_hud_type = DATA_HUD_MEDICAL_ADVANCED @@ -85,7 +93,15 @@ /mob/living/simple_animal/bot/medbot/mysterious name = "\improper Mysterious Medibot" - desc = "International Medibot of mystery." + desc = "Загадочный медбот. От него веет тайнами..." + ru_names = list( + NOMINATIVE = "загадочный медбот", + GENITIVE = "загадочного медбота", + DATIVE = "загадочному медботу", + ACCUSATIVE = "загадочного медбота", + INSTRUMENTAL = "загадочным медботом", + PREPOSITIONAL = "загадочном медботе", + ) skin = "bezerk" treatment_oxy = "perfluorodecalin" treatment_brute = "bicaridine" @@ -94,7 +110,15 @@ /mob/living/simple_animal/bot/medbot/syndicate name = "Suspicious Medibot" - desc = "You'd better have insurance!" + desc = "Вам лучше быть застрахованным!" + ru_names = list( + NOMINATIVE = "подозрительный медбот", + GENITIVE = "подозрительного медбота", + DATIVE = "подозрительному медботу", + ACCUSATIVE = "подозрительного медбота", + INSTRUMENTAL = "подозрительным медботом", + PREPOSITIONAL = "подозрительном медботе", + ) skin = "bezerk" faction = list("syndicate") treatment_oxy = "perfluorodecalin" @@ -107,7 +131,6 @@ radio_channel = "Syndicate" radio_config = list("Common" = 1, "Medical" = 1, "Syndicate" = 1) - /mob/living/simple_animal/bot/medbot/syndicate/Initialize(mapload, new_skin) . = ..() Radio.syndiekey = new /obj/item/encryptionkey/syndicate @@ -172,26 +195,26 @@ /mob/living/simple_animal/bot/medbot/set_custom_texts() - text_hack = "You corrupt [name]'s reagent processor circuits." - text_dehack = "You reset [name]'s reagent processor circuits." - text_dehack_fail = "[name] seems damaged and does not respond to reprogramming!" + text_hack = "Вы взломали микросхемы синтезатора реагентов [declent_ru(GENITIVE)]." + text_dehack = "Вы восстановили микросхемы синтезатора реагентов [declent_ru(GENITIVE)]." + text_dehack_fail = "[capitalize(declent_ru(NOMINATIVE))] выглядит повреждённым и не может быть перепрограммирован!" /mob/living/simple_animal/bot/medbot/get_controls(mob/user) var/dat dat += hack(user) dat += showpai(user) - dat += "Medical Unit Controls v1.1

" - dat += "Status: [on ? "On" : "Off"]
" - dat += "Maintenance panel panel is [open ? "opened" : "closed"]
" - dat += "Beaker: " + dat += "Панель управления медицинским роботом v1.1

" + dat += "Состояние: [on ? "Включён" : "Выключен"]
" + dat += "Панель технического обслуживания [open ? "открыта" : "закрыта"]
" + dat += "Ёмкость: " if(reagent_glass) - dat += "Loaded \[[reagent_glass.reagents.total_volume]/[reagent_glass.reagents.maximum_volume]\]" + dat += "Установлена \[[reagent_glass.reagents.total_volume]/[reagent_glass.reagents.maximum_volume]\]" else - dat += "None Loaded" - dat += "
Behaviour controls are [locked ? "locked" : "unlocked"]
" + dat += "Не установлена" + dat += "
Управление поведением [locked ? "заблокировано" : "разблокировано"]
" if(!locked || issilicon(user) || user.can_admin_interact()) - dat += "Healing Threshold: " + dat += "Порог лечения: " dat += "-- " dat += "- " dat += "[heal_threshold] " @@ -199,20 +222,20 @@ dat += "++" dat += "
" - dat += "Injection Level: " + dat += "Объём инъекции: " dat += "- " dat += "[injection_amount] " dat += "+ " dat += "
" - dat += "Reagent Source: " - dat += "[use_beaker ? "Loaded Beaker (When available)" : "Internal Synthesizer"]
" + dat += "Источник реагентов: " + dat += "[use_beaker ? "Установленная ёмкость (Если доступна)" : "Внутренний синтезатор"]
" - dat += "Treat Viral Infections: [treat_virus ? "Yes" : "No"]
" - dat += "The speaker switch is [shut_up ? "off" : "on"]. Toggle
" - dat += "Critical Patient Alerts: [declare_crit ? "Yes" : "No"]
" - dat += "Patrol Station: [auto_patrol ? "Yes" : "No"]
" - dat += "Stationary Mode: [stationary_mode ? "Yes" : "No"]
" + dat += "Лечить вирусные инфекции: [treat_virus ? "Да" : "Нет"]
" + dat += "Динамик [shut_up ? "выключен" : "включён"]. Переключить
" + dat += "Оповещать о тяжелораненых: [declare_crit ? "Да" : "Нет"]
" + dat += "Режим патрулирования: [auto_patrol ? "Да" : "Нет"]
" + dat += "Стационарный режим: [stationary_mode ? "Да" : "Нет"]
" return dat @@ -241,8 +264,12 @@ use_beaker = !use_beaker else if(href_list["eject"] && (!isnull(reagent_glass))) - reagent_glass.forceMove(get_turf(src)) + if(ishuman(usr)) + usr.put_in_active_hand(reagent_glass, ignore_anim = FALSE) + else + reagent_glass.forceMove(get_turf(src)) reagent_glass = null + balloon_alert(usr, "ёмкость извлечена") else if(href_list["togglevoice"]) shut_up = !shut_up @@ -274,15 +301,15 @@ if(istype(I, /obj/item/reagent_containers/glass)) add_fingerprint(user) if(locked) - to_chat(user, span_warning("You cannot insert a beaker because the panel is locked!")) + balloon_alert(user, "техпанель заблокирована!") return ATTACK_CHAIN_PROCEED|ATTACK_CHAIN_NO_AFTERATTACK if(reagent_glass) - to_chat(user, span_warning("There is already a beaker loaded!")) + balloon_alert(user, "слот для ёмкости занят!") return ATTACK_CHAIN_PROCEED|ATTACK_CHAIN_NO_AFTERATTACK if(!user.drop_transfer_item_to_loc(I, src)) return ..() | ATTACK_CHAIN_NO_AFTERATTACK reagent_glass = I - to_chat(user, span_notice("You insert [I].")) + balloon_alert(user, "ёмкость установлена") show_controls(user) return ATTACK_CHAIN_PROCEED_SUCCESS|ATTACK_CHAIN_NO_AFTERATTACK @@ -298,8 +325,8 @@ if(emagged == 2) declare_crit = FALSE if(user) - to_chat(user, span_notice("You short out [src]'s reagent synthesis circuits.")) - audible_message(span_danger("[src] buzzes oddly!")) + to_chat(user, span_notice("Вы замыкаете микросхемы синтеза реагентов [declent_ru(GENITIVE)].")) + audible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] странно жужжит.")) flick("medibot_spark", src) if(user) oldpatient = user @@ -308,7 +335,7 @@ /mob/living/simple_animal/bot/medbot/process_scan(mob/living/carbon/human/H) if(buckled) if((last_warning + 30 SECONDS) < world.time) - speak(span_danger("Movement restrained! Unit on standby!")) + speak(span_danger("Движение невозможно! Режим ожидания.")) playsound(loc, 'sound/machines/buzz-two.ogg', 50, FALSE) last_warning = world.time return @@ -316,14 +343,15 @@ return if((H == oldpatient) && (world.time < last_found + 20 SECONDS)) + return if(assess_patient(H)) last_found = world.time if((last_newpatient_speak + 30 SECONDS) < world.time) //Don't spam these messages! - var/list/messagevoice = list("Hey, [H.name]! Hold on, I'm coming." = 'sound/voice/mcoming.ogg', - "Wait [H.name]! I want to help!" = 'sound/voice/mhelp.ogg', - "[H.name], you appear to be injured!" = 'sound/voice/minjured.ogg') + var/list/messagevoice = list("Эй, [H.name]! Держись, я уже иду!" = 'sound/voice/mcoming.ogg', + "Подожди, [H.name]! Я спешу на помощь!" = 'sound/voice/mhelp.ogg', + "[H.name], кажется, вы ранены!" = 'sound/voice/minjured.ogg') var/message = pick(messagevoice) speak(message) playsound(loc, messagevoice[message], 50, FALSE) @@ -344,11 +372,11 @@ if(!patient) if(!shut_up && prob(1)) - var/list/messagevoice = list("Radar, put a mask on!" = 'sound/voice/mradar.ogg', - "There's always a catch, and I'm the best there is." = 'sound/voice/mcatch.ogg', - "I knew it, I should've been a plastic surgeon." = 'sound/voice/msurgeon.ogg', - "What kind of medbay is this? Everyone's dropping like flies." = 'sound/voice/mflies.ogg', - "Delicious!" = 'sound/voice/mdelicious.ogg') + var/list/messagevoice = list("Ты, надень свою маску!" = 'sound/voice/mradar.ogg', + "Что-то всегда идёт не так, но я справлюсь." = 'sound/voice/mcatch.ogg', + "А ведь я мог бы стать пластическим хирургом..." = 'sound/voice/msurgeon.ogg', + "Что это за медотсек? Все мрут, словно мухи." = 'sound/voice/mflies.ogg', + "Замечательно!") var/message = pick(messagevoice) speak(message) playsound(loc, messagevoice[message], 50, FALSE) @@ -501,9 +529,9 @@ return if(C.stat == DEAD || HAS_TRAIT(C, TRAIT_FAKEDEATH)) - var/list/messagevoice = list("No! Stay with me!" = 'sound/voice/mno.ogg', - "Live, damnit! LIVE!" = 'sound/voice/mlive.ogg', - "I...I've never lost a patient before. Not today, I mean." = 'sound/voice/mlost.ogg') + var/list/messagevoice = list("Нет, не оставляй меня!" = 'sound/voice/mno.ogg', + "Живи, чёрт возьми! ЖИВИ!" = 'sound/voice/mlive.ogg', + "Я... Я ещё не терял пациента. Не сегодня, имею ввиду." = 'sound/voice/mlost.ogg') var/message = pick(messagevoice) speak(message) playsound(loc, messagevoice[message], 50, FALSE) @@ -521,9 +549,9 @@ reagent_id = select_medication(C, beaker_injection) if(!reagent_id) //If they don't need any of that they're probably cured! - var/list/messagevoice = list("All patched up!" = 'sound/voice/mpatchedup.ogg', - "An apple a day keeps me away." = 'sound/voice/mapple.ogg', - "Feel better soon!" = 'sound/voice/mfeelbetter.ogg') + var/list/messagevoice = list("Как новенький!" = 'sound/voice/mpatchedup.ogg', + "Кто яблоко в день съедает, у того [declent_ru(NOMINATIVE)] не бывает!" = 'sound/voice/mapple.ogg', + "Скоро полегчает!" = 'sound/voice/mfeelbetter.ogg') var/message = pick(messagevoice) speak(message) playsound(loc, messagevoice[message], 50, FALSE) @@ -533,8 +561,8 @@ if(!emagged && !hijacked && check_overdose(patient, reagent_id, injection_amount)) soft_reset() return - C.visible_message(span_danger("[src] is trying to inject [patient]!"), - span_userdanger("[src] is trying to inject you!")) + C.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] пытается сделать укол [patient]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] пытается сделать вам укол!")) addtimer(CALLBACK(src, PROC_REF(do_inject), C, !isnull(beaker_injection), reagent_id), 3 SECONDS) @@ -551,10 +579,10 @@ else patient.reagents.add_reagent(reagent_id, injection_amount) - C.visible_message(span_danger("[src] injects [patient] with its syringe!"), - span_userdanger("[src] injects you with its syringe!")) + C.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] сделал укол [patient] своим шприцем!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] сделал вам укол своим шприцем!")) else - visible_message("[src] retracts its syringe.") + visible_message("[capitalize(declent_ru(NOMINATIVE))] убирает свой шприц.") update_icon() soft_reset() @@ -572,7 +600,7 @@ /mob/living/simple_animal/bot/medbot/explode() on = FALSE - visible_message(span_userdanger("[src] blows apart!")) + visible_message(span_userdanger("[capitalize(declent_ru(NOMINATIVE))] разлетается на части!")) var/turf/Tsec = get_turf(src) if(drops_parts) @@ -623,7 +651,7 @@ if(syndicate_aligned) return var/area/location = get_area(src) - speak("Medical emergency! [crit_patient ? "[crit_patient]" : "A patient"] is in critical condition at [location]!", radio_channel) + speak("Нужна срочная медицинская помощь! [crit_patient ? "[crit_patient]" : "Пациент"] в тяжёлом состоянии в локации [location]!", radio_channel) declare_cooldown = TRUE spawn(200) //Twenty seconds declare_cooldown = FALSE diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 28ca08789e5..61659f90974 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -8,7 +8,15 @@ /mob/living/simple_animal/bot/mulebot name = "\improper MULEbot" - desc = "A Multiple Utility Load Effector bot." + desc = "Многофункциональный Узкоспециализированный Легкомоторный робот. Нет, это не просто случайные слова, подобранные для красивого написания. Честно." + ru_names = list( + NOMINATIVE = "МУЛбот", + GENITIVE = "МУЛбота", + DATIVE = "МУЛботу", + ACCUSATIVE = "МУЛбота", + INSTRUMENTAL = "МУЛботом", + PREPOSITIONAL = "МУЛботе", + ) icon_state = "mulebot0" density = TRUE move_resist = MOVE_FORCE_STRONG @@ -26,7 +34,7 @@ bot_type = MULE_BOT bot_filter = RADIO_MULEBOT model = "MULE" - bot_purpose = "deliver crates and other packages between departments, as requested" + bot_purpose = "доставлять ящики и другие посылки получателям" bot_core_type = /obj/machinery/bot_core/mulebot path_image_color = "#7F5200" @@ -108,26 +116,24 @@ . = ..() if(!ATTACK_CHAIN_CANCEL_CHECK(.) && knock_off(1 + I.force * 2)) user.visible_message( - span_danger("[user] has knocked [cached_load] off [src]!"), - span_danger("You have knocked [cached_load] off [src]!"), + span_danger("[user] столкнул [cached_load] с [declent_ru(GENITIVE)]!"), + span_danger("Вы столкнули [cached_load] с [declent_ru(GENITIVE)]!"), ) return . if(istype(I,/obj/item/stock_parts/cell)) add_fingerprint(user) if(!open) - to_chat(user, span_warning("You should open the maintenance panel first.")) + balloon_alert(user, "техпанель закрыта!") return ATTACK_CHAIN_PROCEED if(cell) - to_chat(user, span_warning("The [name] already has a power cell installed.")) + balloon_alert(user, "слот батареи занят!") return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() cell = I - user.visible_message( - span_notice("[user] has inserted a cell into [src]."), - span_notice("You have inserted the new cell into [src]."), - ) + visible_message(span_notice("[user] вставил батарею в [declent_ru(GENITIVE)].")) + balloon_alert(user, "вы вставили батарею внутрь") update_controls() return ATTACK_CHAIN_BLOCKED_ALL @@ -135,8 +141,8 @@ . = ..() if(!ATTACK_CHAIN_CANCEL_CHECK(.) && knock_off(1 + I.force * 2)) user.visible_message( - span_danger("[user] has knocked off [cached_load] from [src]!"), - span_danger("You have knocked off [cached_load] from [src]!"), + span_danger("[user] столкнул [cached_load] с [declent_ru(GENITIVE)]!"), + span_danger("Вы столкнули [cached_load] с [declent_ru(GENITIVE)]!"), ) @@ -163,37 +169,31 @@ . = TRUE if(health >= maxHealth) add_fingerprint(user) - to_chat(user, span_warning("[src] does not need a repair!")) + balloon_alert(user, "ремонт не требуется") return . user.visible_message( - span_notice("[user] starts to repair [src]."), - span_notice("You start to repair [src]..."), + span_notice("[user] ремонтиру[pluralize_ru(user.gender, "ет", "ют")] [declent_ru(GENITIVE)]."), + span_notice("Вы ремонтируете [declent_ru(GENITIVE)].") ) if(!I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume) || health >= maxHealth) return . heal_damage_type(25, BRUTE) - user.visible_message( - span_notice("[user] has repaired [src]."), - span_notice("You have repaired [src]."), - ) /mob/living/simple_animal/bot/mulebot/crowbar_act(mob/living/user, obj/item/I) . = TRUE if(!open) add_fingerprint(user) - to_chat(user, span_warning("You should open the maintenance panel first.")) + balloon_alert(user, "техпанель закрыта!") return . if(!cell) add_fingerprint(user) - to_chat(user, span_warning("The [name] has no power cell installed.")) + balloon_alert(user, "слот для батареи пуст!") return . if(!I.use_tool(src, user, volume = I.tool_volume)) return . - user.visible_message( - span_notice("[user] has removed the power cell from [src]."), - span_notice("You have removed the power cell from [src]."), - ) + visible_message(span_notice("[user] вынул батарею из [declent_ru(GENITIVE)].")) + balloon_alert(user, "батарея извлечена") cell.add_fingerprint(user) cell.forceMove(drop_location()) cell = null @@ -203,7 +203,7 @@ . = TRUE if(!open) add_fingerprint(user) - to_chat(user, span_warning("You should open the maintenance panel first.")) + balloon_alert(user, "техпанель закрыта!") return . if(!I.use_tool(src, user, volume = I.tool_volume)) return . @@ -214,7 +214,7 @@ . = TRUE if(!open) add_fingerprint(user) - to_chat(user, span_warning("You should open the maintenance panel first.")) + balloon_alert(user, "техпанель закрыта!") return . if(!I.use_tool(src, user, volume = I.tool_volume)) return . @@ -226,7 +226,7 @@ emagged = 1 if(!open) locked = !locked - to_chat(user, span_notice("You [locked ? "lock" : "unlock"] [src]'s controls!")) + balloon_alert(user, "техпанель [locked ? "заблокирована" : "разблокирована"]") flick("mulebot-emagged", src) playsound(loc, 'sound/effects/sparks1.ogg', 100, FALSE) @@ -266,7 +266,7 @@ if(prob(50) && !isnull(load)) unload(0) if(prob(25)) - visible_message(span_danger("Something shorts out inside [src]!")) + visible_message(span_danger("Что-то замыкается внутри [declent_ru(GENITIVE)]!")) wires.cut_random() @@ -285,11 +285,11 @@ turn_off() else if(cell && !open) if(!turn_on()) - to_chat(usr, span_warning("You can't switch on [src]!")) + to_chat(usr, span_warning("Вы не можете включить !")) return else return - visible_message("[usr] switches [on ? "on" : "off"] [src].") + visible_message("[usr] [on ? "включает" : "выключает"] [declent_ru(GENITIVE)].") if("cellremove") if(open && cell && !usr.get_active_hand()) cell.update_icon() @@ -298,8 +298,8 @@ cell.add_fingerprint(usr) cell = null - usr.visible_message(span_notice("[usr] removes the power cell from [src]."), - span_notice("You remove the power cell from [src].")) + usr.visible_message(span_notice("[usr] вынул батарею из [declent_ru(GENITIVE)]."), + span_notice("Вы вынули батарею из [declent_ru(GENITIVE)].")) if("cellinsert") if(open && !cell) var/obj/item/stock_parts/cell/C = usr.get_active_hand() @@ -308,8 +308,8 @@ cell = C C.add_fingerprint(usr) - usr.visible_message(span_notice("[usr] inserts a power cell into [src]."), - span_notice("You insert the power cell into [src].")) + usr.visible_message(span_notice("[usr] вставил батарею в [declent_ru(GENITIVE)]."), + span_notice("Вы вставили батарею в [declent_ru(GENITIVE)].")) if("stop") if(mode >= BOT_DELIVER) bot_reset() @@ -320,15 +320,15 @@ if(mode == BOT_IDLE || mode == BOT_DELIVER) start_home() if("destination") - var/new_dest = input(usr, "Enter Destination:", name, destination) as null|anything in GLOB.deliverybeacontags + var/new_dest = input(usr, "Введите пункт назначения:", name, destination) as null|anything in GLOB.deliverybeacontags if(new_dest) set_destination(new_dest) if("setid") - var/new_id = tgui_input_text(usr, "Enter ID:", name, suffix, MAX_NAME_LEN) + var/new_id = tgui_input_text(usr, "Введите ID:", name, suffix, MAX_NAME_LEN) if(new_id) set_suffix(new_id) if("sethome") - var/new_home = input(usr, "Enter Home:", name, home_destination) as null|anything in GLOB.deliverybeacontags + var/new_home = input(usr, "Введите домашнюю точку:", name, home_destination) as null|anything in GLOB.deliverybeacontags if(new_home) home_destination = new_home if("unload") @@ -352,7 +352,7 @@ update_controls() return TRUE else - to_chat(user, span_danger("Access denied.")) + balloon_alert(user, "отказано в доступе!") return FALSE @@ -362,16 +362,16 @@ var/dat dat += hack(user) dat += showpai(user) - dat += "

Multiple Utility Load Effector Mk. V

" + dat += "

Многофункциональный Узкоспециализированный Легкомоторный робот v5.0

" dat += "ID: [suffix]
" - dat += "Power: [on ? "On" : "Off"]
" + dat += "Питание: [on ? "Включён" : "Выключен"]
" if(!open) - dat += "

Status

" + dat += "

Состояние

" dat += "
" switch(mode) if(BOT_IDLE) - dat += "Ready" + dat += "Готовность" if(BOT_DELIVER) dat += "[mode_name[BOT_DELIVER]]" if(BOT_GO_HOME) @@ -384,40 +384,40 @@ dat += "[mode_name[BOT_NO_ROUTE]]" dat += "
" - dat += "Current Load: [load ? load.name : "none"]
" - dat += "Destination: [!destination ? "none" : destination]
" - dat += "Power level: [cell ? cell.percent() : 0]%" + dat += "Груз [load ? load.name : "отсутствует"]
" + dat += "Пункт назначения: [!destination ? "отсутствует" : destination]
" + dat += "Заряд: [cell ? cell.percent() : 0]%" if(locked && !ai && !user.can_admin_interact()) - dat += " 
Controls are locked
Unlock Controls" + dat += " 
Управление поведением заблокировано
Разблокировать" else - dat += " 
Controls are unlocked
Lock Controls

" - - dat += "Toggle Power
" - dat += "Stop
" - dat += "Proceed
" - dat += "Return to Home
" - dat += "Set Destination
" - dat += "Set Bot ID
" - dat += "Set Home
" - dat += "Toggle Auto Return Home ([auto_return ? "On":"Off"])
" - dat += "Toggle Auto Pickup Crate ([auto_pickup ? "On":"Off"])
" - dat += "Toggle Delivery Reporting ([report_delivery ? "On" : "Off"])
" + dat += " 
Управление поведением разблокировано
Заблокировать

" + + dat += "Включить/Выключить
" + dat += "Остановиться
" + dat += "Продолжить движение
" + dat += "Возврат домой
" + dat += "Задать точку назначения
" + dat += "Задать ID роботу
" + dat += "Задать домашнюю точку
" + dat += "[auto_return ? "Включить":"Выключить"] автоматическое возвращение домой
" + dat += "[auto_return ? "Включить":"Выключить"] автоматический подбор ящиков
" + dat += "[auto_return ? "Включить":"Выключить"] автоматический отчёт о доставке
" if(load) - dat += "Unload Now
" - dat += "
The maintenance hatch is closed.
" + dat += "Разгрузиться
" + dat += "
Панель технического обслуживания закрыта
" else if(!ai) - dat += "
The maintenance hatch is open.

" - dat += "Power cell: " + dat += "
Панель технического обслуживания открыта

" + dat += "Батарея: " if(cell) - dat += "Installed
" + dat += "Установлена
" else - dat += "Removed
" + dat += "Отсутствует
" wires.Interact(user) else - dat += "
The bot is in maintenance mode and cannot be controlled.

" + dat += "
Робот в режиме технического обслуживания - управление поведением заблокировано

" return dat @@ -430,13 +430,13 @@ /mob/living/simple_animal/bot/mulebot/proc/buzz(type) switch(type) if(SIGH) - audible_message("[src] makes a sighing buzz.") + audible_message("[capitalize(declent_ru(NOMINATIVE))] разочарованно гудит.") playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0) if(ANNOYED) - audible_message("[src] makes an annoyed buzzing sound.") + audible_message("[capitalize(declent_ru(NOMINATIVE))] раздражённо жужжит.") playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0) if(DELIGHT) - audible_message("[src] makes a delighted ping!") + audible_message("[capitalize(declent_ru(NOMINATIVE))] восторженно звенит!") playsound(loc, 'sound/machines/ping.ogg', 50, 0) @@ -708,21 +708,21 @@ /mob/living/simple_animal/bot/mulebot/proc/at_target() if(!reached_target) radio_channel = "Supply" //Supply channel - audible_message("[src] makes a chiming sound!") + audible_message("[capitalize(declent_ru(NOMINATIVE))] громко звенит!") playsound(loc, 'sound/machines/chime.ogg', 50, 0) reached_target = 1 if(pathset) //The AI called us here, so notify it of our arrival. loaddir = dir //The MULE will attempt to load a crate in whatever direction the MULE is "facing". if(calling_ai) - to_chat(calling_ai, "[bicon(src)] [src] wirelessly plays a chiming sound!") + to_chat(calling_ai, "[bicon(src)] [capitalize(declent_ru(NOMINATIVE))] удалённо проигрывает звук звонка!") playsound(calling_ai, 'sound/machines/chime.ogg',40, 0) calling_ai = null radio_channel = "AI Private" //Report on AI Private instead if the AI is controlling us. if(load) // if loaded, unload at target if(report_delivery) - speak("Destination [destination] reached. Unloading [load].", radio_channel) + speak("Пункт назначения [destination] достигнут. Выгружаю [load].", radio_channel) if(istype(load, /obj/structure/closet/crate)) var/obj/structure/closet/crate/C = load C.notifyRecipient(destination) @@ -741,7 +741,7 @@ if(AM && AM.Adjacent(src)) load(AM) if(report_delivery) - speak("Now loading [load] at [get_area(src)].", radio_channel) + speak("Загружаю [load] в локации [get_area(src)].", radio_channel) // whatever happened, check to see if we return home if(auto_return && home_destination && destination != home_destination) @@ -787,14 +787,14 @@ // usually just bumps, but if avoidance disabled knock over mobs if(isrobot(bumped_living)) - visible_message(span_danger("[src] bumps into [bumped_living]!")) + visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] врезается в [bumped_living]!")) return . if(paicard) return . add_attack_logs(src, bumped_living, "Knocked down") - visible_message(span_danger("[src] knocks over [bumped_living]!")) + visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] сбивает [bumped_living]!")) bumped_living.Weaken(16 SECONDS) @@ -802,8 +802,8 @@ if(H.player_logged)//No running over SSD people return add_attack_logs(src, H, "Run over (DAMTYPE: [uppertext(BRUTE)])") - H.visible_message(span_danger("[src] drives over [H]!"), - span_userdanger("[src] drives over you!")) + H.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] переезжает [H]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] переезжает вас!")) playsound(loc, 'sound/effects/splat.ogg', 50, 1) var/damage = rand(5, 15) @@ -832,15 +832,15 @@ switch(command) if("start") if(load) - to_chat(src, span_warningbig("DELIVER [load] TO [destination]")) + to_chat(src, span_warningbig("ДОСТАВИТЬ [load] В ЛОКАЦИЮ [destination]")) else - to_chat(src, span_warningbig("PICK UP DELIVERY AT [destination]")) + to_chat(src, span_warningbig("ЗАБРАТЬ ГРУЗ В ЛОКАЦИИ [destination]")) if("unload", "load") if(load) - to_chat(src, span_warningbig("UNLOAD")) + to_chat(src, span_warningbig("ВЫГРУЗИТЬСЯ")) else - to_chat(src, span_warningbig("LOAD")) + to_chat(src, span_warningbig("ЗАГРУЗИТЬСЯ")) if("autoret", "autopick", "target") return else @@ -948,7 +948,7 @@ /mob/living/simple_animal/bot/mulebot/explode() - visible_message(span_userdanger("[src] blows apart!")) + visible_message(span_userdanger("[capitalize(declent_ru(NOMINATIVE))] разлетается на части!")) var/turf/Tsec = get_turf(src) new /obj/item/assembly/prox_sensor(Tsec) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index bfd7453c1c0..9f9c4ed393c 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -3,7 +3,15 @@ /mob/living/simple_animal/bot/secbot name = "\improper Securitron" - desc = "A little security robot. He looks less than thrilled." + desc = "Маленький охранный робот. Он выглядит абсолютно спокойным." + ru_names = list( + NOMINATIVE = "охранный робот", + GENITIVE = "охранного робота", + DATIVE = "охранному роботу", + ACCUSATIVE = "охранного робота", + INSTRUMENTAL = "охранным роботом", + PREPOSITIONAL = "охранном роботе", + ) icon = 'icons/obj/aibots.dmi' icon_state = "secbot0" density = FALSE @@ -19,10 +27,10 @@ bot_type = SEC_BOT bot_filter = RADIO_SECBOT model = "Securitron" - bot_purpose = "seek out criminals, handcuff them, and report their location to security" + bot_purpose = "найти преступников, задержать их и доложить службе безопасности" bot_core_type = /obj/machinery/bot_core/secbot window_id = "autosec" - window_name = "Automatic Security Unit v1.6" + window_name = "Автоматическая Охранная Единица v1.6" path_image_color = "#FF0000" data_hud_type = DATA_HUD_SECURITY_ADVANCED @@ -55,7 +63,15 @@ /mob/living/simple_animal/bot/secbot/beepsky name = "Officer Beepsky" - desc = "It's Officer Beepsky! Powered by a potato and a shot of whiskey." + desc = "Это Офицер Бипски! Работает с помощью картофеля и рюмки виски." + ru_names = list( + NOMINATIVE = "Офицер Бипски", + GENITIVE = "Офицера Бипски", + DATIVE = "Офицеру Бипски", + ACCUSATIVE = "Офицера Бипски", + INSTRUMENTAL = "Офицером Бипски", + PREPOSITIONAL = "Офицере Бипски", + ) idcheck = FALSE weaponscheck = FALSE auto_patrol = TRUE @@ -72,13 +88,29 @@ /mob/living/simple_animal/bot/secbot/pingsky name = "Officer Pingsky" - desc = "It's Officer Pingsky! Delegated to satellite guard duty for harbouring anti-human sentiment." + desc = "Это Офицер Пингски! Переведён на охрану спутника за разжигание античеловеческих настроений." + ru_names = list( + NOMINATIVE = "Офицер Пингски", + GENITIVE = "Офицера Пингски", + DATIVE = "Офицеру Пингски", + ACCUSATIVE = "Офицера Пингски", + INSTRUMENTAL = "Офицером Пингски", + PREPOSITIONAL = "Офицере Пингски", + ) radio_channel = "AI Private" /mob/living/simple_animal/bot/secbot/ofitser name = "Prison Ofitser" - desc = "It's Prison Ofitser! Powered by the tears and sweat of prisoners." + desc = "Это Офицер Тюремски! Работает с помощью крови, пота и слёз заключённых." + ru_names = list( + NOMINATIVE = "Офицер Тюремски", + GENITIVE = "Офицера Тюремски", + DATIVE = "Офицеру Тюремски", + ACCUSATIVE = "Офицера Тюремски", + INSTRUMENTAL = "Офицером Тюремски", + PREPOSITIONAL = "Офицере Тюремски", + ) idcheck = FALSE weaponscheck = TRUE auto_patrol = TRUE @@ -86,7 +118,15 @@ /mob/living/simple_animal/bot/secbot/buzzsky name = "Officer Buzzsky" - desc = "It's Officer Buzzsky! Rusted and falling apart, he seems less than thrilled with the crew for leaving him in his current state." + desc = "Это Офицер Баззски! Проржавевший и разваливающийся на части, он явно не в восторге от того, что экипаж оставил его в таком состоянии." + ru_names = list( + NOMINATIVE = "Офицер Баззски", + GENITIVE = "Офицера Баззски", + DATIVE = "Офицеру Баззски", + ACCUSATIVE = "Офицера Баззски", + INSTRUMENTAL = "Офицером Баззски", + PREPOSITIONAL = "Офицере Баззски", + ) base_icon = "rustbot" icon_state = "rustbot0" declare_arrests = FALSE @@ -97,6 +137,14 @@ /mob/living/simple_animal/bot/secbot/armsky name = "Sergeant-at-Armsky" + ru_names = list( + NOMINATIVE = "Офицер Арсеналски", + GENITIVE = "Офицера Арсеналски", + DATIVE = "Офицеру Арсеналски", + ACCUSATIVE = "Офицера Арсеналски", + INSTRUMENTAL = "Офицером Арсеналски", + PREPOSITIONAL = "Офицере Арсеналски", + ) health = 45 idcheck = TRUE arrest_type = TRUE @@ -106,6 +154,14 @@ /mob/living/simple_animal/bot/secbot/podsky name = "Officer Podsky" + ru_names = list( + NOMINATIVE = "Офицер Подски", + GENITIVE = "Офицера Подски", + DATIVE = "Офицеру Подски", + ACCUSATIVE = "Офицера Подски", + INSTRUMENTAL = "Офицером Подски", + PREPOSITIONAL = "Офицере Подски", + ) health = 45 idcheck = TRUE arrest_type = TRUE @@ -152,9 +208,9 @@ /mob/living/simple_animal/bot/secbot/set_custom_texts() - text_hack = "You overload [name]'s target identification system." - text_dehack = "You reboot [name] and restore the target identification." - text_dehack_fail = "[name] refuses to accept your authority!" + text_hack = "Вы взломали систему идентификации целей [declent_ru(GENITIVE)]." + text_dehack = "Вы восстановили систему идентификации целей [declent_ru(GENITIVE)]." + text_dehack_fail = "[capitalize(declent_ru(NOMINATIVE))] отказывается признавать вашу власть!" /mob/living/simple_animal/bot/secbot/show_controls(mob/M) @@ -192,7 +248,7 @@ if (..()) return if(topic_denied(usr)) - to_chat(usr, "[src]'s interface is not responding!") + to_chat(usr, span_warning("Интерфейс [declent_ru(GENITIVE)] не отвечает!")) return add_fingerprint(usr) . = TRUE @@ -251,9 +307,9 @@ ..() if(emagged == 2) if(user) - to_chat(user, span_danger("You short out [src]'s target assessment circuits.")) + to_chat(user, span_danger("Вы замыкаете микросхемы системы целеуказания [declent_ru(GENITIVE)].")) oldtarget_name = user.name - audible_message(span_danger("[src] buzzes oddly!")) + audible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] странно жужжит!")) declare_arrests = FALSE icon_state = "[base_icon][on]" @@ -291,8 +347,8 @@ /mob/living/simple_animal/bot/secbot/proc/cuff(mob/living/carbon/C) mode = BOT_ARREST playsound(loc, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) - C.visible_message(span_danger("[src] is trying to put zipties on [C]!"), - span_userdanger("[src] is trying to put zipties on you!")) + C.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] начинает надевать стяжки на [C]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] пытается надеть на вас стяжки!")) addtimer(CALLBACK(src, PROC_REF(cuff_callback), C), 6 SECONDS) @@ -304,6 +360,8 @@ return C.apply_restraints(new /obj/item/restraints/handcuffs/cable/zipties/used(null), ITEM_SLOT_HANDCUFFED, TRUE) + C.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] надел стяжки на [C]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] надел на вас стяжки!")) playsound(loc, pick('sound/voice/bgod.ogg', 'sound/voice/biamthelaw.ogg', 'sound/voice/bsecureday.ogg', 'sound/voice/bradio.ogg', 'sound/voice/binsult.ogg', 'sound/voice/bcreep.ogg'), 50, 0) back_to_idle() @@ -328,11 +386,11 @@ if(declare_arrests) var/area/location = get_area(src) if(!speak_cooldown) - speak("[arrest_type ? "Detaining" : "Arresting"] level [threat] scumbag [C] in [location].", radio_channel) + speak("[arrest_type ? "Удерживаю" : "Задерживаю"] подонка по имени [C] в локации [location]. Уровень опасности - [threat].", radio_channel) speak_cooldown = TRUE addtimer(VARSET_CALLBACK(src, speak_cooldown, FALSE), SPEAK_COOLDOWN) - C.visible_message(span_danger("[src] has [harmbaton ? "beaten" : "stunned"] [C]!"), - span_userdanger("[src] has [harmbaton ? "beaten" : "stunned"] you!")) + C.visible_message(span_danger("[capitalize(declent_ru(NOMINATIVE))] [harmbaton ? "ударил" : "оглушил"] [C]!"), + span_userdanger("[capitalize(declent_ru(NOMINATIVE))] [harmbaton ? "ударил" : "оглушил"] вас!")) /mob/living/simple_animal/bot/secbot/Life(seconds, times_fired) @@ -483,9 +541,9 @@ else if(threatlevel >= 4) target = C oldtarget_name = C.name - speak("Level [threatlevel] infraction alert!") + speak("Вижу преступника! Уровень опасности - [threatlevel]!") playsound(loc, pick('sound/voice/bcriminal.ogg', 'sound/voice/bjustice.ogg', 'sound/voice/bfreeze.ogg'), 50, 0) - visible_message("[src] points at [C.name]!") + visible_message("[capitalize(declent_ru(NOMINATIVE))] указывает на [C.name]!") mode = BOT_HUNT INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) break @@ -501,7 +559,7 @@ /mob/living/simple_animal/bot/secbot/explode() SSmove_manager.stop_looping(src) - visible_message("[src] blows apart!") + visible_message(span_userdanger("[capitalize(declent_ru(NOMINATIVE))] разлетается на части!")) var/turf/Tsec = get_turf(src) var/obj/item/secbot_assembly/Sa = new /obj/item/secbot_assembly(Tsec) Sa.build_step = 1 @@ -534,12 +592,12 @@ return arrived.visible_message(span_warning("[pick( \ - "[arrived] dives out of [src]'s way!", \ - "[arrived] stumbles over [src]!", \ - "[arrived] jumps out of [src]'s path!", \ - "[arrived] trips over [src] and falls!", \ - "[arrived] topples over [src]!", \ - "[arrived] leaps out of [src]'s way!")]")) + "[arrived] спотыка[pluralize_ru(arrived.gender, "ет", "ют")]ся об [declent_ru(GENITIVE)]!", \ + "[arrived] опрокидыва[pluralize_ru(arrived.gender, "ет", "ют")]ся на [declent_ru(GENITIVE)]!", \ + "[arrived] отлета[pluralize_ru(arrived.gender, "ет", "ют")] с пути [declent_ru(GENITIVE)]!", \ + "[capitalize(declent_ru(NOMINATIVE))] сбивает [arrived]!", \ + "[capitalize(declent_ru(NOMINATIVE))] влетает в [arrived], заставляя [genderize_ru(arrived.gender, "его", "её", "его", "их")] упасть!", \ + "[capitalize(declent_ru(NOMINATIVE))] опрокидывает [arrived]!")]")) arrived.Weaken(4 SECONDS) diff --git a/code/modules/mob/living/simple_animal/bot/syndicate.dm b/code/modules/mob/living/simple_animal/bot/syndicate.dm index b26619937d0..c8bcbcd2c71 100644 --- a/code/modules/mob/living/simple_animal/bot/syndicate.dm +++ b/code/modules/mob/living/simple_animal/bot/syndicate.dm @@ -1,7 +1,15 @@ /mob/living/simple_animal/bot/ed209/syndicate name = "Syndicate Sentry Bot" - desc = "A syndicate security bot." + desc = "Охранный робот Синдиката." + ru_names = list( + NOMINATIVE = "робот-часовой Синдиката", + GENITIVE = "робота-часового Синдиката", + DATIVE = "роботу-часовому Синдиката", + ACCUSATIVE = "робота-часового Синдиката", + INSTRUMENTAL = "роботом-часовым Синдиката", + PREPOSITIONAL = "роботе-часовом Синдиката", + ) model = "Guardian" icon = 'icons/obj/mecha/mecha.dmi' icon_state = "darkgygax" @@ -17,7 +25,7 @@ shoot_sound = 'sound/weapons/wave.ogg' anchored = TRUE window_id = "syndiebot" - window_name = "Syndicate Bot Interface" + window_name = "Интерфейс Часового Робота Синдиката" var/turf/saved_turf var/stepsound = 'sound/mecha/mechstep.ogg' var/area/syndicate_depot/core/depotarea @@ -54,7 +62,7 @@ /mob/living/simple_animal/bot/ed209/syndicate/ui_interact(mob/user, datum/tgui/ui = null) - to_chat(user, span_warning("[src] has no accessible control panel!")) + balloon_alert(user, "панель управления отсутствует!") return @@ -79,7 +87,7 @@ /mob/living/simple_animal/bot/ed209/syndicate/emag_act(mob/user) if(user) - to_chat(user, span_warning("[src] has no card reader slot!")) + balloon_alert(user, "сканер ID-карт отсутствует!") /mob/living/simple_animal/bot/ed209/syndicate/ed209_ai() @@ -87,9 +95,9 @@ if(saved_turf && current_turf != saved_turf) playsound(loc, stepsound, 40, TRUE) if(spawn_turf && !atoms_share_level(src, spawn_turf)) - raise_alert("[src] lost in space.") + raise_alert("[capitalize(declent_ru(NOMINATIVE))] потерялся в пространстве.") raised_alert = FALSE - raise_alert("[src] activated self-destruct.") + raise_alert("[capitalize(declent_ru(NOMINATIVE))] активировал протокол само-уничтожения.") qdel(src) saved_turf = current_turf switch(mode) @@ -183,13 +191,13 @@ if(depotarea) depotarea.list_remove(src, depotarea.guard_list) SSmove_manager.stop_looping(src) - visible_message(span_userdanger("[src] blows apart!")) + visible_message(span_userdanger("[capitalize(declent_ru(NOMINATIVE))] разлетается на части!")) do_sparks(3, 1, src) new /obj/effect/decal/cleanable/blood/oil(loc) var/obj/structure/mecha_wreckage/gygax/dark/wreck = new /obj/structure/mecha_wreckage/gygax/dark(loc) wreck.name = "sentry bot wreckage" - raise_alert("[src] destroyed.") + raise_alert("[capitalize(declent_ru(NOMINATIVE))] уничтожен.") qdel(src) diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index c33d9aba886..3f4e0f0ccac 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -47,7 +47,7 @@ for(var/spell in construct_spells) AddSpell(new spell(null)) - set_light(2, 3, l_color = SSticker.cultdat ? SSticker.cultdat.construct_glow : LIGHT_COLOR_BLOOD_MAGIC) + set_light_range_power_color(2, 3, SSticker.cultdat ? SSticker.cultdat.construct_glow : LIGHT_COLOR_BLOOD_MAGIC) /mob/living/simple_animal/hostile/construct/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/simple_animal/damage_procs.dm b/code/modules/mob/living/simple_animal/damage_procs.dm index bd09f332d62..6f1f357b069 100644 --- a/code/modules/mob/living/simple_animal/damage_procs.dm +++ b/code/modules/mob/living/simple_animal/damage_procs.dm @@ -52,6 +52,33 @@ * * Returns STATUS_UPDATE_HEALTH if any changes were made, STATUS_UPDATE_NONE otherwise */ +/mob/living/simple_animal/proc/setDamage(amount, updating_health = TRUE) + if(HAS_TRAIT(src, TRAIT_GODMODE)) + var/oldbruteloss = bruteloss + bruteloss = 0 + if(oldbruteloss != 0) + updatehealth("setDamage") + return STATUS_UPDATE_NONE + var/oldbruteloss = bruteloss + bruteloss = clamp(round(amount, DAMAGE_PRECISION), 0, maxHealth) + if(oldbruteloss == bruteloss) + updating_health = FALSE + . = STATUS_UPDATE_NONE + else + . = STATUS_UPDATE_HEALTH + if(updating_health) + updatehealth("setDamage") + +/** + * Proc-setter for health of simple mobs. + * Any passed amount will be converted to bruteloss calculated from (maxHealth - amount). No resists will be applied. + * + * Arguments: + * * amount - Amount of health to set. + * * updating_health - If TRUE calls update health on success. + * + * Returns STATUS_UPDATE_HEALTH if any changes were made, STATUS_UPDATE_NONE otherwise + */ /mob/living/simple_animal/proc/setHealth(amount, updating_health = TRUE) if(HAS_TRAIT(src, TRAIT_GODMODE)) var/oldbruteloss = bruteloss @@ -60,7 +87,7 @@ updatehealth("setHealth") return STATUS_UPDATE_NONE var/oldbruteloss = bruteloss - bruteloss = clamp(round(amount, DAMAGE_PRECISION), 0, maxHealth) + bruteloss = clamp(round(maxHealth - amount, DAMAGE_PRECISION), 0, maxHealth) if(oldbruteloss == bruteloss) updating_health = FALSE . = STATUS_UPDATE_NONE @@ -120,7 +147,7 @@ /mob/living/simple_animal/setOxyLoss(amount, updating_health = TRUE) - return setHealth(amount, updating_health) + return setDamage(amount, updating_health) /mob/living/simple_animal/adjustToxLoss( @@ -134,7 +161,7 @@ /mob/living/simple_animal/setToxLoss(amount, updating_health = TRUE) - return setHealth(amount, updating_health) + return setDamage(amount, updating_health) /mob/living/simple_animal/adjustCloneLoss( @@ -148,7 +175,7 @@ /mob/living/simple_animal/setCloneLoss(amount, updating_health = TRUE) - return setHealth(amount, updating_health) + return setDamage(amount, updating_health) /mob/living/simple_animal/adjustStaminaLoss( @@ -162,6 +189,6 @@ /mob/living/simple_animal/setStaminaLoss(amount, updating_health = TRUE) - return setHealth(amount, updating_health) + return setDamage(amount, updating_health) diff --git a/code/modules/mob/living/simple_animal/friendly/animals_named.dm b/code/modules/mob/living/simple_animal/friendly/animals_named.dm index 67c95e0edfa..a8b8f873064 100644 --- a/code/modules/mob/living/simple_animal/friendly/animals_named.dm +++ b/code/modules/mob/living/simple_animal/friendly/animals_named.dm @@ -55,6 +55,7 @@ /mob/living/simple_animal/pet/cat/white/Penny name = "Копейка" desc = "Любит таскать монетки и мелкие предметы. Успевайте прятать их!" + icon_state = "penny" unique_pet = TRUE gold_core_spawnable = NO_SPAWN resting = TRUE @@ -62,6 +63,7 @@ /mob/living/simple_animal/pet/cat/birman/Crusher name = "Бедокур" //Не цель для воров desc = "Любит крушить всё что не прикручено. Нужно вовремя прибираться." + icon_state = "crusher" unique_pet = TRUE gold_core_spawnable = NO_SPAWN resting = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index ebf48eaaa54..32908854ec8 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -272,8 +272,18 @@ var/possible_target_distance = get_dist(targets_from, A) if(target_dist < possible_target_distance) Targets -= A + + var/list/mob/high_priority_targets = list() + for(var/mob/T in Targets) + if (!(T.UID() in low_priority_targets)) + high_priority_targets.Add(T) + + if (high_priority_targets.len) + Targets = high_priority_targets + if(!Targets.len)//We didnt find nothin! return + var/chosen_target = pick(Targets)//Pick the remaining targets (if any) at random return chosen_target diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm index c7c05820f65..3e54b3d2e93 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm @@ -172,6 +172,9 @@ Difficulty: Very Hard /mob/living/simple_animal/hostile/megafauna/ancient_robot/enrage() . = ..() + if(!.) + return + armour_penetration = 66 TL.armour_penetration = 66 TR.armour_penetration = 66 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 4281e91e887..cb921c28607 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 @@ -288,6 +288,9 @@ Difficulty: Medium /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/enrage() . = ..() + if(!.) + return + miner_saw = new /obj/item/melee/energy/cleaving_saw(src) //Real saw for real men. dash_cooldown_to_use = 0.5 SECONDS //Becomes a teleporting shit. ranged_cooldown_time = 5 //They got some cooldown mods. diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 0317aaac4a9..3e375ebfa3e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -125,6 +125,9 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/enrage() . = ..() + if(!.) + return + maxHealth = 2000 //Less health, as a phase 2 health = 2000 rapid_melee = 12 //Don't stand still diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 0517899ed8c..cccaecfeae8 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -108,6 +108,9 @@ Difficulty: Very Hard /mob/living/simple_animal/hostile/megafauna/colossus/enrage() . = ..() + if(!.) + return + move_to_delay = 5 /mob/living/simple_animal/hostile/megafauna/colossus/unrage() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 3aa2cfadfb4..578689957ac 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -123,6 +123,9 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/hierophant/enrage() . = ..() + if(!.) + return + move_to_delay = 5 /mob/living/simple_animal/hostile/megafauna/hierophant/unrage() 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 8fca6764c79..fd85acf4831 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -219,8 +219,10 @@ /// This proc is called by the HRD-MDE grenade to enrage the megafauna. This should increase the megafaunas attack speed if possible, give it new moves, or disable weak moves. This should be reverseable, and reverses on zlvl change. /mob/living/simple_animal/hostile/megafauna/proc/enrage() if(enraged || ((health / maxHealth) * 100 <= 80)) - return + return FALSE + enraged = TRUE + return TRUE /mob/living/simple_animal/hostile/megafauna/proc/unrage() enraged = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm index 0e4a5a1153f..03b43717429 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm @@ -387,9 +387,13 @@ While using this makes the system rely on OnFire, it still gives options for tim /obj/structure/elite_tumor/proc/arena_checks() if(activity != TUMOR_ACTIVE || QDELETED(src)) return + INVOKE_ASYNC(src, PROC_REF(arena_trap)) //Gets another arena trap queued up for when this one runs out. INVOKE_ASYNC(src, PROC_REF(border_check)) //Checks to see if our fighters got out of the arena somehow. INVOKE_ASYNC(src, PROC_REF(fighters_check)) //Checks to see if our fighters died. + if(QDELETED(src)) + return + addtimer(CALLBACK(src, PROC_REF(arena_checks)), 5 SECONDS) /obj/structure/elite_tumor/proc/fighters_check() diff --git a/code/modules/mob/living/simple_animal/hostile/mining/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining/goliath.dm index da1aa23923b..b9a6169ab4b 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/goliath.dm @@ -244,6 +244,7 @@ speed = 4 pre_attack_icon = "Goliath_preattack" throw_message = "does nothing to the rocky hide of the" + crusher_loot = /obj/item/crusher_trophy/eyed_tentacle loot = list(/obj/item/stack/sheet/animalhide/goliath_hide) //A throwback to the asteroid days butcher_results = list(/obj/item/reagent_containers/food/snacks/monstermeat/goliath = 2, /obj/item/stack/sheet/bone = 2) crusher_drop_mod = 30 diff --git a/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm index ec04e0c4281..860a9c43c4a 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm @@ -209,6 +209,8 @@ /mob/living/simple_animal/hostile/asteroid/hivelord/legion/death(gibbed) visible_message("The skulls on [src] wail in anger as they flee from their dying host!") var/turf/T = get_turf(src) + if (!T) // When legion dusts T = null. Maybe not onli this way. + return for(var/i in 1 to 2) new /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/weaken(T) if(T) diff --git a/code/modules/mob/living/simple_animal/hostile/mining/marrow_weaver.dm b/code/modules/mob/living/simple_animal/hostile/mining/marrow_weaver.dm index c70328f1574..2fd8b9fe08b 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/marrow_weaver.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/marrow_weaver.dm @@ -7,6 +7,7 @@ icon_aggro = "weaver" icon_dead = "weaver_dead" throw_message = "bounces harmlessly off the" + crusher_loot = /obj/item/crusher_trophy/fang butcher_results = list(/obj/item/stack/ore/uranium = 2, /obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/sinew = 1, /obj/item/stack/sheet/animalhide/weaver_chitin = 3, /obj/item/reagent_containers/food/snacks/monstermeat/spiderleg = 2) loot = list() attacktext = "кусает" //can we revert all translation in our code? @@ -136,15 +137,20 @@ /mob/living/simple_animal/hostile/asteroid/marrowweaver/frost name = "frostbite weaver" desc = "A big, angry, venomous ice spider. It likes to snack on bone marrow. Its preferred food source is you." + icon_state = "weaver_ice" icon_living = "weaver_ice" icon_aggro = "weaver_ice" icon_dead = "weaver_ice_dead" + melee_damage_lower = 10 //stronger venom, but weaker attack. melee_damage_upper = 13 + poison_type = "frostoil" poison_per_bite = 5 + crusher_loot = /obj/item/crusher_trophy/gland + /mob/living/simple_animal/hostile/asteroid/marrowweaver/tendril fromtendril = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm index 51e1eb36e97..67d6e7c574c 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm @@ -261,9 +261,9 @@ desc = "Большой дрон. Кажется, неактивен." w_class = WEIGHT_CLASS_GIGANTIC item_flags = NOPICKUP - icon_state = "unactive_drone" + icon_state = "inactive_drone" -/obj/item/unactive_drone/attackby(obj/item/I, mob/user, params) +/obj/item/inactive_drone/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/drone_modules/drone_BCM)) to_chat(user, span_notice("Вы установили модуль в слот.")) new /mob/living/simple_animal/bot/ed209/combat_drone(get_turf(src)) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 0538a1d6465..49f45d9499b 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -133,6 +133,10 @@ var/Discipline = 0 // if a slime has been hit with a freeze gun, or wrestled/attacked off a human, they become disciplined and don't attack anymore for a while var/SStun = 0 // stun variable + var/list/low_priority_targets = list() + + var/atom/leash // autodust on a big distance + var/leash_radius = 10 /mob/living/simple_animal/Initialize(mapload) . = ..() @@ -301,6 +305,12 @@ /mob/living/simple_animal/handle_environment(datum/gas_mixture/environment) + if (leash) + var/dist = get_dist(src, leash) + if (dist > leash_radius) + src.dust() + return + var/atmos_suitable = TRUE if(!HAS_TRAIT(src, TRAIT_NO_BREATH)) @@ -789,3 +799,7 @@ if(!can_collar) return AddElement(/datum/element/strippable, create_strippable_list(list(/datum/strippable_item/pet_collar))) + +/mob/living/simple_animal/proc/set_leash(atom/A, radius) + leash = A + leash_radius = radius diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index 4e7980f1115..21398a3f0aa 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -72,7 +72,7 @@ return FALSE if(!can_ventcrawl(ventcrawl_target)) return FALSE - return stop_ventcrawling(ventcrawl_target) + return stop_ventcrawling() //Entrance here if(!can_ventcrawl(ventcrawl_target, entering = TRUE)) @@ -124,12 +124,11 @@ * Moves living mob to the turf contents and cleanse ventcrawling stuff * * Arguments: - * * ventcrawl_target - The vent from which we are moved from * * message - if TRUE shows visible message to everyone * * Returns `TRUE` on success. */ -/mob/living/proc/stop_ventcrawling(obj/machinery/atmospherics/ventcrawl_target, message = TRUE) +/mob/living/proc/stop_ventcrawling(message = TRUE) SHOULD_CALL_PARENT(TRUE) if(!is_ventcrawling(src)) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 42713971a0a..075c44d9ffd 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -58,7 +58,8 @@ SPECIAL_ROLE_TRAITOR, SPECIAL_ROLE_VAMPIRE, SPECIAL_ROLE_VAMPIRE_THRALL, - SPECIAL_ROLE_THIEF + SPECIAL_ROLE_THIEF, + SPECIAL_ROLE_MALFAI ) if(special_role in crew_roles) return 0 diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 2068742e1f8..f68feabe24c 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -363,7 +363,8 @@ alert(msg) return FALSE if(!thisjob.character_old_enough(client)) - var/msg = "Должность [rank] недоступна в связи с недостаточным возрастом персонажа ([client?.prefs.age]). Минимальный возраст - [thisjob.min_age_allowed]" + var/datum/species/species = GLOB.all_species[client?.prefs.species] + var/msg = "Должность [rank] недоступна в связи с недостаточным возрастом персонажа ([client?.prefs.age]). Минимальный возраст - [get_age_limits(species, thisjob.min_age_type)]" to_chat(src, msg) alert(msg) return FALSE diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index c24b43186e5..4cce405c45c 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -43,7 +43,7 @@ if(S.bodyflags & HAS_SKIN_COLOR && !(S.bodyflags & HAS_ICON_SKIN_TONE)) randomize_skin_color() backbag = 2 - age = rand(AGE_MIN, AGE_MAX) + age = get_rand_age(S) /datum/preferences/proc/randomize_hair_color(var/target = "hair") @@ -227,9 +227,11 @@ if(current_species) if(current_species.bodyflags & HAS_ICON_SKIN_TONE) //Handling species-specific icon-based skin tones by flagged race. var/mob/living/carbon/human/H = new + H.dna.species = current_species H.s_tone = s_tone H.dna.species.updatespeciescolor(H, 0) //The mob's species wasn't set, so it's almost certainly different than the character's species at the moment. Thus, we need to be owner-insensitive. + var/obj/item/organ/external/chest/C = H.get_organ(BODY_ZONE_CHEST) icobase = C.icobase ? C.icobase : C.dna.species.icobase if(H.dna.species.bodyflags & HAS_TAIL) diff --git a/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm b/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm index 57e0f7a3e71..0a049d1c53f 100644 --- a/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm +++ b/code/modules/mob/new_player/sprite_accessories/human/human_hair.dm @@ -963,3 +963,43 @@ /datum/sprite_accessory/hair/undercutfem name = "Female undercut" icon_state = "undercut_fem" + +/datum/sprite_accessory/hair/ponytail8 + name = "Ponytail 8" + icon_state = "ponytail8" + +/datum/sprite_accessory/hair/tribalbraid + name = "Tribal Braid" + icon_state = "tribalbraid" + +/datum/sprite_accessory/hair/jill + name = "Jill" + icon_state = "jill" + +/datum/sprite_accessory/hair/sabitsuki + name = "Sabitsuki" + icon_state = "sabitsuki" + +/datum/sprite_accessory/hair/kobeni + name = "Kobeni" + icon_state = "kobeni_l" + +/datum/sprite_accessory/hair/gloomy + name = "Gloomy" + icon_state = "gloomylong" + +/datum/sprite_accessory/hair/elize + name = "Elize" + icon_state = "elize" + +/datum/sprite_accessory/hair/bunstick + name = "Asian Bun" + icon_state = "bunstick" + +/datum/sprite_accessory/hair/kitty + name = "Kitty" + icon_state = "kitty" + +/datum/sprite_accessory/hair/dolly + name = "Dolly" + icon_state = "dolly" diff --git a/code/modules/mob/new_player/sprite_accessories/ipc/ipc_face.dm b/code/modules/mob/new_player/sprite_accessories/ipc/ipc_face.dm index 6b6963cfa98..37da87aca6b 100644 --- a/code/modules/mob/new_player/sprite_accessories/ipc/ipc_face.dm +++ b/code/modules/mob/new_player/sprite_accessories/ipc/ipc_face.dm @@ -104,32 +104,32 @@ /datum/sprite_accessory/hair/ipc/hesphiastos_alt_pink name = "Pink Hesphiastos Screen" icon_state = "pink_hesp_alt" - models_allowed = list("Industrial Revolution") + models_allowed = list("Titan Enforcer") /datum/sprite_accessory/hair/ipc/hesphiastos_alt_orange name = "Orange Hesphiastos Screen" icon_state = "orange_hesp_alt" - models_allowed = list("Industrial Revolution") + models_allowed = list("Titan Enforcer") /datum/sprite_accessory/hair/ipc/hesphiastos_alt_goggle name = "Goggles Hesphiastos Screen" icon_state = "goggles_hesp_alt" - models_allowed = list("Industrial Revolution") + models_allowed = list("Titan Enforcer") /datum/sprite_accessory/hair/ipc/hesphiastos_alt_scroll name = "Scrolling Hesphiastos Screen" icon_state = "scroll_hesp_alt" - models_allowed = list("Industrial Revolution") + models_allowed = list("Titan Enforcer") /datum/sprite_accessory/hair/ipc/hesphiastos_alt_rgb name = "RGB Hesphiastos Screen" icon_state = "rgb_hesp_alt" - models_allowed = list("Industrial Revolution") + models_allowed = list("Titan Enforcer") /datum/sprite_accessory/hair/ipc/hesphiastos_alt_rainbow name = "Rainbow Hesphiastos Screen" icon_state = "rainbow_hesp_alt" - models_allowed = list("Industrial Revolution") + models_allowed = list("Titan Enforcer") //Fluff /datum/sprite_accessory/hair/ipc/fluff diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 6f0f753370b..bd515f343b3 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -93,7 +93,14 @@ return ..() to_chat(user, span_notice("You have put [I] into [src].")) papers.Add(I) + var/do_update = FALSE + if(amount == 0) + do_update = TRUE + amount++ + if(do_update) + update_icon(UPDATE_ICON_STATE) + return ATTACK_CHAIN_BLOCKED_ALL return ..() diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 06bc57ffa6b..a851ee2abfc 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -586,13 +586,13 @@ if(istype(I, /obj/item/toner)) add_fingerprint(user) var/obj/item/toner/toner = I - if(toner > 10) //allow replacing when low toner is affecting the print darkness + if(src.toner > 10) //allow replacing when low toner is affecting the print darkness to_chat(user, span_warning("This cartridge is not yet ready for replacement! Use up the rest of the toner.")) return ATTACK_CHAIN_PROCEED if(!user.drop_transfer_item_to_loc(I, src)) return ..() to_chat(user, span_notice("You have inserted the toner cartridge into [src].")) - toner += toner.toner_amount + src.toner += toner.toner_amount qdel(I) return ATTACK_CHAIN_BLOCKED_ALL diff --git a/code/modules/pda/messenger.dm b/code/modules/pda/messenger.dm index 24fe8e81c82..a5ba79d9cd1 100644 --- a/code/modules/pda/messenger.dm +++ b/code/modules/pda/messenger.dm @@ -129,14 +129,7 @@ last_text = world.time // check if telecomms I/O route 1459 is stable //var/telecomms_intact = telecomms_process(P.owner, owner, t) - var/obj/machinery/message_server/useMS = null - if(GLOB.message_servers) - for(var/A in GLOB.message_servers) - var/obj/machinery/message_server/MS = A - //PDAs are now dependent on the Message Server. - if(MS.active) - useMS = MS - break + var/obj/machinery/message_server/useMS = find_pda_server() var/turf/sender_pos = get_turf(U) var/turf/recipient_pos = get_turf(P) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index cda28a116c5..8617697874b 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -413,3 +413,8 @@ name = "emitter gun power cell" maxcharge = 2200 chargerate = 100 + +/obj/item/stock_parts/cell/degraded + name = "degraded power cell" + maxcharge = 750 + chargerate = 25 diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index c574db5e22e..f74aa3bd023 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -442,8 +442,6 @@ /obj/machinery/light/attackby(obj/item/I, mob/living/user, params) if(user.a_intent == INTENT_HARM) - if(light_hit_check(I, user)) - return ATTACK_CHAIN_BLOCKED_ALL return ..() //Light replacer code @@ -482,48 +480,9 @@ explode() return ATTACK_CHAIN_BLOCKED_ALL - if(light_hit_check(I, user)) - return ATTACK_CHAIN_BLOCKED_ALL - return ..() -/// Special lights attack handling -/obj/machinery/light/proc/light_hit_check(obj/item/I, mob/living/user) - if(status == LIGHT_EMPTY) - if(has_power() && (I.flags & CONDUCT)) - add_fingerprint(user) - do_sparks(3, 1, src) - if(prob(75)) // If electrocuted - electrocute_mob(user, get_area(src), src, rand(0.7, 1), TRUE) - to_chat(user, span_userdanger("You have been electrocuted by [src]!")) - else // If not electrocuted - to_chat(user, span_danger("You stick [I] into the light socket.")) - return TRUE - return FALSE - if(status == LIGHT_BROKEN) - return FALSE - add_fingerprint(user) - user.do_attack_animation(src) - if(prob(1 + I.force * 5)) - user.visible_message( - span_danger("[user] smashed the light!"), - span_danger("You hit the light, and it smashes!"), - span_italics("You hear the tinkle of breaking glass."), - ) - if(on && (I.flags & CONDUCT) && prob(12)) - electrocute_mob(user, get_area(src), src, 0.3, TRUE) - break_light_tube() - return TRUE - playsound(loc, 'sound/effects/glasshit.ogg', 75, TRUE) - user.visible_message( - span_danger("[user] hits the light."), - span_danger("You hit the light."), - span_italics("You hear someone hitting a glass."), - ) - return TRUE - - /obj/machinery/light/screwdriver_act(mob/living/user, obj/item/I) if(status != LIGHT_EMPTY) return TRUE @@ -563,16 +522,35 @@ /obj/machinery/light/proceed_attack_results(obj/item/I, mob/living/user, params, def_zone) + var/initial_status = status + . = ..() - if(ATTACK_CHAIN_SUCCESS_CHECK(.) && (status == LIGHT_BROKEN || status == LIGHT_EMPTY) && on && (I.flags & CONDUCT) && prob(12)) + + if(!ATTACK_CHAIN_SUCCESS_CHECK(.) || !(I.flags & CONDUCT) || !has_power()) + return + + if(status != initial_status && prob(12)) // Proceed only if changed `state` during `take_damage`. electrocute_mob(user, get_area(src), src, 0.3, TRUE) + else if(status == LIGHT_EMPTY && prob(75)) + to_chat(user, span_userdanger("You aimed right into the light socket.")) + electrocute_mob(user, get_area(src), src, rand(0.7, 1), TRUE) + do_sparks(3, TRUE, src) + + add_fingerprint(user) + -/obj/machinery/light/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) +/obj/machinery/light/take_damage(damage_amount, damage_type = BRUTE, damage_flag = "", sound_effect = TRUE, attack_dir, armour_penetration = 0) . = ..() - if(. && !QDELETED(src)) - if(prob(damage_amount * 5)) - break_light_tube() + + if(!. || QDELETED(src)) + return + + if(!prob(1 + . * 5)) + return + + break_light_tube() + /obj/machinery/light/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) @@ -744,18 +722,22 @@ var/obj/item/light/L = drop_light_tube() L.attack_tk(user) + /obj/machinery/light/proc/break_light_tube(skip_sound_and_sparks = FALSE, overloaded = FALSE) if(status == LIGHT_EMPTY || status == LIGHT_BROKEN) return if(!skip_sound_and_sparks) - if(status == LIGHT_OK || status == LIGHT_BURNED) - playsound(loc, 'sound/effects/glasshit.ogg', 75, 1) if(on || overloaded) - do_sparks(3, 1, src) + do_sparks(3, TRUE, src) + + playsound(loc, 'sound/effects/glasshit.ogg', 75, TRUE) + + visible_message(span_danger("[src] was just smashed!"), null, span_italics("You hear the tinkle of breaking glass.")) status = LIGHT_BROKEN update() + /obj/machinery/light/proc/fix() if(status == LIGHT_OK) return diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index d46fc3bc7e4..19622963ec2 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -1,9 +1,12 @@ -/obj/singularity/narsie //Moving narsie to a child object of the singularity so it can be made to function differently. --NEO +/obj/singularity/god + /// How many humans got killed by it. For now used only for /proc/apocalypse cinematics + var/soul_devoured = 0 + +/obj/singularity/god/narsie //Moving narsie to a child object of the singularity so it can be made to function differently. --NEO name = "Nar'sie's Avatar" desc = "Your mind begins to bubble and ooze as it tries to comprehend what it sees." icon = 'icons/obj/magic_terror.dmi' - /// How many humans got killed by it. For now used only for /proc/apocalypse and only for Nar'Sie. - var/soul_devoured = 0 + pixel_x = -89 pixel_y = -85 current_size = 9 //It moves/eats like a max-size singulo, aside from range. --NEO @@ -14,15 +17,13 @@ consume_range = 6 gender = FEMALE -/obj/singularity/narsie/admin_investigate_setup() +/obj/singularity/god/narsie/admin_investigate_setup() return - -/obj/singularity/narsie/update_icon_state() +/obj/singularity/god/narsie/update_icon_state() return - -/obj/singularity/narsie/large +/obj/singularity/god/narsie/large name = "Nar'Sie" icon = 'icons/obj/narsie.dmi' // Pixel stuff centers Narsie. @@ -33,7 +34,7 @@ grav_pull = 10 consume_range = 12 //How many tiles out do we eat -/obj/singularity/narsie/large/New() +/obj/singularity/god/narsie/large/New() ..() icon_state = SSticker.cultdat?.entity_icon_state name = SSticker.cultdat?.entity_name @@ -53,7 +54,7 @@ addtimer(CALLBACK(SSticker.mode, TYPE_PROC_REF(/datum/game_mode, apocalypse)), 10 SECONDS) -/obj/singularity/narsie/large/Destroy() +/obj/singularity/god/narsie/large/Destroy() to_chat(world, " [uppertext(name)] HAS FALLEN") SEND_SOUND(world, 'sound/hallucinations/wail.ogg') var/datum/game_mode/gamemode = SSticker.mode @@ -65,10 +66,10 @@ to_chat(cult_mind.current, "Current goal: Slaughter the heretics!") ..() -/obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user) +/obj/singularity/god/narsie/large/attack_ghost(mob/dead/observer/user) make_new_construct(/mob/living/simple_animal/hostile/construct/harvester, user, cult_override = TRUE) -/obj/singularity/narsie/process() +/obj/singularity/god/narsie/process() eat() if(!target || prob(5)) pickcultist() @@ -77,19 +78,19 @@ mezzer() -/obj/singularity/narsie/Bump(atom/bumped_atom, effect_applied = TRUE)//you dare stand before a god?! +/obj/singularity/god/narsie/Bump(atom/bumped_atom, effect_applied = TRUE)//you dare stand before a god?! . = ..() if(.) return . godsmack(bumped_atom) -/obj/singularity/narsie/Bumped(atom/movable/moving_atom, effect_applied = TRUE) +/obj/singularity/god/narsie/Bumped(atom/movable/moving_atom, effect_applied = TRUE) . = ..() godsmack(moving_atom) -/obj/singularity/narsie/proc/godsmack(atom/A) +/obj/singularity/god/narsie/proc/godsmack(atom/A) if(istype(A,/obj/)) var/obj/O = A O.ex_act(1) @@ -99,7 +100,7 @@ var/turf/T = A T.ChangeTurf(/turf/simulated/floor/engine/cult) -/obj/singularity/narsie/mezzer() +/obj/singularity/god/narsie/mezzer() for(var/mob/living/carbon/M in oviewers(8, src)) if(M.stat == CONSCIOUS) if(!iscultist(M)) @@ -107,16 +108,16 @@ M.Stun(6 SECONDS) -/obj/singularity/narsie/consume(atom/A) +/obj/singularity/god/narsie/consume(atom/A) A.narsie_act(src) -/obj/singularity/narsie/ex_act() //No throwing bombs at it either. --NEO +/obj/singularity/god/narsie/ex_act() //No throwing bombs at it either. --NEO return -/obj/singularity/narsie/singularity_act() //handled in /obj/singularity/proc/consume +/obj/singularity/god/narsie/singularity_act() //handled in /obj/singularity/proc/consume return -/obj/singularity/narsie/proc/pickcultist() //Narsie rewards his cultists with being devoured first, then picks a ghost to follow. --NEO +/obj/singularity/god/narsie/proc/pickcultist() //Narsie rewards his cultists with being devoured first, then picks a ghost to follow. --NEO var/list/cultists = list() var/list/noncultists = list() for(var/mob/living/carbon/food in GLOB.alive_mob_list) //we don't care about constructs or cult-Ians or whatever. cult-monkeys are fair game i guess @@ -150,7 +151,7 @@ return -/obj/singularity/narsie/proc/acquire(mob/food) +/obj/singularity/god/narsie/proc/acquire(mob/food) if(food == target) return if(!target) @@ -163,17 +164,17 @@ to_chat(target, "[uppertext(SSticker.cultdat.entity_name)] HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL") //Wizard narsie -/obj/singularity/narsie/wizard +/obj/singularity/god/narsie/wizard grav_pull = 0 -/obj/singularity/narsie/wizard/eat() +/obj/singularity/god/narsie/wizard/eat() for(var/atom/X in orange(consume_range,src)) if(isturf(X) || istype(X, /atom/movable)) consume(X) return -/obj/singularity/narsie/proc/narsie_spawn_animation() +/obj/singularity/god/narsie/proc/narsie_spawn_animation() icon = 'icons/obj/narsie_spawn_anim.dmi' dir = SOUTH move_self = FALSE diff --git a/code/modules/power/singularity/ratvar.dm b/code/modules/power/singularity/ratvar.dm index fb6ea35dbba..f448ae400c0 100644 --- a/code/modules/power/singularity/ratvar.dm +++ b/code/modules/power/singularity/ratvar.dm @@ -1,4 +1,4 @@ -/obj/singularity/ratvar +/obj/singularity/god/ratvar name = "Ratvar, the Clockwork Justiciar" desc = "..." icon = 'icons/obj/512x512.dmi' @@ -14,10 +14,10 @@ consume_range = 12 gender = NEUTER -/obj/singularity/ratvar/admin_investigate_setup() +/obj/singularity/god/ratvar/admin_investigate_setup() return -/obj/singularity/ratvar/New() +/obj/singularity/god/ratvar/New() ..() set_light(15, 1, "#BE8700") to_chat(world, "ONCE AGAIN MY LIGHT SHINES AMONG THESE PATHETIC STARS") @@ -36,10 +36,10 @@ addtimer(CALLBACK(SSticker.mode, TYPE_PROC_REF(/datum/game_mode, apocalypse)), 10 SECONDS) -/obj/singularity/ratvar/update_icon_state() +/obj/singularity/god/ratvar/update_icon_state() return -/obj/singularity/ratvar/Destroy() +/obj/singularity/god/ratvar/Destroy() to_chat(world, "RATVAR HAS FALLEN") SEND_SOUND(world, 'sound/hallucinations/wail.ogg') var/datum/game_mode/gamemode = SSticker.mode @@ -51,32 +51,32 @@ to_chat(clock_mind.current, "Current goal: Slaughter the heretics!") return ..() -/obj/singularity/ratvar/attack_ghost(mob/dead/observer/user) +/obj/singularity/god/ratvar/attack_ghost(mob/dead/observer/user) var/mob/living/simple_animal/hostile/clockwork/marauder/cog = new (get_turf(src)) cog.key = user.key SSticker.mode.add_clocker(cog.mind) -/obj/singularity/ratvar/process() +/obj/singularity/god/ratvar/process() eat() move() if(prob(25)) mezzer() -/obj/singularity/ratvar/Bump(atom/bumped_atom, effect_applied = TRUE)//you dare stand before a god?! +/obj/singularity/god/ratvar/Bump(atom/bumped_atom, effect_applied = TRUE)//you dare stand before a god?! . = ..() if(.) return . godsmack(bumped_atom) -/obj/singularity/ratvar/Bumped(atom/movable/moving_atom, effect_applied = TRUE) +/obj/singularity/god/ratvar/Bumped(atom/movable/moving_atom, effect_applied = TRUE) . = ..() godsmack(moving_atom) -/obj/singularity/ratvar/proc/godsmack(atom/A) +/obj/singularity/god/ratvar/proc/godsmack(atom/A) if(istype(A,/obj/)) var/obj/O = A O.ex_act(1) @@ -86,23 +86,23 @@ var/turf/T = A T.ChangeTurf(/turf/simulated/floor/clockwork) -/obj/singularity/ratvar/mezzer() +/obj/singularity/god/ratvar/mezzer() for(var/mob/living/carbon/M in oviewers(8, src)) if(M.stat == CONSCIOUS) if(!isclocker(M)) to_chat(M, "You feel your sanity crumble away in an instant as you gaze upon [src.name]...") M.Stun(6 SECONDS) -/obj/singularity/ratvar/consume(atom/A) - A.ratvar_act() +/obj/singularity/god/ratvar/consume(atom/A) + A.ratvar_act(FALSE, src) -/obj/singularity/ratvar/ex_act() +/obj/singularity/god/ratvar/ex_act() return -/obj/singularity/ratvar/singularity_act() //handled in /obj/singularity/proc/consume +/obj/singularity/god/ratvar/singularity_act() //handled in /obj/singularity/proc/consume return -/obj/singularity/ratvar/proc/ratvar_spawn_animation() +/obj/singularity/god/ratvar/proc/ratvar_spawn_animation() icon = 'icons/obj/ratvar_spawn_anim.dmi' dir = SOUTH move_self = FALSE diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index b6b7a60e98a..d1a80d3e565 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -300,7 +300,7 @@ name = "supermatter-charged [initial(name)]" consumedSupermatter = 1 set_light(10) - if(istype(A, /obj/singularity/narsie)) + if(istype(A, /obj/singularity/god/narsie)) if(current_size == STAGE_SIX) visible_message("[SSticker.cultdat?.entity_name] is consumed by [src]!") investigate_log("consumed Nar'Sie!", INVESTIGATE_ENGINE) @@ -309,7 +309,8 @@ visible_message("[SSticker.cultdat?.entity_name] strikes down [src]!") investigate_log("has been destroyed by Nar'Sie", INVESTIGATE_ENGINE) qdel(src) - if(istype(A, /obj/singularity/ratvar)) + + if(istype(A, /obj/singularity/god/ratvar)) if(current_size == STAGE_SIX) visible_message("Rat'var is consumed by [src]!") qdel(A) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 644ba9ec05d..8ff7699a8b3 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -337,10 +337,12 @@ track = TRACKER_AUTO autostart = TRUE // Automatically search for connected devices -/obj/machinery/power/solar_control/Initialize() +/obj/machinery/power/solar_control/Initialize(mapload, obj/structure/computerframe) SSsun.solars |= src setup() . = ..() + if(computerframe) + qdel(computerframe) /obj/machinery/power/solar_control/proc/setup() connect_to_network() diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index bc9c412f1a8..22cc44d667f 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -65,7 +65,7 @@ /obj/machinery/computer/turbine_computer name = "gas turbine control computer" - desc = "A computer to remotely control a gas turbine" + desc = "Компьютер для дистанционного управления газовой турбиной." icon_screen = "turbinecomp" icon_keyboard = "tech_key" circuit = /obj/item/circuitboard/turbine_computer diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index ad228160606..c013870a107 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -153,7 +153,7 @@ icon_state = "10mmbox" origin_tech = "combat=2" ammo_type = /obj/item/ammo_casing/c10mm - max_ammo = 20 + max_ammo = 30 /obj/item/ammo_box/fortynr name = "ammo box 40N&R" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index cec3aa208d4..1e1cb7e47c7 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -68,9 +68,18 @@ ammo_x_offset = 1 can_charge = FALSE selfcharge = TRUE + var/emagged = FALSE /obj/item/gun/energy/floragun/emag_act(mob/user) . = ..() + + if(emagged) + return + + if(user) + balloon_alert(user, "протоколы защиты сняты!") + + emagged = TRUE ammo_type = list(/obj/item/ammo_casing/energy/flora/alpha/emag, /obj/item/ammo_casing/energy/flora/beta, /obj/item/ammo_casing/energy/flora/gamma) update_ammo_types() @@ -821,7 +830,7 @@ icon_state = "plasmagun" item_state = "plasmagun" w_class = WEIGHT_CLASS_NORMAL - origin_tech = "combat=4;magnets=4;powerstorage=3" + origin_tech = "combat=6;magnets=5;powerstorage=3" ammo_type = list(/obj/item/ammo_casing/energy/weak_plasma, /obj/item/ammo_casing/energy/charged_plasma) shaded_charge = 1 can_holster = TRUE diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 49fc4822919..0cf03152c3b 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -134,7 +134,7 @@ magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg' magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg' fire_delay = 2 - can_suppress = FALSE + can_suppress = TRUE can_flashlight = TRUE burst_size = 2 can_bayonet = TRUE @@ -146,6 +146,11 @@ /obj/item/gun/projectile/automatic/wt550/update_icon_state() icon_state = "wt550[magazine ? "-[CEILING(get_ammo(FALSE)/4, 1)*4]" : ""]" +/obj/item/gun/projectile/automatic/wt550/update_overlays() + . = ..() + if(suppressed) + . += image(icon = icon, icon_state = "wt-sp_supp", pixel_x = 3) + /obj/item/gun/projectile/automatic/wt550/ui_action_click(mob/user, datum/action/action, leftclick) if(..()) @@ -165,7 +170,7 @@ magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg' magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg' fire_delay = 2 - can_suppress = FALSE + can_suppress = TRUE can_flashlight = TRUE burst_size = 3 can_bayonet = FALSE @@ -176,6 +181,10 @@ icon_state = "SP-91-RC[magazine ? "-[CEILING(get_ammo(FALSE)/5, 1)*5]" : ""]" item_state = "SP-91-RC[magazine ? "-[get_ammo(FALSE) ? "20" : "0"]" : ""]" +/obj/item/gun/projectile/automatic/sp91rc/update_overlays() + . = ..() + if(suppressed) + . += image(icon = icon, icon_state = "wt-sp_supp", pixel_x = 3) /obj/item/gun/projectile/automatic/sp91rc/ui_action_click(mob/user, datum/action/action, leftclick) if(..()) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 50e66444fa7..c791df0687a 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -214,6 +214,11 @@ damage = 50 armour_penetration = -50 +/obj/item/projectile/bullet/midbullet3/hp/on_hit(atom/target, blocked, hit_zone) + if(..(target, blocked)) + var/mob/living/M = target + M.Slowed(2 SECONDS) + /obj/item/projectile/bullet/midbullet3/ap damage = 27 armour_penetration = 40 diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index d18fdc5ecb4..31326844b87 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -611,8 +611,8 @@ protection = L.get_permeability_protection() if(protection && show_message) to_chat(L, span_alert("Your clothes protects you from the reaction.")) - - R.reaction_mob(A, method, R.volume * volume_modifier * (1 - protection), show_message) + var/reacting_volume = R.volume * volume_modifier * clamp(1 - protection + R.clothing_penetration, 0, 1) + R.reaction_mob(A, method, reacting_volume, show_message) if("TURF") R.reaction_turf(A, R.volume * volume_modifier, R.color) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 04e95abae32..e6c201a8d56 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/pandemic name = "PanD.E.M.I.C 2200" - desc = "Used to work with viruses." + desc = "Используется для работы с вирусами." density = TRUE anchored = TRUE icon = 'icons/obj/chemical.dmi' diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 628fb17c603..d22721d6f5f 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -13,6 +13,8 @@ var/heart_rate_decrease = 0 var/heart_rate_stop = 0 var/penetrates_skin = FALSE //Whether or not a reagent penetrates the skin + /// Shows how the reagent penetrates the protection from clothing in TOUCH reactions. Should be [0-1]. 0 by default, 1 - full penetration. + var/clothing_penetration = 0 //Processing flags, defines the type of mobs the reagent will affect //By default, all reagents will ONLY affect organics, not synthetics. Re-define in the reagent's definition if the reagent is meant to affect synths var/process_flags = ORGANIC diff --git a/code/modules/reagents/chemistry/reagents/alcohol.dm b/code/modules/reagents/chemistry/reagents/alcohol.dm index 69d68fe4c7e..96183281f51 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol.dm @@ -138,8 +138,8 @@ /datum/reagent/consumable/ethanol/hooch/on_mob_life(mob/living/carbon/M) if(M.mind && M.mind.assigned_role == JOB_TITLE_CIVILIAN) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/ethanol/rum @@ -1468,8 +1468,8 @@ /datum/reagent/consumable/ethanol/rainbow_sky/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) M.Druggy(30 SECONDS) M.Jitter(10 SECONDS) M.AdjustHallucinate(10 SECONDS) @@ -1711,13 +1711,13 @@ /datum/reagent/consumable/ethanol/alcomender/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustFireLoss(-0.7, FALSE) + update_flags |= M.adjustFireLoss(-0.7, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/ethanol/alcomender/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) // It is alcohol after all, so don't try to pour it on someone who's on fire ... please. if(iscarbon(M)) if(method == REAGENT_TOUCH) - M.adjustFireLoss(-volume * 0.7) + M.adjustFireLoss(-volume * 0.7, affect_robotic = FALSE) to_chat(M, "The diluted silver sulfadiazine soothes your burns.") return STATUS_UPDATE_NONE diff --git a/code/modules/reagents/chemistry/reagents/drink_cold.dm b/code/modules/reagents/chemistry/reagents/drink_cold.dm index 0376c8a4292..a63b8789013 100644 --- a/code/modules/reagents/chemistry/reagents/drink_cold.dm +++ b/code/modules/reagents/chemistry/reagents/drink_cold.dm @@ -265,8 +265,8 @@ /datum/reagent/consumable/drink/cold/zaza/on_mob_life(mob/living/user) var/update_flags = STATUS_UPDATE_NONE if(ishuman(user) && prob(40)) - update_flags |= user.adjustBruteLoss(-healamount, FALSE) - update_flags |= user.adjustFireLoss(-healamount, FALSE) + update_flags |= user.adjustBruteLoss(-healamount, FALSE, affect_robotic = FALSE) + update_flags |= user.adjustFireLoss(-healamount, FALSE, affect_robotic = FALSE) return ..() | update_flags diff --git a/code/modules/reagents/chemistry/reagents/drinks.dm b/code/modules/reagents/chemistry/reagents/drinks.dm index be59b1dc296..c52fd0bab7f 100644 --- a/code/modules/reagents/chemistry/reagents/drinks.dm +++ b/code/modules/reagents/chemistry/reagents/drinks.dm @@ -37,7 +37,7 @@ /datum/reagent/consumable/drink/tomatojuice/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(prob(20)) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/drink/limejuice @@ -179,8 +179,8 @@ /datum/reagent/consumable/drink/banana/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(HAS_TRAIT(M, TRAIT_COMIC) || is_monkeybasic(M)) - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/drink/nothing @@ -195,8 +195,8 @@ /datum/reagent/consumable/drink/nothing/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(ishuman(M) && M.mind && M.mind.miming) - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/drink/potato_juice @@ -223,7 +223,7 @@ /datum/reagent/consumable/drink/milk/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(prob(20)) - update_flags |= M.adjustBruteLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) if(holder.has_reagent("capsaicin")) holder.remove_reagent("capsaicin", 2) return ..() | update_flags @@ -329,7 +329,7 @@ var/update_flags = STATUS_UPDATE_NONE M.SetSleeping(0) if(prob(20)) - update_flags |= M.adjustBruteLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/drink/coffee/cafe_latte @@ -348,7 +348,7 @@ var/update_flags = STATUS_UPDATE_NONE M.SetSleeping(0) if(prob(20)) - update_flags |= M.adjustBruteLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/drink/coffee/cafe_latte/cafe_mocha @@ -414,8 +414,8 @@ /datum/reagent/consumable/drink/bananahonk/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(HAS_TRAIT(src, TRAIT_COMIC) || is_monkeybasic(M)) - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/drink/silencer @@ -431,8 +431,8 @@ /datum/reagent/consumable/drink/silencer/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(ishuman(M) && (M.job in list(JOB_TITLE_MIME))) - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/drink/chocolatepudding diff --git a/code/modules/reagents/chemistry/reagents/drugs.dm b/code/modules/reagents/chemistry/reagents/drugs.dm index e5ef68bffb7..80b88a14389 100644 --- a/code/modules/reagents/chemistry/reagents/drugs.dm +++ b/code/modules/reagents/chemistry/reagents/drugs.dm @@ -612,8 +612,8 @@ if(M.reagents.get_reagent_amount("thc") <= 20) M.Drowsy(20 SECONDS) if(prob(25)) - update_flags |= M.adjustBruteLoss(-2, FALSE) - update_flags |= M.adjustFireLoss(-2, FALSE) + update_flags |= M.adjustBruteLoss(-2, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-2, FALSE, affect_robotic = FALSE) return ..() | update_flags diff --git a/code/modules/reagents/chemistry/reagents/food.dm b/code/modules/reagents/chemistry/reagents/food.dm index 5af02464a3a..a0be8517221 100644 --- a/code/modules/reagents/chemistry/reagents/food.dm +++ b/code/modules/reagents/chemistry/reagents/food.dm @@ -29,8 +29,8 @@ /datum/reagent/consumable/nutriment/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(!isvampire(M)) - update_flags |= M.adjustBruteLoss(-brute_heal, FALSE) - update_flags |= M.adjustFireLoss(-burn_heal, FALSE) + update_flags |= M.adjustBruteLoss(-brute_heal, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-burn_heal, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/nutriment/on_new(list/supplied_data) @@ -490,8 +490,8 @@ else if(H.job == JOB_TITLE_CHEF) if(prob(20)) //stays in the system much longer than sprinkles/banana juice, so heals slower to partially compensate - update_flags |= H.adjustBruteLoss(-1, FALSE) - update_flags |= H.adjustFireLoss(-1, FALSE) + update_flags |= H.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= H.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/sprinkles @@ -504,8 +504,8 @@ /datum/reagent/consumable/sprinkles/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(ishuman(M) && (M.job in list(JOB_TITLE_OFFICER, JOB_TITLE_PILOT, JOB_TITLE_DETECTIVE, JOB_TITLE_WARDEN, JOB_TITLE_HOS, JOB_TITLE_BRIGDOC, JOB_TITLE_LAWYER, JOB_TITLE_JUDGE))) - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/cornoil @@ -686,8 +686,8 @@ var/update_flags = STATUS_UPDATE_NONE M.reagents.add_reagent("sugar", 3) if(prob(20)) - update_flags |= M.adjustBruteLoss(-3, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-3, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/onion @@ -743,8 +743,8 @@ if(M.mind.special_role == SPECIAL_ROLE_WIZARD || M.mind.special_role == SPECIAL_ROLE_WIZARD_APPRENTICE) update_flags |= M.adjustToxLoss(-0.5, FALSE) update_flags |= M.adjustOxyLoss(-0.5, FALSE) - update_flags |= M.adjustBruteLoss(-0.5, FALSE) - update_flags |= M.adjustFireLoss(-0.5, FALSE) + update_flags |= M.adjustBruteLoss(-0.5, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-0.5, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/porktonium @@ -962,8 +962,8 @@ /datum/reagent/msg/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(istype(M.mind?.martial_art, /datum/martial_art/mr_chang)) - update_flags |= M.adjustBruteLoss(-0.75) - update_flags |= M.adjustFireLoss(-0.75) + update_flags |= M.adjustBruteLoss(-0.75, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-0.75, affect_robotic = FALSE) else if(prob(5)) if(prob(10)) @@ -1138,8 +1138,8 @@ /datum/reagent/consumable/vitfro/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(prob(80)) - update_flags |= M.adjustBruteLoss(-0.5, FALSE) - update_flags |= M.adjustFireLoss(-0.5, FALSE) + update_flags |= M.adjustBruteLoss(-0.5, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-0.5, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/consumable/animal_feed @@ -1153,8 +1153,8 @@ /datum/reagent/consumable/animal_feed/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(isvulpkanin(M) || istajaran(M)) - update_flags |= M.adjustBruteLoss(-0.25, FALSE) - update_flags |= M.adjustFireLoss(-0.25, FALSE) + update_flags |= M.adjustBruteLoss(-0.25, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-0.25, FALSE, affect_robotic = FALSE) M.AdjustDisgust(-5 SECONDS) if(prob(2)) to_chat(M, span_notice("You feel delicious yummy snack taste!")) diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index 045a8053fcd..6cd40966d6d 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -150,8 +150,8 @@ update_flags |= M.adjustCloneLoss(-1, FALSE) update_flags |= M.adjustOxyLoss(-2, FALSE) update_flags |= M.adjustToxLoss(-0.5, FALSE) - update_flags |= M.adjustBruteLoss(-2, FALSE) - update_flags |= M.adjustFireLoss(-4, FALSE) + update_flags |= M.adjustBruteLoss(-2, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-4, FALSE, affect_robotic = FALSE) if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/head/head = H.get_organ(BODY_ZONE_HEAD) @@ -180,8 +180,8 @@ /datum/reagent/medicine/rezadone/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE update_flags |= M.adjustCloneLoss(-5, FALSE) //What? We just set cloneloss to 0. Why? Simple; this is so external organs properly unmutate. // why don't you fix the code instead // i fix the code dont worry - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/external/head/head = H.get_organ(BODY_ZONE_HEAD) @@ -289,8 +289,8 @@ /datum/reagent/medicine/salglu_solution/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(prob(33)) - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) if(ishuman(M) && prob(33)) var/mob/living/carbon/human/H = M //do not restore blood on things with no blood by nature. @@ -333,7 +333,7 @@ /datum/reagent/medicine/ab_stimulant/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE to_chat(M, "Вы чуствуете чесотку.") - update_flags |= M.adjustFireLoss(-1.5, FALSE) + update_flags |= M.adjustFireLoss(-1.5, FALSE, affect_robotic = FALSE) if(volume > 1.9) if(HAS_TRAIT(M, TRAIT_HUSK)) var/mob/living/carbon/human/H = M @@ -387,8 +387,8 @@ var/update_flags = STATUS_UPDATE_NONE update_flags |= M.adjustToxLoss(-0.5, FALSE) update_flags |= M.adjustOxyLoss(-0.5, FALSE) - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) if(prob(50)) M.AdjustLoseBreath(-2 SECONDS) return ..() | update_flags @@ -506,7 +506,7 @@ /datum/reagent/medicine/sal_acid/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(prob(55)) - update_flags |= M.adjustBruteLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) if(M.bodytemperature > BODYTEMP_NORMAL) M.adjust_bodytemperature(-10) return ..() | update_flags @@ -523,7 +523,7 @@ /datum/reagent/medicine/menthol/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE if(prob(55)) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) if(M.bodytemperature > 280) M.adjust_bodytemperature(-10) return ..() | update_flags @@ -561,8 +561,8 @@ if(volume >= 4) M.LoseBreath(12 SECONDS) if(prob(33)) - update_flags |= M.adjustBruteLoss(-0.5, FALSE) - update_flags |= M.adjustFireLoss(-0.5, FALSE) + update_flags |= M.adjustBruteLoss(-0.5, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-0.5, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/medicine/ephedrine @@ -591,8 +591,8 @@ update_flags |= M.adjustOxyLoss(-1, FALSE) if(M.health < 0 || M.health > 0 && prob(33)) update_flags |= M.adjustToxLoss(-1, FALSE) - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/medicine/ephedrine/overdose_process(mob/living/M, severity) @@ -732,8 +732,8 @@ update_flags |= M.adjustOxyLoss(-5, FALSE) if(M.health < -25) update_flags |= M.adjustToxLoss(-1, FALSE) - update_flags |= M.adjustBruteLoss(-1.5, FALSE) - update_flags |= M.adjustFireLoss(-1.5, FALSE) + update_flags |= M.adjustBruteLoss(-1.5, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1.5, FALSE, affect_robotic = FALSE) else if(M.health > -60) update_flags |= M.adjustToxLoss(1, FALSE) M.reagents.remove_reagent("sarin", 20) @@ -769,8 +769,8 @@ update_flags |= M.adjustOxyLoss(-5, FALSE) if(M.health < -10 && M.health > -65) update_flags |= M.adjustToxLoss(-0.5, FALSE) - update_flags |= M.adjustBruteLoss(-0.5, FALSE) - update_flags |= M.adjustFireLoss(-0.5, FALSE) + update_flags |= M.adjustBruteLoss(-0.5, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-0.5, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/medicine/epinephrine/overdose_process(mob/living/M, severity) @@ -947,8 +947,8 @@ if(volume > 5) update_flags |= M.adjustOxyLoss(-2.5, FALSE) update_flags |= M.adjustToxLoss(-2.5, FALSE) - update_flags |= M.adjustBruteLoss(-5, FALSE) - update_flags |= M.adjustFireLoss(-5, FALSE) + update_flags |= M.adjustBruteLoss(-5, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-5, FALSE, affect_robotic = FALSE) update_flags |= M.setStaminaLoss(0, FALSE) M.SetSlowed(0) M.AdjustDizzy(-20 SECONDS) @@ -990,8 +990,8 @@ var/update_flags = STATUS_UPDATE_NONE if(user.health < 50 && user.health > 0) update_flags |= user.adjustOxyLoss(-2, FALSE) - update_flags |= user.adjustBruteLoss(-2, FALSE) - update_flags |= user.adjustFireLoss(-2, FALSE) + update_flags |= user.adjustBruteLoss(-2, FALSE, affect_robotic = FALSE) + update_flags |= user.adjustFireLoss(-2, FALSE, affect_robotic = FALSE) user.AdjustParalysis(-6 SECONDS) user.AdjustStunned(-6 SECONDS) user.AdjustWeakened(-6 SECONDS) @@ -1154,8 +1154,8 @@ /datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustBruteLoss(-2.5, FALSE) //A ton of healing - this is a 50 telecrystal investment. - update_flags |= M.adjustFireLoss(-2.5, FALSE) + update_flags |= M.adjustBruteLoss(-2.5, FALSE, affect_robotic = FALSE) //A ton of healing - this is a 50 telecrystal investment. + update_flags |= M.adjustFireLoss(-2.5, FALSE, affect_robotic = FALSE) update_flags |= M.adjustOxyLoss(-7.5, FALSE) update_flags |= M.adjustToxLoss(-2.5, FALSE) update_flags |= M.adjustBrainLoss(-7.5, FALSE) @@ -1183,8 +1183,8 @@ var/update_flags = STATUS_UPDATE_NONE update_flags |= M.adjustToxLoss(-0.25, FALSE) update_flags |= M.adjustOxyLoss(-0.25, FALSE) - update_flags |= M.adjustBruteLoss(-0.25, FALSE) - update_flags |= M.adjustFireLoss(-0.25, FALSE) + update_flags |= M.adjustBruteLoss(-0.25, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-0.25, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/medicine/omnizine_diluted/overdose_process(mob/living/M, severity) @@ -1275,7 +1275,7 @@ /datum/reagent/medicine/bicaridine/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustBruteLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/medicine/bicaridine/overdose_process(mob/living/M) @@ -1295,7 +1295,7 @@ /datum/reagent/medicine/kelotane/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/medicine/kelotane/overdose_process(mob/living/M) @@ -1315,8 +1315,8 @@ /datum/reagent/medicine/earthsblood/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustBruteLoss(-1.5, FALSE) - update_flags |= M.adjustFireLoss(-1.5, FALSE) + update_flags |= M.adjustBruteLoss(-1.5, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1.5, FALSE, affect_robotic = FALSE) update_flags |= M.adjustOxyLoss(-7.5, FALSE) update_flags |= M.adjustToxLoss(-1.5, FALSE) update_flags |= M.adjustBrainLoss(1, FALSE) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that! @@ -1344,8 +1344,8 @@ /datum/reagent/medicine/syndiezine/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustBruteLoss(-0.5, FALSE) - update_flags |= M.adjustFireLoss(-0.5, FALSE) + update_flags |= M.adjustBruteLoss(-0.5, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-0.5, FALSE, affect_robotic = FALSE) update_flags |= M.adjustOxyLoss(-4.5, FALSE) update_flags |= M.adjustToxLoss(-0.5, FALSE) update_flags |= M.adjustCloneLoss(-0.5, FALSE) @@ -1434,8 +1434,8 @@ if(M.health < 40) update_flags |= M.adjustOxyLoss(-6, FALSE) update_flags |= M.adjustToxLoss(-2, FALSE) - update_flags |= M.adjustBruteLoss(-4, FALSE) - update_flags |= M.adjustFireLoss(-4, FALSE) + update_flags |= M.adjustBruteLoss(-4, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-4, FALSE, affect_robotic = FALSE) else if(prob(50)) to_chat(M, span_warning("Your skin feels like it is ripping apart and your veins are on fire!")) //It is experimental and does cause scars, after all. @@ -1454,8 +1454,8 @@ /datum/reagent/medicine/lavaland_extract/on_mob_life(mob/living/carbon/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustBruteLoss(-2.5, FALSE) - update_flags |= M.adjustFireLoss(-2.5, FALSE) + update_flags |= M.adjustBruteLoss(-2.5, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-2.5, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/medicine/lavaland_extract/overdose_process(mob/living/M) // This WILL be brutal @@ -1479,8 +1479,8 @@ /datum/reagent/medicine/zessulblood/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/medicine/pure_plasma //unique chemical for plasmaman @@ -1502,8 +1502,8 @@ normal_temperature = BODYTEMP_NORMAL if(M.bodytemperature < normal_temperature) M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT) - update_flags |= M.adjustBruteLoss(-0.25, FALSE) - update_flags |= M.adjustFireLoss(-0.25, FALSE) + update_flags |= M.adjustBruteLoss(-0.25, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-0.25, FALSE, affect_robotic = FALSE) else update_flags |= M.adjustToxLoss(4, FALSE) return ..() | update_flags @@ -1586,18 +1586,18 @@ var/update_flags = STATUS_UPDATE_NONE update_flags |= M.adjustOxyLoss(-3.5, FALSE) update_flags |= M.adjustToxLoss(-2.5, FALSE) - update_flags |= M.adjustBruteLoss(-3, FALSE) - update_flags |= M.adjustFireLoss(-3, FALSE) + update_flags |= M.adjustBruteLoss(-3, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-3, FALSE, affect_robotic = FALSE) if(prob(50)) M.AdjustLoseBreath(-2 SECONDS) M.SetConfused(0) M.SetSleeping(0) if(M.getFireLoss() > 35) - update_flags |= M.adjustFireLoss(-4, FALSE) + update_flags |= M.adjustFireLoss(-4, FALSE, affect_robotic = FALSE) if(M.health < 0) update_flags |= M.adjustToxLoss(-1, FALSE) - update_flags |= M.adjustBruteLoss(-1, FALSE) - update_flags |= M.adjustFireLoss(-1, FALSE) + update_flags |= M.adjustBruteLoss(-1, FALSE, affect_robotic = FALSE) + update_flags |= M.adjustFireLoss(-1, FALSE, affect_robotic = FALSE) return ..() | update_flags /datum/reagent/medicine/adv_lava_extract/overdose_process(mob/living/M, severity) diff --git a/code/modules/reagents/chemistry/reagents/misc.dm b/code/modules/reagents/chemistry/reagents/misc.dm index ff21df5e77a..6380e5ef680 100644 --- a/code/modules/reagents/chemistry/reagents/misc.dm +++ b/code/modules/reagents/chemistry/reagents/misc.dm @@ -473,7 +473,7 @@ if(prob(10)) M.emote("giggle") if(M?.mind.assigned_role == JOB_TITLE_CLOWN || M?.mind.assigned_role == SPECIAL_ROLE_HONKSQUAD) - update_flags |= M.adjustBruteLoss(-0.75) //Screw those pesky clown beatings! + update_flags |= M.adjustBruteLoss(-0.75, affect_robotic = FALSE) //Screw those pesky clown beatings! else M.AdjustDizzy(20 SECONDS, 0, 1000 SECONDS) M.Druggy(30 SECONDS) diff --git a/code/modules/reagents/chemistry/reagents/ninja.dm b/code/modules/reagents/chemistry/reagents/ninja.dm index 0775e13e05b..fff9810cf6f 100644 --- a/code/modules/reagents/chemistry/reagents/ninja.dm +++ b/code/modules/reagents/chemistry/reagents/ninja.dm @@ -51,8 +51,8 @@ our_mob.AdjustDrunk(-8 SECONDS) our_mob.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 8, 0, 1) //Basic damage types - update_flags |= our_mob.adjustBruteLoss(-5, FALSE) - update_flags |= our_mob.adjustFireLoss(-5, FALSE) + update_flags |= our_mob.adjustBruteLoss(-5, FALSE, affect_robotic = FALSE) + update_flags |= our_mob.adjustFireLoss(-5, FALSE, affect_robotic = FALSE) update_flags |= our_mob.adjustOxyLoss(-5, FALSE) update_flags |= our_mob.adjustToxLoss(-5, FALSE) //Eyes and ears diff --git a/code/modules/reagents/chemistry/reagents/paradise_pop.dm b/code/modules/reagents/chemistry/reagents/paradise_pop.dm index fdf6d358779..c4dd3635b7d 100644 --- a/code/modules/reagents/chemistry/reagents/paradise_pop.dm +++ b/code/modules/reagents/chemistry/reagents/paradise_pop.dm @@ -48,9 +48,9 @@ var/heal_type = rand(0, 5) //still prefer the string version switch(heal_type) if(0) - update_flags |= M.adjustBruteLoss(-0.25, FALSE) + update_flags |= M.adjustBruteLoss(-0.25, FALSE, affect_robotic = FALSE) if(1) - update_flags |= M.adjustFireLoss(-0.25, FALSE) + update_flags |= M.adjustFireLoss(-0.25, FALSE, affect_robotic = FALSE) if(2) update_flags |= M.adjustToxLoss(-0.25, FALSE) if(3) diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 7b31c15b90c..a8d96df05b4 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -257,7 +257,7 @@ return if(!M.dna) return //No robots, AIs, aliens, Ians or other mobs should be affected by this. - if((method==REAGENT_TOUCH && prob(33)) || method==REAGENT_INGEST) + if(volume > 1 && ((method == REAGENT_TOUCH && prob(33)) || method == REAGENT_INGEST)) randmutb(M) M.check_genes() @@ -353,6 +353,8 @@ color = "#00FF32" process_flags = ORGANIC | SYNTHETIC taste_description = "ACID" + //acid is not using permeability_coefficient to calculate protection, but armour["acid"] + clothing_penetration = 1 var/acidpwr = 10 //the amount of protection removed from the armour /datum/reagent/acid/on_mob_life(mob/living/M) @@ -364,30 +366,34 @@ if(ishuman(M) && !isgrey(M)) var/mob/living/carbon/human/H = M if(method == REAGENT_TOUCH) - if(volume > 25) - if(H.wear_mask) - to_chat(H, "Your [H.wear_mask] protects you from the acid!") - return + to_chat(H, span_warning("The greenish acidic substance stings[volume < 1 ? " you, but isn't concentrated enough to harm you" : null]!")) + if(volume < 1) + return - if(H.head) - to_chat(H, "Your [H.wear_mask] protects you from the acid!") - return + var/damage_coef = 0 + var/should_scream = TRUE + for(var/obj/item/organ/external/bodypart as anything in H.bodyparts) + if(istype(bodypart, /obj/item/organ/external/head) && !H.wear_mask && !H.head && volume > 25) + bodypart.disfigure() + if(H.has_pain() && should_scream) + H.emote("scream") + should_scream = FALSE + + damage_coef = (100 - clamp(H.getarmor_organ(bodypart, "acid"), 0, 100))/100 + if(damage_coef > 0 && should_scream) + should_scream = FALSE + if(H.has_pain()) + H.emote("scream") + H.apply_damage(clamp(volume - 1, 2, 20) * damage_coef / length(H.bodyparts), BURN, def_zone = bodypart) + H.apply_damage(clamp((volume - 1)/2, 1, 10) * damage_coef / length(H.bodyparts), BRUTE, def_zone = bodypart) + return - if(prob(75)) - H.take_organ_damage(5, 10) + if(method == REAGENT_INGEST) + to_chat(H, span_warning("The greenish acidic substance stings[volume < 1 ? " you, but isn't concentrated enough to harm you" : null]!")) + if(volume >= 1) + H.adjustFireLoss(clamp((volume - 1) * 2, 0, 30)) + if(H.has_pain()) H.emote("scream") - var/obj/item/organ/external/affecting = H.get_organ(BODY_ZONE_HEAD) - if(affecting) - affecting.disfigure() - else - H.take_organ_damage(5, 10) - else - H.take_organ_damage(5, 10) - else - to_chat(H, "The greenish acidic substance stings[volume < 10 ? " you, but isn't concentrated enough to harm you" : null]!") - if(volume >= 10) - H.adjustFireLoss(min(max(4, (volume - 10) * 2), 20)) - H.emote("scream") /datum/reagent/acid/reaction_obj(obj/O, volume) if(ismob(O.loc)) //handled in human acid_act() @@ -407,6 +413,8 @@ description = "Fluorosulfuric acid is a an extremely corrosive super-acid." color = "#5050FF" acidpwr = 42 + //acid is not using permeability_coefficient to calculate protection, but armour["acid"] + clothing_penetration = 1 /datum/reagent/acid/facid/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE @@ -419,11 +427,11 @@ if(method == REAGENT_TOUCH) if(volume >= 5) var/damage_coef = 0 - var/isDamaged = FALSE + var/should_scream = TRUE for(var/obj/item/organ/external/bodypart as anything in H.bodyparts) damage_coef = (100 - clamp(H.getarmor_organ(bodypart, "acid"), 0, 100))/100 - if(damage_coef > 0 && !isDamaged) - isDamaged = TRUE + if(damage_coef > 0 && should_scream) + should_scream = FALSE if(H.has_pain()) H.emote("scream") H.apply_damage(clamp((volume - 5) * 3, 8, 75) * damage_coef / length(H.bodyparts), BURN, def_zone = bodypart) @@ -440,7 +448,8 @@ return else if(volume >= 5) - H.emote("scream") + if(H.has_pain()) + H.emote("scream") H.adjustFireLoss(clamp((volume - 5) * 3, 8, 75)); to_chat(H, "The blueish acidic substance stings[volume < 5 ? " you, but isn't concentrated enough to harm you" : null]!") @@ -1285,7 +1294,7 @@ /datum/reagent/ants/reaction_mob(mob/living/M, method=REAGENT_TOUCH, volume) //NOT THE ANTS if(iscarbon(M)) - if(method == REAGENT_TOUCH || method==REAGENT_INGEST) + if(volume > 1 && (method == REAGENT_TOUCH || method == REAGENT_INGEST)) to_chat(M, "OH SHIT ANTS!!!!") M.emote("scream") M.adjustBruteLoss(4) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 9f70f5374ee..127c1c113ec 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -135,6 +135,12 @@ /obj/item/reagent_containers/spray/cleaner/medical/empty list_reagents = list() +/obj/item/reagent_containers/spray/cleaner/tactical + name = "Tactical cleaner" + desc = "Бутылочка из прочнейшего тёмно-синего пластика, распылитель чёрного цвета украшен тактическим снаряжением, разработана уборочно-силовыми структурами Нанотрейзен для ЗАЧИСТКИ и контроля грязи в помещениях." + icon_state = "cleaner_tactical" + item_state = "cleaner_tactical" + /obj/item/reagent_containers/spray/blue_cleaner name = "bluespace cleaner" desc = "A spray with an increased storage of reagents, or it's not that simple...." diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index f3e556d0bfc..cc2c646014a 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -50,6 +50,7 @@ /obj/machinery/disposal/Initialize(mapload, obj/structure/disposalconstruct/made_from) // this will get a copy of the air turf and take a SEND PRESSURE amount of air from it . = ..() + air_contents = new if(made_from) setDir(made_from.dir) return INITIALIZE_HINT_LATELOAD @@ -60,7 +61,6 @@ var/datum/gas_mixture/env = new env.copy_from(loc.return_air()) var/datum/gas_mixture/removed = env.remove(SEND_PRESSURE + 1) - air_contents = new air_contents.merge(removed) trunk_check() update() diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 38cdb253772..ee47d5e60bd 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -941,7 +941,7 @@ name = "Ammo Box (10mm)" id = "c10mm" build_type = AUTOLATHE - materials = list(MAT_METAL = 30500) + materials = list(MAT_METAL = 45750) build_path = /obj/item/ammo_box/c10mm category = list("hacked", "Security") diff --git a/code/modules/research/designs/equipment_designs.dm b/code/modules/research/designs/equipment_designs.dm index eab2fb0d521..2720519793c 100644 --- a/code/modules/research/designs/equipment_designs.dm +++ b/code/modules/research/designs/equipment_designs.dm @@ -369,3 +369,13 @@ materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_SILVER = 2000, MAT_DIAMOND = 1500) build_path = /obj/item/t_scanner/science category = list("Equipment") + +/datum/design/holotool + name = "holotool" + desc = "A highly experimental holographic tool projector" + id = "holotool" + req_tech = null //only from disks + build_type = PROTOLATHE + materials = list(MAT_SILVER = 2000, MAT_TITANIUM = 4000, MAT_DIAMOND = 2000, MAT_BLUESPACE = 2000) + build_path = /obj/item/holotool + category = list("Equipment") diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 060f7660fe1..e361291f828 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -1816,3 +1816,314 @@ construction_time = 5 SECONDS build_path = /obj/item/borg/upgrade/syndie_rcd category = list("Syndicate") + +//Paintkits +/datum/design/paint_ripley_titan + name = "Ripley, Firefighter \"Titan's Fist\"" + id = "p_titan" + build_type = MECHFAB + req_tech = list("combat" = 5, "engineering" = 5, "materials" = 5, "programming" = 5) + build_path = /obj/item/paintkit/ripley_titansfist + materials = list(MAT_METAL = 20000, MAT_PLASMA = 2000, MAT_GLASS = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_ripley_earth + name = "Ripley, Firefighter \"Strike the Earth!\"" + id = "p_earth" + build_type = MECHFAB + req_tech = list("combat" = 5, "engineering" = 5, "materials" = 5, "programming" = 5) + build_path = /obj/item/paintkit/ripley_mercenary + materials = list(MAT_METAL = 20000, MAT_PLASMA = 2000, MAT_GLASS = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_ripley_red + name = "Ripley, Firefighter \"Firestarter\"" + id = "p_red" + build_type = MECHFAB + req_tech = list("engineering" = 5, "materials" = 5, "toxins" = 5) + build_path = /obj/item/paintkit/ripley_red + materials = list(MAT_METAL = 20000, MAT_PLASMA = 2000, MAT_GLASS = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_firefighter_hauler + name = "Ripley, Firefighter \"Hauler\"" + id = "p_hauler" + build_type = MECHFAB + req_tech = list("engineering" = 5, "materials" = 5, "programming" = 5) + build_path = /obj/item/paintkit/firefighter_Hauler + materials = list(MAT_METAL = 20000, MAT_PLASMA = 2000, MAT_GLASS = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_firefighter_zairjah + name = "Ripley, Firefighter \"Zairjah\"" + id = "p_zairjah" + build_type = MECHFAB + req_tech = list("engineering" = 5, "materials" = 5, "programming" = 5, "toxins" = 5) + build_path = /obj/item/paintkit/firefighter_zairjah + materials = list(MAT_METAL = 20000, MAT_PLASMA = 2000, MAT_GLASS = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_firefighter_combat + name = "Ripley, Firefighter \"Combat Ripley\"" + id = "p_combat" + build_type = MECHFAB + req_tech = list("combat" = 5, "engineering" = 5, "materials" = 5, "programming" = 5) + build_path = /obj/item/paintkit/firefighter_combat + materials = list(MAT_METAL = 20000, MAT_PLASMA = 2000, MAT_GLASS = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_firefighter_reaper + name = "Ripley, Firefighter \"Reaper\"" + id = "p_reaper" + build_type = MECHFAB + req_tech = list("combat" = 5, "engineering" = 5, "materials" = 5, "programming" = 5,"toxins" = 5) + build_path = /obj/item/paintkit/firefighter_Reaper + materials = list(MAT_METAL = 20000, MAT_PLASMA = 2000, MAT_GLASS = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_firefighter_aluminizer + name = "Ripley, Firefighter \"Aluminizer\"" + id = "p_aluminizer" + build_type = MECHFAB + req_tech = list("engineering" = 5, "materials" = 5, "programming" = 5,"toxins" = 5) + build_path = /obj/item/paintkit/firefighter_aluminizer + materials = list(MAT_METAL = 20000, MAT_PLASMA = 2000, MAT_GLASS = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_ripley_nt + name = "Ripley, Firefighter \"NT Special\"" + id = "p_ripleynt" + build_type = MECHFAB + req_tech = list("combat" = 5, "engineering" = 5, "materials" = 5, "programming" = 5) + build_path = /obj/item/paintkit/ripley_nt + materials = list(MAT_METAL = 20000, MAT_PLASMA = 2000, MAT_GLASS = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_clarke_orangey + name = "Clarke \"Orangey\"" + id = "p_orangey" + build_type = MECHFAB + req_tech = list("engineering" = 5, "materials" = 5, "toxins" = 5) + build_path = /obj/item/paintkit/clarke_orangey + materials = list(MAT_METAL = 20000, MAT_DIAMOND = 2000, MAT_URANIUM = 2000) + construction_time = 20 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_clarke_spiderclarke + name = "Clarke \"Spiderclarke\"" + id = "p_spiderclarke" + build_type = MECHFAB + req_tech = list("combat" = 4, "engineering" = 5, "materials" = 5, "toxins" = 5) + build_path = /obj/item/paintkit/clarke_spiderclarke + materials = list(MAT_METAL = 20000, MAT_DIAMOND = 2000, MAT_URANIUM = 2000) + construction_time = 20 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_odysseus_hermes + name = "Odysseus \"Hermes\"" + id = "p_hermes" + build_type = MECHFAB + req_tech = list("engineering" = 5, "materials" = 5, "programming" = 5,"biotech" = 5) + build_path = /obj/item/paintkit/odysseus_hermes + materials = list(MAT_METAL = 20000, MAT_DIAMOND = 2000, MAT_URANIUM = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_odysseus_reaper + name = "Odysseus \"Reaper\"" + id = "p_odyreaper" + build_type = MECHFAB + req_tech = list("combat" = 5, "engineering" = 5, "materials" = 5, "programming" = 5, "toxins" = 5) + build_path = /obj/item/paintkit/odysseus_death + materials = list(MAT_METAL = 20000, MAT_DIAMOND = 2000, MAT_URANIUM = 2000) + construction_time = 10 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_gygax_alt + name = "Gygax \"Old\"" + id = "p_altgygax" + build_type = MECHFAB + req_tech = list("combat" = 4, "engineering" = 5, "materials" = 5, "programming" = 4) + build_path = /obj/item/paintkit/gygax_alt + materials = list(MAT_METAL = 30000, MAT_DIAMOND = 3000, MAT_URANIUM = 3000) + construction_time = 20 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_gygax_pobeda + name = "Gygax \"Pobeda\"" + id = "p_pobedagygax" + build_type = MECHFAB + req_tech = list("combat" = 5, "engineering" = 4, "materials" = 4, "programming" = 6) + build_path = /obj/item/paintkit/gygax_pobeda + materials = list(MAT_METAL = 30000, MAT_DIAMOND = 3000, MAT_URANIUM = 3000) + construction_time = 20 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_gygax_white + name = "Gygax \"White\"" + id = "p_whitegygax" + build_type = MECHFAB + req_tech = list("biotech" = 4, "engineering" = 4, "materials" = 5, "programming" = 3 ) + build_path = /obj/item/paintkit/gygax_white + materials = list(MAT_METAL = 30000, MAT_DIAMOND = 3000, MAT_URANIUM = 3000) + construction_time = 20 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_gygax_medgax + name = "Gygax \"Medgax\"" + id = "p_medgax" + build_type = MECHFAB + req_tech = list("engineering" = 5, "materials" = 5, "programming" = 6,"biotech" = 6, "toxins" = 6) + build_path = /obj/item/paintkit/gygax_medgax + materials = list(MAT_METAL = 30000, MAT_DIAMOND = 3000, MAT_URANIUM = 3000) + construction_time = 20 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_gygax_black + name = "Gygax \"Syndicate\"" + id = "p_blackgygax" + build_type = MECHFAB + req_tech = list("combat" = 6, "engineering" = 5, "materials" = 6, "programming" = 5, "syndicate" = 3) + build_path = /obj/item/paintkit/gygax_syndie + materials = list(MAT_METAL = 30000, MAT_DIAMOND = 3000, MAT_URANIUM = 3000) + construction_time = 20 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_gygax_pirate + name = "Gygax \"Pirate\"" + id = "p_pirategygax" + build_type = MECHFAB + req_tech = list("combat" = 6, "engineering" = 6, "materials" = 6, "programming" = 6) + build_path = /obj/item/paintkit/gygax_pirate + materials = list(MAT_METAL = 30000, MAT_DIAMOND = 3000, MAT_URANIUM = 3000) + construction_time = 30 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_durand_unathi + name = "Durand \"Kharn MK. IV\"" + id = "p_unathi" + build_type = MECHFAB + req_tech = list("materials" = 6, "biotech" = 6) + build_path = /obj/item/paintkit/durand_unathi + materials = list(MAT_METAL = 40000, MAT_DIAMOND = 4000, MAT_URANIUM = 4000) + construction_time = 30 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_durand_shire + name = "Durand \"Shire\"" + id = "p_shire" + build_type = MECHFAB + req_tech = list("combat" = 6, "engineering" = 6, "materials" = 6, "programming" = 6) + build_path = /obj/item/paintkit/durand_shire + materials = list(MAT_METAL = 40000, MAT_DIAMOND = 4000, MAT_URANIUM = 4000) + construction_time = 30 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_durand_pirate + name = "Durand \"Pirate\"" + id = "p_durandpirate" + build_type = MECHFAB + req_tech = list("combat" = 6, "engineering" = 6, "materials" = 6, "programming" = 6) + build_path = /obj/item/paintkit/durand_pirate + materials = list(MAT_METAL = 40000, MAT_DIAMOND = 4000, MAT_URANIUM = 4000) + construction_time = 30 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_durand_nt + name = "Durand \"NT Special\"" + id = "p_durandnt" + build_type = MECHFAB + req_tech = list("combat" = 6, "engineering" = 6, "materials" = 6, "programming" = 6) + build_path = /obj/item/paintkit/durand_nt + materials = list(MAT_METAL = 40000, MAT_DIAMOND = 4000, MAT_URANIUM = 4000) + construction_time = 30 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_durand_soviet + name = "Durand \"Dollhouse\"" + id = "p_soviet" + build_type = MECHFAB + req_tech = list("combat" = 6, "engineering" = 6, "materials" = 6, "programming" = 6, "toxins" = 6) + build_path = /obj/item/paintkit/durand_soviet + materials = list(MAT_METAL = 40000, MAT_DIAMOND = 4000, MAT_URANIUM = 4000) + construction_time = 30 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_durand_executor + name = "Durand \"mk.V Executioner\"" + id = "p_executor" + build_type = MECHFAB + req_tech = list("combat" = 6, "engineering" = 6, "materials" = 6, "programming" = 6) + build_path = /obj/item/paintkit/durand_executor + materials = list(MAT_METAL = 40000, MAT_DIAMOND = 4000, MAT_SILVER = 4000) + construction_time = 30 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_phazon_imperion + name = "Phazon \"Imperion\"" + id = "p_imperion" + build_type = MECHFAB + req_tech = list("bluespace" = 6, "engineering" = 6, "materials" = 6, "programming" = 6, "toxins" = 5) + build_path = /obj/item/paintkit/phazon_imperion + materials = list(MAT_METAL = 50000, MAT_DIAMOND = 4000, MAT_BLUESPACE = 4000) + construction_time = 40 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_phazon_janus + name = "Phazon \"Janus\"" + id = "p_janus" + build_type = MECHFAB + req_tech = list("bluespace" = 6, "engineering" = 6, "materials" = 6, "programming" = 6, "toxins" = 5) + build_path = /obj/item/paintkit/phazon_janus + materials = list(MAT_METAL = 50000, MAT_DIAMOND = 4000, MAT_BLUESPACE = 4000) + construction_time = 40 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_phazon_plazmus + name = "Phazon \"Plazmus\"" + id = "p_plazmus" + build_type = MECHFAB + req_tech = list("bluespace" = 6, "engineering" = 6, "materials" = 6, "toxins" = 5) + build_path = /obj/item/paintkit/phazon_plazmus + materials = list(MAT_METAL = 50000, MAT_DIAMOND = 4000, MAT_PLASMA = 5000) + construction_time = 40 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_phazon_blanco + name = "Phazon \"Blanco\"" + id = "p_blanco" + build_type = MECHFAB + req_tech = list("bluespace" = 7, "engineering" = 7, "materials" = 7, "toxins" = 6) + build_path = /obj/item/paintkit/phazon_blanco + materials = list(MAT_METAL = 50000, MAT_DIAMOND = 4000, MAT_BLUESPACE = 4000) + construction_time = 40 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_phazon_nt + name = "Phazon \"NT Special\"" + id = "p_phazonnt" + build_type = MECHFAB + req_tech = list("bluespace" = 7, "engineering" = 7, "materials" = 7, "toxins" = 6) + build_path = /obj/item/paintkit/phazon_nt + materials = list(MAT_METAL = 50000, MAT_DIAMOND = 4000, MAT_BLUESPACE = 4000) + construction_time = 40 SECONDS + category = list("Exosuit Paintkits") + +/datum/design/paint_ashed + name = "Ashed \"Mechs\"" + id = "p_ashed" + build_type = MECHFAB + req_tech = list("engineering" = 5, "materials" = 6) + build_path = /obj/item/paintkit/ashed + materials = list(MAT_METAL = 20000, MAT_PLASMA = 8000, MAT_GLASS = 8000) + construction_time = 20 SECONDS + category = list("Exosuit Paintkits") diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 0e910583054..19158649a7a 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -265,6 +265,17 @@ build_path = /obj/item/bonesetter/laser category = list("Medical") +/datum/design/item/laserfullkit + name = "Advanced Surgery Kit" + desc = "Полный набор современных хирургических инструментов." + id = "laser_fullsurgerykit" + req_tech = list("biotech" = 4, "materials" = 6, "magnets" = 5) + build_path = /obj/item/storage/toolbox/surgery/advanced + build_type = PROTOLATHE + materials = list(MAT_METAL = 13000, MAT_GLASS = 10000, MAT_SILVER = 6000, MAT_GOLD = 6000) + category = list("Medical") + + /datum/design/alienscalpel name = "Alien Scalpel" desc = "An advanced scalpel obtained through Abductor technology." @@ -355,6 +366,16 @@ materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500) category = list("Medical") +/datum/design/alienfullkit + name = "Alien Surgery Kit" + desc = "Полный набор инопланетных хирургических инструментов." + id = "alien_fullsurgerykit" + req_tech = list("biotech" = 4, "materials" = 4, "abductor" = 3) + build_path = /obj/item/storage/toolbox/surgery/alien + build_type = PROTOLATHE + materials = list(MAT_METAL = 34500, MAT_SILVER = 16000, MAT_PLASMA = 5500, MAT_TITANIUM = 13500) + category = list("Medical") + ///////////////////////////////////////// //////////Cybernetic Implants//////////// ///////////////////////////////////////// @@ -796,3 +817,13 @@ build_type = PROTOLATHE materials = list(MAT_METAL = 1000, MAT_SILVER = 800, MAT_GLASS = 800, MAT_DIAMOND = 600, MAT_GOLD = 400) category = list("Medical") + +/datum/design/bbag + name = "bluespace bodybag" + desc = "A bluespace body bag designed for the storage and transportation of cadavers." + id = "bbag" + req_tech = null //only for roboquests + build_type = PROTOLATHE + materials = list(MAT_SILVER = 1200, MAT_GLASS = 800, MAT_DIAMOND = 1200, MAT_GOLD = 400, MAT_BLUESPACE = 2000) + build_path = /obj/item/bodybag/bluespace + category = list("Medical") diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm index 5343d100fbd..e4c4cd22b39 100644 --- a/code/modules/research/designs/mining_designs.dm +++ b/code/modules/research/designs/mining_designs.dm @@ -111,3 +111,13 @@ materials = list(MAT_METAL = 4000, MAT_PLASMA = 6000, MAT_URANIUM = 1000) build_path = /obj/item/grenade/plastic/miningcharge/mega category = list("Mining") + +/datum/design/fishingrod + name = "Fishing Rod" + desc = "Hey! I caught a miner!" + id = "fishingrod" + req_tech = list("materials" = 5, "engineering" = 4, "plasmatech" = 6, "biotech" = 6) + build_type = PROTOLATHE + materials = list(MAT_METAL = 10000, MAT_TITANIUM = 15000, MAT_SILVER = 2500, MAT_DIAMOND = 2500) + build_path = /obj/item/twohanded/fishingrod + category = list("Mining") diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 320b7c01d8a..1f96ed55fb1 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -120,7 +120,7 @@ category = list("Weapons") /datum/design/plasmapistol - name = "Plasma Pistol" + name = "Toxin Pistol" desc = "A specialized firearm designed to fire lethal bolts of toxins." id = "ppistol" req_tech = list("combat" = 5, "magnets" = 5, "powerstorage" = 5) @@ -359,7 +359,7 @@ category = list("ILLEGAL") /datum/design/stechkin - name = "Stechkin pistol" + name = "Stechkin Pistol" desc = "A reverse-engineered small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." id = "stechkin" req_tech = list("combat" = 6, "engineering" = 6, "syndicate" = 5) @@ -370,7 +370,7 @@ category = list("ILLEGAL") /datum/design/chameleon_kit - name = "Chameleon kit" + name = "Chameleon Kit" desc = "A set of items that contain chameleon technology allowing you to disguise as pretty much anything on the station." // "Набор хамелеона изученный с помощью реверс инженеринга." id = "chameleon_kit" req_tech = list("combat" = 4, "engineering" = 6, "syndicate" = 3, "magnets" = 5) @@ -381,7 +381,7 @@ category = list("ILLEGAL") /datum/design/chameleon_hud - name = "Chameleon hud" + name = "Chameleon Security HUD" desc = "A stolen Nanotrasen Security HUD with Syndicate chameleon technology implemented into it. Similarly to a chameleon jumpsuit, the HUD can be morphed into various other eyewear, while retaining the HUD qualities when worn." id = "chameleon_hud" req_tech = list("combat" = 4, "engineering" = 6, "syndicate" = 3, "magnets" = 5) @@ -392,7 +392,7 @@ category = list("ILLEGAL") /datum/design/e_dagger - name = "Energy dagger" + name = "Energy Dagger" desc = "A dagger made of energy that looks and functions as a pen when off." id = "e_dagger" req_tech = list("combat" = 7, "programming" = 7, "syndicate" = 2, "materials" = 7) @@ -403,7 +403,7 @@ category = list("ILLEGAL") /datum/design/a_tuner - name = "Acces tuner" + name = "Access Tuner" desc = "The access tuner is a small device that can interface with airlocks from range. It takes a few seconds to connect and can change the bolt state, open the door, or toggle emergency access." id = "a_tuner" req_tech = list("programming" = 7, "syndicate" = 4, "materials" = 7) @@ -414,7 +414,7 @@ category = list("ILLEGAL") /datum/design/c_flash - name = "Camera flash" + name = "Camera Flash" desc = "A flash disguised as a camera with a self-charging safety system preventing the flash from burning out." id = "c_flash" req_tech = list("combat" = 7, "programming" = 6, "syndicate" = 3) @@ -425,7 +425,7 @@ category = list("ILLEGAL") /datum/design/dna_scrambler - name = "DNA scrambler" + name = "DNA Scrambler" desc = "A syringe with one injection that randomizes appearance and name upon use. A cheaper but less versatile alternative to an agent card and voice changer." id = "dna_scrambler" req_tech = list("biotech" = 7, "programming" = 7, "syndicate" = 3) @@ -437,7 +437,7 @@ category = list("ILLEGAL") /datum/design/c_bug - name = "Camera bug" + name = "Camera Bug" desc = "Enables you to view all cameras on the network to track a target." id = "c_bug" req_tech = list("materials" = 5, "programming" = 7, "syndicate" = 2) @@ -459,7 +459,7 @@ category = list("ILLEGAL") /datum/design/adv_pointer - name = "Advanced pinpointer" + name = "Advanced Pinpointer" desc = "A pinpointer that tracks any specified coordinates, DNA string, high value item or the nuclear authentication disk." id = "adv_pointer" req_tech = list("materials" = 7, "programming" = 7, "syndicate" = 4) @@ -470,7 +470,7 @@ category = list("ILLEGAL") /datum/design/encryptionkey_binary - name = "Binary encryptionkey" + name = "Binary Encryptionkey" desc = "An encryption key for a radio headset. To access the binary channel, use :+." // "Ключ шифрования, на которой переговариваеются борги и ИИ." id = "binarykey" req_tech = list("engineering" = 4, "syndicate" = 3, "programming" = 4,"materials" = 3) @@ -481,7 +481,7 @@ category = list("ILLEGAL") /datum/design/encryptionkey_syndicate - name = "Syndicate encryptionkey" + name = "Syndicate Encryptionkey" desc = "An encyption key for a radio headset. Contains syndicate cypherkeys." // "Ключ шифрования синдиката, позволяющий перехватывать другие зашифрованные радиоволны." id = "syndicatekey" req_tech = list("engineering" = 4, "syndicate" = 3, "programming" = 4,"materials" = 3) @@ -492,7 +492,7 @@ category = list("ILLEGAL") /datum/design/aiModule_syndicate - name = "Hacked AI module" + name = "Hacked AI Module" desc = "A hacked AI law module" id = "syndiaimodule" req_tech = list("syndicate" = 6, "programming" = 5, "materials" = 5) @@ -503,7 +503,7 @@ category = list("ILLEGAL") /datum/design/incendiary_10mm - name = "pistol magazine 10mm incendiary" + name = "Pistol Magazine 10mm Incendiary" desc = "A gun magazine. Loaded with rounds which ignite the target." id = "10mminc" req_tech = list("combat" = 4, "syndicate" = 2, "materials" = 4) @@ -514,7 +514,7 @@ category = list("ILLEGAL") /datum/design/radio_jammer - name = "radio jammer" + name = "Radio Jammer" desc = "Device used to disrupt nearby radio communication." id = "jammer" req_tech = list("engineering" = 4, "syndicate" = 3, "programming" = 3, "materials" = 4) @@ -536,7 +536,7 @@ category = list("ILLEGAL") /datum/design/syndie_rcd_ammo - name = "suspicious matter cartridge" + name = "Suspicious Matter Cartridge" desc = "Highly compressed matter for the RCD." id = "syndie_rcd_ammo" req_tech = list("materials" = 3, "syndicate" = 3) @@ -546,7 +546,7 @@ category = list("ILLEGAL") /datum/design/syndie_rcd_ammo_large - name = "large suspicious matter cartridge" + name = "Large Suspicious Matter Cartridge" desc = "Highly compressed matter for the RCD." id = "syndie_rcd_ammo_large" req_tech = list("materials" = 3, "syndicate" = 3) @@ -567,7 +567,7 @@ category = list("ILLEGAL") /datum/design/pyroclaw - name = "Fusion gauntlets" + name = "Fusion Gauntlets" desc = "A pair of gloves designed to make superheated claws capable of cutting through almost anything. Needs a pyro anomaly core" id = "pyro_gloves" req_tech = list("combat" = 7, "materials" = 7, "engineering" = 7, "plasmatech" = 7) @@ -575,3 +575,14 @@ materials = list(MAT_METAL = 10000, MAT_GLASS = 5000, MAT_SILVER = 4000, MAT_TITANIUM = 4000, MAT_PLASMA = 8000) build_path = /obj/item/clothing/gloves/color/black/pyro_claws category = list("Weapons") + +/datum/design/real_plasma_pistol + name = "Plasma Pistol" + desc = "HA specialized firearm designed to fire heated bolts of plasma. Can be overloaded for a high damage shield breaking shot." + id = "real_plasma_pistol" + req_tech = null + build_type = PROTOLATHE + materials = list(MAT_SILVER = 6000, MAT_TITANIUM = 4000, MAT_PLASMA = 4000) + build_path = /obj/item/gun/energy/plasma_pistol + locked = TRUE + category = list("Weapons") diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index b0deac1cb8d..78594494b1d 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -29,6 +29,7 @@ var/resetTime = 15 var/cloneMode = FALSE var/cloneCount = 0 + var/clone_next = FALSE // Clones the next inserted technological item. /// The distance to your rnd console. Useful for creative mapping. var/console_dist = 3 var/list/item_reactions = list() @@ -69,10 +70,9 @@ /obj/machinery/r_n_d/experimentor/proc/SetTypeReactions() var/probWeight = 0 for(var/I in typesof(/obj/item)) - if(istype(I,/obj/item/relic)) //does istype even work here - item_reactions["[I]"] = SCANTYPE_DISCOVER - else - item_reactions["[I]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) + if(istype(I,/obj/item/relic)) + continue + item_reactions["[I]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE) if(ispath(I,/obj/item/stock_parts) || ispath(I,/obj/item/grenade/chem_grenade) || ispath(I,/obj/item/kitchen)) var/obj/item/tempCheck = I if(initial(tempCheck.icon_state) != null) //check it's an actual usable item, in a hacky way @@ -145,24 +145,52 @@ if(disabled) to_chat(user, span_warning("The [name] is offline.")) return ATTACK_CHAIN_PROCEED + if(!linked_console) to_chat(user, span_warning("The [name] should be linked to an R&D console first.")) return ATTACK_CHAIN_PROCEED + if(loaded_item) to_chat(user, span_warning("The [name] is already loaded.")) return ATTACK_CHAIN_PROCEED + if(!checkCircumstances(I)) to_chat(user, span_warning("The [I.name] is not yet valid for [src] and must be completed.")) return ATTACK_CHAIN_PROCEED + if(!I.origin_tech) to_chat(user, span_warning("The [I.name] has no technological origin.")) return ATTACK_CHAIN_PROCEED - var/list/temp_tech = ConvertReqString2List(I.origin_tech) - if(!length(temp_tech)) - to_chat(user, span_warning("The [I.name] has no technological origin.")) + + if(clone_next) + var/list/temp_tech = ConvertReqString2List(I.origin_tech) + var/techs_sum = 0 + for(var/T in temp_tech) + techs_sum += temp_tech[T] + + if(istype(I, /obj/item/relic) || (techs_sum > 4 || isstorage(I)) && !istype(I, /obj/item/storage/backpack/holding)) + to_chat(user, span_warning("Этот предмет слишком сложен для копирования. Попробуйте вставить что-то попроще.")) + return ATTACK_CHAIN_PROCEED + + if (I.type in subtypesof(/obj/item/stack)) + var/obj/item/stack/stack = I + if (stack.amount > 1) + to_chat(user, span_warning("Предмет должен быть цельным.")) + return ATTACK_CHAIN_PROCEED + + investigate_log("Experimentor has made a clone of [I]", INVESTIGATE_EXPERIMENTOR) + throwSmoke(get_turf(pick(oview(1,src)))) + for (var/i = 1; i <= badThingCoeff; i++) + visible_message(span_notice("A duplicate [I] pops out!")) + var/type_to_make = I.type + new type_to_make(get_turf(pick(oview(1,src)))) + + clone_next = FALSE return ATTACK_CHAIN_PROCEED + if(!user.drop_transfer_item_to_loc(I, src)) - return ..() + return ATTACK_CHAIN_PROCEED + loaded_item = I to_chat(user, span_notice("You have added [I] to [src].")) flick("h_lathe_load", src) @@ -214,8 +242,6 @@ dat += "
Burn" dat += "
Freeze" dat += "
Destroy
" - if(istype(loaded_item,/obj/item/relic)) - dat += "
Discover
" dat += "
Eject" else dat += "Nothing loaded." @@ -229,10 +255,10 @@ /obj/machinery/r_n_d/experimentor/proc/matchReaction(matching,reaction) var/obj/item/D = matching if(D) - if(item_reactions.Find("[D.type]")) + if(istype(D, /obj/item/relic) || item_reactions.Find("[D.type]")) var/tor = item_reactions["[D.type]"] - if(tor == text2num(reaction)) - return tor + if(istype(D, /obj/item/relic) || tor == text2num(reaction)) + return text2num(reaction) else return FAIL else @@ -276,14 +302,9 @@ else counter = 1 -/obj/machinery/r_n_d/experimentor/proc/experiment(exp,obj/item/exp_on) - recentlyExperimented = TRUE - update_icon(UPDATE_ICON_STATE) - var/chosenchem - var/criticalReaction = (exp_on.type in critical_items) ? TRUE : FALSE - //////////////////////////////////////////////////////////////////////////////////////////////// - if(exp == SCANTYPE_POKE) - visible_message("[src] prods at [exp_on] with mechanical arms.") +/obj/machinery/r_n_d/experimentor/proc/scan_poke(exp, obj/item/exp_on, chosenchem, criticalReaction, isRelict) + visible_message("[src] prods at [exp_on] with mechanical arms.") + if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[exp_on] is gripped in just the right way, enhancing its focus.") badThingCoeff++ @@ -305,9 +326,21 @@ ejectItem() if(throwing) throwing.throw_at(target, 10, 1) - //////////////////////////////////////////////////////////////////////////////////////////////// - if(exp == SCANTYPE_IRRADIATE) - visible_message("[src] reflects radioactive rays at [exp_on]!") + else if(prob(EFFECT_PROB_VERYLOW)) + visible_message("The [exp_on] begins to vibrate!") + playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 3, -1) + ejectItem() + throwSmoke(get_turf(exp_on)) + var/obj/item/relict_production/strange_teleporter/teleporter = new /obj/item/relict_production/strange_teleporter(get_turf(exp_on)) + teleporter.icon_state = exp_on.icon_state + qdel(exp_on) + else + exp = FAIL + + +/obj/machinery/r_n_d/experimentor/proc/scan_irradiate(exp, obj/item/exp_on, chosenchem, criticalReaction, isRelict) + visible_message("[src] reflects radioactive rays at [exp_on]!") + if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[exp_on] has activated an unknown subroutine!") cloneMode = TRUE @@ -337,36 +370,52 @@ var/obj/item/grenade/chem_grenade/CG = loaded_item CG.prime() ejectItem() - //////////////////////////////////////////////////////////////////////////////////////////////// - if(exp == SCANTYPE_GAS) - visible_message("[src] fills its chamber with gas, [exp_on] included.") + else if(prob(EFFECT_PROB_VERYLOW)) + visible_message("The [exp_on] has activated an unknown subroutine!") + clone_next = TRUE + ejectItem() + qdel(exp_on) + + var/T = rand(1, linked_console.files.known_tech.len) + var/datum/tech/KT = linked_console.files.known_tech[linked_console.files.known_tech[T]] + var/new_level = linked_console.files.UpdateTech(linked_console.files.known_tech[T], KT.level + 1) + var/tech_log = "[T] [new_level], " + if(tech_log) + investigate_log("[usr] increased tech experimentoring [loaded_item]: [tech_log]. ", INVESTIGATE_RESEARCH) + else + exp = FAIL + + +/obj/machinery/r_n_d/experimentor/proc/scan_gas(exp, obj/item/exp_on, chosenchem, criticalReaction, isRelict) + visible_message("[src] fills its chamber with gas, [exp_on] included.") + if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[exp_on] achieves the perfect mix!") new /obj/item/stack/sheet/mineral/plasma(get_turf(pick(oview(1,src)))) if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) visible_message("[src] destroys [exp_on], leaking dangerous gas!") chosenchem = pick("carbon","radium","toxin","condensedcapsaicin","psilocybin","space_drugs","ethanol","beepskysmash") - var/datum/reagents/R = new/datum/reagents(400) - R.my_atom = src - R.add_reagent(chosenchem , 375) + var/datum/reagents/inner_reagent = new/datum/reagents(400) + inner_reagent.my_atom = src + inner_reagent.add_reagent(chosenchem , 375) investigate_log("Experimentor has released [chosenchem] smoke.", INVESTIGATE_EXPERIMENTOR) var/datum/effect_system/smoke_spread/chem/smoke = new - smoke.set_up(R, src, TRUE) + smoke.set_up(inner_reagent, src, TRUE) playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) smoke.start() - qdel(R) + qdel(inner_reagent) ejectItem(TRUE) if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) visible_message("[src]'s chemical chamber has sprung a leak!") chosenchem = pick("mutationtoxin","nanomachines","sacid") - var/datum/reagents/R = new/datum/reagents(400) - R.my_atom = src - R.add_reagent(chosenchem , 375) + var/datum/reagents/inner_reagent = new/datum/reagents(400) + inner_reagent.my_atom = src + inner_reagent.add_reagent(chosenchem , 375) var/datum/effect_system/smoke_spread/chem/smoke = new - smoke.set_up(R, src, TRUE) + smoke.set_up(inner_reagent, src, TRUE) playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) smoke.start() - qdel(R) + qdel(inner_reagent) ejectItem(TRUE) warn_admins(usr, "[chosenchem] smoke") investigate_log("Experimentor has released [chosenchem] smoke!", INVESTIGATE_EXPERIMENTOR) @@ -378,9 +427,20 @@ empulse(src.loc, 4, 0) //change this to 4,6 once the EXPERI-Mentor is moved. investigate_log("Experimentor has generated an Electromagnetic Pulse.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) - //////////////////////////////////////////////////////////////////////////////////////////////// - if(exp == SCANTYPE_HEAT) - visible_message("[src] raises [exp_on]'s temperature.") + else if(prob(EFFECT_PROB_LOW)) + visible_message("[exp_on] achieves the perfect mix!") + playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 3, -1) + ejectItem() + throwSmoke(get_turf(exp_on)) + new /obj/item/relict_production/perfect_mix(get_turf(exp_on)) + qdel(exp_on) + else + exp = FAIL + + +/obj/machinery/r_n_d/experimentor/proc/scan_heat(exp, obj/item/exp_on, chosenchem, criticalReaction, isRelict) + visible_message("[src] raises [exp_on]'s temperature.") + if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[src]'s emergency coolant system gives off a small ding!") playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) @@ -430,9 +490,21 @@ m.apply_damage(5,BURN,pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_PRECISE_GROIN)) investigate_log("Experimentor has dealt minor burn damage to [key_name_log(m)]", INVESTIGATE_EXPERIMENTOR) ejectItem() - //////////////////////////////////////////////////////////////////////////////////////////////// - if(exp == SCANTYPE_COLD) - visible_message("[src] lowers [exp_on]'s temperature.") + else if(prob(EFFECT_PROB_LOW)) + visible_message("[exp_on] begins to shake, and in the distance the sound of rampaging animals arises!") + playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 3, -1) + ejectItem() + throwSmoke(get_turf(exp_on)) + var/obj/item/relict_production/pet_spray/R = new /obj/item/relict_production/pet_spray(get_turf(exp_on)) + R.icon_state = exp_on.icon_state + qdel(exp_on) + else + exp = FAIL + + +/obj/machinery/r_n_d/experimentor/proc/scan_cold(exp, obj/item/exp_on, chosenchem, criticalReaction, isRelict) + visible_message("[src] lowers [exp_on]'s temperature.") + if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[src]'s emergency coolant system gives off a small ding!") var/obj/item/reagent_containers/food/drinks/coffee/C = new /obj/item/reagent_containers/food/drinks/coffee(get_turf(pick(oview(1,src)))) @@ -445,15 +517,15 @@ investigate_log("Experimentor has made a cup of [chosenchem] coffee.", INVESTIGATE_EXPERIMENTOR) if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) visible_message("[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!") - var/datum/reagents/R = new/datum/reagents(400) - R.my_atom = src - R.add_reagent("frostoil" , 375) + var/datum/reagents/inner_reagent = new/datum/reagents(400) + inner_reagent.my_atom = src + inner_reagent.add_reagent("frostoil" , 375) investigate_log("Experimentor has released frostoil gas.", INVESTIGATE_EXPERIMENTOR) var/datum/effect_system/smoke_spread/chem/smoke = new - smoke.set_up(R, src, TRUE) + smoke.set_up(inner_reagent, src, TRUE) playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3) smoke.start() - qdel(R) + qdel(inner_reagent) ejectItem(TRUE) if(prob(EFFECT_PROB_LOW-badThingCoeff)) visible_message("[src] malfunctions, shattering [exp_on] and leaking cold air!") @@ -475,9 +547,21 @@ smoke.set_up(1,0, src.loc, 0) smoke.start() ejectItem() - //////////////////////////////////////////////////////////////////////////////////////////////// - if(exp == SCANTYPE_OBLITERATE) - visible_message("[exp_on] activates the crushing mechanism, [exp_on] is destroyed!") + else if(prob(EFFECT_PROB_LOW)) + visible_message("[exp_on] emits a loud pop!") + playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 3, -1) + ejectItem() + throwSmoke(get_turf(exp_on)) + var/obj/item/relict_production/R = new /obj/item/relict_production/rapid_dupe(get_turf(exp_on)) + R.icon_state = exp_on.icon_state + qdel(exp_on) + else + exp = FAIL + + +/obj/machinery/r_n_d/experimentor/proc/scan_obliterate(exp, obj/item/exp_on, chosenchem, criticalReaction, isRelict) + visible_message("[exp_on] activates the crushing mechanism.") + if(!isRelict) if(prob(EFFECT_PROB_LOW) && criticalReaction) visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!") new /obj/item/stack/sheet/plasteel(get_turf(pick(oview(1,src)))) @@ -507,22 +591,46 @@ spawn(0) cast.throw_at(pick(throwAt),10,1) ejectItem(TRUE) - //////////////////////////////////////////////////////////////////////////////////////////////// + else if(prob(EFFECT_PROB_LOW)) + visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!") + badThingCoeff++ + var/list/obj/item/stack/sheet/mineral/minreals = list(/obj/item/stack/sheet/mineral/diamond, /obj/item/stack/sheet/mineral/gold, /obj/item/stack/sheet/glass,/obj/item/stack/sheet/metal,/obj/item/stack/sheet/mineral/plasma,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/titanium,/obj/item/stack/sheet/mineral/uranium,/obj/item/stack/sheet/mineral/tranquillite,/obj/item/stack/sheet/mineral/bananium) + // Plastinium and abductor alloy are alloys, not processed ores. + for (var/i = 1; i <= 3; ++i) + var/obj/item/stack/sheet/mineral/m0 = pick(minreals) + var/obj/item/stack/sheet/mineral/M = new m0(get_turf(exp_on)) + M.amount = 10 + qdel(exp_on) + ejectItem(TRUE) + else + exp = FAIL + + +/obj/machinery/r_n_d/experimentor/proc/experiment(exp, obj/item/exp_on) + recentlyExperimented = TRUE + update_icon(UPDATE_ICON_STATE) + var/chosenchem + var/criticalReaction = (exp_on.type in critical_items) ? TRUE : FALSE + var/isRelict = istype(exp_on, /obj/item/relic) + + if(exp == SCANTYPE_POKE) + scan_poke(exp, exp_on, chosenchem, criticalReaction, isRelict) + if(exp == SCANTYPE_IRRADIATE) + scan_irradiate(exp, exp_on, chosenchem, criticalReaction, isRelict) + if(exp == SCANTYPE_GAS) + scan_gas(exp, exp_on, chosenchem, criticalReaction, isRelict) + if(exp == SCANTYPE_HEAT) + scan_heat(exp, exp_on, chosenchem, criticalReaction, isRelict) + if(exp == SCANTYPE_COLD) + scan_cold(exp, exp_on, chosenchem, criticalReaction, isRelict) + if(exp == SCANTYPE_OBLITERATE) + scan_obliterate(exp, exp_on, chosenchem, criticalReaction, isRelict) + if(exp == FAIL) var/a = pick("rumbles","shakes","vibrates","shudders") var/b = pick("crushes","spins","viscerates","smashes","insults") visible_message("[exp_on] [a], and [b], the experiment was a failure.") - if(exp == SCANTYPE_DISCOVER) - visible_message("[src] scans the [exp_on], revealing its true nature!") - playsound(src.loc, 'sound/effects/supermatter.ogg', 50, 3, -1) - var/obj/item/relic/R = loaded_item - R.reveal() - investigate_log("Experimentor has revealed a relic with [R.realProc] effect.", INVESTIGATE_EXPERIMENTOR) - ejectItem() - - //Global reactions - if(prob(EFFECT_PROB_VERYLOW) && prob(13)) visible_message("Experimentor draws the life essence of those nearby!") for(var/mob/living/m in view(4,src)) @@ -647,6 +755,114 @@ #undef FAIL +/obj/item/relict_production + name = "perfect mix" + desc = "Странный объект без эффекта и иконки. Щитспавн онли." + icon_state = "" + icon = 'icons/obj/assemblies.dmi' + origin_tech = "bluespace=3;materials=3" + var/cooldown = 5 SECONDS + COOLDOWN_DECLARE(relict_production_cooldown) + +/obj/item/relict_production/attack_self(mob/user) + if(!COOLDOWN_FINISHED(src, relict_production_cooldown)) + to_chat(user, "[src] is not ready yet.") + return FALSE + COOLDOWN_START(src, relict_production_cooldown, cooldown) + return TRUE + +/obj/item/relict_production/perfect_mix + name = "perfect mix" + desc = "Странный объект из которого можно бесконечно заполнять емкости какой-то жидкостью." + icon_state = "beaker" + item_state = "beaker" + icon = 'icons/obj/weapons/techrelic.dmi' + lefthand_file = 'icons/mob/inhands/relics_production/inhandl.dmi' + righthand_file = 'icons/mob/inhands/relics_production/inhandr.dmi' + origin_tech = "materials=4;bluespace=3" + var/datum/reagent/inner_reagent + var/transfer = 10 + +/obj/item/relict_production/perfect_mix/New() + . = ..() + inner_reagent = pick(/datum/reagent/uranium, /datum/reagent/plasma, /datum/reagent/consumable/capsaicin, /datum/reagent/consumable/frostoil, /datum/reagent/space_cleaner, /datum/reagent/consumable/drink/coffee, pick(/datum/reagent/consumable/drink/non_alcoholic_beer, /datum/reagent/consumable/ethanol/beer, /datum/reagent/beer2)) + +/obj/item/relict_production/perfect_mix/afterattack(atom/target, mob/user, proximity) + if(istype(target, /obj/item/reagent_containers/glass)) + var/obj/item/reagent_containers/glass/beaker = target + beaker.reagents.add_reagent(inner_reagent.id, transfer) + to_chat(user, "You have poured 10 units of content into this.") + else + to_chat(user, "You can't pour [src]'s content into this.") + +/obj/item/relict_production/strange_teleporter + name = "strange teleporter" + desc = "Странный объект телепортирующий вас при активации." + icon_state = "prox-multitool2" + icon = 'icons/obj/assemblies.dmi' + origin_tech = "materials=4;bluespace=4" + cooldown = 10 SECONDS + +/obj/item/relict_production/strange_teleporter/attack_self(mob/user) + if(!..()) + return + to_chat(user, "[src] begins to vibrate!") + spawn(rand(10,30)) + var/turf/userturf = get_turf(user) + if(src.loc == user && is_teleport_allowed(userturf.z)) + visible_message("The [src] twists and bends, relocating itself!") + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(5, get_turf(user)) + smoke.start() + do_teleport(user, userturf, 8, asoundin = 'sound/effects/phasein.ogg') + smoke = new + smoke.set_up(5, get_turf(user)) + smoke.start() + +/obj/item/relict_production/pet_spray + name = "pet spray" + desc = "Странный объект создающий враждебных существ." + icon_state = "armor-igniter-analyzer" + icon = 'icons/obj/assemblies.dmi' + origin_tech = "biotech=5" + cooldown = 60 SECONDS + +/obj/item/relict_production/pet_spray/attack_self(mob/user) + if(!..()) + return + var/message = "[src] begins to shake, and in the distance the sound of rampaging animals arises!" + visible_message(message) + to_chat(user, message) + var/amount = rand(1,3) + var/list/possible_mobs = list(/mob/living/simple_animal/hostile/bear, + /mob/living/simple_animal/hostile/poison/bees, + /mob/living/simple_animal/hostile/carp, + /mob/living/simple_animal/hostile/alien, + /mob/living/simple_animal/butterfly, + /mob/living/simple_animal/pet/dog/corgi + ) + var/mob/to_spawn = pick(possible_mobs) + + for(var/i in 1 to amount) + var/mob/living/simple_animal/S + S = new to_spawn(get_turf(src)) + S.faction |= "petSpraySummon" + S.gold_core_spawnable = HOSTILE_SPAWN + S.low_priority_targets += user.UID() + if(prob(50)) + for(var/j = 1, j <= rand(1, 3), j++) + step(S, pick(NORTH, SOUTH, EAST, WEST)) + + if(prob(60)) + to_chat(user, "[src] falls apart!") + qdel(src) + +/obj/item/relict_production/rapid_dupe + name = "rapid dupe" + desc = "Странный объект создающий другие странные объекты при контакте с аномалиями." + icon_state = "shock_kit" + icon = 'icons/obj/assemblies.dmi' + origin_tech = "materials=5" //////////////////////////////////SPECIAL ITEMS//////////////////////////////////////// @@ -659,127 +875,8 @@ var/realName = "defined object" var/revealed = FALSE var/realProc - var/cooldownMax = 60 - var/cooldown - var/floof /obj/item/relic/New() ..() icon_state = pick("shock_kit","armor-igniter-analyzer","infra-igniter0","infra-igniter1","radio-multitool","prox-radio1","radio-radio","timer-multitool0","radio-igniter-tank") realName = "[pick("broken","twisted","spun","improved","silly","regular","badly made")] [pick("device","object","toy","suspicious tech","gear")]" - floof = pick(/mob/living/simple_animal/pet/dog/corgi, /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/pet/dog/fox, /mob/living/simple_animal/mouse, /mob/living/simple_animal/pet/dog/pug, /mob/living/simple_animal/lizard, /mob/living/simple_animal/diona, /mob/living/simple_animal/butterfly, /mob/living/carbon/human/lesser/monkey) - - -/obj/item/relic/proc/reveal() - if(revealed) //Re-rolling your relics seems a bit overpowered, yes? - return - revealed = TRUE - name = realName - cooldownMax = rand(60,300) - realProc = pick("teleport","explode","rapidDupe","petSpray","flash","clean","floofcannon") - origin_tech = pick("engineering=[rand(2,5)]","magnets=[rand(2,5)]","plasmatech=[rand(2,5)]","programming=[rand(2,5)]","powerstorage=[rand(2,5)]") - -/obj/item/relic/attack_self(mob/user) - if(revealed) - if(cooldown) - to_chat(user, "[src] does not react!") - return - else if(src.loc == user) - cooldown = TRUE - call(src,realProc)(user) - spawn(cooldownMax) - cooldown = FALSE - else - to_chat(user, "You aren't quite sure what to do with this, yet.") - -//////////////// RELIC PROCS ///////////////////////////// - -/obj/item/relic/proc/throwSmoke(turf/where) - var/datum/effect_system/smoke_spread/smoke = new - smoke.set_up(1,0, where, 0) - smoke.start() - -/obj/item/relic/proc/floofcannon(mob/user) - playsound(src.loc, "sparks", rand(25, 50), TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - var/mob/living/C = new floof(get_turf(user)) - C.throw_at(pick(oview(10,user)),10,rand(3,8)) - throwSmoke(get_turf(C)) - warn_admins(user, "Floof Cannon", 0) - -/obj/item/relic/proc/clean(mob/user) - playsound(src.loc, "sparks", rand(25, 50), TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - var/obj/item/grenade/chem_grenade/cleaner/CL = new/obj/item/grenade/chem_grenade/cleaner(get_turf(user)) - CL.prime() - warn_admins(user, "Smoke", 0) - -/obj/item/relic/proc/flash(mob/user) - playsound(src.loc, "sparks", rand(25, 50), TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - var/obj/item/grenade/flashbang/CB = new/obj/item/grenade/flashbang(get_turf(user)) - CB.prime() - warn_admins(user, "Flash") - -/obj/item/relic/proc/petSpray(mob/user) - var/message = "[src] begins to shake, and in the distance the sound of rampaging animals arises!" - visible_message(message) - to_chat(user, message) - var/animals = rand(1,25) - var/counter - var/list/valid_animals = list(/mob/living/simple_animal/parrot,/mob/living/simple_animal/butterfly,/mob/living/simple_animal/pet/cat,/mob/living/simple_animal/pet/dog/corgi,/mob/living/simple_animal/crab,/mob/living/simple_animal/pet/dog/fox,/mob/living/simple_animal/lizard,/mob/living/simple_animal/mouse,/mob/living/simple_animal/pet/dog/pug,/mob/living/simple_animal/hostile/bear,/mob/living/simple_animal/hostile/poison/bees,/mob/living/simple_animal/hostile/carp) - for(counter = 1; counter < animals; counter++) - var/mobType = pick(valid_animals) - new mobType(get_turf(src)) - warn_admins(user, "Mass Mob Spawn") - if(prob(60)) - to_chat(user, "[src] falls apart!") - qdel(src) - -/obj/item/relic/proc/rapidDupe(mob/user) - audible_message("[src] emits a loud pop!") - var/list/dupes = list() - var/counter - var/max = rand(5,10) - for(counter = 1; counter < max; counter++) - var/obj/item/relic/R = new src.type(get_turf(src)) - R.name = name - R.desc = desc - R.realName = realName - R.realProc = realProc - R.revealed = TRUE - dupes |= R - spawn() - R.throw_at(pick(oview(7,get_turf(src))),10,1) - counter = 0 - spawn(rand(10,100)) - for(counter = 1; counter <= dupes.len; counter++) - var/obj/item/relic/R = dupes[counter] - qdel(R) - warn_admins(user, "Rapid duplicator", 0) - -/obj/item/relic/proc/explode(mob/user) - to_chat(user, "[src] begins to heat up!") - spawn(rand(35,100)) - if(src.loc == user) - visible_message("The [src]'s top opens, releasing a powerful blast!") - explosion(user.loc, -1, rand(1,5), rand(1,5), rand(1,5), rand(1,5), flame_range = 2, cause = src) - warn_admins(user, "Explosion") - qdel(src) //Comment this line to produce a light grenade (the bomb that keeps on exploding when used)!! - -/obj/item/relic/proc/teleport(mob/user) - to_chat(user, "The [src] begins to vibrate!") - spawn(rand(10,30)) - var/turf/userturf = get_turf(user) - if(src.loc == user && is_teleport_allowed(userturf.z)) //Because Nuke Ops bringing this back on their shuttle, then looting the ERT area is 2fun4you! - visible_message("The [src] twists and bends, relocating itself!") - throwSmoke(userturf) - do_teleport(user, userturf, 8, asoundin = 'sound/effects/phasein.ogg') - throwSmoke(get_turf(user)) - warn_admins(user, "Teleport", 0) - -//Admin Warning proc for relics -/obj/item/relic/proc/warn_admins(mob/user, RelicType, priority = 1) - var/turf/T = get_turf(src) - var/log_msg = "[RelicType] relic used by [key_name_log(user)] in [COORD(T)]" - if(priority) //For truly dangerous relics that may need an admin's attention. BWOINK! - message_admins("[RelicType] relic activated by [key_name_admin(user)] in [ADMIN_COORDJMP(T)]") - add_game_logs(log_msg) - investigate_log(log_msg, INVESTIGATE_EXPERIMENTOR) diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index 80ec8e5272c..fcf50821b76 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -131,6 +131,12 @@ GLOBAL_LIST_EMPTY(message_servers) else icon_state = "server-on" +/proc/find_pda_server() + if(GLOB.message_servers) + for(var/obj/machinery/message_server/check in GLOB.message_servers) + if(check.active) + return check + /obj/machinery/blackbox_recorder icon = 'icons/obj/stationobjs.dmi' icon_state = "blackbox" diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 36984648825..a14e5fac182 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -95,6 +95,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/ui_theme = "Nanotrasen" //Тема интерфейса + /proc/CallTechName(ID) //A simple helper proc to find the name of a tech with a given ID. for(var/T in subtypesof(/datum/tech)) var/datum/tech/tt = T @@ -479,34 +480,44 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(istype(S, /obj/machinery/r_n_d/server/core) || istype(S, /obj/machinery/r_n_d/server/centcom)) S.add_usage_log(usr, being_built, machine) + /obj/machinery/computer/rdconsole/proc/finish_machine(mob/user, amount, enough_materials, obj/machinery/r_n_d/machine, datum/design/being_built, coeff) if(machine) if(enough_materials && being_built) investigate_log("[key_name_log(user)] built [amount] of [being_built.build_path] via [machine].", INVESTIGATE_RESEARCH) + + var/locked = being_built.locked && !is_taipan(z) for(var/i in 1 to amount) var/obj/new_item = new being_built.build_path(src) if(istype(new_item, /obj/item/storage/backpack/holding)) new_item.investigate_log("built by [key_name_log(user)]", INVESTIGATE_ENGINE) + if(isitem(new_item) && !istype(new_item, /obj/item/stack/sheet)) // To avoid materials dupe glitches var/obj/item/new_item_item = new_item new_item_item.update_materials_coeff(coeff) - if(being_built.locked) + + if(locked) var/obj/item/storage/lockbox/research/L = new/obj/item/storage/lockbox/research(machine.loc) new_item.forceMove(L) L.name += " ([new_item.name])" L.origin_tech = new_item.origin_tech L.req_access = being_built.access_requirement + var/list/lockbox_access for(var/A in L.req_access) lockbox_access += "[get_access_desc(A)] " + L.desc = "A locked box. It is locked to [lockbox_access]access." + else new_item.loc = machine.loc + machine.busy = FALSE clear_wait_message() SStgui.update_uis(src) + /obj/machinery/computer/rdconsole/ui_act(action, list/params) if(..()) return @@ -967,7 +978,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole/core name = "core R&D console" - desc = "A console used to interface with R&D tools." + desc = "Консоль, используемая для взаимодействия с инструментами НИО." id = 1 /obj/machinery/computer/rdconsole/core/old_frame @@ -978,21 +989,21 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole/robotics name = "robotics R&D console" - desc = "A console used to interface with R&D tools." + desc = "Консоль, используемая для взаимодействия с инструментами НИО." id = 2 req_access = list(ACCESS_ROBOTICS) circuit = /obj/item/circuitboard/rdconsole/robotics /obj/machinery/computer/rdconsole/experiment name = "\improper E.X.P.E.R.I-MENTOR R&D console" - desc = "A console used to interface with R&D tools." + desc = "Консоль, используемая для взаимодействия с инструментами НИО." id = 3 range = 5 circuit = /obj/item/circuitboard/rdconsole/experiment /obj/machinery/computer/rdconsole/mechanics name = "mechanics R&D console" - desc = "A console used to interface with R&D tools." + desc = "Консоль, используемая для взаимодействия с инструментами НИО." id = 4 req_access = list(ACCESS_MECHANIC) circuit = /obj/item/circuitboard/rdconsole/mechanics @@ -1004,7 +1015,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole/public name = "public R&D console" - desc = "A console used to interface with R&D tools." + desc = "Консоль, используемая для взаимодействия с инструментами НИО." id = 5 req_access = list() circuit = /obj/item/circuitboard/rdconsole/public diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 7ff9b22e299..4ba73ee4d92 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -36,7 +36,7 @@ /obj/machinery/computer/camera_advanced/xenobio name = "slime management console" - desc = "A computer used for remotely handling slimes." + desc = "Компьютер, используемый для удаленного взаимодействия со слаймами." networks = list("SS13") circuit = /obj/item/circuitboard/xenobiology icon_screen = "slime_comp" diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 513132c4e0b..234355a33fd 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/emergency_shuttle name = "emergency shuttle console" - desc = "For shuttle control." + desc = "Для управления шаттлом." icon_screen = "shuttle" icon_keyboard = "tech_key" var/auth_need = 3 diff --git a/code/modules/shuttle/ert.dm b/code/modules/shuttle/ert.dm index e6eea6337da..67777b81968 100644 --- a/code/modules/shuttle/ert.dm +++ b/code/modules/shuttle/ert.dm @@ -15,7 +15,7 @@ /obj/machinery/computer/camera_advanced/shuttle_docker/ert name = "specops navigation computer" - desc = "Used to designate a precise transit location for the specops shuttle." + desc = "Используется, чтобы указать точное местоположение для отправки ОБР." icon_screen = "navigation" icon_keyboard = "med_key" shuttleId = "specops" diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index 9b4f49d0a4d..9870eb2df92 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/camera_advanced/shuttle_docker name = "navigation computer" - desc = "Used to designate a precise transit location for a spacecraft." + desc = "Используется, чтобы указать точное местоположение для отправки шаттла." icon_screen = "navigation" icon_keyboard = "med_key" jump_action = null diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index f61515183e2..756b2100a86 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -914,7 +914,7 @@ /obj/machinery/computer/shuttle/ruins_transport_shuttle // this shuttle made for station and listening post of ussp since they have lore connection between eachother, btw the shuttle existed before the change but was deleted for some reason. name = "Transport Shuttle Console" - desc = "Used to control the Transport Shuttle." + desc = "Используется для управления Транспортным шаттлом." circuit = /obj/item/circuitboard/ruins_transport_shuttle shuttleId = "ruins_transport_shuttle" possible_destinations = "ussp_dock;dj_post;sindiecake_dock;ussp_gorky17" @@ -926,7 +926,7 @@ /obj/machinery/computer/shuttle/ruins_civil_shuttle // made another shuttle, this one will fly between spacebar and twin nexus hotel. just another way to get to it. name = "Regular Civilian Shuttle Console" - desc = "Used to control the Regular Civilian Shuttle." + desc = "Используется для управления обычным гражданским шаттлом." circuit = /obj/item/circuitboard/ruins_civil_shuttle shuttleId = "ruins_civil_shuttle" possible_destinations = "spacebar;spacehotelv1;ntstation" @@ -934,20 +934,20 @@ /obj/machinery/computer/shuttle/white_ship name = "White Ship Console" - desc = "Used to control the White Ship." + desc = "Используется для управления Белым кораблём." circuit = /obj/item/circuitboard/white_ship shuttleId = "whiteship" possible_destinations = null // Set at runtime /obj/machinery/computer/shuttle/engineering name = "Engineering Shuttle Console" - desc = "Used to call and send the engineering shuttle." + desc = "Используется для вызова и отправки инженерного шаттла." shuttleId = "engineering" possible_destinations = "engineering_home;engineering_away" /obj/machinery/computer/shuttle/science name = "Science Shuttle Console" - desc = "Used to call and send the science shuttle." + desc = "Используется для вызова и отправки научного шаттла." shuttleId = "science" possible_destinations = "science_home;science_away" @@ -960,7 +960,7 @@ /obj/machinery/computer/camera_advanced/shuttle_docker/admin name = "Admin shuttle navigation computer" - desc = "Used to designate a precise transit location for the admin shuttle." + desc = "Используется, чтобы указать точное местоположение для отправки админского шаттла." icon_screen = "navigation" icon_keyboard = "med_key" shuttleId = "admin" @@ -987,7 +987,7 @@ /obj/machinery/computer/shuttle/golem_ship name = "Golem Ship Console" - desc = "Used to control the Golem Ship." + desc = "Используется для управления шаттлом големов." circuit = /obj/item/circuitboard/shuttle/golem_ship shuttleId = "freegolem" possible_destinations = "freegolem_lavaland;freegolem_space;freegolem_ussp" @@ -1000,7 +1000,7 @@ /obj/machinery/computer/shuttle/golem_ship/recall name = "golem ship recall terminal" - desc = "Used to recall the Golem Ship." + desc = "Используется для отзыва шаттла големов." possible_destinations = "freegolem_lavaland" resistance_flags = INDESTRUCTIBLE diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 8d4c3a52db3..c0a515b3646 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -375,7 +375,7 @@ **************************/ /obj/machinery/computer/supplycomp name = "Supply Shuttle Console" - desc = "Used to order supplies." + desc = "Используется для оформления заказов." icon_screen = "supply" req_access = list(ACCESS_CARGO) circuit = /obj/item/circuitboard/supplycomp @@ -388,13 +388,24 @@ /obj/machinery/computer/supplycomp/public name = "Supply Ordering Console" - desc = "Used to order supplies from cargo staff." + desc = "Используется для оформления заказов. Предназначено для общего пользования." icon = 'icons/obj/machines/computer.dmi' icon_screen = "request" circuit = /obj/item/circuitboard/ordercomp req_access = list() is_public = TRUE + +/obj/machinery/computer/supplycomp/Initialize(mapload, obj/structure/computerframe/frame) + . = ..() + + var/obj/item/circuitboard/supplycomp/my_circuit = src.frame.circuit + if(!istype(my_circuit)) + return + + can_order_contraband = my_circuit.contraband_enabled + + /obj/machinery/computer/supplycomp/attack_ai(var/mob/user as mob) return attack_hand(user) diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index 340438298a2..45084907cf7 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -65,7 +65,7 @@ /obj/machinery/computer/shuttle/sst name = "Syndicate Strike Team Shuttle Console" - desc = "Used to call and send the SST shuttle." + desc = "Используется для вызова и отправки шаттла Ударного Отряда Синдиката." icon_keyboard = "syndie_key" icon_screen = "syndishuttle" req_access = list(ACCESS_SYNDICATE) @@ -76,7 +76,7 @@ /obj/machinery/computer/shuttle/sit name = "Syndicate Infiltration Team Shuttle Console" - desc = "Used to call and send the SIT shuttle." + desc = "Используется для вызова и отправки шаттла Диверсионного Отряда Синдиката." icon_keyboard = "syndie_key" icon_screen = "syndishuttle" req_access = list(ACCESS_SYNDICATE) @@ -87,7 +87,7 @@ /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate name = "syndicate shuttle navigation computer" - desc = "Used to designate a precise transit location for the syndicate shuttle." + desc = "Используется, чтобы указать точное местоположение для отправки шаттла синдиката." icon_screen = "syndinavigation" icon_keyboard = "syndie_key" shuttleId = "syndicate" @@ -107,7 +107,7 @@ /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/sst name = "SST shuttle navigation computer" - desc = "Used to designate a precise transit location for the SST shuttle." + desc = "Используется, чтобы указать точное местоположение для отправки шаттла Ударного Отряда Синдиката." shuttleId = "sst" shuttlePortId = "sst_custom" bubble_icon = "syndibot" @@ -118,7 +118,7 @@ /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/sit name = "SIT shuttle navigation computer" - desc = "Used to designate a precise transit location for the SIT shuttle." + desc = "Используется, чтобы указать точное местоположение для отправки шаттла Диверсионного Отряда Синдиката." shuttleId = "sit" shuttlePortId = "sit_custom" bubble_icon = "syndibot" diff --git a/code/modules/shuttle/vox.dm b/code/modules/shuttle/vox.dm index 7540725fcdb..031e1988ca4 100644 --- a/code/modules/shuttle/vox.dm +++ b/code/modules/shuttle/vox.dm @@ -8,7 +8,7 @@ /obj/machinery/computer/camera_advanced/shuttle_docker/vox name = "skipjack navigation computer" - desc = "Used to designate a precise transit location for the skipjack." + desc = "Используется, чтобы указать точное местоположение для отправки Скипджека." icon_screen = "navigation" icon_keyboard = "med_key" shuttleId = "skipjack" diff --git a/code/modules/spacepods/spacepod.dm b/code/modules/spacepods/spacepod.dm index 2419f889047..9e5855e8de9 100644 --- a/code/modules/spacepods/spacepod.dm +++ b/code/modules/spacepods/spacepod.dm @@ -601,7 +601,7 @@ equipment_system.vars[slot] = null -/obj/spacepod/hear_talk/hear_talk(mob/M, list/message_pieces) +/obj/spacepod/hear_talk(mob/M, list/message_pieces) cargo_hold.hear_talk(M, message_pieces) ..() diff --git a/code/modules/station_goals/brs/brs_stationary_scanner.dm b/code/modules/station_goals/brs/brs_stationary_scanner.dm index cb6b514ee14..12164dd83a7 100644 --- a/code/modules/station_goals/brs/brs_stationary_scanner.dm +++ b/code/modules/station_goals/brs/brs_stationary_scanner.dm @@ -205,8 +205,8 @@ // It's a large machine, add a delay user.visible_message( - "[user] начина[pluralize_ru(user.gender, "ет", "ют")] [panel_open ? "От" : "За"]кручивать панель [src].", - "Вы начинаете [panel_open ? "От" : "За"]кручивать панель [src]." + "[user] начина[pluralize_ru(user.gender, "ет", "ют")] [panel_open ? "за" : "от"]кручивать панель [src].", + "Вы начинаете [panel_open ? "за" : "от"]кручивать панель [src]." ) if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume)) return diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index edf1a3ec259..095c1ddb08d 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -303,13 +303,19 @@ GLOBAL_LIST_INIT(non_simple_animals, typecacheof(list(/mob/living/carbon/human/l /obj/machinery/dna_vault/proc/upgrade(mob/living/carbon/human/H, upgrade_type) + if(!istype(H)) + return + if(!(upgrade_type in power_lottery[H])) return + if(!completed) return + if(HAS_TRAIT(H, TRAIT_NO_DNA)) to_chat(H, "Error, no DNA detected.") return + switch(upgrade_type) if(VAULT_TOXIN) to_chat(H, "You feel resistant to airborne toxins.") diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index 84723906915..311be85a546 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -322,6 +322,7 @@ ) return ..() + /datum/surgery_step/limb/mechanize/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/robot_parts/L = tool user.visible_message( @@ -334,14 +335,18 @@ for(var/part_name in L.part) if(!isnull(target.get_organ(part_name))) continue + var/list/organ_data = target.dna.species.has_limbs[part_name] if(!organ_data) continue + var/new_limb_type = organ_data["path"] - var/obj/item/organ/external/new_limb = new new_limb_type(target) + var/obj/item/organ/external/new_limb = new new_limb_type(target, ORGAN_MANIPULATION_DEFAULT) new_limb.robotize(company = L.model_info) + if(L.sabotaged) - new_limb.sabotaged = 1 + new_limb.sabotaged = TRUE + target.update_body() target.updatehealth() target.UpdateDamageIcon() @@ -350,6 +355,7 @@ return SURGERY_STEP_CONTINUE + /datum/surgery_step/limb/mechanize/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message( span_alert("[user]'s hand slips, damaging [target]'s flesh!"), diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index 04a08e1a281..462f89ebc09 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -50,13 +50,14 @@ var/hidden_pain = FALSE -/obj/item/organ/New(mob/living/carbon/human/holder) - ..(holder) +/obj/item/organ/Initialize(mapload) + . = ..() if(!max_damage) max_damage = min_broken_damage * 2 - if(ishuman(holder)) + if(ishuman(loc)) + var/mob/living/carbon/human/holder = loc update_DNA(holder.dna) return diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 4eacc7768a4..acb5ccfd3d3 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -105,15 +105,16 @@ light_on = FALSE -/obj/item/organ/external/New(mob/living/carbon/holder, special = ORGAN_MANIPULATION_NOEFFECT) - ..() +/obj/item/organ/external/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() if(dna?.species) icobase = dna.species.icobase deform = dna.species.deform - if(ishuman(holder)) - replaced(holder, special) - sync_colour_to_human(holder) + + if(ishuman(loc)) + replaced(loc, special) + sync_colour_to_human(loc) properly_attached = TRUE if(is_robotic()) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index c12203c2244..e929d3fe9e6 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -12,10 +12,11 @@ light_on = FALSE -/obj/item/organ/internal/New(mob/living/carbon/holder) - ..() - if(istype(holder)) - insert(holder) +/obj/item/organ/internal/Initialize(mapload) + . = ..() + + if(iscarbon(loc)) + insert(loc) if(species_type == /datum/species/diona) AddComponent(/datum/component/diona_internals) diff --git a/code/modules/surgery/organs/subtypes/machine.dm b/code/modules/surgery/organs/subtypes/machine.dm index aa7ab941793..d9dfe52dbde 100644 --- a/code/modules/surgery/organs/subtypes/machine.dm +++ b/code/modules/surgery/organs/subtypes/machine.dm @@ -10,8 +10,9 @@ pickup_sound = 'sound/items/handling/component_pickup.ogg' drop_sound = 'sound/items/handling/component_drop.ogg' -/obj/item/organ/external/head/ipc/New() - ..() +/obj/item/organ/external/head/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/chest/ipc @@ -22,8 +23,9 @@ pickup_sound = 'sound/items/handling/component_pickup.ogg' drop_sound = 'sound/items/handling/component_drop.ogg' -/obj/item/organ/external/chest/ipc/New() - ..() +/obj/item/organ/external/chest/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/groin/ipc @@ -34,8 +36,9 @@ pickup_sound = 'sound/items/handling/component_pickup.ogg' drop_sound = 'sound/items/handling/component_drop.ogg' -/obj/item/organ/external/groin/ipc/New() - ..() +/obj/item/organ/external/groin/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/arm/ipc @@ -46,8 +49,9 @@ pickup_sound = 'sound/items/handling/component_pickup.ogg' drop_sound = 'sound/items/handling/component_drop.ogg' -/obj/item/organ/external/arm/ipc/New() - ..() +/obj/item/organ/external/arm/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/arm/right/ipc @@ -56,8 +60,9 @@ status = ORGAN_ROBOT emp_resistant = TRUE -/obj/item/organ/external/arm/right/ipc/New() - ..() +/obj/item/organ/external/arm/right/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/leg/ipc @@ -68,8 +73,9 @@ pickup_sound = 'sound/items/handling/component_pickup.ogg' drop_sound = 'sound/items/handling/component_drop.ogg' -/obj/item/organ/external/leg/ipc/New() - ..() +/obj/item/organ/external/leg/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/leg/right/ipc @@ -78,8 +84,9 @@ status = ORGAN_ROBOT emp_resistant = TRUE -/obj/item/organ/external/leg/right/ipc/New() - ..() +/obj/item/organ/external/leg/right/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/foot/ipc @@ -90,8 +97,9 @@ pickup_sound = 'sound/items/handling/component_pickup.ogg' drop_sound = 'sound/items/handling/component_drop.ogg' -/obj/item/organ/external/foot/ipc/New() - ..() +/obj/item/organ/external/foot/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/foot/right/ipc @@ -100,8 +108,9 @@ status = ORGAN_ROBOT emp_resistant = TRUE -/obj/item/organ/external/foot/right/ipc/New() - ..() +/obj/item/organ/external/foot/right/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/hand/ipc @@ -112,8 +121,9 @@ pickup_sound = 'sound/items/handling/component_pickup.ogg' drop_sound = 'sound/items/handling/component_drop.ogg' -/obj/item/organ/external/hand/ipc/New() - ..() +/obj/item/organ/external/hand/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/external/hand/right/ipc @@ -122,8 +132,9 @@ status = ORGAN_ROBOT emp_resistant = TRUE -/obj/item/organ/external/hand/right/ipc/New() - ..() +/obj/item/organ/external/hand/right/ipc/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + robotize(company = "Morpheus Cyberkinetics") /obj/item/organ/internal/cell diff --git a/code/modules/surgery/organs/subtypes/standard.dm b/code/modules/surgery/organs/subtypes/standard.dm index d0971da1aca..27d9ff57e74 100644 --- a/code/modules/surgery/organs/subtypes/standard.dm +++ b/code/modules/surgery/organs/subtypes/standard.dm @@ -486,9 +486,10 @@ var/list/m_colours = list("tail" = "#000000") s_col = "#000000" -/obj/item/organ/external/tail/New(mob/living/carbon/holder) - ..() - if(!holder) +/obj/item/organ/external/tail/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + + if(!ishuman(loc)) var/icon/tempicon = new/icon("icon" = force_icon, "icon_state" = icon_name) var/icon/tempicon2 = new/icon(tempicon,dir=NORTH) tempicon2.Flip(SOUTH) @@ -548,9 +549,10 @@ var/list/m_colours = list("wing" = "#000000") s_col = "#000000" -/obj/item/organ/external/wing/New(mob/living/carbon/holder) - ..() - if(!holder) +/obj/item/organ/external/wing/Initialize(mapload, special = ORGAN_MANIPULATION_NOEFFECT) + . = ..() + + if(!ishuman(loc)) var/icon/tempicon = new/icon("icon" = force_icon, "icon_state" = icon_name) var/icon/tempicon2 = new/icon(tempicon,dir=NORTH) tempicon2.Flip(SOUTH) diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index 3827cb89721..83b5c23b8f7 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -163,20 +163,20 @@ hitsound = 'sound/weapons/sear.ogg' /obj/item/scalpel/laser/laser1 //lasers also count as catuarys - name = "laser scalpel" - desc = "A scalpel augmented with a directed laser. This one looks basic and could be improved." + name = "Basic Laser Scalpel" + desc = "Скальпель, дополненный направленным лазером. Может быть усовершенствован." icon_state = "scalpel_laser1_on" toolspeed = 0.8 /obj/item/scalpel/laser/laser2 - name = "laser scalpel" - desc = "A scalpel augmented with a directed laser. This one looks somewhat advanced." + name = "Improved Laser Scalpel" + desc = "Скальпель, дополненный направленным лазером. Усовершенствованная версия лазерного скальпеля." icon_state = "scalpel_laser2_on" toolspeed = 0.6 /obj/item/scalpel/laser/laser3 - name = "laser scalpel" - desc = "A scalpel augmented with a directed laser. This one looks to be the pinnacle of precision energy cutlery!" + name = "Advanced Laser Scalpel" + desc = "Скальпель, дополненный направленным лазером. Высокоточная, модернизированная версия лазерного скальпеля." icon_state = "scalpel_laser3_on" toolspeed = 0.4 diff --git a/code/modules/telesci/gps.dm b/code/modules/telesci/gps.dm index 84ea4304007..a760816b42c 100644 --- a/code/modules/telesci/gps.dm +++ b/code/modules/telesci/gps.dm @@ -205,6 +205,12 @@ GLOBAL_LIST_EMPTY(GPS_list) . = ..() ADD_TRAIT(src, TRAIT_NODROP, CYBORG_ITEM_TRAIT) +/obj/item/gps/cyborg/New(gpstag = "gps-b", upgraded = FALSE, tracking = TRUE) + . = ..() + src.gpstag = gpstag + src.upgraded = upgraded + src.tracking = tracking + /obj/item/gps/cyborg/upgraded upgraded = 1 diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm index b963c8f845e..15aa2b540b0 100644 --- a/code/modules/telesci/telepad.dm +++ b/code/modules/telesci/telepad.dm @@ -3,7 +3,7 @@ name = "telepad" desc = "A bluespace telepad used for teleporting objects to and from a location." icon = 'icons/obj/telescience.dmi' - icon_state = "pad-idle" + icon_state = "pad" anchored = TRUE use_power = IDLE_POWER_USE idle_power_usage = 200 @@ -49,7 +49,7 @@ /obj/machinery/telepad/screwdriver_act(mob/user, obj/item/I) . = TRUE - default_deconstruction_screwdriver(user, "pad-idle-o", "pad-idle", I) + default_deconstruction_screwdriver(user, "pad-o", initial(icon_state), I) /obj/machinery/telepad/multitool_act(mob/user, obj/item/I) if(!panel_open) @@ -71,7 +71,7 @@ name = "cargo telepad" desc = "A telepad used by the Rapid Crate Sender." icon = 'icons/obj/telescience.dmi' - icon_state = "pad-idle" + icon_state = "pad" anchored = TRUE use_power = IDLE_POWER_USE idle_power_usage = 20 diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index ede7014d0c6..e2def8c06ab 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -1,6 +1,6 @@ /obj/machinery/computer/telescience name = "telepad control console" - desc = "Used to teleport objects to and from the telescience telepad." + desc = "Используется для телепортации объектов на телепад и обратно." icon_keyboard = "telesci_key" icon_screen = "telesci" circuit = /obj/item/circuitboard/telesci_console @@ -211,7 +211,7 @@ var/turf/target = locate(trueX, trueY, z_co) last_target = target var/area/A = get_area(target) - flick("pad-beam", telepad) + flick("[initial(telepad.icon_state)]-beam", telepad) if(spawn_time > 15) // 1.5 seconds playsound(telepad.loc, 'sound/weapons/flash.ogg', 25, 1) @@ -252,7 +252,7 @@ source = dest dest = target - flick("pad-beam", telepad) + flick("[initial(telepad.icon_state)]-beam", telepad) playsound(telepad.loc, 'sound/weapons/emitter2.ogg', 50, TRUE) for(var/atom/movable/ROI in source) // if is anchored, don't let through diff --git a/code/modules/tgui/states/range.dm b/code/modules/tgui/states/range.dm new file mode 100644 index 00000000000..842509c5eaa --- /dev/null +++ b/code/modules/tgui/states/range.dm @@ -0,0 +1,11 @@ +GLOBAL_DATUM_INIT(range_state, /datum/ui_state/range_state, new) + +/datum/ui_state/range_state/can_use_topic(src_object, mob/user) + var/dist = get_dist(src_object, user) + if(dist <= 1) + return UI_INTERACTIVE + + else if(dist <= 6) + return UI_UPDATE + + return UI_CLOSE diff --git a/code/modules/vote/vote_presets.dm b/code/modules/vote/vote_presets.dm index 57948610b03..27882075ac0 100644 --- a/code/modules/vote/vote_presets.dm +++ b/code/modules/vote/vote_presets.dm @@ -31,6 +31,12 @@ if(CONFIG_GET(string/map_vote_mode) == "nodoubles") map_pool -= SSmapping.map_datum.type + if(CONFIG_GET(string/map_vote_mode) == "notriples") + if(SSmapping.previous_maps && length(SSmapping.previous_maps)) + var/current_map = SSmapping.map_datum.type + if(current_map == SSmapping.previous_maps[1]) + map_pool -= current_map + for(var/datum/map/possible_map as anything in map_pool) if(initial(possible_map.admin_only)) continue diff --git a/code/modules/w_examine/descriptions/medical.dm b/code/modules/w_examine/descriptions/medical.dm index 728a5f72c61..a85f73ef6bb 100644 --- a/code/modules/w_examine/descriptions/medical.dm +++ b/code/modules/w_examine/descriptions/medical.dm @@ -27,7 +27,7 @@ description_info = "Click your target with Grab intent, then click on the table with an empty hand, to place them on it." /obj/machinery/computer/operating - description_info = "This console gives information on the status of the patient on the adjacent operating table, notably their consciousness." + description_info = "Эта консоль выдает информацию о состоянии пациента, лежащего на соседнем операционном столе, в частности о его сознании." /obj/machinery/sleeper description_info = "The sleeper allows you to clean the blood by means of dialysis, and to administer medication in a controlled environment.
\ diff --git a/config/example/config.txt b/config/example/config.txt index ad4324f993c..3c2fab540af 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -388,9 +388,6 @@ SOCKET_TALK 0 ## How long the delay is before the Away Mission gate opens. Default is half an hour. GATEWAY_DELAY 6000 -## Remove the # to give assistants maint access. -ASSISTANT_MAINT - ## Remove the # to enable assistant limiting. ASSISTANT_LIMIT @@ -473,18 +470,6 @@ PLAYER_REROUTE_CAP 0 ## Server to reroute to #TUTORIAL_SERVER_URL byond://example.org:1111 -## Disable the loading of away missions -#DISABLE_AWAY_MISSIONS - -## Disable the loading of space ruins -#DISABLE_SPACE_RUINS - -## Minimum number of space ruins levels to generate -EXTRA_SPACE_RUIN_LEVELS_MIN 4 - -## Maximum number of space ruins levels to generate -EXTRA_SPACE_RUIN_LEVELS_MAX 8 - ## Uncomment to disable the OOC/LOOC channel by default. #DISABLE_OOC @@ -648,7 +633,6 @@ TOPIC_FILTERING_WHITELIST 127.0.0.1 # Number of players required for automatic gamemode change to extended. Doesn't work if set to zero or commented #AUTO_EXTENDED_PLAYERS_NUM 10 - ## CPU Affinity for FFmpeg. Check out taskset man page. ## Example valid values: "0-3" or "1,4-7" #FFMPEG_CPUAFFINITY 0-3 @@ -663,23 +647,12 @@ MAP_ROTATE none ## Server map voting mode: ## all - all maps can be selected ## nodoubles - current map can't be selected as next +## notriples - current map can't be selected as next if played twice in a row MAP_VOTE_MODE all -## Default server map -DEFAULT_MAP /datum/map/cyberiad - -## Override server map by specified, uncomment to apply -# OVERRIDE_MAP /datum/map/delta - ## Enable animations on item pickup and drop down # ITEM_ANIMATIONS_ENABLED -## Disable the loading of "Taipan" -# DISABLE_TAIPAN - -## Disable the loading of Lavaland -# DISABLE_LAVALAND - ## If the number of players is more or same than this, then we apply the highpop jobs config. JOBS_HIGH_POP_MODE_AMOUNT 80 @@ -732,3 +705,38 @@ CACHE_ASSETS 0 ## Enable the replay demo recording subsystem #DEMOS_ENABLED + +### INITIALIZATION SETTINGS ### +## This section contains settings directly affecting initializing progress. Uncomment these to make your world load faster. + +## Loads only space without anything in station sector. Still makes landmarks for spawnpoints, though. +#LOAD_NO_STATION + +## Enables loading titlescreen only after master has been loaded. Recommended to be used on local server for faster loading. +#ENABLE_TITLESCREEN_LATELOAD + +## Disable the loading of "Taipan" +#DISABLE_TAIPAN + +## Disable the loading of Lavaland +#DISABLE_LAVALAND + +## Disable the loading of away missions +#DISABLE_AWAY_MISSIONS + +## Disable the loading of space ruins +#DISABLE_SPACE_RUINS + +## Default server map +DEFAULT_MAP /datum/map/cyberiad + +## Override server map by specified, uncomment to apply +# OVERRIDE_MAP /datum/map/delta + +## Minimum number of space ruins levels to generate +EXTRA_SPACE_RUIN_LEVELS_MIN 4 + +## Maximum number of space ruins levels to generate +EXTRA_SPACE_RUIN_LEVELS_MAX 8 + +### INITIALIZATION SETTINGS END ### diff --git a/html/changelogs/archive/2024-10.yml b/html/changelogs/archive/2024-10.yml index a8c4c63301b..c720655c06b 100644 --- a/html/changelogs/archive/2024-10.yml +++ b/html/changelogs/archive/2024-10.yml @@ -91,3 +91,146 @@ '2024-10-09': kartowkar: - bugfix: eatable component multitool fix (#6001) +'2024-10-10': + Antoonij: + - qol: recharge spell million istypes removal (#5915) + LiquidPotroh: + - bugfix: permeability of adjusted mask (#6003) + Valtor: + - imageadd: tajaran pathes head sprite fix (#6008) + kartowkar: + - bugfix: Borer spell datum fix (#6002) +'2024-10-11': + Arceniu: + - qol: sst hardsuit speed (#6009) +'2024-10-13': + Antoonij: + - bugfix: Sintouched fixes (#6016) + - refactor: Animal temperature (#5930) + Daeberdir: + - add: NektoeN Abandoned Storage Map. (#5996) + - tweak: Engi areas type shuffling. Supermatter and sub-engine areas overload-protected + APCs. (#5995) + - tweak: ashstorm immunity for minebots. (#6006) + NightDawnFox: + - add: basic ridable element and components & fireman carry (#5705) + PiroMage: + - bugfix: 'Nova Station #7 Patch (#6014)' + TimChi: + - add: Disease - Babylonian Fever (#5997) + Valtor: + - bugfix: diona blood regen (#6011) + - bugfix: thick tape roll fix (#6013) + Vladisvell: + - bugfix: Fixed tos consent acception (#6012) + github-actions[bot]: + - server: Automatic NanoMap Update (#5946) + kartowkar: + - bugfix: fix some inhand sprites (#6004) + - bugfix: reinforced.wall deconstruction Fix (#6017) +'2024-10-14': + TimChi: + - bugfix: Babylon Fever runtime fix (#6020) + Vladisvell: + - tweak: sets up audio emotes cooldown (#6019) +'2024-10-15': + Anorak2020: + - add: more objectives for vampires and clings (#6024) + Den109G: + - refactor: Now wiki comes from config and not hardcoded. (#5983) + Etrnlmelancholy: + - add: Повязки на глаза с ХУДом. (#6010) + NightDawnFox: + - bugfix: holoparasites are no longer can be refreshed in colossus crystal (#6028) + - bugfix: no more multiple tipping (#6027) + - tweak: decreased speed of vehicles (#6022) + PlayerUnknown14: + - imageadd: SP-91-RC - new sprites (#6026) + TimChi: + - bugfix: Brains in mmi can cast spells (#6021) + Vladisvell: + - bugfix: fixes elite fauna (#6032) +'2024-10-16': + Anorak2020: + - bugfix: '[customat] some items has wrong keys (#6040)' + NightDawnFox: + - spellcheck: ревьеюру (#6037) + - bugfix: you can no longer be immortal with sindie uno card (#6038) + TimChi: + - bugfix: Keybind "Y" resulted in the use of an item in hand. (#6039) + Vladisvell: + - add: byond 1644 compat (#6041) +'2024-10-18': + Arc: + - add: suppressor for sp91 and wt550 (#5960) + PiroMage: + - bugfix: 'Nova Station #8 Patch (#6033)' + Vladisvell: + - add: New map voting mode "Notriples" - next map can't be selected if played twice + in a row (#5452) +'2024-10-19': + Valtor: + - bugfix: no prothesis heal from food and etc (#6055) +'2024-10-20': + PiroMage: + - bugfix: 'Nova Station #9 Patch (#6053)' + Sheya: + - add: fake blindfold recipe (#6047) + Valtor: + - qol: Skrell New Name Generator (#6052) + Vladisvell: + - add: Instrument censorship (#6054) + kartowkar: + - bugfix: nitrilegloves onmob sprite fix (#6056) +'2024-10-23': + NightDawnFox: + - bugfix: firemanned people are can no longer be teleported when buckled (#6058) + PlayerUnknown14: + - bugfix: bandanas cover hair (#6061) +'2024-10-26': + Anorak2020: + - bugfix: selling one item multiple times (#6073) + - add: Experimentor relics rework (#5683) + - add: health insurance (#5921) + BeebBeebBoob: + - bugfix: ATM on Multi-z maps (#6077) + LiquidPotroh: + - soundadd: New cult sonds (#6034) + - soundadd: New revolution sound (#6035) + Mahimka42: + - imageadd: Brass buckler and rustless sword have inhand sprites. (#6031) + - imageadd: New sterile mask sprite (#6051) + - tweak: 10mm HP slows down the target (#6063) + - tweak: M90 instead riot shotguns in ERT armory (#6062) + NightDawnFox: + - tweak: sniper rounds now cost 5 tk instead of 10 (#6068) + NoName: + - add: Spech bubble (#6043) + PiroMage: + - bugfix: 'Nova Station #10 Patch (#6079)' + Valtor: + - bugfix: pAI bugfixes + localization (#5874) + Vladisvell: + - bugfix: Hardmode grenades do not work on enemies with less than 80% HP (#6080) +'2024-10-27': + NoName: + - unknown: earrings (#6066) + PiroMage: + - bugfix: 'Nova Station #11 Patch (#6091)' + Vladisvell: + - bugfix: Fixed survival pod's computer being pushable by humanoids (#6088) + - bugfix: Fixed paper bin filling (#6086) + - bugfix: Fixed toner insertion into photocopier (#6084) + - bugfix: Fixed bluespace scanner spelling mistake (#6083) + - bugfix: Fixed drill's infinite range (#6092) +'2024-10-29': + Dimach: + - tweak: moders can speak in achat (#6099) + Etrnlmelancholy: + - tweak: no more age restrict to warden (#6096) + Valtor: + - tweak: QM has always been the head (#6097) + Vladisvell: + - bugfix: Now it's possible to roll a malfunctioning AI in Antag Paradise mode (#6093) + - bugfix: Fixes ash storm damaging in some lavaland ruins (#6082) + - bugfix: Fireproof stuff can now burn in lava (#6081) diff --git a/html/changelogs/archive/2024-11.yml b/html/changelogs/archive/2024-11.yml new file mode 100644 index 00000000000..f51cc549c9e --- /dev/null +++ b/html/changelogs/archive/2024-11.yml @@ -0,0 +1,105 @@ +'2024-11-02': + Anorak2020: + - add: You can now set up preference for removing from round (#6069) + Vladisvell: + - bugfix: Fixed intercom disassembling (#6085) + - bugfix: Fixed windowed door rendering (#6087) +'2024-11-03': + Antoonij: + - bugfix: some runtime fixes (#6094) + - bugfix: ghosts can now examine humans (#6119) + Daeberdir: + - bugfix: October - Mapfixes. (#6078) + FlitchTime: + - tweak: new cinematics for gods (#6067) + LiquidPotroh: + - bugfix: ants & unstable mutagen react with full power even if extremely small + volume (#6103) + - tweak: Correct calculation of acids protection (#6102) + Vladisvell: + - bugfix: Cult fixes (#6090) + - bugfix: dna vault hotfix (#6122) +'2024-11-04': + Antoonij: + - add: ASHIE UPDATE (#5875) + Daeberdir: + - bugfix: Incorrect `mechanized` limb attaching. (#6125) + - bugfix: Light fixture attach_chain blocks. (#6124) + - bugfix: Fixed phazon noclip on teleport forbidden areas (#6121) + - bugfix: Correct input target for `mindscan`. (#6120) + NightDawnFox: + - add: a lot of roboquest tweaks. (#5961) + NoName: + - bugfix: Earings in loadout (#6129) + PiroMage: + - bugfix: 'Nova Station #12 Patch (#6115)' + - bugfix: Conveyor Belt and Disposal Outlet on Cyberiad & Celestation. (#6109) + PlayerUnknown14: + - add: GSBussy doll (#6104) + Sheya: + - add: CE toolbet now can hold RCD and one more item (#6048) + Valtor: + - add: species age restrictions (#6101) + Vladisvell: + - bugfix: added failsafe check for elite fauna and chasms (#6126) + - server: Updated testmerge workflow (#6127) +'2024-11-05': + Dictor: + - add: Entertainment monitor (#5900) + Explosi00N: + - server: Перевод лута с тендрилов Лаваленда (#6132) + LiquidPotroh: + - bugfix: Xenomorph fixes (#6110) + NightDawnFox: + - del: unathi rumble is gone (#6030) + - add: advanced laser & alien surgery kits (#6057) + Sheya: + - add: fishing rod is now craftable in R&D (#6045) + - add: Lockboxes on Taipan are no longer created in protholates and exosuit fabricators + (#6049) + Vladisvell: + - del: Перевод лута с тендрилов Лаваленда" (#6133) + github-actions[bot]: + - server: Automatic NanoMap Update (#6025) + littleboobs: + - qol: DNA effects translation (#6114) +'2024-11-06': + Antoonij: + - bugfix: ash walker rituals fix (#6138) + - bugfix: some rituals fix (#6140) + LiquidPotroh: + - bugfix: Xeno cant evolve to queen (#6136) + PlayerUnknown14: + - imageadd: Riot shield - new sprites (#6095) + - bugfix: RD doll now works properly (#6106) + Vladisvell: + - bugfix: Fixed headphones not unable to play songs (#6139) + - bugfix: Wooden wall creation fix (#6141) + - bugfix: Syndicate turrets are now dense (#6142) + userbaza: + - add: cloth footwraps now paintable, craftable and edible (#6042) +'2024-11-07': + Anorak2020: + - add: vampire sucking effects (#6029) + KefirTT: + - bugfix: singularity hammer no longer pulling ghosts (#6143) +'2024-11-09': + Vitalya: + - bugfix: Wryn hair color change (#6152) + Vladisvell: + - bugfix: Removes density on syndicate turret upon destruction (#6146) + - add: Titlescreen optimization for dreamseeker debug mode (#6148) + - bugfix: Setups Malfunctioning AI as a special role to prevent double antaging + (#6151) +'2024-11-11': + Den109G: + - bugfix: Now clock-structure can disguise (#6156) + Mahimka42: + - add: New robust security backpack (#6135) + - tweak: 30 bullets instead 20 in 10mm ammo box. (#6163) + PlayerUnknown14: + - add: warden got more access (#6157) + - add: Security tactical flashlight (#5948) + - balance: maintenance tunnels access for everyone (#6158) + Vitalya: + - imageadd: New sprites for some Wryn masks (#6144) diff --git a/icons/_nanomaps/Nova_nanomap_z1.png b/icons/_nanomaps/Nova_nanomap_z1.png index b9c75d65c3b..e3b86ddbadf 100644 Binary files a/icons/_nanomaps/Nova_nanomap_z1.png and b/icons/_nanomaps/Nova_nanomap_z1.png differ diff --git a/icons/_nanomaps/Nova_nanomap_z2.png b/icons/_nanomaps/Nova_nanomap_z2.png index 5b6d201f801..5edd5a29f1b 100644 Binary files a/icons/_nanomaps/Nova_nanomap_z2.png and b/icons/_nanomaps/Nova_nanomap_z2.png differ diff --git a/icons/effects/ashwalker_rune.dmi b/icons/effects/ashwalker_rune.dmi new file mode 100644 index 00000000000..99c80693443 Binary files /dev/null and b/icons/effects/ashwalker_rune.dmi differ diff --git a/icons/effects/station_explosion.dmi b/icons/effects/station_explosion.dmi index d8ced1f544b..109b17060e7 100644 Binary files a/icons/effects/station_explosion.dmi and b/icons/effects/station_explosion.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 52db83d1d47..90f04c72f47 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/ears.dmi b/icons/mob/clothing/ears.dmi index 99c91c85957..9ca38ef1ffc 100644 Binary files a/icons/mob/clothing/ears.dmi and b/icons/mob/clothing/ears.dmi differ diff --git a/icons/mob/clothing/eyes.dmi b/icons/mob/clothing/eyes.dmi index 5658362de98..51663306455 100644 Binary files a/icons/mob/clothing/eyes.dmi and b/icons/mob/clothing/eyes.dmi differ diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi index 6ad38455ad3..601e7162ee6 100644 Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi index c0d5b532e50..8ff67b1f4a7 100644 Binary files a/icons/mob/clothing/hands.dmi and b/icons/mob/clothing/hands.dmi differ diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index a4ce834cfae..f23e7b7b571 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index 01610a5ad16..6b9d1561c55 100644 Binary files a/icons/mob/clothing/mask.dmi and b/icons/mob/clothing/mask.dmi differ diff --git a/icons/mob/clothing/species/drask/eyes.dmi b/icons/mob/clothing/species/drask/eyes.dmi index 60a461bc9f1..be1c5fb2feb 100644 Binary files a/icons/mob/clothing/species/drask/eyes.dmi and b/icons/mob/clothing/species/drask/eyes.dmi differ diff --git a/icons/mob/clothing/species/drask/mask.dmi b/icons/mob/clothing/species/drask/mask.dmi index db26ee4b53f..660fb46bf32 100644 Binary files a/icons/mob/clothing/species/drask/mask.dmi and b/icons/mob/clothing/species/drask/mask.dmi differ diff --git a/icons/mob/clothing/species/drask/uniform.dmi b/icons/mob/clothing/species/drask/uniform.dmi index 0587606747c..1f6fdff6a7d 100644 Binary files a/icons/mob/clothing/species/drask/uniform.dmi and b/icons/mob/clothing/species/drask/uniform.dmi differ diff --git a/icons/mob/clothing/species/grey/back.dmi b/icons/mob/clothing/species/grey/back.dmi index 1ad5b9b9dcd..d20e8ac2174 100644 Binary files a/icons/mob/clothing/species/grey/back.dmi and b/icons/mob/clothing/species/grey/back.dmi differ diff --git a/icons/mob/clothing/species/grey/eyes.dmi b/icons/mob/clothing/species/grey/eyes.dmi index 06aff6f9fc6..f11289d5700 100644 Binary files a/icons/mob/clothing/species/grey/eyes.dmi and b/icons/mob/clothing/species/grey/eyes.dmi differ diff --git a/icons/mob/clothing/species/grey/mask.dmi b/icons/mob/clothing/species/grey/mask.dmi index 82c9d36ff3b..d37f75a4188 100644 Binary files a/icons/mob/clothing/species/grey/mask.dmi and b/icons/mob/clothing/species/grey/mask.dmi differ diff --git a/icons/mob/clothing/species/grey/uniform.dmi b/icons/mob/clothing/species/grey/uniform.dmi index 11d5f99cc0c..658469a9729 100644 Binary files a/icons/mob/clothing/species/grey/uniform.dmi and b/icons/mob/clothing/species/grey/uniform.dmi differ diff --git a/icons/mob/clothing/species/kidan/mask.dmi b/icons/mob/clothing/species/kidan/mask.dmi index 84a66775738..7033701c293 100644 Binary files a/icons/mob/clothing/species/kidan/mask.dmi and b/icons/mob/clothing/species/kidan/mask.dmi differ diff --git a/icons/mob/clothing/species/kidan/uniform.dmi b/icons/mob/clothing/species/kidan/uniform.dmi index 72b43ba157c..097f2317a1f 100644 Binary files a/icons/mob/clothing/species/kidan/uniform.dmi and b/icons/mob/clothing/species/kidan/uniform.dmi differ diff --git a/icons/mob/clothing/species/monkey/ears.dmi b/icons/mob/clothing/species/monkey/ears.dmi index e8e80063a39..fe201b6c978 100644 Binary files a/icons/mob/clothing/species/monkey/ears.dmi and b/icons/mob/clothing/species/monkey/ears.dmi differ diff --git a/icons/mob/clothing/species/monkey/eyes.dmi b/icons/mob/clothing/species/monkey/eyes.dmi index e93142f8d2d..c9fcd0ea96b 100644 Binary files a/icons/mob/clothing/species/monkey/eyes.dmi and b/icons/mob/clothing/species/monkey/eyes.dmi differ diff --git a/icons/mob/clothing/species/monkey/head.dmi b/icons/mob/clothing/species/monkey/head.dmi index e8c793b66d4..2e8e4278b5c 100644 Binary files a/icons/mob/clothing/species/monkey/head.dmi and b/icons/mob/clothing/species/monkey/head.dmi differ diff --git a/icons/mob/clothing/species/monkey/mask.dmi b/icons/mob/clothing/species/monkey/mask.dmi index c37c41b35a1..86a0dfe6782 100644 Binary files a/icons/mob/clothing/species/monkey/mask.dmi and b/icons/mob/clothing/species/monkey/mask.dmi differ diff --git a/icons/mob/clothing/species/monkey/uniform.dmi b/icons/mob/clothing/species/monkey/uniform.dmi index 8a5662bdb82..92b316f6b58 100644 Binary files a/icons/mob/clothing/species/monkey/uniform.dmi and b/icons/mob/clothing/species/monkey/uniform.dmi differ diff --git a/icons/mob/clothing/species/tajaran/mask.dmi b/icons/mob/clothing/species/tajaran/mask.dmi index 90b55d2fb79..c49c4cad2e2 100644 Binary files a/icons/mob/clothing/species/tajaran/mask.dmi and b/icons/mob/clothing/species/tajaran/mask.dmi differ diff --git a/icons/mob/clothing/species/unathi/mask.dmi b/icons/mob/clothing/species/unathi/mask.dmi index 9802caa3ac1..30603327337 100644 Binary files a/icons/mob/clothing/species/unathi/mask.dmi and b/icons/mob/clothing/species/unathi/mask.dmi differ diff --git a/icons/mob/clothing/species/unathi/shoes.dmi b/icons/mob/clothing/species/unathi/shoes.dmi index a6fdd4c20f4..2d428a7d85b 100644 Binary files a/icons/mob/clothing/species/unathi/shoes.dmi and b/icons/mob/clothing/species/unathi/shoes.dmi differ diff --git a/icons/mob/clothing/species/unathi/uniform.dmi b/icons/mob/clothing/species/unathi/uniform.dmi index 517883bb747..1025d3ad9b4 100644 Binary files a/icons/mob/clothing/species/unathi/uniform.dmi and b/icons/mob/clothing/species/unathi/uniform.dmi differ diff --git a/icons/mob/clothing/species/vox/back.dmi b/icons/mob/clothing/species/vox/back.dmi index 8274c45cb9c..8d1f48dd247 100644 Binary files a/icons/mob/clothing/species/vox/back.dmi and b/icons/mob/clothing/species/vox/back.dmi differ diff --git a/icons/mob/clothing/species/vox/ears.dmi b/icons/mob/clothing/species/vox/ears.dmi index c09c4b33a2a..b19672c81b2 100644 Binary files a/icons/mob/clothing/species/vox/ears.dmi and b/icons/mob/clothing/species/vox/ears.dmi differ diff --git a/icons/mob/clothing/species/vox/mask.dmi b/icons/mob/clothing/species/vox/mask.dmi index 173b80e41df..c9b3313b256 100644 Binary files a/icons/mob/clothing/species/vox/mask.dmi and b/icons/mob/clothing/species/vox/mask.dmi differ diff --git a/icons/mob/clothing/species/vox/uniform.dmi b/icons/mob/clothing/species/vox/uniform.dmi index 80fa00c2d0b..b14c90995d9 100644 Binary files a/icons/mob/clothing/species/vox/uniform.dmi and b/icons/mob/clothing/species/vox/uniform.dmi differ diff --git a/icons/mob/clothing/species/vulpkanin/mask.dmi b/icons/mob/clothing/species/vulpkanin/mask.dmi index 802d3b337a5..47d16389a72 100644 Binary files a/icons/mob/clothing/species/vulpkanin/mask.dmi and b/icons/mob/clothing/species/vulpkanin/mask.dmi differ diff --git a/icons/mob/clothing/species/wryn/mask.dmi b/icons/mob/clothing/species/wryn/mask.dmi index 5e72a8730da..bfd77b02ea5 100644 Binary files a/icons/mob/clothing/species/wryn/mask.dmi and b/icons/mob/clothing/species/wryn/mask.dmi differ diff --git a/icons/mob/clothing/species/wryn/uniform.dmi b/icons/mob/clothing/species/wryn/uniform.dmi index f676a5dbee3..2434e25e4ba 100644 Binary files a/icons/mob/clothing/species/wryn/uniform.dmi and b/icons/mob/clothing/species/wryn/uniform.dmi differ diff --git a/icons/mob/clothing/ties.dmi b/icons/mob/clothing/ties.dmi index 33b0175efdb..c15d89bc040 100644 Binary files a/icons/mob/clothing/ties.dmi and b/icons/mob/clothing/ties.dmi differ diff --git a/icons/mob/clothing/uniform.dmi b/icons/mob/clothing/uniform.dmi index 10209a3ca4f..541ef5f85e6 100644 Binary files a/icons/mob/clothing/uniform.dmi and b/icons/mob/clothing/uniform.dmi differ diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi index f9f9153edb0..b7af09ade06 100644 Binary files a/icons/mob/inhands/clothing_lefthand.dmi and b/icons/mob/inhands/clothing_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing_righthand.dmi b/icons/mob/inhands/clothing_righthand.dmi index 11b0fac7bfa..10fc756e2aa 100644 Binary files a/icons/mob/inhands/clothing_righthand.dmi and b/icons/mob/inhands/clothing_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 345df4689c3..5f35327a3f3 100755 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 5568c96a820..004891ea390 100755 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/inhands/mobs_lefthand.dmi b/icons/mob/inhands/mobs_lefthand.dmi index d3703b56297..efc6a7c8aaf 100644 Binary files a/icons/mob/inhands/mobs_lefthand.dmi and b/icons/mob/inhands/mobs_lefthand.dmi differ diff --git a/icons/mob/inhands/mobs_righthand.dmi b/icons/mob/inhands/mobs_righthand.dmi index be4a567b689..16df4461689 100644 Binary files a/icons/mob/inhands/mobs_righthand.dmi and b/icons/mob/inhands/mobs_righthand.dmi differ diff --git a/icons/mob/inhands/relics_production/inhandl.dmi b/icons/mob/inhands/relics_production/inhandl.dmi new file mode 100644 index 00000000000..9a95b0f2c2e Binary files /dev/null and b/icons/mob/inhands/relics_production/inhandl.dmi differ diff --git a/icons/mob/inhands/relics_production/inhandr.dmi b/icons/mob/inhands/relics_production/inhandr.dmi new file mode 100644 index 00000000000..c50686fa2ee Binary files /dev/null and b/icons/mob/inhands/relics_production/inhandr.dmi differ diff --git a/icons/mob/sprite_accessories/human/human_hair.dmi b/icons/mob/sprite_accessories/human/human_hair.dmi index 176ea1ab05e..682ec55eca8 100644 Binary files a/icons/mob/sprite_accessories/human/human_hair.dmi and b/icons/mob/sprite_accessories/human/human_hair.dmi differ diff --git a/icons/mob/talk.dmi b/icons/mob/talk.dmi index 35417b389d7..4785f7b04b6 100644 Binary files a/icons/mob/talk.dmi and b/icons/mob/talk.dmi differ diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi index 5bec0611313..8c295e91da4 100644 Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 93a943f6ca5..eea75185ce8 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index c8c2e96f108..c7a07b5ee80 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index ea0c5eef85a..2f796a0ca27 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi index 8e99eb9d427..927b109e4ce 100644 Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ diff --git a/icons/obj/clothing/ties_overlay.dmi b/icons/obj/clothing/ties_overlay.dmi index 914fdfff4d0..ad4e4de039a 100644 Binary files a/icons/obj/clothing/ties_overlay.dmi and b/icons/obj/clothing/ties_overlay.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index ba6ae22135e..5b7418245a6 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/obj/decals.dmi b/icons/obj/decals.dmi index a6072426b39..2552e6f9aae 100644 Binary files a/icons/obj/decals.dmi and b/icons/obj/decals.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 886b6f3fd37..0d3952efe29 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index f97f776b592..b9cee7e6acf 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/icons/obj/lavaland/artefacts.dmi b/icons/obj/lavaland/artefacts.dmi index 178610b7424..4fc1f5cba29 100644 Binary files a/icons/obj/lavaland/artefacts.dmi and b/icons/obj/lavaland/artefacts.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index 8b853ba2bc8..ceb86c0667b 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/machineprototype.dmi b/icons/obj/machineprototype.dmi index f5312bdba60..22dd23fcf53 100644 Binary files a/icons/obj/machineprototype.dmi and b/icons/obj/machineprototype.dmi differ diff --git a/icons/obj/mecha/mecha.dmi b/icons/obj/mecha/mecha.dmi index 21e70a9373b..379e9875dea 100644 Binary files a/icons/obj/mecha/mecha.dmi and b/icons/obj/mecha/mecha.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 3d4dea6aac0..f928128df10 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/telescience.dmi b/icons/obj/telescience.dmi index 81471202dc2..4f67f950fcd 100644 Binary files a/icons/obj/telescience.dmi and b/icons/obj/telescience.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 8bccad265da..ff26ec4599a 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ diff --git a/icons/obj/weapons/energy.dmi b/icons/obj/weapons/energy.dmi index 459a68a74cc..76045167bac 100644 Binary files a/icons/obj/weapons/energy.dmi and b/icons/obj/weapons/energy.dmi differ diff --git a/icons/obj/weapons/projectile.dmi b/icons/obj/weapons/projectile.dmi index 9c0309dc245..4dd37d84e0f 100644 Binary files a/icons/obj/weapons/projectile.dmi and b/icons/obj/weapons/projectile.dmi differ diff --git a/icons/obj/weapons/techrelic.dmi b/icons/obj/weapons/techrelic.dmi new file mode 100644 index 00000000000..06cf9fc1f3e Binary files /dev/null and b/icons/obj/weapons/techrelic.dmi differ diff --git a/paradise.dme b/paradise.dme index c06250c9677..d07486cf3fa 100644 --- a/paradise.dme +++ b/paradise.dme @@ -76,6 +76,7 @@ #include "code\__DEFINES\implants_defines.dm" #include "code\__DEFINES\input.dm" #include "code\__DEFINES\instruments.dm" +#include "code\__DEFINES\insurance.dm" #include "code\__DEFINES\inventory.dm" #include "code\__DEFINES\is_helpers.dm" #include "code\__DEFINES\job.dm" @@ -113,6 +114,7 @@ #include "code\__DEFINES\RCD.dm" #include "code\__DEFINES\reagents.dm" #include "code\__DEFINES\request.dm" +#include "code\__DEFINES\rituals.dm" #include "code\__DEFINES\role_preferences.dm" #include "code\__DEFINES\rolebans.dm" #include "code\__DEFINES\rust_g.dm" @@ -401,6 +403,7 @@ #include "code\datums\radio.dm" #include "code\datums\recipe.dm" #include "code\datums\revision.dm" +#include "code\datums\rituals.dm" #include "code\datums\ruins.dm" #include "code\datums\shuttles.dm" #include "code\datums\snake_fashion.dm" @@ -421,9 +424,12 @@ #include "code\datums\cache\powermonitor.dm" #include "code\datums\changelog\changelog.dm" #include "code\datums\cinematics\cinematic_datum.dm" +#include "code\datums\cinematics\kharin_summon.dm" #include "code\datums\cinematics\malf_doomsday.dm" #include "code\datums\cinematics\narsie_summon.dm" #include "code\datums\cinematics\nuke_cinematics.dm" +#include "code\datums\cinematics\ratvar_summon.dm" +#include "code\datums\cinematics\reaper_summon.dm" #include "code\datums\components\_component.dm" #include "code\datums\components\after_attacks_hub.dm" #include "code\datums\components\animal_temperature.dm" @@ -458,6 +464,7 @@ #include "code\datums\components\persistent_overlay.dm" #include "code\datums\components\proximity_monitor.dm" #include "code\datums\components\radioactivity.dm" +#include "code\datums\components\ritual_object.dm" #include "code\datums\components\shielded.dm" #include "code\datums\components\slippery.dm" #include "code\datums\components\spawner.dm" @@ -660,7 +667,6 @@ #include "code\datums\spells\alien_spells\corrosive_acid_spit.dm" #include "code\datums\spells\alien_spells\evolve.dm" #include "code\datums\spells\alien_spells\impregnate.dm" -#include "code\datums\spells\alien_spells\larva_evolve.dm" #include "code\datums\spells\alien_spells\lay_alien_eggs.dm" #include "code\datums\spells\alien_spells\neurotoxin_spit.dm" #include "code\datums\spells\alien_spells\open_vent_alien.dm" @@ -1120,6 +1126,7 @@ #include "code\game\objects\effects\temporary_visuals\miscellaneous.dm" #include "code\game\objects\effects\temporary_visuals\muzzle_flashes.dm" #include "code\game\objects\effects\temporary_visuals\temporary_visual.dm" +#include "code\game\objects\items\anomaly_beacon.dm" #include "code\game\objects\items\ashtray.dm" #include "code\game\objects\items\blueprints.dm" #include "code\game\objects\items\bodybag.dm" @@ -1241,6 +1248,7 @@ #include "code\game\objects\items\weapons\dna_injector.dm" #include "code\game\objects\items\weapons\dna_upgrader.dm" #include "code\game\objects\items\weapons\dnascrambler.dm" +#include "code\game\objects\items\weapons\experimental_syringe_gun.dm" #include "code\game\objects\items\weapons\explosives.dm" #include "code\game\objects\items\weapons\extinguisher.dm" #include "code\game\objects\items\weapons\flamethrower.dm" @@ -1280,6 +1288,7 @@ #include "code\game\objects\items\weapons\syndie_RCD.dm" #include "code\game\objects\items\weapons\tape.dm" #include "code\game\objects\items\weapons\teleportation.dm" +#include "code\game\objects\items\weapons\tuned_anomalous_teleporter.dm" #include "code\game\objects\items\weapons\twohanded.dm" #include "code\game\objects\items\weapons\vending_items.dm" #include "code\game\objects\items\weapons\weaponry.dm" @@ -1292,6 +1301,7 @@ #include "code\game\objects\items\weapons\grenades\confetti.dm" #include "code\game\objects\items\weapons\grenades\custom_grenades.dm" #include "code\game\objects\items\weapons\grenades\emgrenade.dm" +#include "code\game\objects\items\weapons\grenades\fauna_bomb.dm" #include "code\game\objects\items\weapons\grenades\flashbang.dm" #include "code\game\objects\items\weapons\grenades\frag.dm" #include "code\game\objects\items\weapons\grenades\ghettobomb.dm" @@ -1985,6 +1995,7 @@ #include "code\modules\economy\Economy_Events_Mundane.dm" #include "code\modules\economy\Economy_TradeDestinations.dm" #include "code\modules\economy\EFTPOS.dm" +#include "code\modules\economy\insurance.dm" #include "code\modules\economy\Job_Departments.dm" #include "code\modules\economy\utils.dm" #include "code\modules\economy\quests\_base_quests.dm" @@ -3140,6 +3151,7 @@ #include "code\modules\tgui\states\notcontained.dm" #include "code\modules\tgui\states\observer.dm" #include "code\modules\tgui\states\physical.dm" +#include "code\modules\tgui\states\range.dm" #include "code\modules\tgui\states\self.dm" #include "code\modules\tgui\states\strippable_state.dm" #include "code\modules\tgui\states\zlevel.dm" diff --git a/sound/ambience/antag/bloodcult_eyes.ogg b/sound/ambience/antag/bloodcult_eyes.ogg new file mode 100644 index 00000000000..38c223b1ad8 Binary files /dev/null and b/sound/ambience/antag/bloodcult_eyes.ogg differ diff --git a/sound/ambience/antag/bloodcult_halos.ogg b/sound/ambience/antag/bloodcult_halos.ogg new file mode 100644 index 00000000000..bd22934fd30 Binary files /dev/null and b/sound/ambience/antag/bloodcult_halos.ogg differ diff --git a/sound/ambience/antag/bloodcult_scribe.ogg b/sound/ambience/antag/bloodcult_scribe.ogg new file mode 100644 index 00000000000..a01ef30a1d4 Binary files /dev/null and b/sound/ambience/antag/bloodcult_scribe.ogg differ diff --git a/sound/ambience/antag/revolutionary_tide.ogg b/sound/ambience/antag/revolutionary_tide.ogg new file mode 100644 index 00000000000..be8e4a74985 Binary files /dev/null and b/sound/ambience/antag/revolutionary_tide.ogg differ diff --git a/sound/items/GSBussy.ogg b/sound/items/GSBussy.ogg new file mode 100644 index 00000000000..374a027a299 Binary files /dev/null and b/sound/items/GSBussy.ogg differ diff --git a/strings/lobby_phrases.txt b/strings/lobby_phrases.txt index 4720fd3eaf9..40c9ea6b8cd 100644 --- a/strings/lobby_phrases.txt +++ b/strings/lobby_phrases.txt @@ -4,5 +4,5 @@ Также известно как SunSpace. ХОНК. Также попробуйте майнкрафт. -КМ никогда не будет главой! +КМ всегда был главой! Как менять руки? diff --git a/tgui/packages/tgui/interfaces/ATM.js b/tgui/packages/tgui/interfaces/ATM.js index 167a340015e..e7a62a0cd16 100644 --- a/tgui/packages/tgui/interfaces/ATM.js +++ b/tgui/packages/tgui/interfaces/ATM.js @@ -54,6 +54,9 @@ export const ATM = (props, context) => { case 3: // VIEW_TRANSACTION_LOGS body = ; break; + case 4: // CHANGE_INSURANCE_TYPE + body = ; + break; default: body = ; } @@ -197,6 +200,52 @@ const TransferFunds = (props, context) => { ); }; +const ChangeInsuranceType = (props, context) => { + const { act, data } = useBackend(context); + const { insurance_type } = data; + return ( +
+ + +
+ ); +}; + const DefaultScreen = (props, context) => { const { act, data } = useBackend(context); const [fundsAmount, setFundsAmount] = useLocalState( @@ -204,7 +253,12 @@ const DefaultScreen = (props, context) => { 'fundsAmount', 0 ); - const { owner_name, money } = data; + const [insuranceAmount, setInsuranceAmount] = useLocalState( + context, + 'insuranceAmount', + 0 + ); + const { owner_name, money, insurance } = data; return ( <>
{ onClick={() => act('withdrawal', { funds_amount: fundsAmount })} /> + + + ${insurance} + + + setInsuranceAmount(value)} /> + + +
@@ -253,6 +331,13 @@ const DefaultScreen = (props, context) => { onClick={() => act('view_screen', { view_screen: 3 })} /> + + + + } diff --git a/tgui/packages/tgui/interfaces/BotClean.js b/tgui/packages/tgui/interfaces/BotClean.js index 7d73bc8e5cf..e43095641e0 100644 --- a/tgui/packages/tgui/interfaces/BotClean.js +++ b/tgui/packages/tgui/interfaces/BotClean.js @@ -20,71 +20,74 @@ export const BotClean = (props, context) => { - Swipe an ID card to {locked ? 'unlock' : 'lock'} this interface. + Проведите своей ID-картой, чтобы + {locked ? 'разблокировать' : 'заблокировать'} этот интерфейс. -
+
- +
-
+
act('blood')} />
{painame && ( -
+
-
+
act('authid')} /> act('authweapon')} /> act('authwarrant')} />
-
+
act('arrtype')} /> act('arrdeclare')} />
{painame && ( -
+
@@ -211,19 +249,19 @@ export const RoboQuest = (props, context) => {
)} {!!shopState && ( @@ -293,8 +354,8 @@ export const RoboQuest = (props, context) => { scrollable title={ <> - RoboQuest Shop - Points: {points.robo} + Магазин особых наград + Очки: {points.robo} } > diff --git a/tgui/public/tgui.bundle.js b/tgui/public/tgui.bundle.js index b04722f41c4..cee1a9a1485 100644 --- a/tgui/public/tgui.bundle.js +++ b/tgui/public/tgui.bundle.js @@ -1,26 +1,26 @@ -(function(){(function(){var Xt={96376:function(I,r,n){"use strict";r.__esModule=!0,r.createPopper=void 0,r.popperGenerator=m;var e=p(n(74758)),a=p(n(28811)),t=p(n(98309)),o=p(n(44896)),s=p(n(33118)),y=p(n(10579)),V=p(n(56500)),k=p(n(17633));r.detectOverflow=k.default;var S=n(75573);function p(d){return d&&d.__esModule?d:{default:d}}var i={placement:"bottom",modifiers:[],strategy:"absolute"};function c(){for(var d=arguments.length,f=new Array(d),l=0;l0&&(0,a.round)(p.width)/V.offsetWidth||1,c=V.offsetHeight>0&&(0,a.round)(p.height)/V.offsetHeight||1);var m=(0,e.isElement)(V)?(0,t.default)(V):window,u=m.visualViewport,d=!(0,o.default)()&&S,f=(p.left+(d&&u?u.offsetLeft:0))/i,l=(p.top+(d&&u?u.offsetTop:0))/c,v=p.width/i,b=p.height/c;return{width:v,height:b,top:l,right:f+v,bottom:l+b,left:f,x:f,y:l}}},49035:function(I,r,n){"use strict";r.__esModule=!0,r.default=b;var e=n(46206),a=d(n(87991)),t=d(n(79752)),o=d(n(98309)),s=d(n(44896)),y=d(n(40600)),V=d(n(16599)),k=n(75573),S=d(n(37786)),p=d(n(57819)),i=d(n(4206)),c=d(n(12972)),m=d(n(81666)),u=n(63618);function d(g){return g&&g.__esModule?g:{default:g}}function f(g,h){var C=(0,S.default)(g,!1,h==="fixed");return C.top=C.top+g.clientTop,C.left=C.left+g.clientLeft,C.bottom=C.top+g.clientHeight,C.right=C.left+g.clientWidth,C.width=g.clientWidth,C.height=g.clientHeight,C.x=C.left,C.y=C.top,C}function l(g,h,C){return h===e.viewport?(0,m.default)((0,a.default)(g,C)):(0,k.isElement)(h)?f(h,C):(0,m.default)((0,t.default)((0,y.default)(g)))}function v(g){var h=(0,o.default)((0,p.default)(g)),C=["absolute","fixed"].indexOf((0,V.default)(g).position)>=0,N=C&&(0,k.isHTMLElement)(g)?(0,s.default)(g):g;return(0,k.isElement)(N)?h.filter(function(x){return(0,k.isElement)(x)&&(0,i.default)(x,N)&&(0,c.default)(x)!=="body"}):[]}function b(g,h,C,N){var x=h==="clippingParents"?v(g):[].concat(h),B=[].concat(x,[C]),L=B[0],w=B.reduce(function(A,T){var E=l(g,T,N);return A.top=(0,u.max)(E.top,A.top),A.right=(0,u.min)(E.right,A.right),A.bottom=(0,u.min)(E.bottom,A.bottom),A.left=(0,u.max)(E.left,A.left),A},l(g,L,N));return w.width=w.right-w.left,w.height=w.bottom-w.top,w.x=w.left,w.y=w.top,w}},74758:function(I,r,n){"use strict";r.__esModule=!0,r.default=i;var e=S(n(37786)),a=S(n(13390)),t=S(n(12972)),o=n(75573),s=S(n(79697)),y=S(n(40600)),V=S(n(10798)),k=n(63618);function S(c){return c&&c.__esModule?c:{default:c}}function p(c){var m=c.getBoundingClientRect(),u=(0,k.round)(m.width)/c.offsetWidth||1,d=(0,k.round)(m.height)/c.offsetHeight||1;return u!==1||d!==1}function i(c,m,u){u===void 0&&(u=!1);var d=(0,o.isHTMLElement)(m),f=(0,o.isHTMLElement)(m)&&p(m),l=(0,y.default)(m),v=(0,e.default)(c,f,u),b={scrollLeft:0,scrollTop:0},g={x:0,y:0};return(d||!d&&!u)&&(((0,t.default)(m)!=="body"||(0,V.default)(l))&&(b=(0,a.default)(m)),(0,o.isHTMLElement)(m)?(g=(0,e.default)(m,!0),g.x+=m.clientLeft,g.y+=m.clientTop):l&&(g.x=(0,s.default)(l))),{x:v.left+b.scrollLeft-g.x,y:v.top+b.scrollTop-g.y,width:v.width,height:v.height}}},16599:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(95115));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return(0,e.default)(o).getComputedStyle(o)}},40600:function(I,r,n){"use strict";r.__esModule=!0,r.default=a;var e=n(75573);function a(t){return(((0,e.isElement)(t)?t.ownerDocument:t.document)||window.document).documentElement}},79752:function(I,r,n){"use strict";r.__esModule=!0,r.default=V;var e=y(n(40600)),a=y(n(16599)),t=y(n(79697)),o=y(n(43750)),s=n(63618);function y(k){return k&&k.__esModule?k:{default:k}}function V(k){var S,p=(0,e.default)(k),i=(0,o.default)(k),c=(S=k.ownerDocument)==null?void 0:S.body,m=(0,s.max)(p.scrollWidth,p.clientWidth,c?c.scrollWidth:0,c?c.clientWidth:0),u=(0,s.max)(p.scrollHeight,p.clientHeight,c?c.scrollHeight:0,c?c.clientHeight:0),d=-i.scrollLeft+(0,t.default)(k),f=-i.scrollTop;return(0,a.default)(c||p).direction==="rtl"&&(d+=(0,s.max)(p.clientWidth,c?c.clientWidth:0)-m),{width:m,height:u,x:d,y:f}}},3073:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}},28811:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(37786));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var s=(0,e.default)(o),y=o.offsetWidth,V=o.offsetHeight;return Math.abs(s.width-y)<=1&&(y=s.width),Math.abs(s.height-V)<=1&&(V=s.height),{x:o.offsetLeft,y:o.offsetTop,width:y,height:V}}},12972:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e?(e.nodeName||"").toLowerCase():null}},13390:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=s(n(43750)),a=s(n(95115)),t=n(75573),o=s(n(3073));function s(V){return V&&V.__esModule?V:{default:V}}function y(V){return V===(0,a.default)(V)||!(0,t.isHTMLElement)(V)?(0,e.default)(V):(0,o.default)(V)}},44896:function(I,r,n){"use strict";r.__esModule=!0,r.default=i;var e=k(n(95115)),a=k(n(12972)),t=k(n(16599)),o=n(75573),s=k(n(87031)),y=k(n(57819)),V=k(n(35366));function k(c){return c&&c.__esModule?c:{default:c}}function S(c){return!(0,o.isHTMLElement)(c)||(0,t.default)(c).position==="fixed"?null:c.offsetParent}function p(c){var m=/firefox/i.test((0,V.default)()),u=/Trident/i.test((0,V.default)());if(u&&(0,o.isHTMLElement)(c)){var d=(0,t.default)(c);if(d.position==="fixed")return null}var f=(0,y.default)(c);for((0,o.isShadowRoot)(f)&&(f=f.host);(0,o.isHTMLElement)(f)&&["html","body"].indexOf((0,a.default)(f))<0;){var l=(0,t.default)(f);if(l.transform!=="none"||l.perspective!=="none"||l.contain==="paint"||["transform","perspective"].indexOf(l.willChange)!==-1||m&&l.willChange==="filter"||m&&l.filter&&l.filter!=="none")return f;f=f.parentNode}return null}function i(c){for(var m=(0,e.default)(c),u=S(c);u&&(0,s.default)(u)&&(0,t.default)(u).position==="static";)u=S(u);return u&&((0,a.default)(u)==="html"||(0,a.default)(u)==="body"&&(0,t.default)(u).position==="static")?m:u||p(c)||m}},57819:function(I,r,n){"use strict";r.__esModule=!0,r.default=s;var e=o(n(12972)),a=o(n(40600)),t=n(75573);function o(y){return y&&y.__esModule?y:{default:y}}function s(y){return(0,e.default)(y)==="html"?y:y.assignedSlot||y.parentNode||((0,t.isShadowRoot)(y)?y.host:null)||(0,a.default)(y)}},24426:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=s(n(57819)),a=s(n(10798)),t=s(n(12972)),o=n(75573);function s(V){return V&&V.__esModule?V:{default:V}}function y(V){return["html","body","#document"].indexOf((0,t.default)(V))>=0?V.ownerDocument.body:(0,o.isHTMLElement)(V)&&(0,a.default)(V)?V:y((0,e.default)(V))}},87991:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=s(n(95115)),a=s(n(40600)),t=s(n(79697)),o=s(n(89331));function s(V){return V&&V.__esModule?V:{default:V}}function y(V,k){var S=(0,e.default)(V),p=(0,a.default)(V),i=S.visualViewport,c=p.clientWidth,m=p.clientHeight,u=0,d=0;if(i){c=i.width,m=i.height;var f=(0,o.default)();(f||!f&&k==="fixed")&&(u=i.offsetLeft,d=i.offsetTop)}return{width:c,height:m,x:u+(0,t.default)(V),y:d}}},95115:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var a=e.ownerDocument;return a&&a.defaultView||window}return e}},43750:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(95115));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var s=(0,e.default)(o),y=s.pageXOffset,V=s.pageYOffset;return{scrollLeft:y,scrollTop:V}}},79697:function(I,r,n){"use strict";r.__esModule=!0,r.default=s;var e=o(n(37786)),a=o(n(40600)),t=o(n(43750));function o(y){return y&&y.__esModule?y:{default:y}}function s(y){return(0,e.default)((0,a.default)(y)).left+(0,t.default)(y).scrollLeft}},75573:function(I,r,n){"use strict";r.__esModule=!0,r.isElement=t,r.isHTMLElement=o,r.isShadowRoot=s;var e=a(n(95115));function a(y){return y&&y.__esModule?y:{default:y}}function t(y){var V=(0,e.default)(y).Element;return y instanceof V||y instanceof Element}function o(y){var V=(0,e.default)(y).HTMLElement;return y instanceof V||y instanceof HTMLElement}function s(y){if(typeof ShadowRoot=="undefined")return!1;var V=(0,e.default)(y).ShadowRoot;return y instanceof V||y instanceof ShadowRoot}},89331:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(35366));function a(o){return o&&o.__esModule?o:{default:o}}function t(){return!/^((?!chrome|android).)*safari/i.test((0,e.default)())}},10798:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(16599));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var s=(0,e.default)(o),y=s.overflow,V=s.overflowX,k=s.overflowY;return/auto|scroll|overlay|hidden/.test(y+k+V)}},87031:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(12972));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return["table","td","th"].indexOf((0,e.default)(o))>=0}},98309:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=s(n(24426)),a=s(n(57819)),t=s(n(95115)),o=s(n(10798));function s(V){return V&&V.__esModule?V:{default:V}}function y(V,k){var S;k===void 0&&(k=[]);var p=(0,e.default)(V),i=p===((S=V.ownerDocument)==null?void 0:S.body),c=(0,t.default)(p),m=i?[c].concat(c.visualViewport||[],(0,o.default)(p)?p:[]):p,u=k.concat(m);return i?u:u.concat(y((0,a.default)(m)))}},46206:function(I,r){"use strict";r.__esModule=!0,r.write=r.viewport=r.variationPlacements=r.top=r.start=r.right=r.reference=r.read=r.popper=r.placements=r.modifierPhases=r.main=r.left=r.end=r.clippingParents=r.bottom=r.beforeWrite=r.beforeRead=r.beforeMain=r.basePlacements=r.auto=r.afterWrite=r.afterRead=r.afterMain=void 0;var n=r.top="top",e=r.bottom="bottom",a=r.right="right",t=r.left="left",o=r.auto="auto",s=r.basePlacements=[n,e,a,t],y=r.start="start",V=r.end="end",k=r.clippingParents="clippingParents",S=r.viewport="viewport",p=r.popper="popper",i=r.reference="reference",c=r.variationPlacements=s.reduce(function(x,B){return x.concat([B+"-"+y,B+"-"+V])},[]),m=r.placements=[].concat(s,[o]).reduce(function(x,B){return x.concat([B,B+"-"+y,B+"-"+V])},[]),u=r.beforeRead="beforeRead",d=r.read="read",f=r.afterRead="afterRead",l=r.beforeMain="beforeMain",v=r.main="main",b=r.afterMain="afterMain",g=r.beforeWrite="beforeWrite",h=r.write="write",C=r.afterWrite="afterWrite",N=r.modifierPhases=[u,d,f,l,v,b,g,h,C]},95996:function(I,r,n){"use strict";r.__esModule=!0;var e={popperGenerator:!0,detectOverflow:!0,createPopperBase:!0,createPopper:!0,createPopperLite:!0};r.popperGenerator=r.detectOverflow=r.createPopperLite=r.createPopperBase=r.createPopper=void 0;var a=n(46206);Object.keys(a).forEach(function(V){V==="default"||V==="__esModule"||Object.prototype.hasOwnProperty.call(e,V)||V in r&&r[V]===a[V]||(r[V]=a[V])});var t=n(39805);Object.keys(t).forEach(function(V){V==="default"||V==="__esModule"||Object.prototype.hasOwnProperty.call(e,V)||V in r&&r[V]===t[V]||(r[V]=t[V])});var o=n(96376);r.popperGenerator=o.popperGenerator,r.detectOverflow=o.detectOverflow,r.createPopperBase=o.createPopper;var s=n(83312);r.createPopper=s.createPopper;var y=n(2473);r.createPopperLite=y.createPopper},19975:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=t(n(12972)),a=n(75573);function t(V){return V&&V.__esModule?V:{default:V}}function o(V){var k=V.state;Object.keys(k.elements).forEach(function(S){var p=k.styles[S]||{},i=k.attributes[S]||{},c=k.elements[S];!(0,a.isHTMLElement)(c)||!(0,e.default)(c)||(Object.assign(c.style,p),Object.keys(i).forEach(function(m){var u=i[m];u===!1?c.removeAttribute(m):c.setAttribute(m,u===!0?"":u)}))})}function s(V){var k=V.state,S={popper:{position:k.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(k.elements.popper.style,S.popper),k.styles=S,k.elements.arrow&&Object.assign(k.elements.arrow.style,S.arrow),function(){Object.keys(k.elements).forEach(function(p){var i=k.elements[p],c=k.attributes[p]||{},m=Object.keys(k.styles.hasOwnProperty(p)?k.styles[p]:S[p]),u=m.reduce(function(d,f){return d[f]="",d},{});!(0,a.isHTMLElement)(i)||!(0,e.default)(i)||(Object.assign(i.style,u),Object.keys(c).forEach(function(d){i.removeAttribute(d)}))})}}var y=r.default={name:"applyStyles",enabled:!0,phase:"write",fn:o,effect:s,requires:["computeStyles"]}},52744:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=p(n(83104)),a=p(n(28811)),t=p(n(4206)),o=p(n(44896)),s=p(n(41199)),y=n(28595),V=p(n(43286)),k=p(n(81447)),S=n(46206);function p(d){return d&&d.__esModule?d:{default:d}}var i=function(){function d(f,l){return f=typeof f=="function"?f(Object.assign({},l.rects,{placement:l.placement})):f,(0,V.default)(typeof f!="number"?f:(0,k.default)(f,S.basePlacements))}return d}();function c(d){var f,l=d.state,v=d.name,b=d.options,g=l.elements.arrow,h=l.modifiersData.popperOffsets,C=(0,e.default)(l.placement),N=(0,s.default)(C),x=[S.left,S.right].indexOf(C)>=0,B=x?"height":"width";if(!(!g||!h)){var L=i(b.padding,l),w=(0,a.default)(g),A=N==="y"?S.top:S.left,T=N==="y"?S.bottom:S.right,E=l.rects.reference[B]+l.rects.reference[N]-h[N]-l.rects.popper[B],O=h[N]-l.rects.reference[N],P=(0,o.default)(g),R=P?N==="y"?P.clientHeight||0:P.clientWidth||0:0,F=E/2-O/2,j=L[A],W=R-w[B]-L[T],H=R/2-w[B]/2+F,z=(0,y.within)(j,H,W),Y=N;l.modifiersData[v]=(f={},f[Y]=z,f.centerOffset=z-H,f)}}function m(d){var f=d.state,l=d.options,v=l.element,b=v===void 0?"[data-popper-arrow]":v;b!=null&&(typeof b=="string"&&(b=f.elements.popper.querySelector(b),!b)||(0,t.default)(f.elements.popper,b)&&(f.elements.arrow=b))}var u=r.default={name:"arrow",enabled:!0,phase:"main",fn:c,effect:m,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}},59894:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0,r.mapToStyles=c;var e=n(46206),a=S(n(44896)),t=S(n(95115)),o=S(n(40600)),s=S(n(16599)),y=S(n(83104)),V=S(n(45)),k=n(63618);function S(d){return d&&d.__esModule?d:{default:d}}var p={top:"auto",right:"auto",bottom:"auto",left:"auto"};function i(d,f){var l=d.x,v=d.y,b=f.devicePixelRatio||1;return{x:(0,k.round)(l*b)/b||0,y:(0,k.round)(v*b)/b||0}}function c(d){var f,l=d.popper,v=d.popperRect,b=d.placement,g=d.variation,h=d.offsets,C=d.position,N=d.gpuAcceleration,x=d.adaptive,B=d.roundOffsets,L=d.isFixed,w=h.x,A=w===void 0?0:w,T=h.y,E=T===void 0?0:T,O=typeof B=="function"?B({x:A,y:E}):{x:A,y:E};A=O.x,E=O.y;var P=h.hasOwnProperty("x"),R=h.hasOwnProperty("y"),F=e.left,j=e.top,W=window;if(x){var H=(0,a.default)(l),z="clientHeight",Y="clientWidth";if(H===(0,t.default)(l)&&(H=(0,o.default)(l),(0,s.default)(H).position!=="static"&&C==="absolute"&&(z="scrollHeight",Y="scrollWidth")),H=H,b===e.top||(b===e.left||b===e.right)&&g===e.end){j=e.bottom;var G=L&&H===W&&W.visualViewport?W.visualViewport.height:H[z];E-=G-v.height,E*=N?1:-1}if(b===e.left||(b===e.top||b===e.bottom)&&g===e.end){F=e.right;var ne=L&&H===W&&W.visualViewport?W.visualViewport.width:H[Y];A-=ne-v.width,A*=N?1:-1}}var Q=Object.assign({position:C},x&&p),he=B===!0?i({x:A,y:E},(0,t.default)(l)):{x:A,y:E};if(A=he.x,E=he.y,N){var Ve;return Object.assign({},Q,(Ve={},Ve[j]=R?"0":"",Ve[F]=P?"0":"",Ve.transform=(W.devicePixelRatio||1)<=1?"translate("+A+"px, "+E+"px)":"translate3d("+A+"px, "+E+"px, 0)",Ve))}return Object.assign({},Q,(f={},f[j]=R?E+"px":"",f[F]=P?A+"px":"",f.transform="",f))}function m(d){var f=d.state,l=d.options,v=l.gpuAcceleration,b=v===void 0?!0:v,g=l.adaptive,h=g===void 0?!0:g,C=l.roundOffsets,N=C===void 0?!0:C,x={placement:(0,y.default)(f.placement),variation:(0,V.default)(f.placement),popper:f.elements.popper,popperRect:f.rects.popper,gpuAcceleration:b,isFixed:f.options.strategy==="fixed"};f.modifiersData.popperOffsets!=null&&(f.styles.popper=Object.assign({},f.styles.popper,c(Object.assign({},x,{offsets:f.modifiersData.popperOffsets,position:f.options.strategy,adaptive:h,roundOffsets:N})))),f.modifiersData.arrow!=null&&(f.styles.arrow=Object.assign({},f.styles.arrow,c(Object.assign({},x,{offsets:f.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:N})))),f.attributes.popper=Object.assign({},f.attributes.popper,{"data-popper-placement":f.placement})}var u=r.default={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:m,data:{}}},36692:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=a(n(95115));function a(y){return y&&y.__esModule?y:{default:y}}var t={passive:!0};function o(y){var V=y.state,k=y.instance,S=y.options,p=S.scroll,i=p===void 0?!0:p,c=S.resize,m=c===void 0?!0:c,u=(0,e.default)(V.elements.popper),d=[].concat(V.scrollParents.reference,V.scrollParents.popper);return i&&d.forEach(function(f){f.addEventListener("scroll",k.update,t)}),m&&u.addEventListener("resize",k.update,t),function(){i&&d.forEach(function(f){f.removeEventListener("scroll",k.update,t)}),m&&u.removeEventListener("resize",k.update,t)}}var s=r.default={name:"eventListeners",enabled:!0,phase:"write",fn:function(){function y(){}return y}(),effect:o,data:{}}},23798:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=k(n(71376)),a=k(n(83104)),t=k(n(86459)),o=k(n(17633)),s=k(n(9041)),y=n(46206),V=k(n(45));function k(c){return c&&c.__esModule?c:{default:c}}function S(c){if((0,a.default)(c)===y.auto)return[];var m=(0,e.default)(c);return[(0,t.default)(c),m,(0,t.default)(m)]}function p(c){var m=c.state,u=c.options,d=c.name;if(!m.modifiersData[d]._skip){for(var f=u.mainAxis,l=f===void 0?!0:f,v=u.altAxis,b=v===void 0?!0:v,g=u.fallbackPlacements,h=u.padding,C=u.boundary,N=u.rootBoundary,x=u.altBoundary,B=u.flipVariations,L=B===void 0?!0:B,w=u.allowedAutoPlacements,A=m.options.placement,T=(0,a.default)(A),E=T===A,O=g||(E||!L?[(0,e.default)(A)]:S(A)),P=[A].concat(O).reduce(function(te,ee){return te.concat((0,a.default)(ee)===y.auto?(0,s.default)(m,{placement:ee,boundary:C,rootBoundary:N,padding:h,flipVariations:L,allowedAutoPlacements:w}):ee)},[]),R=m.rects.reference,F=m.rects.popper,j=new Map,W=!0,H=P[0],z=0;z=0,he=Q?"width":"height",Ve=(0,o.default)(m,{placement:Y,boundary:C,rootBoundary:N,altBoundary:x,padding:h}),Ne=Q?ne?y.right:y.left:ne?y.bottom:y.top;R[he]>F[he]&&(Ne=(0,e.default)(Ne));var Be=(0,e.default)(Ne),Le=[];if(l&&Le.push(Ve[G]<=0),b&&Le.push(Ve[Ne]<=0,Ve[Be]<=0),Le.every(function(te){return te})){H=Y,W=!1;break}j.set(Y,Le)}if(W)for(var Ae=L?3:1,fe=function(){function te(ee){var le=P.find(function(ye){var me=j.get(ye);if(me)return me.slice(0,ee).every(function(Te){return Te})});if(le)return H=le,"break"}return te}(),Z=Ae;Z>0;Z--){var J=fe(Z);if(J==="break")break}m.placement!==H&&(m.modifiersData[d]._skip=!0,m.placement=H,m.reset=!0)}}var i=r.default={name:"flip",enabled:!0,phase:"main",fn:p,requiresIfExists:["offset"],data:{_skip:!1}}},83761:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=n(46206),a=t(n(17633));function t(k){return k&&k.__esModule?k:{default:k}}function o(k,S,p){return p===void 0&&(p={x:0,y:0}),{top:k.top-S.height-p.y,right:k.right-S.width+p.x,bottom:k.bottom-S.height+p.y,left:k.left-S.width-p.x}}function s(k){return[e.top,e.right,e.bottom,e.left].some(function(S){return k[S]>=0})}function y(k){var S=k.state,p=k.name,i=S.rects.reference,c=S.rects.popper,m=S.modifiersData.preventOverflow,u=(0,a.default)(S,{elementContext:"reference"}),d=(0,a.default)(S,{altBoundary:!0}),f=o(u,i),l=o(d,c,m),v=s(f),b=s(l);S.modifiersData[p]={referenceClippingOffsets:f,popperEscapeOffsets:l,isReferenceHidden:v,hasPopperEscaped:b},S.attributes.popper=Object.assign({},S.attributes.popper,{"data-popper-reference-hidden":v,"data-popper-escaped":b})}var V=r.default={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:y}},39805:function(I,r,n){"use strict";r.__esModule=!0,r.preventOverflow=r.popperOffsets=r.offset=r.hide=r.flip=r.eventListeners=r.computeStyles=r.arrow=r.applyStyles=void 0;var e=p(n(19975));r.applyStyles=e.default;var a=p(n(52744));r.arrow=a.default;var t=p(n(59894));r.computeStyles=t.default;var o=p(n(36692));r.eventListeners=o.default;var s=p(n(23798));r.flip=s.default;var y=p(n(83761));r.hide=y.default;var V=p(n(61410));r.offset=V.default;var k=p(n(40107));r.popperOffsets=k.default;var S=p(n(75137));r.preventOverflow=S.default;function p(i){return i&&i.__esModule?i:{default:i}}},61410:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0,r.distanceAndSkiddingToXY=o;var e=t(n(83104)),a=n(46206);function t(V){return V&&V.__esModule?V:{default:V}}function o(V,k,S){var p=(0,e.default)(V),i=[a.left,a.top].indexOf(p)>=0?-1:1,c=typeof S=="function"?S(Object.assign({},k,{placement:V})):S,m=c[0],u=c[1];return m=m||0,u=(u||0)*i,[a.left,a.right].indexOf(p)>=0?{x:u,y:m}:{x:m,y:u}}function s(V){var k=V.state,S=V.options,p=V.name,i=S.offset,c=i===void 0?[0,0]:i,m=a.placements.reduce(function(l,v){return l[v]=o(v,k.rects,c),l},{}),u=m[k.placement],d=u.x,f=u.y;k.modifiersData.popperOffsets!=null&&(k.modifiersData.popperOffsets.x+=d,k.modifiersData.popperOffsets.y+=f),k.modifiersData[p]=m}var y=r.default={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:s}},40107:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=a(n(89951));function a(s){return s&&s.__esModule?s:{default:s}}function t(s){var y=s.state,V=s.name;y.modifiersData[V]=(0,e.default)({reference:y.rects.reference,element:y.rects.popper,strategy:"absolute",placement:y.placement})}var o=r.default={name:"popperOffsets",enabled:!0,phase:"read",fn:t,data:{}}},75137:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=n(46206),a=c(n(83104)),t=c(n(41199)),o=c(n(28066)),s=n(28595),y=c(n(28811)),V=c(n(44896)),k=c(n(17633)),S=c(n(45)),p=c(n(34780)),i=n(63618);function c(d){return d&&d.__esModule?d:{default:d}}function m(d){var f=d.state,l=d.options,v=d.name,b=l.mainAxis,g=b===void 0?!0:b,h=l.altAxis,C=h===void 0?!1:h,N=l.boundary,x=l.rootBoundary,B=l.altBoundary,L=l.padding,w=l.tether,A=w===void 0?!0:w,T=l.tetherOffset,E=T===void 0?0:T,O=(0,k.default)(f,{boundary:N,rootBoundary:x,padding:L,altBoundary:B}),P=(0,a.default)(f.placement),R=(0,S.default)(f.placement),F=!R,j=(0,t.default)(P),W=(0,o.default)(j),H=f.modifiersData.popperOffsets,z=f.rects.reference,Y=f.rects.popper,G=typeof E=="function"?E(Object.assign({},f.rects,{placement:f.placement})):E,ne=typeof G=="number"?{mainAxis:G,altAxis:G}:Object.assign({mainAxis:0,altAxis:0},G),Q=f.modifiersData.offset?f.modifiersData.offset[f.placement]:null,he={x:0,y:0};if(H){if(g){var Ve,Ne=j==="y"?e.top:e.left,Be=j==="y"?e.bottom:e.right,Le=j==="y"?"height":"width",Ae=H[j],fe=Ae+O[Ne],Z=Ae-O[Be],J=A?-Y[Le]/2:0,te=R===e.start?z[Le]:Y[Le],ee=R===e.start?-Y[Le]:-z[Le],le=f.elements.arrow,ye=A&&le?(0,y.default)(le):{width:0,height:0},me=f.modifiersData["arrow#persistent"]?f.modifiersData["arrow#persistent"].padding:(0,p.default)(),Te=me[Ne],M=me[Be],X=(0,s.within)(0,z[Le],ye[Le]),ae=F?z[Le]/2-J-X-Te-ne.mainAxis:te-X-Te-ne.mainAxis,ue=F?-z[Le]/2+J+X+M+ne.mainAxis:ee+X+M+ne.mainAxis,ie=f.elements.arrow&&(0,V.default)(f.elements.arrow),ge=ie?j==="y"?ie.clientTop||0:ie.clientLeft||0:0,Ce=(Ve=Q==null?void 0:Q[j])!=null?Ve:0,Me=Ae+ae-Ce-ge,De=Ae+ue-Ce,ke=(0,s.within)(A?(0,i.min)(fe,Me):fe,Ae,A?(0,i.max)(Z,De):Z);H[j]=ke,he[j]=ke-Ae}if(C){var pe,se=j==="x"?e.top:e.left,xe=j==="x"?e.bottom:e.right,_=H[W],oe=W==="y"?"height":"width",ve=_+O[se],Se=_-O[xe],Ie=[e.top,e.left].indexOf(P)!==-1,Ee=(pe=Q==null?void 0:Q[W])!=null?pe:0,Pe=Ie?ve:_-z[oe]-Y[oe]-Ee+ne.altAxis,Oe=Ie?_+z[oe]+Y[oe]-Ee-ne.altAxis:Se,We=A&&Ie?(0,s.withinMaxClamp)(Pe,_,Oe):(0,s.within)(A?Pe:ve,_,A?Oe:Se);H[W]=We,he[W]=We-_}f.modifiersData[v]=he}}var u=r.default={name:"preventOverflow",enabled:!0,phase:"main",fn:m,requiresIfExists:["offset"]}},2473:function(I,r,n){"use strict";r.__esModule=!0,r.defaultModifiers=r.createPopper=void 0;var e=n(96376);r.popperGenerator=e.popperGenerator,r.detectOverflow=e.detectOverflow;var a=y(n(36692)),t=y(n(40107)),o=y(n(59894)),s=y(n(19975));function y(S){return S&&S.__esModule?S:{default:S}}var V=r.defaultModifiers=[a.default,t.default,o.default,s.default],k=r.createPopper=(0,e.popperGenerator)({defaultModifiers:V})},83312:function(I,r,n){"use strict";r.__esModule=!0;var e={createPopper:!0,createPopperLite:!0,defaultModifiers:!0,popperGenerator:!0,detectOverflow:!0};r.defaultModifiers=r.createPopperLite=r.createPopper=void 0;var a=n(96376);r.popperGenerator=a.popperGenerator,r.detectOverflow=a.detectOverflow;var t=u(n(36692)),o=u(n(40107)),s=u(n(59894)),y=u(n(19975)),V=u(n(61410)),k=u(n(23798)),S=u(n(75137)),p=u(n(52744)),i=u(n(83761)),c=n(2473);r.createPopperLite=c.createPopper;var m=n(39805);Object.keys(m).forEach(function(l){l==="default"||l==="__esModule"||Object.prototype.hasOwnProperty.call(e,l)||l in r&&r[l]===m[l]||(r[l]=m[l])});function u(l){return l&&l.__esModule?l:{default:l}}var d=r.defaultModifiers=[t.default,o.default,s.default,y.default,V.default,k.default,S.default,p.default,i.default],f=r.createPopperLite=r.createPopper=(0,a.popperGenerator)({defaultModifiers:d})},9041:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=s(n(45)),a=n(46206),t=s(n(17633)),o=s(n(83104));function s(V){return V&&V.__esModule?V:{default:V}}function y(V,k){k===void 0&&(k={});var S=k,p=S.placement,i=S.boundary,c=S.rootBoundary,m=S.padding,u=S.flipVariations,d=S.allowedAutoPlacements,f=d===void 0?a.placements:d,l=(0,e.default)(p),v=l?u?a.variationPlacements:a.variationPlacements.filter(function(h){return(0,e.default)(h)===l}):a.basePlacements,b=v.filter(function(h){return f.indexOf(h)>=0});b.length===0&&(b=v);var g=b.reduce(function(h,C){return h[C]=(0,t.default)(V,{placement:C,boundary:i,rootBoundary:c,padding:m})[(0,o.default)(C)],h},{});return Object.keys(g).sort(function(h,C){return g[h]-g[C]})}},89951:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=s(n(83104)),a=s(n(45)),t=s(n(41199)),o=n(46206);function s(V){return V&&V.__esModule?V:{default:V}}function y(V){var k=V.reference,S=V.element,p=V.placement,i=p?(0,e.default)(p):null,c=p?(0,a.default)(p):null,m=k.x+k.width/2-S.width/2,u=k.y+k.height/2-S.height/2,d;switch(i){case o.top:d={x:m,y:k.y-S.height};break;case o.bottom:d={x:m,y:k.y+k.height};break;case o.right:d={x:k.x+k.width,y:u};break;case o.left:d={x:k.x-S.width,y:u};break;default:d={x:k.x,y:k.y}}var f=i?(0,t.default)(i):null;if(f!=null){var l=f==="y"?"height":"width";switch(c){case o.start:d[f]=d[f]-(k[l]/2-S[l]/2);break;case o.end:d[f]=d[f]+(k[l]/2-S[l]/2);break;default:}}return d}},10579:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){var a;return function(){return a||(a=new Promise(function(t){Promise.resolve().then(function(){a=void 0,t(e())})})),a}}},17633:function(I,r,n){"use strict";r.__esModule=!0,r.default=i;var e=p(n(49035)),a=p(n(40600)),t=p(n(37786)),o=p(n(89951)),s=p(n(81666)),y=n(46206),V=n(75573),k=p(n(43286)),S=p(n(81447));function p(c){return c&&c.__esModule?c:{default:c}}function i(c,m){m===void 0&&(m={});var u=m,d=u.placement,f=d===void 0?c.placement:d,l=u.strategy,v=l===void 0?c.strategy:l,b=u.boundary,g=b===void 0?y.clippingParents:b,h=u.rootBoundary,C=h===void 0?y.viewport:h,N=u.elementContext,x=N===void 0?y.popper:N,B=u.altBoundary,L=B===void 0?!1:B,w=u.padding,A=w===void 0?0:w,T=(0,k.default)(typeof A!="number"?A:(0,S.default)(A,y.basePlacements)),E=x===y.popper?y.reference:y.popper,O=c.rects.popper,P=c.elements[L?E:x],R=(0,e.default)((0,V.isElement)(P)?P:P.contextElement||(0,a.default)(c.elements.popper),g,C,v),F=(0,t.default)(c.elements.reference),j=(0,o.default)({reference:F,element:O,strategy:"absolute",placement:f}),W=(0,s.default)(Object.assign({},O,j)),H=x===y.popper?W:F,z={top:R.top-H.top+T.top,bottom:H.bottom-R.bottom+T.bottom,left:R.left-H.left+T.left,right:H.right-R.right+T.right},Y=c.modifiersData.offset;if(x===y.popper&&Y){var G=Y[f];Object.keys(z).forEach(function(ne){var Q=[y.right,y.bottom].indexOf(ne)>=0?1:-1,he=[y.top,y.bottom].indexOf(ne)>=0?"y":"x";z[ne]+=G[he]*Q})}return z}},81447:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e,a){return a.reduce(function(t,o){return t[o]=e,t},{})}},28066:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e==="x"?"y":"x"}},83104:function(I,r,n){"use strict";r.__esModule=!0,r.default=a;var e=n(46206);function a(t){return t.split("-")[0]}},34780:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(){return{top:0,right:0,bottom:0,left:0}}},41199:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}},71376:function(I,r){"use strict";r.__esModule=!0,r.default=e;var n={left:"right",right:"left",bottom:"top",top:"bottom"};function e(a){return a.replace(/left|right|bottom|top/g,function(t){return n[t]})}},86459:function(I,r){"use strict";r.__esModule=!0,r.default=e;var n={start:"end",end:"start"};function e(a){return a.replace(/start|end/g,function(t){return n[t]})}},45:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e.split("-")[1]}},63618:function(I,r){"use strict";r.__esModule=!0,r.round=r.min=r.max=void 0;var n=r.max=Math.max,e=r.min=Math.min,a=r.round=Math.round},56500:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){var a=e.reduce(function(t,o){var s=t[o.name];return t[o.name]=s?Object.assign({},s,o,{options:Object.assign({},s.options,o.options),data:Object.assign({},s.data,o.data)}):o,t},{});return Object.keys(a).map(function(t){return a[t]})}},43286:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(34780));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return Object.assign({},(0,e.default)(),o)}},33118:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=n(46206);function a(o){var s=new Map,y=new Set,V=[];o.forEach(function(S){s.set(S.name,S)});function k(S){y.add(S.name);var p=[].concat(S.requires||[],S.requiresIfExists||[]);p.forEach(function(i){if(!y.has(i)){var c=s.get(i);c&&k(c)}}),V.push(S)}return o.forEach(function(S){y.has(S.name)||k(S)}),V}function t(o){var s=a(o);return e.modifierPhases.reduce(function(y,V){return y.concat(s.filter(function(k){return k.phase===V}))},[])}},81666:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}},35366:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(a){return a.brand+"/"+a.version}).join(" "):navigator.userAgent}},28595:function(I,r,n){"use strict";r.__esModule=!0,r.within=a,r.withinMaxClamp=t;var e=n(63618);function a(o,s,y){return(0,e.max)(o,(0,e.min)(s,y))}function t(o,s,y){var V=a(o,s,y);return V>y?y:V}},83331:function(I,r,n){"use strict";var e;function a(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?a=function(){function o(s){return typeof s}return o}():a=function(){function o(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s}return o}(),a(t)}(function(t){var o=arguments,s=function(){var i=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,c=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,m=/[^-+\dA-Z]/g;return function(u,d,f,l){if(o.length===1&&p(u)==="string"&&!/\d/.test(u)&&(d=u,u=void 0),u=u||u===0?u:new Date,u instanceof Date||(u=new Date(u)),isNaN(u))throw TypeError("Invalid date");d=String(s.masks[d]||d||s.masks.default);var v=d.slice(0,4);(v==="UTC:"||v==="GMT:")&&(d=d.slice(4),f=!0,v==="GMT:"&&(l=!0));var b=function(){function P(){return f?"getUTC":"get"}return P}(),g=function(){function P(){return u[b()+"Date"]()}return P}(),h=function(){function P(){return u[b()+"Day"]()}return P}(),C=function(){function P(){return u[b()+"Month"]()}return P}(),N=function(){function P(){return u[b()+"FullYear"]()}return P}(),x=function(){function P(){return u[b()+"Hours"]()}return P}(),B=function(){function P(){return u[b()+"Minutes"]()}return P}(),L=function(){function P(){return u[b()+"Seconds"]()}return P}(),w=function(){function P(){return u[b()+"Milliseconds"]()}return P}(),A=function(){function P(){return f?0:u.getTimezoneOffset()}return P}(),T=function(){function P(){return k(u)}return P}(),E=function(){function P(){return S(u)}return P}(),O={d:function(){function P(){return g()}return P}(),dd:function(){function P(){return y(g())}return P}(),ddd:function(){function P(){return s.i18n.dayNames[h()]}return P}(),DDD:function(){function P(){return V({y:N(),m:C(),d:g(),_:b(),dayName:s.i18n.dayNames[h()],short:!0})}return P}(),dddd:function(){function P(){return s.i18n.dayNames[h()+7]}return P}(),DDDD:function(){function P(){return V({y:N(),m:C(),d:g(),_:b(),dayName:s.i18n.dayNames[h()+7]})}return P}(),m:function(){function P(){return C()+1}return P}(),mm:function(){function P(){return y(C()+1)}return P}(),mmm:function(){function P(){return s.i18n.monthNames[C()]}return P}(),mmmm:function(){function P(){return s.i18n.monthNames[C()+12]}return P}(),yy:function(){function P(){return String(N()).slice(2)}return P}(),yyyy:function(){function P(){return y(N(),4)}return P}(),h:function(){function P(){return x()%12||12}return P}(),hh:function(){function P(){return y(x()%12||12)}return P}(),H:function(){function P(){return x()}return P}(),HH:function(){function P(){return y(x())}return P}(),M:function(){function P(){return B()}return P}(),MM:function(){function P(){return y(B())}return P}(),s:function(){function P(){return L()}return P}(),ss:function(){function P(){return y(L())}return P}(),l:function(){function P(){return y(w(),3)}return P}(),L:function(){function P(){return y(Math.floor(w()/10))}return P}(),t:function(){function P(){return x()<12?s.i18n.timeNames[0]:s.i18n.timeNames[1]}return P}(),tt:function(){function P(){return x()<12?s.i18n.timeNames[2]:s.i18n.timeNames[3]}return P}(),T:function(){function P(){return x()<12?s.i18n.timeNames[4]:s.i18n.timeNames[5]}return P}(),TT:function(){function P(){return x()<12?s.i18n.timeNames[6]:s.i18n.timeNames[7]}return P}(),Z:function(){function P(){return l?"GMT":f?"UTC":(String(u).match(c)||[""]).pop().replace(m,"").replace(/GMT\+0000/g,"UTC")}return P}(),o:function(){function P(){return(A()>0?"-":"+")+y(Math.floor(Math.abs(A())/60)*100+Math.abs(A())%60,4)}return P}(),p:function(){function P(){return(A()>0?"-":"+")+y(Math.floor(Math.abs(A())/60),2)+":"+y(Math.floor(Math.abs(A())%60),2)}return P}(),S:function(){function P(){return["th","st","nd","rd"][g()%10>3?0:(g()%100-g()%10!=10)*g()%10]}return P}(),W:function(){function P(){return T()}return P}(),WW:function(){function P(){return y(T())}return P}(),N:function(){function P(){return E()}return P}()};return d.replace(i,function(P){return P in O?O[P]():P.slice(1,P.length-1)})}}();s.masks={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},s.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]};var y=function(){function i(c,m){for(c=String(c),m=m||2;c.length0?x(K.componentWillDisappear,w(D,U)):L(D,U,!1)}function T(D,U,K,$,re,ce,de,be){D.componentWillMove.push({dom:$,fn:function(){function we(){de&4?K.componentWillMove(U,re,$):de&8&&K.onComponentWillMove(U,re,$,be)}return we}(),next:ce,parent:re})}function E(D,U,K,$,re){var ce,de,be=U.flags;do{var we=U.flags;if(we&1521){!a(ce)&&(o(ce.componentWillMove)||o(ce.onComponentWillMove))?T(re,D,ce,U.dom,K,$,be,de):l(K,U.dom,$);return}var Fe=U.children;if(we&4)ce=U.children,de=U.props,U=Fe.$LI;else if(we&8)ce=U.ref,de=U.props,U=Fe;else if(we&8192)if(U.childFlags===2)U=Fe;else{for(var Re=0,Ue=Fe.length;Re0,Fe=V(be),Re=s(be)&&be[0]===z;we||Fe||Re?(K=K||U.slice(0,ce),(we||Re)&&(de=fe(de)),(Fe||Re)&&(de.key=z+ce),K.push(de)):K&&K.push(de),de.flags|=65536}}K=K||U,K.length===0?$=1:$=8}else K=U,K.flags|=65536,U.flags&81920&&(K=fe(U)),$=2;return D.children=K,D.childFlags=$,D}function ye(D){return t(D)||e(D)?Ne(D,null):n(D)?Be(D,0,null):D.flags&16384?fe(D):D}var me="http://www.w3.org/1999/xlink",Te="http://www.w3.org/XML/1998/namespace",M={"xlink:actuate":me,"xlink:arcrole":me,"xlink:href":me,"xlink:role":me,"xlink:show":me,"xlink:title":me,"xlink:type":me,"xml:base":Te,"xml:lang":Te,"xml:space":Te};function X(D){return{onClick:D,onDblClick:D,onFocusIn:D,onFocusOut:D,onKeyDown:D,onKeyPress:D,onKeyUp:D,onMouseDown:D,onMouseMove:D,onMouseUp:D,onTouchEnd:D,onTouchMove:D,onTouchStart:D}}var ae=X(0),ue=X(null),ie=X(!0);function ge(D,U){var K=U.$EV;return K||(K=U.$EV=X(null)),K[D]||++ae[D]===1&&(ue[D]=Se(D)),K}function Ce(D,U){var K=U.$EV;K&&K[D]&&(--ae[D]===0&&(document.removeEventListener(d(D),ue[D]),ue[D]=null),K[D]=null)}function Me(D,U,K,$){if(o(K))ge(D,$)[D]=K;else if(i(K)){if(j(U,K))return;ge(D,$)[D]=K}else Ce(D,$)}function De(D){return o(D.composedPath)?D.composedPath()[0]:D.target}function ke(D,U,K,$){var re=De(D);do{if(U&&re.disabled)return;var ce=re.$EV;if(ce){var de=ce[K];if(de&&($.dom=re,de.event?de.event(de.data,D):de(D),D.cancelBubble))return}re=re.parentNode}while(!V(re))}function pe(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function se(){return this.defaultPrevented}function xe(){return this.cancelBubble}function _(D){var U={dom:document};return D.isDefaultPrevented=se,D.isPropagationStopped=xe,D.stopPropagation=pe,Object.defineProperty(D,"currentTarget",{configurable:!0,get:function(){function K(){return U.dom}return K}()}),U}function oe(D){return function(U){if(U.button!==0){U.stopPropagation();return}ke(U,!0,D,_(U))}}function ve(D){return function(U){ke(U,!1,D,_(U))}}function Se(D){var U=D==="onClick"||D==="onDblClick"?oe(D):ve(D);return document.addEventListener(d(D),U),U}function Ie(D,U){var K=document.createElement("i");return K.innerHTML=U,K.innerHTML===D.innerHTML}function Ee(D,U,K){if(D[U]){var $=D[U];$.event?$.event($.data,K):$(K)}else{var re=U.toLowerCase();D[re]&&D[re](K)}}function Pe(D,U){var K=function(){function $(re){var ce=this.$V;if(ce){var de=ce.props||c,be=ce.dom;if(s(D))Ee(de,D,re);else for(var we=0;we-1&&U.options[ce]&&(be=U.options[ce].value),K&&a(be)&&(be=D.defaultValue),qe($,be)}}var Zt=Pe("onInput",wt),qt=Pe("onChange");function en(D,U){Oe(D,"input",Zt),U.onChange&&Oe(D,"change",qt)}function wt(D,U,K){var $=D.value,re=U.value;if(a($)){if(K){var ce=D.defaultValue;!a(ce)&&ce!==re&&(U.defaultValue=ce,U.value=ce)}}else re!==$&&(U.defaultValue=$,U.value=$)}function Tt(D,U,K,$,re,ce){D&64?ut($,K):D&256?It($,K,re,U):D&128&&wt($,K,re),ce&&(K.$V=U)}function tn(D,U,K){D&64?Ye(U,K):D&256?Jt(U):D&128&&en(U,K)}function At(D){return D.type&&We(D.type)?!a(D.checked):!a(D.value)}function nn(){return{current:null}}function on(D){var U={render:D};return U}function vt(D){D&&!H(D,null)&&D.current&&(D.current=null)}function st(D,U,K){D&&(o(D)||D.current!==void 0)&&K.push(function(){!H(D,U)&&D.current!==void 0&&(D.current=U)})}function tt(D,U,K){ot(D,K),A(D,U,K)}function ot(D,U){var K=D.flags,$=D.children,re;if(K&481){re=D.ref;var ce=D.props;vt(re);var de=D.childFlags;if(!V(ce))for(var be=Object.keys(ce),we=0,Fe=be.length;we0?x(K.componentWillDisappear,rn(U,D)):D.textContent=""}function gt(D,U,K,$){mt(K,$),U.flags&8192?A(U,D,$):Ct(D,K,$)}function Et(D,U,K,$,re){D.componentWillDisappear.push(function(ce){$&4?U.componentWillDisappear(K,ce):$&8&&U.onComponentWillDisappear(K,re,ce)})}function an(D){var U=D.event;return function(K){U(D.data,K)}}function cn(D,U,K,$){if(i(K)){if(j(U,K))return;K=an(K)}Oe($,d(D),K)}function ln(D,U,K){if(a(U)){K.removeAttribute("style");return}var $=K.style,re,ce;if(s(U)){$.cssText=U;return}if(!a(D)&&!s(D)){for(re in U)ce=U[re],ce!==D[re]&&$.setProperty(re,ce);for(re in D)a(U[re])&&$.removeProperty(re)}else for(re in U)ce=U[re],$.setProperty(re,ce)}function un(D,U,K,$,re){var ce=D&&D.__html||"",de=U&&U.__html||"";ce!==de&&!a(de)&&!Ie($,de)&&(V(K)||(K.childFlags&12?mt(K.children,re):K.childFlags===2&&ot(K.children,re),K.children=null,K.childFlags=1),$.innerHTML=de)}function Vt(D,U,K,$,re,ce,de,be){switch(D){case"children":case"childrenType":case"className":case"defaultValue":case"key":case"multiple":case"ref":case"selectedIndex":break;case"autoFocus":$.autofocus=!!K;break;case"allowfullscreen":case"autoplay":case"capture":case"checked":case"controls":case"default":case"disabled":case"hidden":case"indeterminate":case"loop":case"muted":case"novalidate":case"open":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"selected":$[D]=!!K;break;case"defaultChecked":case"value":case"volume":if(ce&&D==="value")break;var we=a(K)?"":K;$[D]!==we&&($[D]=we);break;case"style":ln(U,K,$);break;case"dangerouslySetInnerHTML":un(U,K,de,$,be);break;default:ie[D]?Me(D,U,K,$):D.charCodeAt(0)===111&&D.charCodeAt(1)===110?cn(D,U,K,$):a(K)?$.removeAttribute(D):re&&M[D]?$.setAttributeNS(M[D],D,K):$.setAttribute(D,K);break}}function Mt(D,U,K,$,re,ce){var de=!1,be=(U&448)>0;be&&(de=At(K),de&&tn(U,$,K));for(var we in K)Vt(we,null,K[we],$,re,de,null,ce);be&&Tt(U,D,$,K,!0,de)}function Ot(D,U,K){var $=ye(D.render(U,D.state,K)),re=K;return o(D.getChildContext)&&(re=S(K,D.getChildContext())),D.$CX=re,$}function Pt(D,U,K,$,re,ce){var de=new U(K,$),be=de.$N=!!(U.getDerivedStateFromProps||de.getSnapshotBeforeUpdate);if(de.$SVG=re,de.$L=ce,D.children=de,de.$BS=!1,de.context=$,de.props===c&&(de.props=K),be)de.state=O(de,K,de.state);else if(o(de.componentWillMount)){de.$BR=!0,de.componentWillMount();var we=de.$PS;if(!V(we)){var Fe=de.state;if(V(Fe))de.state=we;else for(var Re in we)Fe[Re]=we[Re];de.$PS=null}de.$BR=!1}return de.$LI=Ot(de,K,$),de}function yt(D,U){var K=D.props||c;return D.flags&32768?D.type.render(K,D.ref,U):D.type(K,U)}function Xe(D,U,K,$,re,ce,de){var be=D.flags|=16384;be&481?Dt(D,U,K,$,re,ce,de):be&4?mn(D,U,K,$,re,ce,de):be&8?fn(D,U,K,$,re,ce,de):be&16?Rt(D,U,re):be&8192?sn(D,K,U,$,re,ce,de):be&1024&&dn(D,K,U,re,ce,de)}function dn(D,U,K,$,re,ce){Xe(D.children,D.ref,U,!1,null,re,ce);var de=Z();Rt(de,K,$),D.dom=de.dom}function sn(D,U,K,$,re,ce,de){var be=D.children,we=D.childFlags;we&12&&be.length===0&&(we=D.childFlags=2,be=D.children=Z()),we===2?Xe(be,K,U,$,re,ce,de):dt(be,K,U,$,re,ce,de)}function Rt(D,U,K){var $=D.dom=document.createTextNode(D.children);V(U)||l(U,$,K)}function Dt(D,U,K,$,re,ce,de){var be=D.flags,we=D.props,Fe=D.className,Re=D.childFlags,Ue=D.dom=v(D.type,$=$||(be&32)>0),je=D.children;if(!a(Fe)&&Fe!==""&&($?Ue.setAttribute("class",Fe):Ue.className=Fe),Re===16)F(Ue,je);else if(Re!==1){var _e=$&&D.type!=="foreignObject";Re===2?(je.flags&16384&&(D.children=je=fe(je)),Xe(je,Ue,K,_e,null,ce,de)):(Re===8||Re===4)&&dt(je,Ue,K,_e,null,ce,de)}V(U)||l(U,Ue,re),V(we)||Mt(D,be,we,Ue,$,de),st(D.ref,Ue,ce)}function dt(D,U,K,$,re,ce,de){for(var be=0;be_e)&&(Ue=N(be[_e-1],!1).nextSibling)}St(Fe,Re,be,we,K,$,re,Ue,D,ce,de)}function bn(D,U,K,$,re){var ce=D.ref,de=U.ref,be=U.children;if(St(D.childFlags,U.childFlags,D.children,be,ce,K,!1,null,D,$,re),U.dom=D.dom,ce!==de&&!t(be)){var we=be.dom;g(ce,we),f(de,we)}}function Vn(D,U,K,$,re,ce,de){var be=U.dom=D.dom,we=D.props,Fe=U.props,Re=!1,Ue=!1,je;if($=$||(re&32)>0,we!==Fe){var _e=we||c;if(je=Fe||c,je!==c){Re=(re&448)>0,Re&&(Ue=At(je));for(var $e in je){var He=_e[$e],Je=je[$e];He!==Je&&Vt($e,He,Je,be,$,Ue,D,de)}}if(_e!==c)for(var Ke in _e)a(je[Ke])&&!a(_e[Ke])&&Vt(Ke,_e[Ke],null,be,$,Ue,D,de)}var it=U.children,et=U.className;D.className!==et&&(a(et)?be.removeAttribute("class"):$?be.setAttribute("class",et):be.className=et),re&4096?gn(be,it):St(D.childFlags,U.childFlags,D.children,it,be,K,$&&U.type!=="foreignObject",null,D,ce,de),Re&&Tt(re,U,be,je,!1,Ue);var ft=U.ref,nt=D.ref;nt!==ft&&(vt(nt),st(ft,be,ce))}function yn(D,U,K,$,re,ce,de){ot(D,de),dt(U,K,$,re,N(D,!0),ce,de),A(D,K,de)}function St(D,U,K,$,re,ce,de,be,we,Fe,Re){switch(D){case 2:switch(U){case 2:rt(K,$,re,ce,de,be,Fe,Re);break;case 1:tt(K,re,Re);break;case 16:ot(K,Re),F(re,$);break;default:yn(K,$,re,ce,de,Fe,Re);break}break;case 1:switch(U){case 2:Xe($,re,ce,de,be,Fe,Re);break;case 1:break;case 16:F(re,$);break;default:dt($,re,ce,de,be,Fe,Re);break}break;case 16:switch(U){case 16:Cn(K,$,re);break;case 2:Ct(re,K,Re),Xe($,re,ce,de,be,Fe,Re);break;case 1:Ct(re,K,Re);break;default:Ct(re,K,Re),dt($,re,ce,de,be,Fe,Re);break}break;default:switch(U){case 16:mt(K,Re),F(re,$);break;case 2:gt(re,we,K,Re),Xe($,re,ce,de,be,Fe,Re);break;case 1:gt(re,we,K,Re);break;default:var Ue=K.length|0,je=$.length|0;Ue===0?je>0&&dt($,re,ce,de,be,Fe,Re):je===0?gt(re,we,K,Re):U===8&&D===8?In(K,$,re,ce,de,Ue,je,be,we,Fe,Re):Ln(K,$,re,ce,de,Ue,je,be,Fe,Re);break}break}}function Sn(D,U,K,$,re){re.push(function(){D.componentDidUpdate(U,K,$)})}function Ut(D,U,K,$,re,ce,de,be,we,Fe){var Re=D.state,Ue=D.props,je=!!D.$N,_e=o(D.shouldComponentUpdate);if(je&&(U=O(D,K,U!==Re?S(Re,U):U)),de||!_e||_e&&D.shouldComponentUpdate(K,U,re)){!je&&o(D.componentWillUpdate)&&D.componentWillUpdate(K,U,re),D.props=K,D.state=U,D.context=re;var $e=null,He=Ot(D,K,re);je&&o(D.getSnapshotBeforeUpdate)&&($e=D.getSnapshotBeforeUpdate(Ue,Re)),rt(D.$LI,He,$,D.$CX,ce,be,we,Fe),D.$LI=He,o(D.componentDidUpdate)&&Sn(D,Ue,Re,$e,we)}else D.props=K,D.state=U,D.context=re}function kn(D,U,K,$,re,ce,de,be){var we=U.children=D.children;if(!V(we)){we.$L=de;var Fe=U.props||c,Re=U.ref,Ue=D.ref,je=we.state;if(!we.$N){if(o(we.componentWillReceiveProps)){if(we.$BR=!0,we.componentWillReceiveProps(Fe,$),we.$UN)return;we.$BR=!1}V(we.$PS)||(je=S(je,we.$PS),we.$PS=null)}Ut(we,je,Fe,K,$,re,!1,ce,de,be),Ue!==Re&&(vt(Ue),st(Re,we,de))}}function Bn(D,U,K,$,re,ce,de,be){var we=!0,Fe=U.props||c,Re=U.ref,Ue=D.props,je=!a(Re),_e=D.children;if(je&&o(Re.onComponentShouldUpdate)&&(we=Re.onComponentShouldUpdate(Ue,Fe)),we!==!1){je&&o(Re.onComponentWillUpdate)&&Re.onComponentWillUpdate(Ue,Fe);var $e=ye(yt(U,$));rt(_e,$e,K,$,re,ce,de,be),U.children=$e,je&&o(Re.onComponentDidUpdate)&&Re.onComponentDidUpdate(Ue,Fe)}else U.children=_e}function xn(D,U){var K=U.children,$=U.dom=D.dom;K!==D.children&&($.nodeValue=K)}function Ln(D,U,K,$,re,ce,de,be,we,Fe){for(var Re=ce>de?de:ce,Ue=0,je,_e;Uede)for(Ue=Re;UeUe||_e>je)break e;$e=D[_e],He=U[_e]}for($e=D[Ue],He=U[je];$e.key===He.key;){if(He.flags&16384&&(U[je]=He=fe(He)),rt($e,He,K,$,re,be,Fe,Re),D[Ue]=He,Ue--,je--,_e>Ue||_e>je)break e;$e=D[Ue],He=U[je]}}if(_e>Ue){if(_e<=je)for(Je=je+1,Ke=Jeje)for(;_e<=Ue;)tt(D[_e++],K,Re);else wn(D,U,$,ce,de,Ue,je,_e,K,re,be,we,Fe,Re)}function wn(D,U,K,$,re,ce,de,be,we,Fe,Re,Ue,je,_e){var $e,He,Je=0,Ke=0,it=be,et=be,ft=ce-be+1,nt=de-be+1,pt=new Int32Array(nt+1),ct=ft===$,Bt=!1,Ze=0,ht=0;if(re<4||(ft|nt)<32)for(Ke=it;Ke<=ce;++Ke)if($e=D[Ke],htbe?Bt=!0:Ze=be,He.flags&16384&&(U[be]=He=fe(He)),rt($e,He,we,K,Fe,Re,je,_e),++ht;break}!ct&&be>de&&tt($e,we,_e)}else ct||tt($e,we,_e);else{var Gt={};for(Ke=et;Ke<=de;++Ke)Gt[U[Ke].key]=Ke;for(Ke=it;Ke<=ce;++Ke)if($e=D[Ke],htit;)tt(D[it++],we,_e);pt[be-et]=Ke+1,Ze>be?Bt=!0:Ze=be,He=U[be],He.flags&16384&&(U[be]=He=fe(He)),rt($e,He,we,K,Fe,Re,je,_e),++ht}else ct||tt($e,we,_e);else ct||tt($e,we,_e)}if(ct)gt(we,Ue,D,_e),dt(U,we,K,Fe,Re,je,_e);else if(Bt){var Qt=Tn(pt);for(be=Qt.length-1,Ke=nt-1;Ke>=0;Ke--)pt[Ke]===0?(Ze=Ke+et,He=U[Ze],He.flags&16384&&(U[Ze]=He=fe(He)),Je=Ze+1,Xe(He,we,K,Fe,Je0&&B(_e.componentWillMove)}else if(ht!==nt)for(Ke=nt-1;Ke>=0;Ke--)pt[Ke]===0&&(Ze=Ke+et,He=U[Ze],He.flags&16384&&(U[Ze]=He=fe(He)),Je=Ze+1,Xe(He,we,K,Fe,Je_t&&(_t=we,at=new Int32Array(we),Nt=new Int32Array(we));K>1,D[at[be]]0&&(Nt[K]=at[ce-1]),at[ce]=K)}ce=re+1;var Fe=new Int32Array(ce);for(de=at[ce-1];ce-- >0;)Fe[ce]=de,de=Nt[de],at[ce]=0;return Fe}var An=typeof document!="undefined";An&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);function Ht(D,U,K,$){var re=[],ce=new u,de=U.$V;P.v=!0,a(de)?a(D)||(D.flags&16384&&(D=fe(D)),Xe(D,U,$,!1,null,re,ce),U.$V=D,de=D):a(D)?(tt(de,U,ce),U.$V=null):(D.flags&16384&&(D=fe(D)),rt(de,D,U,$,!1,null,re,ce),de=U.$V=D),h(re),x(ce.componentDidAppear),P.v=!1,o(K)&&K(),o(R.renderComplete)&&R.renderComplete(de,U)}function zt(D,U,K,$){K===void 0&&(K=null),$===void 0&&($=c),Ht(D,U,K,$)}function En(D){return function(){function U(K,$,re,ce){D||(D=K),zt($,D,re,ce)}return U}()}var bt=[],Mn=typeof Promise!="undefined"?Promise.resolve().then.bind(Promise.resolve()):function(D){window.setTimeout(D,0)},kt=!1;function Kt(D,U,K,$){var re=D.$PS;if(o(U)&&(U=U(re?S(D.state,re):D.state,D.props,D.context)),a(re))D.$PS=U;else for(var ce in U)re[ce]=U[ce];if(D.$BR)o(K)&&D.$L.push(K.bind(D));else{if(!P.v&&bt.length===0){$t(D,$),o(K)&&K.call(D);return}if(bt.indexOf(D)===-1&&bt.push(D),$&&(D.$F=!0),kt||(kt=!0,Mn(Yt)),o(K)){var de=D.$QU;de||(de=D.$QU=[]),de.push(K)}}}function On(D){for(var U=D.$QU,K=0;K=55296&&ve<=56319&&oe+1<_.length&&(Se=_.charCodeAt(oe+1),Se>=56320&&Se<=57343)?(ve-55296)*1024+Se-56320+65536:ve}function fe(_){var oe=/^\n* /;return oe.test(_)}var Z=1,J=2,te=3,ee=4,le=5;function ye(_,oe,ve,Se,Ie,Ee,Pe,Oe){var We,ze=0,Ge=null,Qe=!1,Ye=!1,ut=Se!==-1,qe=-1,lt=Be(Ae(_,0))&&Le(Ae(_,_.length-1));if(oe||Pe)for(We=0;We<_.length;ze>=65536?We+=2:We++){if(ze=Ae(_,We),!he(ze))return le;lt=lt&&Ne(ze,Ge,Oe),Ge=ze}else{for(We=0;We<_.length;ze>=65536?We+=2:We++){if(ze=Ae(_,We),ze===k)Qe=!0,ut&&(Ye=Ye||We-qe-1>Se&&_[qe+1]!==" ",qe=We);else if(!he(ze))return le;lt=lt&&Ne(ze,Ge,Oe),Ge=ze}Ye=Ye||ut&&We-qe-1>Se&&_[qe+1]!==" "}return!Qe&&!Ye?lt&&!Pe&&!Ie(_)?Z:Ee===H?le:J:ve>9&&fe(_)?le:Pe?Ee===H?le:J:Ye?ee:te}function me(_,oe,ve,Se,Ie){_.dump=function(){if(oe.length===0)return _.quotingType===H?'""':"''";if(!_.noCompatMode&&(P.indexOf(oe)!==-1||R.test(oe)))return _.quotingType===H?'"'+oe+'"':"'"+oe+"'";var Ee=_.indent*Math.max(1,ve),Pe=_.lineWidth===-1?-1:Math.max(Math.min(_.lineWidth,40),_.lineWidth-Ee),Oe=Se||_.flowLevel>-1&&ve>=_.flowLevel;function We(ze){return ne(_,ze)}switch(ye(oe,Oe,_.indent,Pe,We,_.quotingType,_.forceQuotes&&!Se,Ie)){case Z:return oe;case J:return"'"+oe.replace(/'/g,"''")+"'";case te:return"|"+Te(oe,_.indent)+M(Y(oe,Ee));case ee:return">"+Te(oe,_.indent)+M(Y(X(oe,Pe),Ee));case le:return'"'+ue(oe,Pe)+'"';default:throw new a("impossible error: invalid scalar style")}}()}function Te(_,oe){var ve=fe(_)?String(oe):"",Se=_[_.length-1]==="\n",Ie=Se&&(_[_.length-2]==="\n"||_==="\n"),Ee=Ie?"+":Se?"":"-";return ve+Ee+"\n"}function M(_){return _[_.length-1]==="\n"?_.slice(0,-1):_}function X(_,oe){for(var ve=/(\n+)([^\n]*)/g,Se=function(){var ze=_.indexOf("\n");return ze=ze!==-1?ze:_.length,ve.lastIndex=ze,ae(_.slice(0,ze),oe)}(),Ie=_[0]==="\n"||_[0]===" ",Ee,Pe;Pe=ve.exec(_);){var Oe=Pe[1],We=Pe[2];Ee=We[0]===" ",Se+=Oe+(!Ie&&!Ee&&We!==""?"\n":"")+ae(We,oe),Ie=Ee}return Se}function ae(_,oe){if(_===""||_[0]===" ")return _;for(var ve=/ [^ ]/g,Se,Ie=0,Ee,Pe=0,Oe=0,We="";Se=ve.exec(_);)Oe=Se.index,Oe-Ie>oe&&(Ee=Pe>Ie?Pe:Oe,We+="\n"+_.slice(Ie,Ee),Ie=Ee+1),Pe=Oe;return We+="\n",_.length-Ie>oe&&Pe>Ie?We+=_.slice(Ie,Pe)+"\n"+_.slice(Pe+1):We+=_.slice(Ie),We.slice(1)}function ue(_){for(var oe="",ve=0,Se,Ie=0;Ie<_.length;ve>=65536?Ie+=2:Ie++)ve=Ae(_,Ie),Se=O[ve],!Se&&he(ve)?(oe+=_[Ie],ve>=65536&&(oe+=_[Ie+1])):oe+=Se||j(ve);return oe}function ie(_,oe,ve){var Se="",Ie=_.tag,Ee,Pe,Oe;for(Ee=0,Pe=ve.length;Ee1024&&(Ge+="? "),Ge+=_.dump+(_.condenseFlow?'"':"")+":"+(_.condenseFlow?"":" "),ke(_,oe,ze,!1,!1)&&(Ge+=_.dump,Se+=Ge));_.tag=Ie,_.dump="{"+Se+"}"}function Me(_,oe,ve,Se){var Ie="",Ee=_.tag,Pe=Object.keys(ve),Oe,We,ze,Ge,Qe,Ye;if(_.sortKeys===!0)Pe.sort();else if(typeof _.sortKeys=="function")Pe.sort(_.sortKeys);else if(_.sortKeys)throw new a("sortKeys must be a boolean or a function");for(Oe=0,We=Pe.length;Oe1024,Qe&&(_.dump&&k===_.dump.charCodeAt(0)?Ye+="?":Ye+="? "),Ye+=_.dump,Qe&&(Ye+=G(_,oe)),ke(_,oe+1,Ge,!0,Qe)&&(_.dump&&k===_.dump.charCodeAt(0)?Ye+=":":Ye+=": ",Ye+=_.dump,Ie+=Ye));_.tag=Ee,_.dump=Ie||"{}"}function De(_,oe,ve){var Se,Ie,Ee,Pe,Oe,We;for(Ie=ve?_.explicitTypes:_.implicitTypes,Ee=0,Pe=Ie.length;Ee tag resolver accepts not "'+We+'" style');_.dump=Se}return!0}return!1}function ke(_,oe,ve,Se,Ie,Ee,Pe){_.tag=null,_.dump=ve,De(_,ve,!1)||De(_,ve,!0);var Oe=o.call(_.dump),We=Se,ze;Se&&(Se=_.flowLevel<0||_.flowLevel>oe);var Ge=Oe==="[object Object]"||Oe==="[object Array]",Qe,Ye;if(Ge&&(Qe=_.duplicates.indexOf(ve),Ye=Qe!==-1),(_.tag!==null&&_.tag!=="?"||Ye||_.indent!==2&&oe>0)&&(Ie=!1),Ye&&_.usedDuplicates[Qe])_.dump="*ref_"+Qe;else{if(Ge&&Ye&&!_.usedDuplicates[Qe]&&(_.usedDuplicates[Qe]=!0),Oe==="[object Object]")Se&&Object.keys(_.dump).length!==0?(Me(_,oe,_.dump,Ie),Ye&&(_.dump="&ref_"+Qe+_.dump)):(Ce(_,oe,_.dump),Ye&&(_.dump="&ref_"+Qe+" "+_.dump));else if(Oe==="[object Array]")Se&&_.dump.length!==0?(_.noArrayIndent&&!Pe&&oe>0?ge(_,oe-1,_.dump,Ie):ge(_,oe,_.dump,Ie),Ye&&(_.dump="&ref_"+Qe+_.dump)):(ie(_,oe,_.dump),Ye&&(_.dump="&ref_"+Qe+" "+_.dump));else if(Oe==="[object String]")_.tag!=="?"&&me(_,_.dump,oe,Ee,We);else{if(Oe==="[object Undefined]")return!1;if(_.skipInvalid)return!1;throw new a("unacceptable kind of an object to dump "+Oe)}_.tag!==null&&_.tag!=="?"&&(ze=encodeURI(_.tag[0]==="!"?_.tag.slice(1):_.tag).replace(/!/g,"%21"),_.tag[0]==="!"?ze="!"+ze:ze.slice(0,18)==="tag:yaml.org,2002:"?ze="!!"+ze.slice(18):ze="!<"+ze+">",_.dump=ze+" "+_.dump)}return!0}function pe(_,oe){var ve=[],Se=[],Ie,Ee;for(se(_,ve,Se),Ie=0,Ee=Se.length;Ie>10)+55296,(M-65536&1023)+56320)}for(var A=new Array(256),T=new Array(256),E=0;E<256;E++)A[E]=L(E)?1:0,T[E]=L(E);function O(M,X){this.input=M,this.filename=X.filename||null,this.schema=X.schema||o,this.onWarning=X.onWarning||null,this.legacy=X.legacy||!1,this.json=X.json||!1,this.listener=X.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=M.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function P(M,X){var ae={name:M.filename,buffer:M.input.slice(0,-1),position:M.position,line:M.line,column:M.position-M.lineStart};return ae.snippet=t(ae),new a(X,ae)}function R(M,X){throw P(M,X)}function F(M,X){M.onWarning&&M.onWarning.call(null,P(M,X))}var j={YAML:function(){function M(X,ae,ue){var ie,ge,Ce;X.version!==null&&R(X,"duplication of %YAML directive"),ue.length!==1&&R(X,"YAML directive accepts exactly one argument"),ie=/^([0-9]+)\.([0-9]+)$/.exec(ue[0]),ie===null&&R(X,"ill-formed argument of the YAML directive"),ge=parseInt(ie[1],10),Ce=parseInt(ie[2],10),ge!==1&&R(X,"unacceptable YAML version of the document"),X.version=ue[0],X.checkLineBreaks=Ce<2,Ce!==1&&Ce!==2&&F(X,"unsupported YAML version of the document")}return M}(),TAG:function(){function M(X,ae,ue){var ie,ge;ue.length!==2&&R(X,"TAG directive accepts exactly two arguments"),ie=ue[0],ge=ue[1],f.test(ie)||R(X,"ill-formed tag handle (first argument) of the TAG directive"),s.call(X.tagMap,ie)&&R(X,'there is a previously declared suffix for "'+ie+'" tag handle'),l.test(ge)||R(X,"ill-formed tag prefix (second argument) of the TAG directive");try{ge=decodeURIComponent(ge)}catch(Ce){R(X,"tag prefix is malformed: "+ge)}X.tagMap[ie]=ge}return M}()};function W(M,X,ae,ue){var ie,ge,Ce,Me;if(X1&&(M.result+=e.repeat("\n",X-1))}function he(M,X,ae){var ue,ie,ge,Ce,Me,De,ke,pe,se=M.kind,xe=M.result,_;if(_=M.input.charCodeAt(M.position),h(_)||C(_)||_===35||_===38||_===42||_===33||_===124||_===62||_===39||_===34||_===37||_===64||_===96||(_===63||_===45)&&(ie=M.input.charCodeAt(M.position+1),h(ie)||ae&&C(ie)))return!1;for(M.kind="scalar",M.result="",ge=Ce=M.position,Me=!1;_!==0;){if(_===58){if(ie=M.input.charCodeAt(M.position+1),h(ie)||ae&&C(ie))break}else if(_===35){if(ue=M.input.charCodeAt(M.position-1),h(ue))break}else{if(M.position===M.lineStart&&ne(M)||ae&&C(_))break;if(b(_))if(De=M.line,ke=M.lineStart,pe=M.lineIndent,G(M,!1,-1),M.lineIndent>=X){Me=!0,_=M.input.charCodeAt(M.position);continue}else{M.position=Ce,M.line=De,M.lineStart=ke,M.lineIndent=pe;break}}Me&&(W(M,ge,Ce,!1),Q(M,M.line-De),ge=Ce=M.position,Me=!1),g(_)||(Ce=M.position+1),_=M.input.charCodeAt(++M.position)}return W(M,ge,Ce,!1),M.result?!0:(M.kind=se,M.result=xe,!1)}function Ve(M,X){var ae,ue,ie;if(ae=M.input.charCodeAt(M.position),ae!==39)return!1;for(M.kind="scalar",M.result="",M.position++,ue=ie=M.position;(ae=M.input.charCodeAt(M.position))!==0;)if(ae===39)if(W(M,ue,M.position,!0),ae=M.input.charCodeAt(++M.position),ae===39)ue=M.position,M.position++,ie=M.position;else return!0;else b(ae)?(W(M,ue,ie,!0),Q(M,G(M,!1,X)),ue=ie=M.position):M.position===M.lineStart&&ne(M)?R(M,"unexpected end of the document within a single quoted scalar"):(M.position++,ie=M.position);R(M,"unexpected end of the stream within a single quoted scalar")}function Ne(M,X){var ae,ue,ie,ge,Ce,Me;if(Me=M.input.charCodeAt(M.position),Me!==34)return!1;for(M.kind="scalar",M.result="",M.position++,ae=ue=M.position;(Me=M.input.charCodeAt(M.position))!==0;){if(Me===34)return W(M,ae,M.position,!0),M.position++,!0;if(Me===92){if(W(M,ae,M.position,!0),Me=M.input.charCodeAt(++M.position),b(Me))G(M,!1,X);else if(Me<256&&A[Me])M.result+=T[Me],M.position++;else if((Ce=x(Me))>0){for(ie=Ce,ge=0;ie>0;ie--)Me=M.input.charCodeAt(++M.position),(Ce=N(Me))>=0?ge=(ge<<4)+Ce:R(M,"expected hexadecimal character");M.result+=w(ge),M.position++}else R(M,"unknown escape sequence");ae=ue=M.position}else b(Me)?(W(M,ae,ue,!0),Q(M,G(M,!1,X)),ae=ue=M.position):M.position===M.lineStart&&ne(M)?R(M,"unexpected end of the document within a double quoted scalar"):(M.position++,ue=M.position)}R(M,"unexpected end of the stream within a double quoted scalar")}function Be(M,X){var ae=!0,ue,ie,ge,Ce=M.tag,Me,De=M.anchor,ke,pe,se,xe,_,oe=Object.create(null),ve,Se,Ie,Ee;if(Ee=M.input.charCodeAt(M.position),Ee===91)pe=93,_=!1,Me=[];else if(Ee===123)pe=125,_=!0,Me={};else return!1;for(M.anchor!==null&&(M.anchorMap[M.anchor]=Me),Ee=M.input.charCodeAt(++M.position);Ee!==0;){if(G(M,!0,X),Ee=M.input.charCodeAt(M.position),Ee===pe)return M.position++,M.tag=Ce,M.anchor=De,M.kind=_?"mapping":"sequence",M.result=Me,!0;ae?Ee===44&&R(M,"expected the node content, but found ','"):R(M,"missed comma between flow collection entries"),Se=ve=Ie=null,se=xe=!1,Ee===63&&(ke=M.input.charCodeAt(M.position+1),h(ke)&&(se=xe=!0,M.position++,G(M,!0,X))),ue=M.line,ie=M.lineStart,ge=M.position,ee(M,X,y,!1,!0),Se=M.tag,ve=M.result,G(M,!0,X),Ee=M.input.charCodeAt(M.position),(xe||M.line===ue)&&Ee===58&&(se=!0,Ee=M.input.charCodeAt(++M.position),G(M,!0,X),ee(M,X,y,!1,!0),Ie=M.result),_?z(M,Me,oe,Se,ve,Ie,ue,ie,ge):se?Me.push(z(M,null,oe,Se,ve,Ie,ue,ie,ge)):Me.push(ve),G(M,!0,X),Ee=M.input.charCodeAt(M.position),Ee===44?(ae=!0,Ee=M.input.charCodeAt(++M.position)):ae=!1}R(M,"unexpected end of the stream within a flow collection")}function Le(M,X){var ae,ue,ie=p,ge=!1,Ce=!1,Me=X,De=0,ke=!1,pe,se;if(se=M.input.charCodeAt(M.position),se===124)ue=!1;else if(se===62)ue=!0;else return!1;for(M.kind="scalar",M.result="";se!==0;)if(se=M.input.charCodeAt(++M.position),se===43||se===45)p===ie?ie=se===43?c:i:R(M,"repeat of a chomping mode identifier");else if((pe=B(se))>=0)pe===0?R(M,"bad explicit indentation width of a block scalar; it cannot be less than one"):Ce?R(M,"repeat of an indentation width identifier"):(Me=X+pe-1,Ce=!0);else break;if(g(se)){do se=M.input.charCodeAt(++M.position);while(g(se));if(se===35)do se=M.input.charCodeAt(++M.position);while(!b(se)&&se!==0)}for(;se!==0;){for(Y(M),M.lineIndent=0,se=M.input.charCodeAt(M.position);(!Ce||M.lineIndentMe&&(Me=M.lineIndent),b(se)){De++;continue}if(M.lineIndentX)&&De!==0)R(M,"bad indentation of a sequence entry");else if(M.lineIndentX)&&(Se&&(Ce=M.line,Me=M.lineStart,De=M.position),ee(M,X,S,!0,ie)&&(Se?oe=M.result:ve=M.result),Se||(z(M,se,xe,_,oe,ve,Ce,Me,De),_=oe=ve=null),G(M,!0,-1),Ee=M.input.charCodeAt(M.position)),(M.line===ge||M.lineIndent>X)&&Ee!==0)R(M,"bad indentation of a mapping entry");else if(M.lineIndentX?De=1:M.lineIndent===X?De=0:M.lineIndentX?De=1:M.lineIndent===X?De=0:M.lineIndent tag; it should be "scalar", not "'+M.kind+'"'),se=0,xe=M.implicitTypes.length;se"),M.result!==null&&oe.kind!==M.kind&&R(M,"unacceptable node kind for !<"+M.tag+'> tag; it should be "'+oe.kind+'", not "'+M.kind+'"'),oe.resolve(M.result,M.tag)?(M.result=oe.construct(M.result,M.tag),M.anchor!==null&&(M.anchorMap[M.anchor]=M.result)):R(M,"cannot resolve a node with !<"+M.tag+"> explicit tag")}return M.listener!==null&&M.listener("close",M),M.tag!==null||M.anchor!==null||pe}function le(M){var X=M.position,ae,ue,ie,ge=!1,Ce;for(M.version=null,M.checkLineBreaks=M.legacy,M.tagMap=Object.create(null),M.anchorMap=Object.create(null);(Ce=M.input.charCodeAt(M.position))!==0&&(G(M,!0,-1),Ce=M.input.charCodeAt(M.position),!(M.lineIndent>0||Ce!==37));){for(ge=!0,Ce=M.input.charCodeAt(++M.position),ae=M.position;Ce!==0&&!h(Ce);)Ce=M.input.charCodeAt(++M.position);for(ue=M.input.slice(ae,M.position),ie=[],ue.length<1&&R(M,"directive name must not be less than one character in length");Ce!==0;){for(;g(Ce);)Ce=M.input.charCodeAt(++M.position);if(Ce===35){do Ce=M.input.charCodeAt(++M.position);while(Ce!==0&&!b(Ce));break}if(b(Ce))break;for(ae=M.position;Ce!==0&&!h(Ce);)Ce=M.input.charCodeAt(++M.position);ie.push(M.input.slice(ae,M.position))}Ce!==0&&Y(M),s.call(j,ue)?j[ue](M,ue,ie):F(M,'unknown document directive "'+ue+'"')}if(G(M,!0,-1),M.lineIndent===0&&M.input.charCodeAt(M.position)===45&&M.input.charCodeAt(M.position+1)===45&&M.input.charCodeAt(M.position+2)===45?(M.position+=3,G(M,!0,-1)):ge&&R(M,"directives end mark is expected"),ee(M,M.lineIndent-1,S,!1,!0),G(M,!0,-1),M.checkLineBreaks&&u.test(M.input.slice(X,M.position))&&F(M,"non-ASCII line breaks are interpreted as content"),M.documents.push(M.result),M.position===M.lineStart&&ne(M)){M.input.charCodeAt(M.position)===46&&(M.position+=3,G(M,!0,-1));return}if(M.positionc&&(p=" ... ",y=k-c+p.length),V-k>c&&(i=" ...",V=k+c-i.length),{str:p+s.slice(y,V).replace(/\t/g,"\u2192")+i,pos:k-y+p.length}}function t(s,y){return e.repeat(" ",y-s.length)+s}function o(s,y){if(y=Object.create(y||null),!s.buffer)return null;y.maxLength||(y.maxLength=79),typeof y.indent!="number"&&(y.indent=1),typeof y.linesBefore!="number"&&(y.linesBefore=3),typeof y.linesAfter!="number"&&(y.linesAfter=2);for(var V=/\r?\n|\r|\0/g,k=[0],S=[],p,i=-1;p=V.exec(s.buffer);)S.push(p.index),k.push(p.index+p[0].length),s.position<=p.index&&i<0&&(i=k.length-2);i<0&&(i=k.length-1);var c="",m,u,d=Math.min(s.line+y.linesAfter,S.length).toString().length,f=y.maxLength-(y.indent+d+3);for(m=1;m<=y.linesBefore&&!(i-m<0);m++)u=a(s.buffer,k[i-m],S[i-m],s.position-(k[i]-k[i-m]),f),c=e.repeat(" ",y.indent)+t((s.line-m+1).toString(),d)+" | "+u.str+"\n"+c;for(u=a(s.buffer,k[i],S[i],s.position,f),c+=e.repeat(" ",y.indent)+t((s.line+1).toString(),d)+" | "+u.str+"\n",c+=e.repeat("-",y.indent+d+3+u.pos)+"^\n",m=1;m<=y.linesAfter&&!(i+m>=S.length);m++)u=a(s.buffer,k[i+m],S[i+m],s.position-(k[i]-k[i+m]),f),c+=e.repeat(" ",y.indent)+t((s.line+m+1).toString(),d)+" | "+u.str+"\n";return c.replace(/\n$/,"")}I.exports=o},92276:function(I,r,n){"use strict";var e=n(53127),a=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],t=["scalar","sequence","mapping"];function o(y){var V={};return y!==null&&Object.keys(y).forEach(function(k){y[k].forEach(function(S){V[String(S)]=k})}),V}function s(y,V){if(V=V||{},Object.keys(V).forEach(function(k){if(a.indexOf(k)===-1)throw new e('Unknown option "'+k+'" is met in definition of "'+y+'" YAML type.')}),this.options=V,this.tag=y,this.kind=V.kind||null,this.resolve=V.resolve||function(){return!0},this.construct=V.construct||function(k){return k},this.instanceOf=V.instanceOf||null,this.predicate=V.predicate||null,this.represent=V.represent||null,this.representName=V.representName||null,this.defaultStyle=V.defaultStyle||null,this.multi=V.multi||!1,this.styleAliases=o(V.styleAliases||null),t.indexOf(this.kind)===-1)throw new e('Unknown kind "'+this.kind+'" is specified for "'+y+'" YAML type.')}I.exports=s},92806:function(I,r,n){"use strict";var e=n(92276),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function t(V){if(V===null)return!1;var k,S,p=0,i=V.length,c=a;for(S=0;S64)){if(k<0)return!1;p+=6}return p%8===0}function o(V){var k,S,p=V.replace(/[\r\n=]/g,""),i=p.length,c=a,m=0,u=[];for(k=0;k>16&255),u.push(m>>8&255),u.push(m&255)),m=m<<6|c.indexOf(p.charAt(k));return S=i%4*6,S===0?(u.push(m>>16&255),u.push(m>>8&255),u.push(m&255)):S===18?(u.push(m>>10&255),u.push(m>>2&255)):S===12&&u.push(m>>4&255),new Uint8Array(u)}function s(V){var k="",S=0,p,i,c=V.length,m=a;for(p=0;p>18&63],k+=m[S>>12&63],k+=m[S>>6&63],k+=m[S&63]),S=(S<<8)+V[p];return i=c%3,i===0?(k+=m[S>>18&63],k+=m[S>>12&63],k+=m[S>>6&63],k+=m[S&63]):i===2?(k+=m[S>>10&63],k+=m[S>>4&63],k+=m[S<<2&63],k+=m[64]):i===1&&(k+=m[S>>2&63],k+=m[S<<4&63],k+=m[64],k+=m[64]),k}function y(V){return Object.prototype.toString.call(V)==="[object Uint8Array]"}I.exports=new e("tag:yaml.org,2002:binary",{kind:"scalar",resolve:t,construct:o,predicate:y,represent:s})},34015:function(I,r,n){"use strict";var e=n(92276);function a(s){if(s===null)return!1;var y=s.length;return y===4&&(s==="true"||s==="True"||s==="TRUE")||y===5&&(s==="false"||s==="False"||s==="FALSE")}function t(s){return s==="true"||s==="True"||s==="TRUE"}function o(s){return Object.prototype.toString.call(s)==="[object Boolean]"}I.exports=new e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:a,construct:t,predicate:o,represent:{lowercase:function(){function s(y){return y?"true":"false"}return s}(),uppercase:function(){function s(y){return y?"TRUE":"FALSE"}return s}(),camelcase:function(){function s(y){return y?"True":"False"}return s}()},defaultStyle:"lowercase"})},14589:function(I,r,n){"use strict";var e=n(11017),a=n(92276),t=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function o(S){return!(S===null||!t.test(S)||S[S.length-1]==="_")}function s(S){var p,i;return p=S.replace(/_/g,"").toLowerCase(),i=p[0]==="-"?-1:1,"+-".indexOf(p[0])>=0&&(p=p.slice(1)),p===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:p===".nan"?NaN:i*parseFloat(p,10)}var y=/^[-+]?[0-9]+e/;function V(S,p){var i;if(isNaN(S))switch(p){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===S)switch(p){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===S)switch(p){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(e.isNegativeZero(S))return"-0.0";return i=S.toString(10),y.test(i)?i.replace("e",".e"):i}function k(S){return Object.prototype.toString.call(S)==="[object Number]"&&(S%1!==0||e.isNegativeZero(S))}I.exports=new a("tag:yaml.org,2002:float",{kind:"scalar",resolve:o,construct:s,predicate:k,represent:V,defaultStyle:"lowercase"})},72826:function(I,r,n){"use strict";var e=n(11017),a=n(92276);function t(S){return 48<=S&&S<=57||65<=S&&S<=70||97<=S&&S<=102}function o(S){return 48<=S&&S<=55}function s(S){return 48<=S&&S<=57}function y(S){if(S===null)return!1;var p=S.length,i=0,c=!1,m;if(!p)return!1;if(m=S[i],(m==="-"||m==="+")&&(m=S[++i]),m==="0"){if(i+1===p)return!0;if(m=S[++i],m==="b"){for(i++;i=0?"0b"+p.toString(2):"-0b"+p.toString(2).slice(1)}return S}(),octal:function(){function S(p){return p>=0?"0o"+p.toString(8):"-0o"+p.toString(8).slice(1)}return S}(),decimal:function(){function S(p){return p.toString(10)}return S}(),hexadecimal:function(){function S(p){return p>=0?"0x"+p.toString(16).toUpperCase():"-0x"+p.toString(16).toUpperCase().slice(1)}return S}()},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},89769:function(I,r,n){"use strict";var e=n(92276);I.exports=new e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(){function a(t){return t!==null?t:{}}return a}()})},36947:function(I,r,n){"use strict";var e=n(92276);function a(t){return t==="<<"||t===null}I.exports=new e("tag:yaml.org,2002:merge",{kind:"scalar",resolve:a})},30534:function(I,r,n){"use strict";var e=n(92276);function a(s){if(s===null)return!0;var y=s.length;return y===1&&s==="~"||y===4&&(s==="null"||s==="Null"||s==="NULL")}function t(){return null}function o(s){return s===null}I.exports=new e("tag:yaml.org,2002:null",{kind:"scalar",resolve:a,construct:t,predicate:o,represent:{canonical:function(){function s(){return"~"}return s}(),lowercase:function(){function s(){return"null"}return s}(),uppercase:function(){function s(){return"NULL"}return s}(),camelcase:function(){function s(){return"Null"}return s}(),empty:function(){function s(){return""}return s}()},defaultStyle:"lowercase"})},14250:function(I,r,n){"use strict";var e=n(92276),a=Object.prototype.hasOwnProperty,t=Object.prototype.toString;function o(y){if(y===null)return!0;var V=[],k,S,p,i,c,m=y;for(k=0,S=m.length;k=0;--H){var z=this.tryEntries[H],Y=z.completion;if(z.tryLoc==="root")return W("end");if(z.tryLoc<=this.prev){var G=a.call(z,"catchLoc"),ne=a.call(z,"finallyLoc");if(G&&ne){if(this.prev=0;--W){var H=this.tryEntries[W];if(H.tryLoc<=this.prev&&a.call(H,"finallyLoc")&&this.prev=0;--j){var W=this.tryEntries[j];if(W.finallyLoc===F)return this.complete(W.completion,W.afterLoc),T(W),f}}return R}(),catch:function(){function R(F){for(var j=this.tryEntries.length-1;j>=0;--j){var W=this.tryEntries[j];if(W.tryLoc===F){var H=W.completion;if(H.type==="throw"){var z=H.arg;T(W)}return z}}throw new Error("illegal catch attempt")}return R}(),delegateYield:function(){function R(F,j,W){return this.delegate={iterator:O(F),resultName:j,nextLoc:W},this.method==="next"&&(this.arg=o),f}return R}()},n}(I.exports);try{regeneratorRuntime=r}catch(n){typeof globalThis=="object"?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},30236:function(){"use strict";self.fetch||(self.fetch=function(I,r){return r=r||{},new Promise(function(n,e){var a=new XMLHttpRequest,t=[],o={},s=function(){function V(){return{ok:(a.status/100|0)==2,statusText:a.statusText,status:a.status,url:a.responseURL,text:function(){function k(){return Promise.resolve(a.responseText)}return k}(),json:function(){function k(){return Promise.resolve(a.responseText).then(JSON.parse)}return k}(),blob:function(){function k(){return Promise.resolve(new Blob([a.response]))}return k}(),clone:V,headers:{keys:function(){function k(){return t}return k}(),entries:function(){function k(){return t.map(function(S){return[S,a.getResponseHeader(S)]})}return k}(),get:function(){function k(S){return a.getResponseHeader(S)}return k}(),has:function(){function k(S){return a.getResponseHeader(S)!=null}return k}()}}}return V}();for(var y in a.open(r.method||"get",I,!0),a.onload=function(){a.getAllResponseHeaders().toLowerCase().replace(/^(.+?):/gm,function(V,k){o[k]||t.push(o[k]=k)}),n(s())},a.onerror=e,a.withCredentials=r.credentials=="include",r.headers)a.setRequestHeader(y,r.headers[y]);a.send(r.body||null)})})},88510:function(I,r){"use strict";r.__esModule=!0,r.zipWith=r.zip=r.uniqBy=r.uniq=r.toKeyedArray=r.toArray=r.sortBy=r.sort=r.reduce=r.range=r.map=r.filterMap=r.filter=void 0;function n(l,v){var b=typeof Symbol!="undefined"&&l[Symbol.iterator]||l["@@iterator"];if(b)return(b=b.call(l)).next.bind(b);if(Array.isArray(l)||(b=e(l))||v&&l&&typeof l.length=="number"){b&&(l=b);var g=0;return function(){return g>=l.length?{done:!0}:{done:!1,value:l[g++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(l,v){if(l){if(typeof l=="string")return a(l,v);var b={}.toString.call(l).slice(8,-1);return b==="Object"&&l.constructor&&(b=l.constructor.name),b==="Map"||b==="Set"?Array.from(l):b==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b)?a(l,v):void 0}}function a(l,v){(v==null||v>l.length)&&(v=l.length);for(var b=0,g=Array(v);b0&&(0,a.round)(p.width)/V.offsetWidth||1,l=V.offsetHeight>0&&(0,a.round)(p.height)/V.offsetHeight||1);var f=(0,e.isElement)(V)?(0,t.default)(V):window,u=f.visualViewport,s=!(0,o.default)()&&S,m=(p.left+(s&&u?u.offsetLeft:0))/i,c=(p.top+(s&&u?u.offsetTop:0))/l,v=p.width/i,b=p.height/l;return{width:v,height:b,top:c,right:m+v,bottom:c+b,left:m,x:m,y:c}}},49035:function(I,r,n){"use strict";r.__esModule=!0,r.default=b;var e=n(46206),a=s(n(87991)),t=s(n(79752)),o=s(n(98309)),d=s(n(44896)),y=s(n(40600)),V=s(n(16599)),k=n(75573),S=s(n(37786)),p=s(n(57819)),i=s(n(4206)),l=s(n(12972)),f=s(n(81666)),u=n(63618);function s(g){return g&&g.__esModule?g:{default:g}}function m(g,h){var C=(0,S.default)(g,!1,h==="fixed");return C.top=C.top+g.clientTop,C.left=C.left+g.clientLeft,C.bottom=C.top+g.clientHeight,C.right=C.left+g.clientWidth,C.width=g.clientWidth,C.height=g.clientHeight,C.x=C.left,C.y=C.top,C}function c(g,h,C){return h===e.viewport?(0,f.default)((0,a.default)(g,C)):(0,k.isElement)(h)?m(h,C):(0,f.default)((0,t.default)((0,y.default)(g)))}function v(g){var h=(0,o.default)((0,p.default)(g)),C=["absolute","fixed"].indexOf((0,V.default)(g).position)>=0,N=C&&(0,k.isHTMLElement)(g)?(0,d.default)(g):g;return(0,k.isElement)(N)?h.filter(function(x){return(0,k.isElement)(x)&&(0,i.default)(x,N)&&(0,l.default)(x)!=="body"}):[]}function b(g,h,C,N){var x=h==="clippingParents"?v(g):[].concat(h),B=[].concat(x,[C]),L=B[0],w=B.reduce(function(A,T){var E=c(g,T,N);return A.top=(0,u.max)(E.top,A.top),A.right=(0,u.min)(E.right,A.right),A.bottom=(0,u.min)(E.bottom,A.bottom),A.left=(0,u.max)(E.left,A.left),A},c(g,L,N));return w.width=w.right-w.left,w.height=w.bottom-w.top,w.x=w.left,w.y=w.top,w}},74758:function(I,r,n){"use strict";r.__esModule=!0,r.default=i;var e=S(n(37786)),a=S(n(13390)),t=S(n(12972)),o=n(75573),d=S(n(79697)),y=S(n(40600)),V=S(n(10798)),k=n(63618);function S(l){return l&&l.__esModule?l:{default:l}}function p(l){var f=l.getBoundingClientRect(),u=(0,k.round)(f.width)/l.offsetWidth||1,s=(0,k.round)(f.height)/l.offsetHeight||1;return u!==1||s!==1}function i(l,f,u){u===void 0&&(u=!1);var s=(0,o.isHTMLElement)(f),m=(0,o.isHTMLElement)(f)&&p(f),c=(0,y.default)(f),v=(0,e.default)(l,m,u),b={scrollLeft:0,scrollTop:0},g={x:0,y:0};return(s||!s&&!u)&&(((0,t.default)(f)!=="body"||(0,V.default)(c))&&(b=(0,a.default)(f)),(0,o.isHTMLElement)(f)?(g=(0,e.default)(f,!0),g.x+=f.clientLeft,g.y+=f.clientTop):c&&(g.x=(0,d.default)(c))),{x:v.left+b.scrollLeft-g.x,y:v.top+b.scrollTop-g.y,width:v.width,height:v.height}}},16599:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(95115));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return(0,e.default)(o).getComputedStyle(o)}},40600:function(I,r,n){"use strict";r.__esModule=!0,r.default=a;var e=n(75573);function a(t){return(((0,e.isElement)(t)?t.ownerDocument:t.document)||window.document).documentElement}},79752:function(I,r,n){"use strict";r.__esModule=!0,r.default=V;var e=y(n(40600)),a=y(n(16599)),t=y(n(79697)),o=y(n(43750)),d=n(63618);function y(k){return k&&k.__esModule?k:{default:k}}function V(k){var S,p=(0,e.default)(k),i=(0,o.default)(k),l=(S=k.ownerDocument)==null?void 0:S.body,f=(0,d.max)(p.scrollWidth,p.clientWidth,l?l.scrollWidth:0,l?l.clientWidth:0),u=(0,d.max)(p.scrollHeight,p.clientHeight,l?l.scrollHeight:0,l?l.clientHeight:0),s=-i.scrollLeft+(0,t.default)(k),m=-i.scrollTop;return(0,a.default)(l||p).direction==="rtl"&&(s+=(0,d.max)(p.clientWidth,l?l.clientWidth:0)-f),{width:f,height:u,x:s,y:m}}},3073:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}},28811:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(37786));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var d=(0,e.default)(o),y=o.offsetWidth,V=o.offsetHeight;return Math.abs(d.width-y)<=1&&(y=d.width),Math.abs(d.height-V)<=1&&(V=d.height),{x:o.offsetLeft,y:o.offsetTop,width:y,height:V}}},12972:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e?(e.nodeName||"").toLowerCase():null}},13390:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=d(n(43750)),a=d(n(95115)),t=n(75573),o=d(n(3073));function d(V){return V&&V.__esModule?V:{default:V}}function y(V){return V===(0,a.default)(V)||!(0,t.isHTMLElement)(V)?(0,e.default)(V):(0,o.default)(V)}},44896:function(I,r,n){"use strict";r.__esModule=!0,r.default=i;var e=k(n(95115)),a=k(n(12972)),t=k(n(16599)),o=n(75573),d=k(n(87031)),y=k(n(57819)),V=k(n(35366));function k(l){return l&&l.__esModule?l:{default:l}}function S(l){return!(0,o.isHTMLElement)(l)||(0,t.default)(l).position==="fixed"?null:l.offsetParent}function p(l){var f=/firefox/i.test((0,V.default)()),u=/Trident/i.test((0,V.default)());if(u&&(0,o.isHTMLElement)(l)){var s=(0,t.default)(l);if(s.position==="fixed")return null}var m=(0,y.default)(l);for((0,o.isShadowRoot)(m)&&(m=m.host);(0,o.isHTMLElement)(m)&&["html","body"].indexOf((0,a.default)(m))<0;){var c=(0,t.default)(m);if(c.transform!=="none"||c.perspective!=="none"||c.contain==="paint"||["transform","perspective"].indexOf(c.willChange)!==-1||f&&c.willChange==="filter"||f&&c.filter&&c.filter!=="none")return m;m=m.parentNode}return null}function i(l){for(var f=(0,e.default)(l),u=S(l);u&&(0,d.default)(u)&&(0,t.default)(u).position==="static";)u=S(u);return u&&((0,a.default)(u)==="html"||(0,a.default)(u)==="body"&&(0,t.default)(u).position==="static")?f:u||p(l)||f}},57819:function(I,r,n){"use strict";r.__esModule=!0,r.default=d;var e=o(n(12972)),a=o(n(40600)),t=n(75573);function o(y){return y&&y.__esModule?y:{default:y}}function d(y){return(0,e.default)(y)==="html"?y:y.assignedSlot||y.parentNode||((0,t.isShadowRoot)(y)?y.host:null)||(0,a.default)(y)}},24426:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=d(n(57819)),a=d(n(10798)),t=d(n(12972)),o=n(75573);function d(V){return V&&V.__esModule?V:{default:V}}function y(V){return["html","body","#document"].indexOf((0,t.default)(V))>=0?V.ownerDocument.body:(0,o.isHTMLElement)(V)&&(0,a.default)(V)?V:y((0,e.default)(V))}},87991:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=d(n(95115)),a=d(n(40600)),t=d(n(79697)),o=d(n(89331));function d(V){return V&&V.__esModule?V:{default:V}}function y(V,k){var S=(0,e.default)(V),p=(0,a.default)(V),i=S.visualViewport,l=p.clientWidth,f=p.clientHeight,u=0,s=0;if(i){l=i.width,f=i.height;var m=(0,o.default)();(m||!m&&k==="fixed")&&(u=i.offsetLeft,s=i.offsetTop)}return{width:l,height:f,x:u+(0,t.default)(V),y:s}}},95115:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var a=e.ownerDocument;return a&&a.defaultView||window}return e}},43750:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(95115));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var d=(0,e.default)(o),y=d.pageXOffset,V=d.pageYOffset;return{scrollLeft:y,scrollTop:V}}},79697:function(I,r,n){"use strict";r.__esModule=!0,r.default=d;var e=o(n(37786)),a=o(n(40600)),t=o(n(43750));function o(y){return y&&y.__esModule?y:{default:y}}function d(y){return(0,e.default)((0,a.default)(y)).left+(0,t.default)(y).scrollLeft}},75573:function(I,r,n){"use strict";r.__esModule=!0,r.isElement=t,r.isHTMLElement=o,r.isShadowRoot=d;var e=a(n(95115));function a(y){return y&&y.__esModule?y:{default:y}}function t(y){var V=(0,e.default)(y).Element;return y instanceof V||y instanceof Element}function o(y){var V=(0,e.default)(y).HTMLElement;return y instanceof V||y instanceof HTMLElement}function d(y){if(typeof ShadowRoot=="undefined")return!1;var V=(0,e.default)(y).ShadowRoot;return y instanceof V||y instanceof ShadowRoot}},89331:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(35366));function a(o){return o&&o.__esModule?o:{default:o}}function t(){return!/^((?!chrome|android).)*safari/i.test((0,e.default)())}},10798:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(16599));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var d=(0,e.default)(o),y=d.overflow,V=d.overflowX,k=d.overflowY;return/auto|scroll|overlay|hidden/.test(y+k+V)}},87031:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(12972));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return["table","td","th"].indexOf((0,e.default)(o))>=0}},98309:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=d(n(24426)),a=d(n(57819)),t=d(n(95115)),o=d(n(10798));function d(V){return V&&V.__esModule?V:{default:V}}function y(V,k){var S;k===void 0&&(k=[]);var p=(0,e.default)(V),i=p===((S=V.ownerDocument)==null?void 0:S.body),l=(0,t.default)(p),f=i?[l].concat(l.visualViewport||[],(0,o.default)(p)?p:[]):p,u=k.concat(f);return i?u:u.concat(y((0,a.default)(f)))}},46206:function(I,r){"use strict";r.__esModule=!0,r.write=r.viewport=r.variationPlacements=r.top=r.start=r.right=r.reference=r.read=r.popper=r.placements=r.modifierPhases=r.main=r.left=r.end=r.clippingParents=r.bottom=r.beforeWrite=r.beforeRead=r.beforeMain=r.basePlacements=r.auto=r.afterWrite=r.afterRead=r.afterMain=void 0;var n=r.top="top",e=r.bottom="bottom",a=r.right="right",t=r.left="left",o=r.auto="auto",d=r.basePlacements=[n,e,a,t],y=r.start="start",V=r.end="end",k=r.clippingParents="clippingParents",S=r.viewport="viewport",p=r.popper="popper",i=r.reference="reference",l=r.variationPlacements=d.reduce(function(x,B){return x.concat([B+"-"+y,B+"-"+V])},[]),f=r.placements=[].concat(d,[o]).reduce(function(x,B){return x.concat([B,B+"-"+y,B+"-"+V])},[]),u=r.beforeRead="beforeRead",s=r.read="read",m=r.afterRead="afterRead",c=r.beforeMain="beforeMain",v=r.main="main",b=r.afterMain="afterMain",g=r.beforeWrite="beforeWrite",h=r.write="write",C=r.afterWrite="afterWrite",N=r.modifierPhases=[u,s,m,c,v,b,g,h,C]},95996:function(I,r,n){"use strict";r.__esModule=!0;var e={popperGenerator:!0,detectOverflow:!0,createPopperBase:!0,createPopper:!0,createPopperLite:!0};r.popperGenerator=r.detectOverflow=r.createPopperLite=r.createPopperBase=r.createPopper=void 0;var a=n(46206);Object.keys(a).forEach(function(V){V==="default"||V==="__esModule"||Object.prototype.hasOwnProperty.call(e,V)||V in r&&r[V]===a[V]||(r[V]=a[V])});var t=n(39805);Object.keys(t).forEach(function(V){V==="default"||V==="__esModule"||Object.prototype.hasOwnProperty.call(e,V)||V in r&&r[V]===t[V]||(r[V]=t[V])});var o=n(96376);r.popperGenerator=o.popperGenerator,r.detectOverflow=o.detectOverflow,r.createPopperBase=o.createPopper;var d=n(83312);r.createPopper=d.createPopper;var y=n(2473);r.createPopperLite=y.createPopper},19975:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=t(n(12972)),a=n(75573);function t(V){return V&&V.__esModule?V:{default:V}}function o(V){var k=V.state;Object.keys(k.elements).forEach(function(S){var p=k.styles[S]||{},i=k.attributes[S]||{},l=k.elements[S];!(0,a.isHTMLElement)(l)||!(0,e.default)(l)||(Object.assign(l.style,p),Object.keys(i).forEach(function(f){var u=i[f];u===!1?l.removeAttribute(f):l.setAttribute(f,u===!0?"":u)}))})}function d(V){var k=V.state,S={popper:{position:k.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(k.elements.popper.style,S.popper),k.styles=S,k.elements.arrow&&Object.assign(k.elements.arrow.style,S.arrow),function(){Object.keys(k.elements).forEach(function(p){var i=k.elements[p],l=k.attributes[p]||{},f=Object.keys(k.styles.hasOwnProperty(p)?k.styles[p]:S[p]),u=f.reduce(function(s,m){return s[m]="",s},{});!(0,a.isHTMLElement)(i)||!(0,e.default)(i)||(Object.assign(i.style,u),Object.keys(l).forEach(function(s){i.removeAttribute(s)}))})}}var y=r.default={name:"applyStyles",enabled:!0,phase:"write",fn:o,effect:d,requires:["computeStyles"]}},52744:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=p(n(83104)),a=p(n(28811)),t=p(n(4206)),o=p(n(44896)),d=p(n(41199)),y=n(28595),V=p(n(43286)),k=p(n(81447)),S=n(46206);function p(s){return s&&s.__esModule?s:{default:s}}var i=function(){function s(m,c){return m=typeof m=="function"?m(Object.assign({},c.rects,{placement:c.placement})):m,(0,V.default)(typeof m!="number"?m:(0,k.default)(m,S.basePlacements))}return s}();function l(s){var m,c=s.state,v=s.name,b=s.options,g=c.elements.arrow,h=c.modifiersData.popperOffsets,C=(0,e.default)(c.placement),N=(0,d.default)(C),x=[S.left,S.right].indexOf(C)>=0,B=x?"height":"width";if(!(!g||!h)){var L=i(b.padding,c),w=(0,a.default)(g),A=N==="y"?S.top:S.left,T=N==="y"?S.bottom:S.right,E=c.rects.reference[B]+c.rects.reference[N]-h[N]-c.rects.popper[B],O=h[N]-c.rects.reference[N],P=(0,o.default)(g),R=P?N==="y"?P.clientHeight||0:P.clientWidth||0:0,F=E/2-O/2,j=L[A],W=R-w[B]-L[T],z=R/2-w[B]/2+F,H=(0,y.within)(j,z,W),$=N;c.modifiersData[v]=(m={},m[$]=H,m.centerOffset=H-z,m)}}function f(s){var m=s.state,c=s.options,v=c.element,b=v===void 0?"[data-popper-arrow]":v;b!=null&&(typeof b=="string"&&(b=m.elements.popper.querySelector(b),!b)||(0,t.default)(m.elements.popper,b)&&(m.elements.arrow=b))}var u=r.default={name:"arrow",enabled:!0,phase:"main",fn:l,effect:f,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}},59894:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0,r.mapToStyles=l;var e=n(46206),a=S(n(44896)),t=S(n(95115)),o=S(n(40600)),d=S(n(16599)),y=S(n(83104)),V=S(n(45)),k=n(63618);function S(s){return s&&s.__esModule?s:{default:s}}var p={top:"auto",right:"auto",bottom:"auto",left:"auto"};function i(s,m){var c=s.x,v=s.y,b=m.devicePixelRatio||1;return{x:(0,k.round)(c*b)/b||0,y:(0,k.round)(v*b)/b||0}}function l(s){var m,c=s.popper,v=s.popperRect,b=s.placement,g=s.variation,h=s.offsets,C=s.position,N=s.gpuAcceleration,x=s.adaptive,B=s.roundOffsets,L=s.isFixed,w=h.x,A=w===void 0?0:w,T=h.y,E=T===void 0?0:T,O=typeof B=="function"?B({x:A,y:E}):{x:A,y:E};A=O.x,E=O.y;var P=h.hasOwnProperty("x"),R=h.hasOwnProperty("y"),F=e.left,j=e.top,W=window;if(x){var z=(0,a.default)(c),H="clientHeight",$="clientWidth";if(z===(0,t.default)(c)&&(z=(0,o.default)(c),(0,d.default)(z).position!=="static"&&C==="absolute"&&(H="scrollHeight",$="scrollWidth")),z=z,b===e.top||(b===e.left||b===e.right)&&g===e.end){j=e.bottom;var G=L&&z===W&&W.visualViewport?W.visualViewport.height:z[H];E-=G-v.height,E*=N?1:-1}if(b===e.left||(b===e.top||b===e.bottom)&&g===e.end){F=e.right;var ne=L&&z===W&&W.visualViewport?W.visualViewport.width:z[$];A-=ne-v.width,A*=N?1:-1}}var Q=Object.assign({position:C},x&&p),he=B===!0?i({x:A,y:E},(0,t.default)(c)):{x:A,y:E};if(A=he.x,E=he.y,N){var Ve;return Object.assign({},Q,(Ve={},Ve[j]=R?"0":"",Ve[F]=P?"0":"",Ve.transform=(W.devicePixelRatio||1)<=1?"translate("+A+"px, "+E+"px)":"translate3d("+A+"px, "+E+"px, 0)",Ve))}return Object.assign({},Q,(m={},m[j]=R?E+"px":"",m[F]=P?A+"px":"",m.transform="",m))}function f(s){var m=s.state,c=s.options,v=c.gpuAcceleration,b=v===void 0?!0:v,g=c.adaptive,h=g===void 0?!0:g,C=c.roundOffsets,N=C===void 0?!0:C,x={placement:(0,y.default)(m.placement),variation:(0,V.default)(m.placement),popper:m.elements.popper,popperRect:m.rects.popper,gpuAcceleration:b,isFixed:m.options.strategy==="fixed"};m.modifiersData.popperOffsets!=null&&(m.styles.popper=Object.assign({},m.styles.popper,l(Object.assign({},x,{offsets:m.modifiersData.popperOffsets,position:m.options.strategy,adaptive:h,roundOffsets:N})))),m.modifiersData.arrow!=null&&(m.styles.arrow=Object.assign({},m.styles.arrow,l(Object.assign({},x,{offsets:m.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:N})))),m.attributes.popper=Object.assign({},m.attributes.popper,{"data-popper-placement":m.placement})}var u=r.default={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:f,data:{}}},36692:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=a(n(95115));function a(y){return y&&y.__esModule?y:{default:y}}var t={passive:!0};function o(y){var V=y.state,k=y.instance,S=y.options,p=S.scroll,i=p===void 0?!0:p,l=S.resize,f=l===void 0?!0:l,u=(0,e.default)(V.elements.popper),s=[].concat(V.scrollParents.reference,V.scrollParents.popper);return i&&s.forEach(function(m){m.addEventListener("scroll",k.update,t)}),f&&u.addEventListener("resize",k.update,t),function(){i&&s.forEach(function(m){m.removeEventListener("scroll",k.update,t)}),f&&u.removeEventListener("resize",k.update,t)}}var d=r.default={name:"eventListeners",enabled:!0,phase:"write",fn:function(){function y(){}return y}(),effect:o,data:{}}},23798:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=k(n(71376)),a=k(n(83104)),t=k(n(86459)),o=k(n(17633)),d=k(n(9041)),y=n(46206),V=k(n(45));function k(l){return l&&l.__esModule?l:{default:l}}function S(l){if((0,a.default)(l)===y.auto)return[];var f=(0,e.default)(l);return[(0,t.default)(l),f,(0,t.default)(f)]}function p(l){var f=l.state,u=l.options,s=l.name;if(!f.modifiersData[s]._skip){for(var m=u.mainAxis,c=m===void 0?!0:m,v=u.altAxis,b=v===void 0?!0:v,g=u.fallbackPlacements,h=u.padding,C=u.boundary,N=u.rootBoundary,x=u.altBoundary,B=u.flipVariations,L=B===void 0?!0:B,w=u.allowedAutoPlacements,A=f.options.placement,T=(0,a.default)(A),E=T===A,O=g||(E||!L?[(0,e.default)(A)]:S(A)),P=[A].concat(O).reduce(function(te,ee){return te.concat((0,a.default)(ee)===y.auto?(0,d.default)(f,{placement:ee,boundary:C,rootBoundary:N,padding:h,flipVariations:L,allowedAutoPlacements:w}):ee)},[]),R=f.rects.reference,F=f.rects.popper,j=new Map,W=!0,z=P[0],H=0;H=0,he=Q?"width":"height",Ve=(0,o.default)(f,{placement:$,boundary:C,rootBoundary:N,altBoundary:x,padding:h}),Ne=Q?ne?y.right:y.left:ne?y.bottom:y.top;R[he]>F[he]&&(Ne=(0,e.default)(Ne));var Be=(0,e.default)(Ne),Le=[];if(c&&Le.push(Ve[G]<=0),b&&Le.push(Ve[Ne]<=0,Ve[Be]<=0),Le.every(function(te){return te})){z=$,W=!1;break}j.set($,Le)}if(W)for(var Ae=L?3:1,fe=function(){function te(ee){var le=P.find(function(ye){var me=j.get(ye);if(me)return me.slice(0,ee).every(function(Te){return Te})});if(le)return z=le,"break"}return te}(),Z=Ae;Z>0;Z--){var J=fe(Z);if(J==="break")break}f.placement!==z&&(f.modifiersData[s]._skip=!0,f.placement=z,f.reset=!0)}}var i=r.default={name:"flip",enabled:!0,phase:"main",fn:p,requiresIfExists:["offset"],data:{_skip:!1}}},83761:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=n(46206),a=t(n(17633));function t(k){return k&&k.__esModule?k:{default:k}}function o(k,S,p){return p===void 0&&(p={x:0,y:0}),{top:k.top-S.height-p.y,right:k.right-S.width+p.x,bottom:k.bottom-S.height+p.y,left:k.left-S.width-p.x}}function d(k){return[e.top,e.right,e.bottom,e.left].some(function(S){return k[S]>=0})}function y(k){var S=k.state,p=k.name,i=S.rects.reference,l=S.rects.popper,f=S.modifiersData.preventOverflow,u=(0,a.default)(S,{elementContext:"reference"}),s=(0,a.default)(S,{altBoundary:!0}),m=o(u,i),c=o(s,l,f),v=d(m),b=d(c);S.modifiersData[p]={referenceClippingOffsets:m,popperEscapeOffsets:c,isReferenceHidden:v,hasPopperEscaped:b},S.attributes.popper=Object.assign({},S.attributes.popper,{"data-popper-reference-hidden":v,"data-popper-escaped":b})}var V=r.default={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:y}},39805:function(I,r,n){"use strict";r.__esModule=!0,r.preventOverflow=r.popperOffsets=r.offset=r.hide=r.flip=r.eventListeners=r.computeStyles=r.arrow=r.applyStyles=void 0;var e=p(n(19975));r.applyStyles=e.default;var a=p(n(52744));r.arrow=a.default;var t=p(n(59894));r.computeStyles=t.default;var o=p(n(36692));r.eventListeners=o.default;var d=p(n(23798));r.flip=d.default;var y=p(n(83761));r.hide=y.default;var V=p(n(61410));r.offset=V.default;var k=p(n(40107));r.popperOffsets=k.default;var S=p(n(75137));r.preventOverflow=S.default;function p(i){return i&&i.__esModule?i:{default:i}}},61410:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0,r.distanceAndSkiddingToXY=o;var e=t(n(83104)),a=n(46206);function t(V){return V&&V.__esModule?V:{default:V}}function o(V,k,S){var p=(0,e.default)(V),i=[a.left,a.top].indexOf(p)>=0?-1:1,l=typeof S=="function"?S(Object.assign({},k,{placement:V})):S,f=l[0],u=l[1];return f=f||0,u=(u||0)*i,[a.left,a.right].indexOf(p)>=0?{x:u,y:f}:{x:f,y:u}}function d(V){var k=V.state,S=V.options,p=V.name,i=S.offset,l=i===void 0?[0,0]:i,f=a.placements.reduce(function(c,v){return c[v]=o(v,k.rects,l),c},{}),u=f[k.placement],s=u.x,m=u.y;k.modifiersData.popperOffsets!=null&&(k.modifiersData.popperOffsets.x+=s,k.modifiersData.popperOffsets.y+=m),k.modifiersData[p]=f}var y=r.default={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:d}},40107:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=a(n(89951));function a(d){return d&&d.__esModule?d:{default:d}}function t(d){var y=d.state,V=d.name;y.modifiersData[V]=(0,e.default)({reference:y.rects.reference,element:y.rects.popper,strategy:"absolute",placement:y.placement})}var o=r.default={name:"popperOffsets",enabled:!0,phase:"read",fn:t,data:{}}},75137:function(I,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=n(46206),a=l(n(83104)),t=l(n(41199)),o=l(n(28066)),d=n(28595),y=l(n(28811)),V=l(n(44896)),k=l(n(17633)),S=l(n(45)),p=l(n(34780)),i=n(63618);function l(s){return s&&s.__esModule?s:{default:s}}function f(s){var m=s.state,c=s.options,v=s.name,b=c.mainAxis,g=b===void 0?!0:b,h=c.altAxis,C=h===void 0?!1:h,N=c.boundary,x=c.rootBoundary,B=c.altBoundary,L=c.padding,w=c.tether,A=w===void 0?!0:w,T=c.tetherOffset,E=T===void 0?0:T,O=(0,k.default)(m,{boundary:N,rootBoundary:x,padding:L,altBoundary:B}),P=(0,a.default)(m.placement),R=(0,S.default)(m.placement),F=!R,j=(0,t.default)(P),W=(0,o.default)(j),z=m.modifiersData.popperOffsets,H=m.rects.reference,$=m.rects.popper,G=typeof E=="function"?E(Object.assign({},m.rects,{placement:m.placement})):E,ne=typeof G=="number"?{mainAxis:G,altAxis:G}:Object.assign({mainAxis:0,altAxis:0},G),Q=m.modifiersData.offset?m.modifiersData.offset[m.placement]:null,he={x:0,y:0};if(z){if(g){var Ve,Ne=j==="y"?e.top:e.left,Be=j==="y"?e.bottom:e.right,Le=j==="y"?"height":"width",Ae=z[j],fe=Ae+O[Ne],Z=Ae-O[Be],J=A?-$[Le]/2:0,te=R===e.start?H[Le]:$[Le],ee=R===e.start?-$[Le]:-H[Le],le=m.elements.arrow,ye=A&&le?(0,y.default)(le):{width:0,height:0},me=m.modifiersData["arrow#persistent"]?m.modifiersData["arrow#persistent"].padding:(0,p.default)(),Te=me[Ne],M=me[Be],X=(0,d.within)(0,H[Le],ye[Le]),ae=F?H[Le]/2-J-X-Te-ne.mainAxis:te-X-Te-ne.mainAxis,ue=F?-H[Le]/2+J+X+M+ne.mainAxis:ee+X+M+ne.mainAxis,ie=m.elements.arrow&&(0,V.default)(m.elements.arrow),ge=ie?j==="y"?ie.clientTop||0:ie.clientLeft||0:0,Ce=(Ve=Q==null?void 0:Q[j])!=null?Ve:0,Me=Ae+ae-Ce-ge,De=Ae+ue-Ce,ke=(0,d.within)(A?(0,i.min)(fe,Me):fe,Ae,A?(0,i.max)(Z,De):Z);z[j]=ke,he[j]=ke-Ae}if(C){var pe,se=j==="x"?e.top:e.left,xe=j==="x"?e.bottom:e.right,_=z[W],oe=W==="y"?"height":"width",ve=_+O[se],Se=_-O[xe],Ie=[e.top,e.left].indexOf(P)!==-1,Ee=(pe=Q==null?void 0:Q[W])!=null?pe:0,Pe=Ie?ve:_-H[oe]-$[oe]-Ee+ne.altAxis,Oe=Ie?_+H[oe]+$[oe]-Ee-ne.altAxis:Se,We=A&&Ie?(0,d.withinMaxClamp)(Pe,_,Oe):(0,d.within)(A?Pe:ve,_,A?Oe:Se);z[W]=We,he[W]=We-_}m.modifiersData[v]=he}}var u=r.default={name:"preventOverflow",enabled:!0,phase:"main",fn:f,requiresIfExists:["offset"]}},2473:function(I,r,n){"use strict";r.__esModule=!0,r.defaultModifiers=r.createPopper=void 0;var e=n(96376);r.popperGenerator=e.popperGenerator,r.detectOverflow=e.detectOverflow;var a=y(n(36692)),t=y(n(40107)),o=y(n(59894)),d=y(n(19975));function y(S){return S&&S.__esModule?S:{default:S}}var V=r.defaultModifiers=[a.default,t.default,o.default,d.default],k=r.createPopper=(0,e.popperGenerator)({defaultModifiers:V})},83312:function(I,r,n){"use strict";r.__esModule=!0;var e={createPopper:!0,createPopperLite:!0,defaultModifiers:!0,popperGenerator:!0,detectOverflow:!0};r.defaultModifiers=r.createPopperLite=r.createPopper=void 0;var a=n(96376);r.popperGenerator=a.popperGenerator,r.detectOverflow=a.detectOverflow;var t=u(n(36692)),o=u(n(40107)),d=u(n(59894)),y=u(n(19975)),V=u(n(61410)),k=u(n(23798)),S=u(n(75137)),p=u(n(52744)),i=u(n(83761)),l=n(2473);r.createPopperLite=l.createPopper;var f=n(39805);Object.keys(f).forEach(function(c){c==="default"||c==="__esModule"||Object.prototype.hasOwnProperty.call(e,c)||c in r&&r[c]===f[c]||(r[c]=f[c])});function u(c){return c&&c.__esModule?c:{default:c}}var s=r.defaultModifiers=[t.default,o.default,d.default,y.default,V.default,k.default,S.default,p.default,i.default],m=r.createPopperLite=r.createPopper=(0,a.popperGenerator)({defaultModifiers:s})},9041:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=d(n(45)),a=n(46206),t=d(n(17633)),o=d(n(83104));function d(V){return V&&V.__esModule?V:{default:V}}function y(V,k){k===void 0&&(k={});var S=k,p=S.placement,i=S.boundary,l=S.rootBoundary,f=S.padding,u=S.flipVariations,s=S.allowedAutoPlacements,m=s===void 0?a.placements:s,c=(0,e.default)(p),v=c?u?a.variationPlacements:a.variationPlacements.filter(function(h){return(0,e.default)(h)===c}):a.basePlacements,b=v.filter(function(h){return m.indexOf(h)>=0});b.length===0&&(b=v);var g=b.reduce(function(h,C){return h[C]=(0,t.default)(V,{placement:C,boundary:i,rootBoundary:l,padding:f})[(0,o.default)(C)],h},{});return Object.keys(g).sort(function(h,C){return g[h]-g[C]})}},89951:function(I,r,n){"use strict";r.__esModule=!0,r.default=y;var e=d(n(83104)),a=d(n(45)),t=d(n(41199)),o=n(46206);function d(V){return V&&V.__esModule?V:{default:V}}function y(V){var k=V.reference,S=V.element,p=V.placement,i=p?(0,e.default)(p):null,l=p?(0,a.default)(p):null,f=k.x+k.width/2-S.width/2,u=k.y+k.height/2-S.height/2,s;switch(i){case o.top:s={x:f,y:k.y-S.height};break;case o.bottom:s={x:f,y:k.y+k.height};break;case o.right:s={x:k.x+k.width,y:u};break;case o.left:s={x:k.x-S.width,y:u};break;default:s={x:k.x,y:k.y}}var m=i?(0,t.default)(i):null;if(m!=null){var c=m==="y"?"height":"width";switch(l){case o.start:s[m]=s[m]-(k[c]/2-S[c]/2);break;case o.end:s[m]=s[m]+(k[c]/2-S[c]/2);break;default:}}return s}},10579:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){var a;return function(){return a||(a=new Promise(function(t){Promise.resolve().then(function(){a=void 0,t(e())})})),a}}},17633:function(I,r,n){"use strict";r.__esModule=!0,r.default=i;var e=p(n(49035)),a=p(n(40600)),t=p(n(37786)),o=p(n(89951)),d=p(n(81666)),y=n(46206),V=n(75573),k=p(n(43286)),S=p(n(81447));function p(l){return l&&l.__esModule?l:{default:l}}function i(l,f){f===void 0&&(f={});var u=f,s=u.placement,m=s===void 0?l.placement:s,c=u.strategy,v=c===void 0?l.strategy:c,b=u.boundary,g=b===void 0?y.clippingParents:b,h=u.rootBoundary,C=h===void 0?y.viewport:h,N=u.elementContext,x=N===void 0?y.popper:N,B=u.altBoundary,L=B===void 0?!1:B,w=u.padding,A=w===void 0?0:w,T=(0,k.default)(typeof A!="number"?A:(0,S.default)(A,y.basePlacements)),E=x===y.popper?y.reference:y.popper,O=l.rects.popper,P=l.elements[L?E:x],R=(0,e.default)((0,V.isElement)(P)?P:P.contextElement||(0,a.default)(l.elements.popper),g,C,v),F=(0,t.default)(l.elements.reference),j=(0,o.default)({reference:F,element:O,strategy:"absolute",placement:m}),W=(0,d.default)(Object.assign({},O,j)),z=x===y.popper?W:F,H={top:R.top-z.top+T.top,bottom:z.bottom-R.bottom+T.bottom,left:R.left-z.left+T.left,right:z.right-R.right+T.right},$=l.modifiersData.offset;if(x===y.popper&&$){var G=$[m];Object.keys(H).forEach(function(ne){var Q=[y.right,y.bottom].indexOf(ne)>=0?1:-1,he=[y.top,y.bottom].indexOf(ne)>=0?"y":"x";H[ne]+=G[he]*Q})}return H}},81447:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e,a){return a.reduce(function(t,o){return t[o]=e,t},{})}},28066:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e==="x"?"y":"x"}},83104:function(I,r,n){"use strict";r.__esModule=!0,r.default=a;var e=n(46206);function a(t){return t.split("-")[0]}},34780:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(){return{top:0,right:0,bottom:0,left:0}}},41199:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}},71376:function(I,r){"use strict";r.__esModule=!0,r.default=e;var n={left:"right",right:"left",bottom:"top",top:"bottom"};function e(a){return a.replace(/left|right|bottom|top/g,function(t){return n[t]})}},86459:function(I,r){"use strict";r.__esModule=!0,r.default=e;var n={start:"end",end:"start"};function e(a){return a.replace(/start|end/g,function(t){return n[t]})}},45:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e.split("-")[1]}},63618:function(I,r){"use strict";r.__esModule=!0,r.round=r.min=r.max=void 0;var n=r.max=Math.max,e=r.min=Math.min,a=r.round=Math.round},56500:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){var a=e.reduce(function(t,o){var d=t[o.name];return t[o.name]=d?Object.assign({},d,o,{options:Object.assign({},d.options,o.options),data:Object.assign({},d.data,o.data)}):o,t},{});return Object.keys(a).map(function(t){return a[t]})}},43286:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(34780));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return Object.assign({},(0,e.default)(),o)}},33118:function(I,r,n){"use strict";r.__esModule=!0,r.default=t;var e=n(46206);function a(o){var d=new Map,y=new Set,V=[];o.forEach(function(S){d.set(S.name,S)});function k(S){y.add(S.name);var p=[].concat(S.requires||[],S.requiresIfExists||[]);p.forEach(function(i){if(!y.has(i)){var l=d.get(i);l&&k(l)}}),V.push(S)}return o.forEach(function(S){y.has(S.name)||k(S)}),V}function t(o){var d=a(o);return e.modifierPhases.reduce(function(y,V){return y.concat(d.filter(function(k){return k.phase===V}))},[])}},81666:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}},35366:function(I,r){"use strict";r.__esModule=!0,r.default=n;function n(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(a){return a.brand+"/"+a.version}).join(" "):navigator.userAgent}},28595:function(I,r,n){"use strict";r.__esModule=!0,r.within=a,r.withinMaxClamp=t;var e=n(63618);function a(o,d,y){return(0,e.max)(o,(0,e.min)(d,y))}function t(o,d,y){var V=a(o,d,y);return V>y?y:V}},83331:function(I,r,n){"use strict";var e;function a(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?a=function(){function o(d){return typeof d}return o}():a=function(){function o(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d}return o}(),a(t)}(function(t){var o=arguments,d=function(){var i=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,l=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,f=/[^-+\dA-Z]/g;return function(u,s,m,c){if(o.length===1&&p(u)==="string"&&!/\d/.test(u)&&(s=u,u=void 0),u=u||u===0?u:new Date,u instanceof Date||(u=new Date(u)),isNaN(u))throw TypeError("Invalid date");s=String(d.masks[s]||s||d.masks.default);var v=s.slice(0,4);(v==="UTC:"||v==="GMT:")&&(s=s.slice(4),m=!0,v==="GMT:"&&(c=!0));var b=function(){function P(){return m?"getUTC":"get"}return P}(),g=function(){function P(){return u[b()+"Date"]()}return P}(),h=function(){function P(){return u[b()+"Day"]()}return P}(),C=function(){function P(){return u[b()+"Month"]()}return P}(),N=function(){function P(){return u[b()+"FullYear"]()}return P}(),x=function(){function P(){return u[b()+"Hours"]()}return P}(),B=function(){function P(){return u[b()+"Minutes"]()}return P}(),L=function(){function P(){return u[b()+"Seconds"]()}return P}(),w=function(){function P(){return u[b()+"Milliseconds"]()}return P}(),A=function(){function P(){return m?0:u.getTimezoneOffset()}return P}(),T=function(){function P(){return k(u)}return P}(),E=function(){function P(){return S(u)}return P}(),O={d:function(){function P(){return g()}return P}(),dd:function(){function P(){return y(g())}return P}(),ddd:function(){function P(){return d.i18n.dayNames[h()]}return P}(),DDD:function(){function P(){return V({y:N(),m:C(),d:g(),_:b(),dayName:d.i18n.dayNames[h()],short:!0})}return P}(),dddd:function(){function P(){return d.i18n.dayNames[h()+7]}return P}(),DDDD:function(){function P(){return V({y:N(),m:C(),d:g(),_:b(),dayName:d.i18n.dayNames[h()+7]})}return P}(),m:function(){function P(){return C()+1}return P}(),mm:function(){function P(){return y(C()+1)}return P}(),mmm:function(){function P(){return d.i18n.monthNames[C()]}return P}(),mmmm:function(){function P(){return d.i18n.monthNames[C()+12]}return P}(),yy:function(){function P(){return String(N()).slice(2)}return P}(),yyyy:function(){function P(){return y(N(),4)}return P}(),h:function(){function P(){return x()%12||12}return P}(),hh:function(){function P(){return y(x()%12||12)}return P}(),H:function(){function P(){return x()}return P}(),HH:function(){function P(){return y(x())}return P}(),M:function(){function P(){return B()}return P}(),MM:function(){function P(){return y(B())}return P}(),s:function(){function P(){return L()}return P}(),ss:function(){function P(){return y(L())}return P}(),l:function(){function P(){return y(w(),3)}return P}(),L:function(){function P(){return y(Math.floor(w()/10))}return P}(),t:function(){function P(){return x()<12?d.i18n.timeNames[0]:d.i18n.timeNames[1]}return P}(),tt:function(){function P(){return x()<12?d.i18n.timeNames[2]:d.i18n.timeNames[3]}return P}(),T:function(){function P(){return x()<12?d.i18n.timeNames[4]:d.i18n.timeNames[5]}return P}(),TT:function(){function P(){return x()<12?d.i18n.timeNames[6]:d.i18n.timeNames[7]}return P}(),Z:function(){function P(){return c?"GMT":m?"UTC":(String(u).match(l)||[""]).pop().replace(f,"").replace(/GMT\+0000/g,"UTC")}return P}(),o:function(){function P(){return(A()>0?"-":"+")+y(Math.floor(Math.abs(A())/60)*100+Math.abs(A())%60,4)}return P}(),p:function(){function P(){return(A()>0?"-":"+")+y(Math.floor(Math.abs(A())/60),2)+":"+y(Math.floor(Math.abs(A())%60),2)}return P}(),S:function(){function P(){return["th","st","nd","rd"][g()%10>3?0:(g()%100-g()%10!=10)*g()%10]}return P}(),W:function(){function P(){return T()}return P}(),WW:function(){function P(){return y(T())}return P}(),N:function(){function P(){return E()}return P}()};return s.replace(i,function(P){return P in O?O[P]():P.slice(1,P.length-1)})}}();d.masks={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},d.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]};var y=function(){function i(l,f){for(l=String(l),f=f||2;l.length0?x(K.componentWillDisappear,w(D,U)):L(D,U,!1)}function T(D,U,K,Y,re,ce,de,be){D.componentWillMove.push({dom:Y,fn:function(){function we(){de&4?K.componentWillMove(U,re,Y):de&8&&K.onComponentWillMove(U,re,Y,be)}return we}(),next:ce,parent:re})}function E(D,U,K,Y,re){var ce,de,be=U.flags;do{var we=U.flags;if(we&1521){!a(ce)&&(o(ce.componentWillMove)||o(ce.onComponentWillMove))?T(re,D,ce,U.dom,K,Y,be,de):c(K,U.dom,Y);return}var Fe=U.children;if(we&4)ce=U.children,de=U.props,U=Fe.$LI;else if(we&8)ce=U.ref,de=U.props,U=Fe;else if(we&8192)if(U.childFlags===2)U=Fe;else{for(var Re=0,Ue=Fe.length;Re0,Fe=V(be),Re=d(be)&&be[0]===H;we||Fe||Re?(K=K||U.slice(0,ce),(we||Re)&&(de=fe(de)),(Fe||Re)&&(de.key=H+ce),K.push(de)):K&&K.push(de),de.flags|=65536}}K=K||U,K.length===0?Y=1:Y=8}else K=U,K.flags|=65536,U.flags&81920&&(K=fe(U)),Y=2;return D.children=K,D.childFlags=Y,D}function ye(D){return t(D)||e(D)?Ne(D,null):n(D)?Be(D,0,null):D.flags&16384?fe(D):D}var me="http://www.w3.org/1999/xlink",Te="http://www.w3.org/XML/1998/namespace",M={"xlink:actuate":me,"xlink:arcrole":me,"xlink:href":me,"xlink:role":me,"xlink:show":me,"xlink:title":me,"xlink:type":me,"xml:base":Te,"xml:lang":Te,"xml:space":Te};function X(D){return{onClick:D,onDblClick:D,onFocusIn:D,onFocusOut:D,onKeyDown:D,onKeyPress:D,onKeyUp:D,onMouseDown:D,onMouseMove:D,onMouseUp:D,onTouchEnd:D,onTouchMove:D,onTouchStart:D}}var ae=X(0),ue=X(null),ie=X(!0);function ge(D,U){var K=U.$EV;return K||(K=U.$EV=X(null)),K[D]||++ae[D]===1&&(ue[D]=Se(D)),K}function Ce(D,U){var K=U.$EV;K&&K[D]&&(--ae[D]===0&&(document.removeEventListener(s(D),ue[D]),ue[D]=null),K[D]=null)}function Me(D,U,K,Y){if(o(K))ge(D,Y)[D]=K;else if(i(K)){if(j(U,K))return;ge(D,Y)[D]=K}else Ce(D,Y)}function De(D){return o(D.composedPath)?D.composedPath()[0]:D.target}function ke(D,U,K,Y){var re=De(D);do{if(U&&re.disabled)return;var ce=re.$EV;if(ce){var de=ce[K];if(de&&(Y.dom=re,de.event?de.event(de.data,D):de(D),D.cancelBubble))return}re=re.parentNode}while(!V(re))}function pe(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function se(){return this.defaultPrevented}function xe(){return this.cancelBubble}function _(D){var U={dom:document};return D.isDefaultPrevented=se,D.isPropagationStopped=xe,D.stopPropagation=pe,Object.defineProperty(D,"currentTarget",{configurable:!0,get:function(){function K(){return U.dom}return K}()}),U}function oe(D){return function(U){if(U.button!==0){U.stopPropagation();return}ke(U,!0,D,_(U))}}function ve(D){return function(U){ke(U,!1,D,_(U))}}function Se(D){var U=D==="onClick"||D==="onDblClick"?oe(D):ve(D);return document.addEventListener(s(D),U),U}function Ie(D,U){var K=document.createElement("i");return K.innerHTML=U,K.innerHTML===D.innerHTML}function Ee(D,U,K){if(D[U]){var Y=D[U];Y.event?Y.event(Y.data,K):Y(K)}else{var re=U.toLowerCase();D[re]&&D[re](K)}}function Pe(D,U){var K=function(){function Y(re){var ce=this.$V;if(ce){var de=ce.props||l,be=ce.dom;if(d(D))Ee(de,D,re);else for(var we=0;we-1&&U.options[ce]&&(be=U.options[ce].value),K&&a(be)&&(be=D.defaultValue),qe(Y,be)}}var Zt=Pe("onInput",wt),qt=Pe("onChange");function en(D,U){Oe(D,"input",Zt),U.onChange&&Oe(D,"change",qt)}function wt(D,U,K){var Y=D.value,re=U.value;if(a(Y)){if(K){var ce=D.defaultValue;!a(ce)&&ce!==re&&(U.defaultValue=ce,U.value=ce)}}else re!==Y&&(U.defaultValue=Y,U.value=Y)}function Tt(D,U,K,Y,re,ce){D&64?ut(Y,K):D&256?It(Y,K,re,U):D&128&&wt(Y,K,re),ce&&(K.$V=U)}function tn(D,U,K){D&64?$e(U,K):D&256?Jt(U):D&128&&en(U,K)}function At(D){return D.type&&We(D.type)?!a(D.checked):!a(D.value)}function nn(){return{current:null}}function on(D){var U={render:D};return U}function vt(D){D&&!z(D,null)&&D.current&&(D.current=null)}function st(D,U,K){D&&(o(D)||D.current!==void 0)&&K.push(function(){!z(D,U)&&D.current!==void 0&&(D.current=U)})}function tt(D,U,K){ot(D,K),A(D,U,K)}function ot(D,U){var K=D.flags,Y=D.children,re;if(K&481){re=D.ref;var ce=D.props;vt(re);var de=D.childFlags;if(!V(ce))for(var be=Object.keys(ce),we=0,Fe=be.length;we0?x(K.componentWillDisappear,rn(U,D)):D.textContent=""}function gt(D,U,K,Y){mt(K,Y),U.flags&8192?A(U,D,Y):Ct(D,K,Y)}function Et(D,U,K,Y,re){D.componentWillDisappear.push(function(ce){Y&4?U.componentWillDisappear(K,ce):Y&8&&U.onComponentWillDisappear(K,re,ce)})}function an(D){var U=D.event;return function(K){U(D.data,K)}}function cn(D,U,K,Y){if(i(K)){if(j(U,K))return;K=an(K)}Oe(Y,s(D),K)}function ln(D,U,K){if(a(U)){K.removeAttribute("style");return}var Y=K.style,re,ce;if(d(U)){Y.cssText=U;return}if(!a(D)&&!d(D)){for(re in U)ce=U[re],ce!==D[re]&&Y.setProperty(re,ce);for(re in D)a(U[re])&&Y.removeProperty(re)}else for(re in U)ce=U[re],Y.setProperty(re,ce)}function un(D,U,K,Y,re){var ce=D&&D.__html||"",de=U&&U.__html||"";ce!==de&&!a(de)&&!Ie(Y,de)&&(V(K)||(K.childFlags&12?mt(K.children,re):K.childFlags===2&&ot(K.children,re),K.children=null,K.childFlags=1),Y.innerHTML=de)}function Vt(D,U,K,Y,re,ce,de,be){switch(D){case"children":case"childrenType":case"className":case"defaultValue":case"key":case"multiple":case"ref":case"selectedIndex":break;case"autoFocus":Y.autofocus=!!K;break;case"allowfullscreen":case"autoplay":case"capture":case"checked":case"controls":case"default":case"disabled":case"hidden":case"indeterminate":case"loop":case"muted":case"novalidate":case"open":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"selected":Y[D]=!!K;break;case"defaultChecked":case"value":case"volume":if(ce&&D==="value")break;var we=a(K)?"":K;Y[D]!==we&&(Y[D]=we);break;case"style":ln(U,K,Y);break;case"dangerouslySetInnerHTML":un(U,K,de,Y,be);break;default:ie[D]?Me(D,U,K,Y):D.charCodeAt(0)===111&&D.charCodeAt(1)===110?cn(D,U,K,Y):a(K)?Y.removeAttribute(D):re&&M[D]?Y.setAttributeNS(M[D],D,K):Y.setAttribute(D,K);break}}function Mt(D,U,K,Y,re,ce){var de=!1,be=(U&448)>0;be&&(de=At(K),de&&tn(U,Y,K));for(var we in K)Vt(we,null,K[we],Y,re,de,null,ce);be&&Tt(U,D,Y,K,!0,de)}function Ot(D,U,K){var Y=ye(D.render(U,D.state,K)),re=K;return o(D.getChildContext)&&(re=S(K,D.getChildContext())),D.$CX=re,Y}function Pt(D,U,K,Y,re,ce){var de=new U(K,Y),be=de.$N=!!(U.getDerivedStateFromProps||de.getSnapshotBeforeUpdate);if(de.$SVG=re,de.$L=ce,D.children=de,de.$BS=!1,de.context=Y,de.props===l&&(de.props=K),be)de.state=O(de,K,de.state);else if(o(de.componentWillMount)){de.$BR=!0,de.componentWillMount();var we=de.$PS;if(!V(we)){var Fe=de.state;if(V(Fe))de.state=we;else for(var Re in we)Fe[Re]=we[Re];de.$PS=null}de.$BR=!1}return de.$LI=Ot(de,K,Y),de}function yt(D,U){var K=D.props||l;return D.flags&32768?D.type.render(K,D.ref,U):D.type(K,U)}function Xe(D,U,K,Y,re,ce,de){var be=D.flags|=16384;be&481?Dt(D,U,K,Y,re,ce,de):be&4?mn(D,U,K,Y,re,ce,de):be&8?fn(D,U,K,Y,re,ce,de):be&16?Rt(D,U,re):be&8192?sn(D,K,U,Y,re,ce,de):be&1024&&dn(D,K,U,re,ce,de)}function dn(D,U,K,Y,re,ce){Xe(D.children,D.ref,U,!1,null,re,ce);var de=Z();Rt(de,K,Y),D.dom=de.dom}function sn(D,U,K,Y,re,ce,de){var be=D.children,we=D.childFlags;we&12&&be.length===0&&(we=D.childFlags=2,be=D.children=Z()),we===2?Xe(be,K,U,Y,re,ce,de):dt(be,K,U,Y,re,ce,de)}function Rt(D,U,K){var Y=D.dom=document.createTextNode(D.children);V(U)||c(U,Y,K)}function Dt(D,U,K,Y,re,ce,de){var be=D.flags,we=D.props,Fe=D.className,Re=D.childFlags,Ue=D.dom=v(D.type,Y=Y||(be&32)>0),je=D.children;if(!a(Fe)&&Fe!==""&&(Y?Ue.setAttribute("class",Fe):Ue.className=Fe),Re===16)F(Ue,je);else if(Re!==1){var _e=Y&&D.type!=="foreignObject";Re===2?(je.flags&16384&&(D.children=je=fe(je)),Xe(je,Ue,K,_e,null,ce,de)):(Re===8||Re===4)&&dt(je,Ue,K,_e,null,ce,de)}V(U)||c(U,Ue,re),V(we)||Mt(D,be,we,Ue,Y,de),st(D.ref,Ue,ce)}function dt(D,U,K,Y,re,ce,de){for(var be=0;be_e)&&(Ue=N(be[_e-1],!1).nextSibling)}St(Fe,Re,be,we,K,Y,re,Ue,D,ce,de)}function bn(D,U,K,Y,re){var ce=D.ref,de=U.ref,be=U.children;if(St(D.childFlags,U.childFlags,D.children,be,ce,K,!1,null,D,Y,re),U.dom=D.dom,ce!==de&&!t(be)){var we=be.dom;g(ce,we),m(de,we)}}function Vn(D,U,K,Y,re,ce,de){var be=U.dom=D.dom,we=D.props,Fe=U.props,Re=!1,Ue=!1,je;if(Y=Y||(re&32)>0,we!==Fe){var _e=we||l;if(je=Fe||l,je!==l){Re=(re&448)>0,Re&&(Ue=At(je));for(var Ye in je){var ze=_e[Ye],Je=je[Ye];ze!==Je&&Vt(Ye,ze,Je,be,Y,Ue,D,de)}}if(_e!==l)for(var Ke in _e)a(je[Ke])&&!a(_e[Ke])&&Vt(Ke,_e[Ke],null,be,Y,Ue,D,de)}var it=U.children,et=U.className;D.className!==et&&(a(et)?be.removeAttribute("class"):Y?be.setAttribute("class",et):be.className=et),re&4096?gn(be,it):St(D.childFlags,U.childFlags,D.children,it,be,K,Y&&U.type!=="foreignObject",null,D,ce,de),Re&&Tt(re,U,be,je,!1,Ue);var ft=U.ref,nt=D.ref;nt!==ft&&(vt(nt),st(ft,be,ce))}function yn(D,U,K,Y,re,ce,de){ot(D,de),dt(U,K,Y,re,N(D,!0),ce,de),A(D,K,de)}function St(D,U,K,Y,re,ce,de,be,we,Fe,Re){switch(D){case 2:switch(U){case 2:rt(K,Y,re,ce,de,be,Fe,Re);break;case 1:tt(K,re,Re);break;case 16:ot(K,Re),F(re,Y);break;default:yn(K,Y,re,ce,de,Fe,Re);break}break;case 1:switch(U){case 2:Xe(Y,re,ce,de,be,Fe,Re);break;case 1:break;case 16:F(re,Y);break;default:dt(Y,re,ce,de,be,Fe,Re);break}break;case 16:switch(U){case 16:Cn(K,Y,re);break;case 2:Ct(re,K,Re),Xe(Y,re,ce,de,be,Fe,Re);break;case 1:Ct(re,K,Re);break;default:Ct(re,K,Re),dt(Y,re,ce,de,be,Fe,Re);break}break;default:switch(U){case 16:mt(K,Re),F(re,Y);break;case 2:gt(re,we,K,Re),Xe(Y,re,ce,de,be,Fe,Re);break;case 1:gt(re,we,K,Re);break;default:var Ue=K.length|0,je=Y.length|0;Ue===0?je>0&&dt(Y,re,ce,de,be,Fe,Re):je===0?gt(re,we,K,Re):U===8&&D===8?In(K,Y,re,ce,de,Ue,je,be,we,Fe,Re):Ln(K,Y,re,ce,de,Ue,je,be,Fe,Re);break}break}}function Sn(D,U,K,Y,re){re.push(function(){D.componentDidUpdate(U,K,Y)})}function Ut(D,U,K,Y,re,ce,de,be,we,Fe){var Re=D.state,Ue=D.props,je=!!D.$N,_e=o(D.shouldComponentUpdate);if(je&&(U=O(D,K,U!==Re?S(Re,U):U)),de||!_e||_e&&D.shouldComponentUpdate(K,U,re)){!je&&o(D.componentWillUpdate)&&D.componentWillUpdate(K,U,re),D.props=K,D.state=U,D.context=re;var Ye=null,ze=Ot(D,K,re);je&&o(D.getSnapshotBeforeUpdate)&&(Ye=D.getSnapshotBeforeUpdate(Ue,Re)),rt(D.$LI,ze,Y,D.$CX,ce,be,we,Fe),D.$LI=ze,o(D.componentDidUpdate)&&Sn(D,Ue,Re,Ye,we)}else D.props=K,D.state=U,D.context=re}function kn(D,U,K,Y,re,ce,de,be){var we=U.children=D.children;if(!V(we)){we.$L=de;var Fe=U.props||l,Re=U.ref,Ue=D.ref,je=we.state;if(!we.$N){if(o(we.componentWillReceiveProps)){if(we.$BR=!0,we.componentWillReceiveProps(Fe,Y),we.$UN)return;we.$BR=!1}V(we.$PS)||(je=S(je,we.$PS),we.$PS=null)}Ut(we,je,Fe,K,Y,re,!1,ce,de,be),Ue!==Re&&(vt(Ue),st(Re,we,de))}}function Bn(D,U,K,Y,re,ce,de,be){var we=!0,Fe=U.props||l,Re=U.ref,Ue=D.props,je=!a(Re),_e=D.children;if(je&&o(Re.onComponentShouldUpdate)&&(we=Re.onComponentShouldUpdate(Ue,Fe)),we!==!1){je&&o(Re.onComponentWillUpdate)&&Re.onComponentWillUpdate(Ue,Fe);var Ye=ye(yt(U,Y));rt(_e,Ye,K,Y,re,ce,de,be),U.children=Ye,je&&o(Re.onComponentDidUpdate)&&Re.onComponentDidUpdate(Ue,Fe)}else U.children=_e}function xn(D,U){var K=U.children,Y=U.dom=D.dom;K!==D.children&&(Y.nodeValue=K)}function Ln(D,U,K,Y,re,ce,de,be,we,Fe){for(var Re=ce>de?de:ce,Ue=0,je,_e;Uede)for(Ue=Re;UeUe||_e>je)break e;Ye=D[_e],ze=U[_e]}for(Ye=D[Ue],ze=U[je];Ye.key===ze.key;){if(ze.flags&16384&&(U[je]=ze=fe(ze)),rt(Ye,ze,K,Y,re,be,Fe,Re),D[Ue]=ze,Ue--,je--,_e>Ue||_e>je)break e;Ye=D[Ue],ze=U[je]}}if(_e>Ue){if(_e<=je)for(Je=je+1,Ke=Jeje)for(;_e<=Ue;)tt(D[_e++],K,Re);else wn(D,U,Y,ce,de,Ue,je,_e,K,re,be,we,Fe,Re)}function wn(D,U,K,Y,re,ce,de,be,we,Fe,Re,Ue,je,_e){var Ye,ze,Je=0,Ke=0,it=be,et=be,ft=ce-be+1,nt=de-be+1,pt=new Int32Array(nt+1),ct=ft===Y,Bt=!1,Ze=0,ht=0;if(re<4||(ft|nt)<32)for(Ke=it;Ke<=ce;++Ke)if(Ye=D[Ke],htbe?Bt=!0:Ze=be,ze.flags&16384&&(U[be]=ze=fe(ze)),rt(Ye,ze,we,K,Fe,Re,je,_e),++ht;break}!ct&&be>de&&tt(Ye,we,_e)}else ct||tt(Ye,we,_e);else{var Gt={};for(Ke=et;Ke<=de;++Ke)Gt[U[Ke].key]=Ke;for(Ke=it;Ke<=ce;++Ke)if(Ye=D[Ke],htit;)tt(D[it++],we,_e);pt[be-et]=Ke+1,Ze>be?Bt=!0:Ze=be,ze=U[be],ze.flags&16384&&(U[be]=ze=fe(ze)),rt(Ye,ze,we,K,Fe,Re,je,_e),++ht}else ct||tt(Ye,we,_e);else ct||tt(Ye,we,_e)}if(ct)gt(we,Ue,D,_e),dt(U,we,K,Fe,Re,je,_e);else if(Bt){var Qt=Tn(pt);for(be=Qt.length-1,Ke=nt-1;Ke>=0;Ke--)pt[Ke]===0?(Ze=Ke+et,ze=U[Ze],ze.flags&16384&&(U[Ze]=ze=fe(ze)),Je=Ze+1,Xe(ze,we,K,Fe,Je0&&B(_e.componentWillMove)}else if(ht!==nt)for(Ke=nt-1;Ke>=0;Ke--)pt[Ke]===0&&(Ze=Ke+et,ze=U[Ze],ze.flags&16384&&(U[Ze]=ze=fe(ze)),Je=Ze+1,Xe(ze,we,K,Fe,Je_t&&(_t=we,at=new Int32Array(we),Nt=new Int32Array(we));K>1,D[at[be]]0&&(Nt[K]=at[ce-1]),at[ce]=K)}ce=re+1;var Fe=new Int32Array(ce);for(de=at[ce-1];ce-- >0;)Fe[ce]=de,de=Nt[de],at[ce]=0;return Fe}var An=typeof document!="undefined";An&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);function zt(D,U,K,Y){var re=[],ce=new u,de=U.$V;P.v=!0,a(de)?a(D)||(D.flags&16384&&(D=fe(D)),Xe(D,U,Y,!1,null,re,ce),U.$V=D,de=D):a(D)?(tt(de,U,ce),U.$V=null):(D.flags&16384&&(D=fe(D)),rt(de,D,U,Y,!1,null,re,ce),de=U.$V=D),h(re),x(ce.componentDidAppear),P.v=!1,o(K)&&K(),o(R.renderComplete)&&R.renderComplete(de,U)}function Ht(D,U,K,Y){K===void 0&&(K=null),Y===void 0&&(Y=l),zt(D,U,K,Y)}function En(D){return function(){function U(K,Y,re,ce){D||(D=K),Ht(Y,D,re,ce)}return U}()}var bt=[],Mn=typeof Promise!="undefined"?Promise.resolve().then.bind(Promise.resolve()):function(D){window.setTimeout(D,0)},kt=!1;function Kt(D,U,K,Y){var re=D.$PS;if(o(U)&&(U=U(re?S(D.state,re):D.state,D.props,D.context)),a(re))D.$PS=U;else for(var ce in U)re[ce]=U[ce];if(D.$BR)o(K)&&D.$L.push(K.bind(D));else{if(!P.v&&bt.length===0){Yt(D,Y),o(K)&&K.call(D);return}if(bt.indexOf(D)===-1&&bt.push(D),Y&&(D.$F=!0),kt||(kt=!0,Mn($t)),o(K)){var de=D.$QU;de||(de=D.$QU=[]),de.push(K)}}}function On(D){for(var U=D.$QU,K=0;K=55296&&ve<=56319&&oe+1<_.length&&(Se=_.charCodeAt(oe+1),Se>=56320&&Se<=57343)?(ve-55296)*1024+Se-56320+65536:ve}function fe(_){var oe=/^\n* /;return oe.test(_)}var Z=1,J=2,te=3,ee=4,le=5;function ye(_,oe,ve,Se,Ie,Ee,Pe,Oe){var We,He=0,Ge=null,Qe=!1,$e=!1,ut=Se!==-1,qe=-1,lt=Be(Ae(_,0))&&Le(Ae(_,_.length-1));if(oe||Pe)for(We=0;We<_.length;He>=65536?We+=2:We++){if(He=Ae(_,We),!he(He))return le;lt=lt&&Ne(He,Ge,Oe),Ge=He}else{for(We=0;We<_.length;He>=65536?We+=2:We++){if(He=Ae(_,We),He===k)Qe=!0,ut&&($e=$e||We-qe-1>Se&&_[qe+1]!==" ",qe=We);else if(!he(He))return le;lt=lt&&Ne(He,Ge,Oe),Ge=He}$e=$e||ut&&We-qe-1>Se&&_[qe+1]!==" "}return!Qe&&!$e?lt&&!Pe&&!Ie(_)?Z:Ee===z?le:J:ve>9&&fe(_)?le:Pe?Ee===z?le:J:$e?ee:te}function me(_,oe,ve,Se,Ie){_.dump=function(){if(oe.length===0)return _.quotingType===z?'""':"''";if(!_.noCompatMode&&(P.indexOf(oe)!==-1||R.test(oe)))return _.quotingType===z?'"'+oe+'"':"'"+oe+"'";var Ee=_.indent*Math.max(1,ve),Pe=_.lineWidth===-1?-1:Math.max(Math.min(_.lineWidth,40),_.lineWidth-Ee),Oe=Se||_.flowLevel>-1&&ve>=_.flowLevel;function We(He){return ne(_,He)}switch(ye(oe,Oe,_.indent,Pe,We,_.quotingType,_.forceQuotes&&!Se,Ie)){case Z:return oe;case J:return"'"+oe.replace(/'/g,"''")+"'";case te:return"|"+Te(oe,_.indent)+M($(oe,Ee));case ee:return">"+Te(oe,_.indent)+M($(X(oe,Pe),Ee));case le:return'"'+ue(oe,Pe)+'"';default:throw new a("impossible error: invalid scalar style")}}()}function Te(_,oe){var ve=fe(_)?String(oe):"",Se=_[_.length-1]==="\n",Ie=Se&&(_[_.length-2]==="\n"||_==="\n"),Ee=Ie?"+":Se?"":"-";return ve+Ee+"\n"}function M(_){return _[_.length-1]==="\n"?_.slice(0,-1):_}function X(_,oe){for(var ve=/(\n+)([^\n]*)/g,Se=function(){var He=_.indexOf("\n");return He=He!==-1?He:_.length,ve.lastIndex=He,ae(_.slice(0,He),oe)}(),Ie=_[0]==="\n"||_[0]===" ",Ee,Pe;Pe=ve.exec(_);){var Oe=Pe[1],We=Pe[2];Ee=We[0]===" ",Se+=Oe+(!Ie&&!Ee&&We!==""?"\n":"")+ae(We,oe),Ie=Ee}return Se}function ae(_,oe){if(_===""||_[0]===" ")return _;for(var ve=/ [^ ]/g,Se,Ie=0,Ee,Pe=0,Oe=0,We="";Se=ve.exec(_);)Oe=Se.index,Oe-Ie>oe&&(Ee=Pe>Ie?Pe:Oe,We+="\n"+_.slice(Ie,Ee),Ie=Ee+1),Pe=Oe;return We+="\n",_.length-Ie>oe&&Pe>Ie?We+=_.slice(Ie,Pe)+"\n"+_.slice(Pe+1):We+=_.slice(Ie),We.slice(1)}function ue(_){for(var oe="",ve=0,Se,Ie=0;Ie<_.length;ve>=65536?Ie+=2:Ie++)ve=Ae(_,Ie),Se=O[ve],!Se&&he(ve)?(oe+=_[Ie],ve>=65536&&(oe+=_[Ie+1])):oe+=Se||j(ve);return oe}function ie(_,oe,ve){var Se="",Ie=_.tag,Ee,Pe,Oe;for(Ee=0,Pe=ve.length;Ee1024&&(Ge+="? "),Ge+=_.dump+(_.condenseFlow?'"':"")+":"+(_.condenseFlow?"":" "),ke(_,oe,He,!1,!1)&&(Ge+=_.dump,Se+=Ge));_.tag=Ie,_.dump="{"+Se+"}"}function Me(_,oe,ve,Se){var Ie="",Ee=_.tag,Pe=Object.keys(ve),Oe,We,He,Ge,Qe,$e;if(_.sortKeys===!0)Pe.sort();else if(typeof _.sortKeys=="function")Pe.sort(_.sortKeys);else if(_.sortKeys)throw new a("sortKeys must be a boolean or a function");for(Oe=0,We=Pe.length;Oe1024,Qe&&(_.dump&&k===_.dump.charCodeAt(0)?$e+="?":$e+="? "),$e+=_.dump,Qe&&($e+=G(_,oe)),ke(_,oe+1,Ge,!0,Qe)&&(_.dump&&k===_.dump.charCodeAt(0)?$e+=":":$e+=": ",$e+=_.dump,Ie+=$e));_.tag=Ee,_.dump=Ie||"{}"}function De(_,oe,ve){var Se,Ie,Ee,Pe,Oe,We;for(Ie=ve?_.explicitTypes:_.implicitTypes,Ee=0,Pe=Ie.length;Ee tag resolver accepts not "'+We+'" style');_.dump=Se}return!0}return!1}function ke(_,oe,ve,Se,Ie,Ee,Pe){_.tag=null,_.dump=ve,De(_,ve,!1)||De(_,ve,!0);var Oe=o.call(_.dump),We=Se,He;Se&&(Se=_.flowLevel<0||_.flowLevel>oe);var Ge=Oe==="[object Object]"||Oe==="[object Array]",Qe,$e;if(Ge&&(Qe=_.duplicates.indexOf(ve),$e=Qe!==-1),(_.tag!==null&&_.tag!=="?"||$e||_.indent!==2&&oe>0)&&(Ie=!1),$e&&_.usedDuplicates[Qe])_.dump="*ref_"+Qe;else{if(Ge&&$e&&!_.usedDuplicates[Qe]&&(_.usedDuplicates[Qe]=!0),Oe==="[object Object]")Se&&Object.keys(_.dump).length!==0?(Me(_,oe,_.dump,Ie),$e&&(_.dump="&ref_"+Qe+_.dump)):(Ce(_,oe,_.dump),$e&&(_.dump="&ref_"+Qe+" "+_.dump));else if(Oe==="[object Array]")Se&&_.dump.length!==0?(_.noArrayIndent&&!Pe&&oe>0?ge(_,oe-1,_.dump,Ie):ge(_,oe,_.dump,Ie),$e&&(_.dump="&ref_"+Qe+_.dump)):(ie(_,oe,_.dump),$e&&(_.dump="&ref_"+Qe+" "+_.dump));else if(Oe==="[object String]")_.tag!=="?"&&me(_,_.dump,oe,Ee,We);else{if(Oe==="[object Undefined]")return!1;if(_.skipInvalid)return!1;throw new a("unacceptable kind of an object to dump "+Oe)}_.tag!==null&&_.tag!=="?"&&(He=encodeURI(_.tag[0]==="!"?_.tag.slice(1):_.tag).replace(/!/g,"%21"),_.tag[0]==="!"?He="!"+He:He.slice(0,18)==="tag:yaml.org,2002:"?He="!!"+He.slice(18):He="!<"+He+">",_.dump=He+" "+_.dump)}return!0}function pe(_,oe){var ve=[],Se=[],Ie,Ee;for(se(_,ve,Se),Ie=0,Ee=Se.length;Ie>10)+55296,(M-65536&1023)+56320)}for(var A=new Array(256),T=new Array(256),E=0;E<256;E++)A[E]=L(E)?1:0,T[E]=L(E);function O(M,X){this.input=M,this.filename=X.filename||null,this.schema=X.schema||o,this.onWarning=X.onWarning||null,this.legacy=X.legacy||!1,this.json=X.json||!1,this.listener=X.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=M.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function P(M,X){var ae={name:M.filename,buffer:M.input.slice(0,-1),position:M.position,line:M.line,column:M.position-M.lineStart};return ae.snippet=t(ae),new a(X,ae)}function R(M,X){throw P(M,X)}function F(M,X){M.onWarning&&M.onWarning.call(null,P(M,X))}var j={YAML:function(){function M(X,ae,ue){var ie,ge,Ce;X.version!==null&&R(X,"duplication of %YAML directive"),ue.length!==1&&R(X,"YAML directive accepts exactly one argument"),ie=/^([0-9]+)\.([0-9]+)$/.exec(ue[0]),ie===null&&R(X,"ill-formed argument of the YAML directive"),ge=parseInt(ie[1],10),Ce=parseInt(ie[2],10),ge!==1&&R(X,"unacceptable YAML version of the document"),X.version=ue[0],X.checkLineBreaks=Ce<2,Ce!==1&&Ce!==2&&F(X,"unsupported YAML version of the document")}return M}(),TAG:function(){function M(X,ae,ue){var ie,ge;ue.length!==2&&R(X,"TAG directive accepts exactly two arguments"),ie=ue[0],ge=ue[1],m.test(ie)||R(X,"ill-formed tag handle (first argument) of the TAG directive"),d.call(X.tagMap,ie)&&R(X,'there is a previously declared suffix for "'+ie+'" tag handle'),c.test(ge)||R(X,"ill-formed tag prefix (second argument) of the TAG directive");try{ge=decodeURIComponent(ge)}catch(Ce){R(X,"tag prefix is malformed: "+ge)}X.tagMap[ie]=ge}return M}()};function W(M,X,ae,ue){var ie,ge,Ce,Me;if(X1&&(M.result+=e.repeat("\n",X-1))}function he(M,X,ae){var ue,ie,ge,Ce,Me,De,ke,pe,se=M.kind,xe=M.result,_;if(_=M.input.charCodeAt(M.position),h(_)||C(_)||_===35||_===38||_===42||_===33||_===124||_===62||_===39||_===34||_===37||_===64||_===96||(_===63||_===45)&&(ie=M.input.charCodeAt(M.position+1),h(ie)||ae&&C(ie)))return!1;for(M.kind="scalar",M.result="",ge=Ce=M.position,Me=!1;_!==0;){if(_===58){if(ie=M.input.charCodeAt(M.position+1),h(ie)||ae&&C(ie))break}else if(_===35){if(ue=M.input.charCodeAt(M.position-1),h(ue))break}else{if(M.position===M.lineStart&&ne(M)||ae&&C(_))break;if(b(_))if(De=M.line,ke=M.lineStart,pe=M.lineIndent,G(M,!1,-1),M.lineIndent>=X){Me=!0,_=M.input.charCodeAt(M.position);continue}else{M.position=Ce,M.line=De,M.lineStart=ke,M.lineIndent=pe;break}}Me&&(W(M,ge,Ce,!1),Q(M,M.line-De),ge=Ce=M.position,Me=!1),g(_)||(Ce=M.position+1),_=M.input.charCodeAt(++M.position)}return W(M,ge,Ce,!1),M.result?!0:(M.kind=se,M.result=xe,!1)}function Ve(M,X){var ae,ue,ie;if(ae=M.input.charCodeAt(M.position),ae!==39)return!1;for(M.kind="scalar",M.result="",M.position++,ue=ie=M.position;(ae=M.input.charCodeAt(M.position))!==0;)if(ae===39)if(W(M,ue,M.position,!0),ae=M.input.charCodeAt(++M.position),ae===39)ue=M.position,M.position++,ie=M.position;else return!0;else b(ae)?(W(M,ue,ie,!0),Q(M,G(M,!1,X)),ue=ie=M.position):M.position===M.lineStart&&ne(M)?R(M,"unexpected end of the document within a single quoted scalar"):(M.position++,ie=M.position);R(M,"unexpected end of the stream within a single quoted scalar")}function Ne(M,X){var ae,ue,ie,ge,Ce,Me;if(Me=M.input.charCodeAt(M.position),Me!==34)return!1;for(M.kind="scalar",M.result="",M.position++,ae=ue=M.position;(Me=M.input.charCodeAt(M.position))!==0;){if(Me===34)return W(M,ae,M.position,!0),M.position++,!0;if(Me===92){if(W(M,ae,M.position,!0),Me=M.input.charCodeAt(++M.position),b(Me))G(M,!1,X);else if(Me<256&&A[Me])M.result+=T[Me],M.position++;else if((Ce=x(Me))>0){for(ie=Ce,ge=0;ie>0;ie--)Me=M.input.charCodeAt(++M.position),(Ce=N(Me))>=0?ge=(ge<<4)+Ce:R(M,"expected hexadecimal character");M.result+=w(ge),M.position++}else R(M,"unknown escape sequence");ae=ue=M.position}else b(Me)?(W(M,ae,ue,!0),Q(M,G(M,!1,X)),ae=ue=M.position):M.position===M.lineStart&&ne(M)?R(M,"unexpected end of the document within a double quoted scalar"):(M.position++,ue=M.position)}R(M,"unexpected end of the stream within a double quoted scalar")}function Be(M,X){var ae=!0,ue,ie,ge,Ce=M.tag,Me,De=M.anchor,ke,pe,se,xe,_,oe=Object.create(null),ve,Se,Ie,Ee;if(Ee=M.input.charCodeAt(M.position),Ee===91)pe=93,_=!1,Me=[];else if(Ee===123)pe=125,_=!0,Me={};else return!1;for(M.anchor!==null&&(M.anchorMap[M.anchor]=Me),Ee=M.input.charCodeAt(++M.position);Ee!==0;){if(G(M,!0,X),Ee=M.input.charCodeAt(M.position),Ee===pe)return M.position++,M.tag=Ce,M.anchor=De,M.kind=_?"mapping":"sequence",M.result=Me,!0;ae?Ee===44&&R(M,"expected the node content, but found ','"):R(M,"missed comma between flow collection entries"),Se=ve=Ie=null,se=xe=!1,Ee===63&&(ke=M.input.charCodeAt(M.position+1),h(ke)&&(se=xe=!0,M.position++,G(M,!0,X))),ue=M.line,ie=M.lineStart,ge=M.position,ee(M,X,y,!1,!0),Se=M.tag,ve=M.result,G(M,!0,X),Ee=M.input.charCodeAt(M.position),(xe||M.line===ue)&&Ee===58&&(se=!0,Ee=M.input.charCodeAt(++M.position),G(M,!0,X),ee(M,X,y,!1,!0),Ie=M.result),_?H(M,Me,oe,Se,ve,Ie,ue,ie,ge):se?Me.push(H(M,null,oe,Se,ve,Ie,ue,ie,ge)):Me.push(ve),G(M,!0,X),Ee=M.input.charCodeAt(M.position),Ee===44?(ae=!0,Ee=M.input.charCodeAt(++M.position)):ae=!1}R(M,"unexpected end of the stream within a flow collection")}function Le(M,X){var ae,ue,ie=p,ge=!1,Ce=!1,Me=X,De=0,ke=!1,pe,se;if(se=M.input.charCodeAt(M.position),se===124)ue=!1;else if(se===62)ue=!0;else return!1;for(M.kind="scalar",M.result="";se!==0;)if(se=M.input.charCodeAt(++M.position),se===43||se===45)p===ie?ie=se===43?l:i:R(M,"repeat of a chomping mode identifier");else if((pe=B(se))>=0)pe===0?R(M,"bad explicit indentation width of a block scalar; it cannot be less than one"):Ce?R(M,"repeat of an indentation width identifier"):(Me=X+pe-1,Ce=!0);else break;if(g(se)){do se=M.input.charCodeAt(++M.position);while(g(se));if(se===35)do se=M.input.charCodeAt(++M.position);while(!b(se)&&se!==0)}for(;se!==0;){for($(M),M.lineIndent=0,se=M.input.charCodeAt(M.position);(!Ce||M.lineIndentMe&&(Me=M.lineIndent),b(se)){De++;continue}if(M.lineIndentX)&&De!==0)R(M,"bad indentation of a sequence entry");else if(M.lineIndentX)&&(Se&&(Ce=M.line,Me=M.lineStart,De=M.position),ee(M,X,S,!0,ie)&&(Se?oe=M.result:ve=M.result),Se||(H(M,se,xe,_,oe,ve,Ce,Me,De),_=oe=ve=null),G(M,!0,-1),Ee=M.input.charCodeAt(M.position)),(M.line===ge||M.lineIndent>X)&&Ee!==0)R(M,"bad indentation of a mapping entry");else if(M.lineIndentX?De=1:M.lineIndent===X?De=0:M.lineIndentX?De=1:M.lineIndent===X?De=0:M.lineIndent tag; it should be "scalar", not "'+M.kind+'"'),se=0,xe=M.implicitTypes.length;se"),M.result!==null&&oe.kind!==M.kind&&R(M,"unacceptable node kind for !<"+M.tag+'> tag; it should be "'+oe.kind+'", not "'+M.kind+'"'),oe.resolve(M.result,M.tag)?(M.result=oe.construct(M.result,M.tag),M.anchor!==null&&(M.anchorMap[M.anchor]=M.result)):R(M,"cannot resolve a node with !<"+M.tag+"> explicit tag")}return M.listener!==null&&M.listener("close",M),M.tag!==null||M.anchor!==null||pe}function le(M){var X=M.position,ae,ue,ie,ge=!1,Ce;for(M.version=null,M.checkLineBreaks=M.legacy,M.tagMap=Object.create(null),M.anchorMap=Object.create(null);(Ce=M.input.charCodeAt(M.position))!==0&&(G(M,!0,-1),Ce=M.input.charCodeAt(M.position),!(M.lineIndent>0||Ce!==37));){for(ge=!0,Ce=M.input.charCodeAt(++M.position),ae=M.position;Ce!==0&&!h(Ce);)Ce=M.input.charCodeAt(++M.position);for(ue=M.input.slice(ae,M.position),ie=[],ue.length<1&&R(M,"directive name must not be less than one character in length");Ce!==0;){for(;g(Ce);)Ce=M.input.charCodeAt(++M.position);if(Ce===35){do Ce=M.input.charCodeAt(++M.position);while(Ce!==0&&!b(Ce));break}if(b(Ce))break;for(ae=M.position;Ce!==0&&!h(Ce);)Ce=M.input.charCodeAt(++M.position);ie.push(M.input.slice(ae,M.position))}Ce!==0&&$(M),d.call(j,ue)?j[ue](M,ue,ie):F(M,'unknown document directive "'+ue+'"')}if(G(M,!0,-1),M.lineIndent===0&&M.input.charCodeAt(M.position)===45&&M.input.charCodeAt(M.position+1)===45&&M.input.charCodeAt(M.position+2)===45?(M.position+=3,G(M,!0,-1)):ge&&R(M,"directives end mark is expected"),ee(M,M.lineIndent-1,S,!1,!0),G(M,!0,-1),M.checkLineBreaks&&u.test(M.input.slice(X,M.position))&&F(M,"non-ASCII line breaks are interpreted as content"),M.documents.push(M.result),M.position===M.lineStart&&ne(M)){M.input.charCodeAt(M.position)===46&&(M.position+=3,G(M,!0,-1));return}if(M.positionl&&(p=" ... ",y=k-l+p.length),V-k>l&&(i=" ...",V=k+l-i.length),{str:p+d.slice(y,V).replace(/\t/g,"\u2192")+i,pos:k-y+p.length}}function t(d,y){return e.repeat(" ",y-d.length)+d}function o(d,y){if(y=Object.create(y||null),!d.buffer)return null;y.maxLength||(y.maxLength=79),typeof y.indent!="number"&&(y.indent=1),typeof y.linesBefore!="number"&&(y.linesBefore=3),typeof y.linesAfter!="number"&&(y.linesAfter=2);for(var V=/\r?\n|\r|\0/g,k=[0],S=[],p,i=-1;p=V.exec(d.buffer);)S.push(p.index),k.push(p.index+p[0].length),d.position<=p.index&&i<0&&(i=k.length-2);i<0&&(i=k.length-1);var l="",f,u,s=Math.min(d.line+y.linesAfter,S.length).toString().length,m=y.maxLength-(y.indent+s+3);for(f=1;f<=y.linesBefore&&!(i-f<0);f++)u=a(d.buffer,k[i-f],S[i-f],d.position-(k[i]-k[i-f]),m),l=e.repeat(" ",y.indent)+t((d.line-f+1).toString(),s)+" | "+u.str+"\n"+l;for(u=a(d.buffer,k[i],S[i],d.position,m),l+=e.repeat(" ",y.indent)+t((d.line+1).toString(),s)+" | "+u.str+"\n",l+=e.repeat("-",y.indent+s+3+u.pos)+"^\n",f=1;f<=y.linesAfter&&!(i+f>=S.length);f++)u=a(d.buffer,k[i+f],S[i+f],d.position-(k[i]-k[i+f]),m),l+=e.repeat(" ",y.indent)+t((d.line+f+1).toString(),s)+" | "+u.str+"\n";return l.replace(/\n$/,"")}I.exports=o},92276:function(I,r,n){"use strict";var e=n(53127),a=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],t=["scalar","sequence","mapping"];function o(y){var V={};return y!==null&&Object.keys(y).forEach(function(k){y[k].forEach(function(S){V[String(S)]=k})}),V}function d(y,V){if(V=V||{},Object.keys(V).forEach(function(k){if(a.indexOf(k)===-1)throw new e('Unknown option "'+k+'" is met in definition of "'+y+'" YAML type.')}),this.options=V,this.tag=y,this.kind=V.kind||null,this.resolve=V.resolve||function(){return!0},this.construct=V.construct||function(k){return k},this.instanceOf=V.instanceOf||null,this.predicate=V.predicate||null,this.represent=V.represent||null,this.representName=V.representName||null,this.defaultStyle=V.defaultStyle||null,this.multi=V.multi||!1,this.styleAliases=o(V.styleAliases||null),t.indexOf(this.kind)===-1)throw new e('Unknown kind "'+this.kind+'" is specified for "'+y+'" YAML type.')}I.exports=d},92806:function(I,r,n){"use strict";var e=n(92276),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function t(V){if(V===null)return!1;var k,S,p=0,i=V.length,l=a;for(S=0;S64)){if(k<0)return!1;p+=6}return p%8===0}function o(V){var k,S,p=V.replace(/[\r\n=]/g,""),i=p.length,l=a,f=0,u=[];for(k=0;k>16&255),u.push(f>>8&255),u.push(f&255)),f=f<<6|l.indexOf(p.charAt(k));return S=i%4*6,S===0?(u.push(f>>16&255),u.push(f>>8&255),u.push(f&255)):S===18?(u.push(f>>10&255),u.push(f>>2&255)):S===12&&u.push(f>>4&255),new Uint8Array(u)}function d(V){var k="",S=0,p,i,l=V.length,f=a;for(p=0;p>18&63],k+=f[S>>12&63],k+=f[S>>6&63],k+=f[S&63]),S=(S<<8)+V[p];return i=l%3,i===0?(k+=f[S>>18&63],k+=f[S>>12&63],k+=f[S>>6&63],k+=f[S&63]):i===2?(k+=f[S>>10&63],k+=f[S>>4&63],k+=f[S<<2&63],k+=f[64]):i===1&&(k+=f[S>>2&63],k+=f[S<<4&63],k+=f[64],k+=f[64]),k}function y(V){return Object.prototype.toString.call(V)==="[object Uint8Array]"}I.exports=new e("tag:yaml.org,2002:binary",{kind:"scalar",resolve:t,construct:o,predicate:y,represent:d})},34015:function(I,r,n){"use strict";var e=n(92276);function a(d){if(d===null)return!1;var y=d.length;return y===4&&(d==="true"||d==="True"||d==="TRUE")||y===5&&(d==="false"||d==="False"||d==="FALSE")}function t(d){return d==="true"||d==="True"||d==="TRUE"}function o(d){return Object.prototype.toString.call(d)==="[object Boolean]"}I.exports=new e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:a,construct:t,predicate:o,represent:{lowercase:function(){function d(y){return y?"true":"false"}return d}(),uppercase:function(){function d(y){return y?"TRUE":"FALSE"}return d}(),camelcase:function(){function d(y){return y?"True":"False"}return d}()},defaultStyle:"lowercase"})},14589:function(I,r,n){"use strict";var e=n(11017),a=n(92276),t=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function o(S){return!(S===null||!t.test(S)||S[S.length-1]==="_")}function d(S){var p,i;return p=S.replace(/_/g,"").toLowerCase(),i=p[0]==="-"?-1:1,"+-".indexOf(p[0])>=0&&(p=p.slice(1)),p===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:p===".nan"?NaN:i*parseFloat(p,10)}var y=/^[-+]?[0-9]+e/;function V(S,p){var i;if(isNaN(S))switch(p){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===S)switch(p){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===S)switch(p){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(e.isNegativeZero(S))return"-0.0";return i=S.toString(10),y.test(i)?i.replace("e",".e"):i}function k(S){return Object.prototype.toString.call(S)==="[object Number]"&&(S%1!==0||e.isNegativeZero(S))}I.exports=new a("tag:yaml.org,2002:float",{kind:"scalar",resolve:o,construct:d,predicate:k,represent:V,defaultStyle:"lowercase"})},72826:function(I,r,n){"use strict";var e=n(11017),a=n(92276);function t(S){return 48<=S&&S<=57||65<=S&&S<=70||97<=S&&S<=102}function o(S){return 48<=S&&S<=55}function d(S){return 48<=S&&S<=57}function y(S){if(S===null)return!1;var p=S.length,i=0,l=!1,f;if(!p)return!1;if(f=S[i],(f==="-"||f==="+")&&(f=S[++i]),f==="0"){if(i+1===p)return!0;if(f=S[++i],f==="b"){for(i++;i=0?"0b"+p.toString(2):"-0b"+p.toString(2).slice(1)}return S}(),octal:function(){function S(p){return p>=0?"0o"+p.toString(8):"-0o"+p.toString(8).slice(1)}return S}(),decimal:function(){function S(p){return p.toString(10)}return S}(),hexadecimal:function(){function S(p){return p>=0?"0x"+p.toString(16).toUpperCase():"-0x"+p.toString(16).toUpperCase().slice(1)}return S}()},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},89769:function(I,r,n){"use strict";var e=n(92276);I.exports=new e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(){function a(t){return t!==null?t:{}}return a}()})},36947:function(I,r,n){"use strict";var e=n(92276);function a(t){return t==="<<"||t===null}I.exports=new e("tag:yaml.org,2002:merge",{kind:"scalar",resolve:a})},30534:function(I,r,n){"use strict";var e=n(92276);function a(d){if(d===null)return!0;var y=d.length;return y===1&&d==="~"||y===4&&(d==="null"||d==="Null"||d==="NULL")}function t(){return null}function o(d){return d===null}I.exports=new e("tag:yaml.org,2002:null",{kind:"scalar",resolve:a,construct:t,predicate:o,represent:{canonical:function(){function d(){return"~"}return d}(),lowercase:function(){function d(){return"null"}return d}(),uppercase:function(){function d(){return"NULL"}return d}(),camelcase:function(){function d(){return"Null"}return d}(),empty:function(){function d(){return""}return d}()},defaultStyle:"lowercase"})},14250:function(I,r,n){"use strict";var e=n(92276),a=Object.prototype.hasOwnProperty,t=Object.prototype.toString;function o(y){if(y===null)return!0;var V=[],k,S,p,i,l,f=y;for(k=0,S=f.length;k=0;--z){var H=this.tryEntries[z],$=H.completion;if(H.tryLoc==="root")return W("end");if(H.tryLoc<=this.prev){var G=a.call(H,"catchLoc"),ne=a.call(H,"finallyLoc");if(G&&ne){if(this.prev=0;--W){var z=this.tryEntries[W];if(z.tryLoc<=this.prev&&a.call(z,"finallyLoc")&&this.prev=0;--j){var W=this.tryEntries[j];if(W.finallyLoc===F)return this.complete(W.completion,W.afterLoc),T(W),m}}return R}(),catch:function(){function R(F){for(var j=this.tryEntries.length-1;j>=0;--j){var W=this.tryEntries[j];if(W.tryLoc===F){var z=W.completion;if(z.type==="throw"){var H=z.arg;T(W)}return H}}throw new Error("illegal catch attempt")}return R}(),delegateYield:function(){function R(F,j,W){return this.delegate={iterator:O(F),resultName:j,nextLoc:W},this.method==="next"&&(this.arg=o),m}return R}()},n}(I.exports);try{regeneratorRuntime=r}catch(n){typeof globalThis=="object"?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},30236:function(){"use strict";self.fetch||(self.fetch=function(I,r){return r=r||{},new Promise(function(n,e){var a=new XMLHttpRequest,t=[],o={},d=function(){function V(){return{ok:(a.status/100|0)==2,statusText:a.statusText,status:a.status,url:a.responseURL,text:function(){function k(){return Promise.resolve(a.responseText)}return k}(),json:function(){function k(){return Promise.resolve(a.responseText).then(JSON.parse)}return k}(),blob:function(){function k(){return Promise.resolve(new Blob([a.response]))}return k}(),clone:V,headers:{keys:function(){function k(){return t}return k}(),entries:function(){function k(){return t.map(function(S){return[S,a.getResponseHeader(S)]})}return k}(),get:function(){function k(S){return a.getResponseHeader(S)}return k}(),has:function(){function k(S){return a.getResponseHeader(S)!=null}return k}()}}}return V}();for(var y in a.open(r.method||"get",I,!0),a.onload=function(){a.getAllResponseHeaders().toLowerCase().replace(/^(.+?):/gm,function(V,k){o[k]||t.push(o[k]=k)}),n(d())},a.onerror=e,a.withCredentials=r.credentials=="include",r.headers)a.setRequestHeader(y,r.headers[y]);a.send(r.body||null)})})},88510:function(I,r){"use strict";r.__esModule=!0,r.zipWith=r.zip=r.uniqBy=r.uniq=r.toKeyedArray=r.toArray=r.sortBy=r.sort=r.reduce=r.range=r.map=r.filterMap=r.filter=void 0;function n(c,v){var b=typeof Symbol!="undefined"&&c[Symbol.iterator]||c["@@iterator"];if(b)return(b=b.call(c)).next.bind(b);if(Array.isArray(c)||(b=e(c))||v&&c&&typeof c.length=="number"){b&&(c=b);var g=0;return function(){return g>=c.length?{done:!0}:{done:!1,value:c[g++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(c,v){if(c){if(typeof c=="string")return a(c,v);var b={}.toString.call(c).slice(8,-1);return b==="Object"&&c.constructor&&(b=c.constructor.name),b==="Map"||b==="Set"?Array.from(c):b==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b)?a(c,v):void 0}}function a(c,v){(v==null||v>c.length)&&(v=c.length);for(var b=0,g=Array(v);bB)return 1}return 0},S=r.sortBy=function(){function l(){for(var v=arguments.length,b=new Array(v),g=0;gB)return 1}return 0},S=r.sortBy=function(){function c(){for(var v=arguments.length,b=new Array(v),g=0;g1?y-1:0),k=1;k1?y-1:0),k=1;k1?k-1:0),p=1;p1?S-1:0),i=1;i1?k-1:0),p=1;p1?S-1:0),i=1;i=10&&y<=20)return s;var V=y%10;return V===1?t:V>=2&&V<=4?o:s}return e}()},44879:function(I,r){"use strict";r.__esModule=!0,r.toFixed=r.scale=r.round=r.rad2deg=r.keyOfMatchingRange=r.inRange=r.clamp01=r.clamp=void 0;/** + */var n=r.KEY_BACKSPACE=8,e=r.KEY_TAB=9,a=r.KEY_ENTER=13,t=r.KEY_SHIFT=16,o=r.KEY_CTRL=17,d=r.KEY_ALT=18,y=r.KEY_PAUSE=19,V=r.KEY_CAPSLOCK=20,k=r.KEY_ESCAPE=27,S=r.KEY_SPACE=32,p=r.KEY_PAGEUP=33,i=r.KEY_PAGEDOWN=34,l=r.KEY_END=35,f=r.KEY_HOME=36,u=r.KEY_LEFT=37,s=r.KEY_UP=38,m=r.KEY_RIGHT=39,c=r.KEY_DOWN=40,v=r.KEY_INSERT=45,b=r.KEY_DELETE=46,g=r.KEY_0=48,h=r.KEY_1=49,C=r.KEY_2=50,N=r.KEY_3=51,x=r.KEY_4=52,B=r.KEY_5=53,L=r.KEY_6=54,w=r.KEY_7=55,A=r.KEY_8=56,T=r.KEY_9=57,E=r.KEY_A=65,O=r.KEY_B=66,P=r.KEY_C=67,R=r.KEY_D=68,F=r.KEY_E=69,j=r.KEY_F=70,W=r.KEY_G=71,z=r.KEY_H=72,H=r.KEY_I=73,$=r.KEY_J=74,G=r.KEY_K=75,ne=r.KEY_L=76,Q=r.KEY_M=77,he=r.KEY_N=78,Ve=r.KEY_O=79,Ne=r.KEY_P=80,Be=r.KEY_Q=81,Le=r.KEY_R=82,Ae=r.KEY_S=83,fe=r.KEY_T=84,Z=r.KEY_U=85,J=r.KEY_V=86,te=r.KEY_W=87,ee=r.KEY_X=88,le=r.KEY_Y=89,ye=r.KEY_Z=90,me=r.KEY_NUMPAD_0=96,Te=r.KEY_NUMPAD_1=97,M=r.KEY_NUMPAD_2=98,X=r.KEY_NUMPAD_3=99,ae=r.KEY_NUMPAD_4=100,ue=r.KEY_NUMPAD_5=101,ie=r.KEY_NUMPAD_6=102,ge=r.KEY_NUMPAD_7=103,Ce=r.KEY_NUMPAD_8=104,Me=r.KEY_NUMPAD_9=105,De=r.KEY_F1=112,ke=r.KEY_F2=113,pe=r.KEY_F3=114,se=r.KEY_F4=115,xe=r.KEY_F5=116,_=r.KEY_F6=117,oe=r.KEY_F7=118,ve=r.KEY_F8=119,Se=r.KEY_F9=120,Ie=r.KEY_F10=121,Ee=r.KEY_F11=122,Pe=r.KEY_F12=123,Oe=r.KEY_SEMICOLON=186,We=r.KEY_EQUAL=187,He=r.KEY_COMMA=188,Ge=r.KEY_MINUS=189,Qe=r.KEY_PERIOD=190,$e=r.KEY_SLASH=191,ut=r.KEY_LEFT_BRACKET=219,qe=r.KEY_BACKSLASH=220,lt=r.KEY_RIGHT_BRACKET=221,Lt=r.KEY_QUOTE=222},70611:function(I,r){"use strict";r.__esModule=!0,r.KEY=void 0;var n=r.KEY=function(e){return e.Alt="Alt",e.Backspace="Backspace",e.Control="Control",e.Delete="Delete",e.Down="Down",e.End="End",e.Enter="Enter",e.Escape="Esc",e.Home="Home",e.Insert="Insert",e.Left="Left",e.PageDown="PageDown",e.PageUp="PageUp",e.Right="Right",e.Shift="Shift",e.Space=" ",e.Tab="Tab",e.Up="Up",e}({})},41260:function(I,r){"use strict";r.__esModule=!0,r.declensionRu=void 0;var n=r.declensionRu=function(){function e(a,t,o,d){var y=a%100;if(y>=10&&y<=20)return d;var V=y%10;return V===1?t:V>=2&&V<=4?o:d}return e}()},44879:function(I,r){"use strict";r.__esModule=!0,r.toFixed=r.scale=r.round=r.rad2deg=r.keyOfMatchingRange=r.inRange=r.clamp01=r.clamp=void 0;/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var n=r.clamp=function(){function k(S,p,i){return Si?i:S}return k}(),e=r.clamp01=function(){function k(S){return S<0?0:S>1?1:S}return k}(),a=r.scale=function(){function k(S,p,i){return(S-p)/(i-p)}return k}(),t=r.round=function(){function k(S,p){if(!S||isNaN(S))return S;var i,c,m,u;return p|=0,i=Math.pow(10,p),S*=i,u=+(S>0)|-(S<0),m=Math.abs(S%1)>=.4999999999854481,c=Math.floor(S),m&&(S=c+(u>0)),(m?S:Math.round(S))/i}return k}(),o=r.toFixed=function(){function k(S,p){return p===void 0&&(p=0),Number(S).toFixed(Math.max(p,0))}return k}(),s=r.inRange=function(){function k(S,p){return p&&S>=p[0]&&S<=p[1]}return k}(),y=r.keyOfMatchingRange=function(){function k(S,p){for(var i=0,c=Object.keys(p);ii?i:S}return k}(),e=r.clamp01=function(){function k(S){return S<0?0:S>1?1:S}return k}(),a=r.scale=function(){function k(S,p,i){return(S-p)/(i-p)}return k}(),t=r.round=function(){function k(S,p){if(!S||isNaN(S))return S;var i,l,f,u;return p|=0,i=Math.pow(10,p),S*=i,u=+(S>0)|-(S<0),f=Math.abs(S%1)>=.4999999999854481,l=Math.floor(S),f&&(S=l+(u>0)),(f?S:Math.round(S))/i}return k}(),o=r.toFixed=function(){function k(S,p){return p===void 0&&(p=0),Number(S).toFixed(Math.max(p,0))}return k}(),d=r.inRange=function(){function k(S,p){return p&&S>=p[0]&&S<=p[1]}return k}(),y=r.keyOfMatchingRange=function(){function k(S,p){for(var i=0,l=Object.keys(p);i1?u-1:0),f=1;f1?N-1:0),B=1;B=0;--ye){var me=this.tryEntries[ye],Te=me.completion;if(me.tryLoc==="root")return le("end");if(me.tryLoc<=this.prev){var M=C.call(me,"catchLoc"),X=C.call(me,"finallyLoc");if(M&&X){if(this.prev=0;--le){var ye=this.tryEntries[le];if(ye.tryLoc<=this.prev&&C.call(ye,"finallyLoc")&&this.prev=0;--ee){var le=this.tryEntries[ee];if(le.finallyLoc===te)return this.complete(le.completion,le.afterLoc),Ae(le),j}}return J}(),catch:function(){function J(te){for(var ee=this.tryEntries.length-1;ee>=0;--ee){var le=this.tryEntries[ee];if(le.tryLoc===te){var ye=le.completion;if(ye.type==="throw"){var me=ye.arg;Ae(le)}return me}}throw Error("illegal catch attempt")}return J}(),delegateYield:function(){function J(te,ee,le){return this.delegate={iterator:Z(te),resultName:ee,nextLoc:le},this.method==="next"&&(this.arg=b),j}return J}()},g}function e(b,g,h,C,N,x,B){try{var L=b[x](B),w=L.value}catch(A){return void h(A)}L.done?g(w):Promise.resolve(w).then(C,N)}function a(b){return function(){var g=this,h=arguments;return new Promise(function(C,N){var x=b.apply(g,h);function B(w){e(x,C,N,B,L,"next",w)}function L(w){e(x,C,N,B,L,"throw",w)}B(void 0)})}}/** + */var a=r.createStore=function(){function k(S,p){if(p)return p(a)(S);var i,l=[],f=function(){function m(){return i}return m}(),u=function(){function m(c){l.push(c)}return m}(),s=function(){function m(c){i=S(i,c);for(var v=0;v1?u-1:0),m=1;m1?N-1:0),B=1;B=0;--ye){var me=this.tryEntries[ye],Te=me.completion;if(me.tryLoc==="root")return le("end");if(me.tryLoc<=this.prev){var M=C.call(me,"catchLoc"),X=C.call(me,"finallyLoc");if(M&&X){if(this.prev=0;--le){var ye=this.tryEntries[le];if(ye.tryLoc<=this.prev&&C.call(ye,"finallyLoc")&&this.prev=0;--ee){var le=this.tryEntries[ee];if(le.finallyLoc===te)return this.complete(le.completion,le.afterLoc),Ae(le),j}}return J}(),catch:function(){function J(te){for(var ee=this.tryEntries.length-1;ee>=0;--ee){var le=this.tryEntries[ee];if(le.tryLoc===te){var ye=le.completion;if(ye.type==="throw"){var me=ye.arg;Ae(le)}return me}}throw Error("illegal catch attempt")}return J}(),delegateYield:function(){function J(te,ee,le){return this.delegate={iterator:Z(te),resultName:ee,nextLoc:le},this.method==="next"&&(this.arg=b),j}return J}()},g}function e(b,g,h,C,N,x,B){try{var L=b[x](B),w=L.value}catch(A){return void h(A)}L.done?g(w):Promise.resolve(w).then(C,N)}function a(b){return function(){var g=this,h=arguments;return new Promise(function(C,N){var x=b.apply(g,h);function B(w){e(x,C,N,B,L,"next",w)}function L(w){e(x,C,N,B,L,"throw",w)}B(void 0)})}}/** * Browser-agnostic abstraction of key-value web storage. * * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var t=r.IMPL_MEMORY=0,o=r.IMPL_HUB_STORAGE=1,s=r.IMPL_INDEXED_DB=2,y=1,V="para-tgui",k="storage-v1",S="readonly",p="readwrite",i=function(g){return function(){try{return!!g()}catch(h){return!1}}},c=i(function(){return window.hubStorage&&window.hubStorage.getItem}),m=i(function(){return(window.indexedDB||window.msIndexedDB)&&(window.IDBTransaction||window.msIDBTransaction)}),u=function(){function b(){this.impl=t,this.store={}}var g=b.prototype;return g.get=function(){var h=a(n().mark(function(){function N(x){return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:return L.abrupt("return",this.store[x]);case 1:case"end":return L.stop()}}return B}(),N,this)}return N}()));function C(N){return h.apply(this,arguments)}return C}(),g.set=function(){var h=a(n().mark(function(){function N(x,B){return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:this.store[x]=B;case 1:case"end":return w.stop()}}return L}(),N,this)}return N}()));function C(N,x){return h.apply(this,arguments)}return C}(),g.remove=function(){var h=a(n().mark(function(){function N(x){return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:this.store[x]=void 0;case 1:case"end":return L.stop()}}return B}(),N,this)}return N}()));function C(N){return h.apply(this,arguments)}return C}(),g.clear=function(){var h=a(n().mark(function(){function N(){return n().wrap(function(){function x(B){for(;;)switch(B.prev=B.next){case 0:this.store={};case 1:case"end":return B.stop()}}return x}(),N,this)}return N}()));function C(){return h.apply(this,arguments)}return C}(),b}(),d=function(){function b(){this.impl=o}var g=b.prototype;return g.get=function(){var h=a(n().mark(function(){function N(x){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,window.hubStorage.getItem("paradise-"+x);case 2:if(B=w.sent,typeof B!="string"){w.next=5;break}return w.abrupt("return",JSON.parse(B));case 5:case"end":return w.stop()}}return L}(),N)}return N}()));function C(N){return h.apply(this,arguments)}return C}(),g.set=function(){var h=a(n().mark(function(){function N(x,B){return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:window.hubStorage.setItem("paradise-"+x,JSON.stringify(B));case 1:case"end":return w.stop()}}return L}(),N)}return N}()));function C(N,x){return h.apply(this,arguments)}return C}(),g.remove=function(){var h=a(n().mark(function(){function N(x){return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:window.hubStorage.removeItem("paradise-"+x);case 1:case"end":return L.stop()}}return B}(),N)}return N}()));function C(N){return h.apply(this,arguments)}return C}(),g.clear=function(){var h=a(n().mark(function(){function N(){return n().wrap(function(){function x(B){for(;;)switch(B.prev=B.next){case 0:window.hubStorage.clear();case 1:case"end":return B.stop()}}return x}(),N)}return N}()));function C(){return h.apply(this,arguments)}return C}(),b}(),f=function(){function b(){this.impl=s,this.dbPromise=new Promise(function(h,C){var N=window.indexedDB||window.msIndexedDB,x=N.open(V,y);x.onupgradeneeded=function(){try{x.result.createObjectStore(k)}catch(B){C(new Error("Failed to upgrade IDB: "+x.error))}},x.onsuccess=function(){return h(x.result)},x.onerror=function(){C(new Error("Failed to open IDB: "+x.error))}})}var g=b.prototype;return g.getStore=function(){var h=a(n().mark(function(){function N(x){return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:return L.abrupt("return",this.dbPromise.then(function(w){return w.transaction(k,x).objectStore(k)}));case 1:case"end":return L.stop()}}return B}(),N,this)}return N}()));function C(N){return h.apply(this,arguments)}return C}(),g.get=function(){var h=a(n().mark(function(){function N(x){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.getStore(S);case 2:return B=w.sent,w.abrupt("return",new Promise(function(A,T){var E=B.get(x);E.onsuccess=function(){return A(E.result)},E.onerror=function(){return T(E.error)}}));case 4:case"end":return w.stop()}}return L}(),N,this)}return N}()));function C(N){return h.apply(this,arguments)}return C}(),g.set=function(){var h=a(n().mark(function(){function N(x,B){var L;return n().wrap(function(){function w(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this.getStore(p);case 2:L=A.sent,L.put(B,x);case 4:case"end":return A.stop()}}return w}(),N,this)}return N}()));function C(N,x){return h.apply(this,arguments)}return C}(),g.remove=function(){var h=a(n().mark(function(){function N(x){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.getStore(p);case 2:B=w.sent,B.delete(x);case 4:case"end":return w.stop()}}return L}(),N,this)}return N}()));function C(N){return h.apply(this,arguments)}return C}(),g.clear=function(){var h=a(n().mark(function(){function N(){var x;return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:return L.next=2,this.getStore(p);case 2:x=L.sent,x.clear();case 4:case"end":return L.stop()}}return B}(),N,this)}return N}()));function C(){return h.apply(this,arguments)}return C}(),b}(),l=function(){function b(){this.backendPromise=a(n().mark(function(){function h(){var C;return n().wrap(function(){function N(x){for(;;)switch(x.prev=x.next){case 0:if(!(!Byond.TRIDENT&&c())){x.next=2;break}return x.abrupt("return",new d);case 2:if(!m()){x.next=12;break}return x.prev=3,C=new f,x.next=7,C.dbPromise;case 7:return x.abrupt("return",C);case 10:x.prev=10,x.t0=x.catch(3);case 12:return x.abrupt("return",new u);case 13:case"end":return x.stop()}}return N}(),h,null,[[3,10]])}return h}()))()}var g=b.prototype;return g.get=function(){var h=a(n().mark(function(){function N(x){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.backendPromise;case 2:return B=w.sent,w.abrupt("return",B.get(x));case 4:case"end":return w.stop()}}return L}(),N,this)}return N}()));function C(N){return h.apply(this,arguments)}return C}(),g.set=function(){var h=a(n().mark(function(){function N(x,B){var L;return n().wrap(function(){function w(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this.backendPromise;case 2:return L=A.sent,A.abrupt("return",L.set(x,B));case 4:case"end":return A.stop()}}return w}(),N,this)}return N}()));function C(N,x){return h.apply(this,arguments)}return C}(),g.remove=function(){var h=a(n().mark(function(){function N(x){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.backendPromise;case 2:return B=w.sent,w.abrupt("return",B.remove(x));case 4:case"end":return w.stop()}}return L}(),N,this)}return N}()));function C(N){return h.apply(this,arguments)}return C}(),g.clear=function(){var h=a(n().mark(function(){function N(){var x;return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:return L.next=2,this.backendPromise;case 2:return x=L.sent,L.abrupt("return",x.clear());case 4:case"end":return L.stop()}}return B}(),N,this)}return N}()));function C(){return h.apply(this,arguments)}return C}(),b}(),v=r.storage=new l},25328:function(I,r){"use strict";r.__esModule=!0,r.toTitleCase=r.multiline=r.decodeHtmlEntities=r.createSearch=r.createGlobPattern=r.capitalize=r.buildQueryString=void 0;function n(p,i){var c=typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(c)return(c=c.call(p)).next.bind(c);if(Array.isArray(p)||(c=e(p))||i&&p&&typeof p.length=="number"){c&&(p=c);var m=0;return function(){return m>=p.length?{done:!0}:{done:!1,value:p[m++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(p,i){if(p){if(typeof p=="string")return a(p,i);var c={}.toString.call(p).slice(8,-1);return c==="Object"&&p.constructor&&(c=p.constructor.name),c==="Map"||c==="Set"?Array.from(p):c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?a(p,i):void 0}}function a(p,i){(i==null||i>p.length)&&(i=p.length);for(var c=0,m=Array(i);c=p.length?{done:!0}:{done:!1,value:p[f++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(p,i){if(p){if(typeof p=="string")return a(p,i);var l={}.toString.call(p).slice(8,-1);return l==="Object"&&p.constructor&&(l=p.constructor.name),l==="Map"||l==="Set"?Array.from(p):l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?a(p,i):void 0}}function a(p,i){(i==null||i>p.length)&&(i=p.length);for(var l=0,f=Array(i);l",apos:"'"};return i.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(c,function(u,d){return m[d]}).replace(/&#?([0-9]+);/gi,function(u,d){var f=parseInt(d,10);return String.fromCharCode(f)}).replace(/&#x?([0-9a-f]+);/gi,function(u,d){var f=parseInt(d,16);return String.fromCharCode(f)})}return p}(),S=r.buildQueryString=function(){function p(i){return Object.keys(i).map(function(c){return encodeURIComponent(c)+"="+encodeURIComponent(i[c])}).join("&")}return p}()},69214:function(I,r){"use strict";r.__esModule=!0,r.throttle=r.sleep=r.debounce=void 0;/** + */var t=r.multiline=function(){function p(i){if(Array.isArray(i))return t(i.join(""));for(var l=i.split("\n"),f,u=n(l),s;!(s=u()).done;)for(var m=s.value,c=0;c",apos:"'"};return i.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(l,function(u,s){return f[s]}).replace(/&#?([0-9]+);/gi,function(u,s){var m=parseInt(s,10);return String.fromCharCode(m)}).replace(/&#x?([0-9a-f]+);/gi,function(u,s){var m=parseInt(s,16);return String.fromCharCode(m)})}return p}(),S=r.buildQueryString=function(){function p(i){return Object.keys(i).map(function(l){return encodeURIComponent(l)+"="+encodeURIComponent(i[l])}).join("&")}return p}()},69214:function(I,r){"use strict";r.__esModule=!0,r.throttle=r.sleep=r.debounce=void 0;/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var n=r.debounce=function(){function t(o,s,y){y===void 0&&(y=!1);var V;return function(){for(var k=arguments.length,S=new Array(k),p=0;p=s)o.apply(null,p),y=c;else{var m;V=setTimeout(function(){return k.apply(void 0,p)},s-(c-((m=y)!=null?m:0)))}}return k}()}return t}()},97450:function(I,r,n){"use strict";r.__esModule=!0,r.vecSubtract=r.vecScale=r.vecNormalize=r.vecMultiply=r.vecLength=r.vecInverse=r.vecDivide=r.vecAdd=void 0;var e=n(88510);/** + */var n=r.debounce=function(){function t(o,d,y){y===void 0&&(y=!1);var V;return function(){for(var k=arguments.length,S=new Array(k),p=0;p=d)o.apply(null,p),y=l;else{var f;V=setTimeout(function(){return k.apply(void 0,p)},d-(l-((f=y)!=null?f:0)))}}return k}()}return t}()},97450:function(I,r,n){"use strict";r.__esModule=!0,r.vecSubtract=r.vecScale=r.vecNormalize=r.vecMultiply=r.vecLength=r.vecInverse=r.vecDivide=r.vecAdd=void 0;var e=n(88510);/** * N-dimensional vector manipulation functions. * * Vectors are plain number arrays, i.e. [x, y, z]. @@ -58,11 +58,11 @@ * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var a=function(d,f){return d+f},t=function(d,f){return d-f},o=function(d,f){return d*f},s=function(d,f){return d/f},y=r.vecAdd=function(){function u(){for(var d=arguments.length,f=new Array(d),l=0;l0&&(C.style=T),C}return g}(),v=r.computeBoxClassName=function(){function g(h){var C=h.textColor||h.color,N=h.backgroundColor;return(0,e.classes)([p(C)&&"color-"+C,p(N)&&"color-bg-"+N])}return g}(),b=r.Box=function(){function g(h){var C=h.as,N=C===void 0?"div":C,x=h.className,B=h.children,L=y(h,s);if(typeof B=="function")return B(l(h));var w=typeof x=="string"?x+" "+v(L):v(L),A=l(L);return(0,a.createVNode)(t.VNodeFlags.HtmlElement,N,w,B,t.ChildFlags.UnknownChildren,A)}return g}();b.defaultHooks=e.pureComponentHooks},94798:function(I,r,n){"use strict";r.__esModule=!0,r.ButtonInput=r.ButtonConfirm=r.ButtonCheckbox=r.Button=void 0;var e=n(89005),a=n(35840),t=n(92986),o=n(9394),s=n(55937),y=n(1331),V=n(62147),k=["className","fluid","icon","iconRotation","iconSpin","color","textColor","disabled","selected","tooltip","tooltipPosition","ellipsis","compact","circular","content","iconColor","iconRight","iconStyle","children","onclick","onClick","multiLine"],S=["checked"],p=["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"],i=["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","color","disabled","placeholder","maxLength","multiLine"];/** + */function y(g,h){if(g==null)return{};var C={};for(var N in g)if({}.hasOwnProperty.call(g,N)){if(h.includes(N))continue;C[N]=g[N]}return C}var V=r.unit=function(){function g(h){if(typeof h=="string")return h.endsWith("px")?parseFloat(h)/12+"rem":h;if(typeof h=="number")return h+"rem"}return g}(),k=r.halfUnit=function(){function g(h){if(typeof h=="string")return V(h);if(typeof h=="number")return V(h*.5)}return g}(),S=function(h){return!p(h)},p=function(h){if(typeof h=="string")return o.CSS_COLORS.includes(h)},i=function(h){return function(C,N){(typeof N=="number"||typeof N=="string")&&(C[h]=N)}},l=function(h,C){return function(N,x){(typeof x=="number"||typeof x=="string")&&(N[h]=C(x))}},f=function(h,C){return function(N,x){x&&(N[h]=C)}},u=function(h,C,N){return function(x,B){if(typeof B=="number"||typeof B=="string")for(var L=0;L0&&(C.style=T),C}return g}(),v=r.computeBoxClassName=function(){function g(h){var C=h.textColor||h.color,N=h.backgroundColor;return(0,e.classes)([p(C)&&"color-"+C,p(N)&&"color-bg-"+N])}return g}(),b=r.Box=function(){function g(h){var C=h.as,N=C===void 0?"div":C,x=h.className,B=h.children,L=y(h,d);if(typeof B=="function")return B(c(h));var w=typeof x=="string"?x+" "+v(L):v(L),A=c(L);return(0,a.createVNode)(t.VNodeFlags.HtmlElement,N,w,B,t.ChildFlags.UnknownChildren,A)}return g}();b.defaultHooks=e.pureComponentHooks},94798:function(I,r,n){"use strict";r.__esModule=!0,r.ButtonInput=r.ButtonConfirm=r.ButtonCheckbox=r.Button=void 0;var e=n(89005),a=n(35840),t=n(92986),o=n(9394),d=n(55937),y=n(1331),V=n(62147),k=["className","fluid","icon","iconRotation","iconSpin","color","textColor","disabled","selected","tooltip","tooltipPosition","ellipsis","compact","circular","content","iconColor","iconRight","iconStyle","children","onclick","onClick","multiLine"],S=["checked"],p=["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"],i=["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","color","disabled","placeholder","maxLength","multiLine"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function c(g,h){g.prototype=Object.create(h.prototype),g.prototype.constructor=g,m(g,h)}function m(g,h){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(C,N){return C.__proto__=N,C},m(g,h)}function u(g,h){if(g==null)return{};var C={};for(var N in g)if({}.hasOwnProperty.call(g,N)){if(h.includes(N))continue;C[N]=g[N]}return C}var d=(0,o.createLogger)("Button"),f=r.Button=function(){function g(h){var C=h.className,N=h.fluid,x=h.icon,B=h.iconRotation,L=h.iconSpin,w=h.color,A=h.textColor,T=h.disabled,E=h.selected,O=h.tooltip,P=h.tooltipPosition,R=h.ellipsis,F=h.compact,j=h.circular,W=h.content,H=h.iconColor,z=h.iconRight,Y=h.iconStyle,G=h.children,ne=h.onclick,Q=h.onClick,he=h.multiLine,Ve=u(h,k),Ne=!!(W||G);ne&&d.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"),Ve.onClick=function(Le){!T&&Q&&Q(Le)};var Be=(0,e.normalizeProps)((0,e.createComponentVNode)(2,s.Box,Object.assign({className:(0,a.classes)(["Button",N&&"Button--fluid",T&&"Button--disabled",E&&"Button--selected",Ne&&"Button--hasContent",R&&"Button--ellipsis",j&&"Button--circular",F&&"Button--compact",z&&"Button--iconRight",he&&"Button--multiLine",w&&typeof w=="string"?"Button--color--"+w:"Button--color--default",C]),tabIndex:!T&&"0",color:A,onKeyDown:function(){function Le(Ae){var fe=window.event?Ae.which:Ae.keyCode;if(fe===t.KEY_SPACE||fe===t.KEY_ENTER){Ae.preventDefault(),!T&&Q&&Q(Ae);return}if(fe===t.KEY_ESCAPE){Ae.preventDefault();return}}return Le}()},Ve,{children:[x&&!z&&(0,e.createComponentVNode)(2,y.Icon,{name:x,color:H,rotation:B,spin:L,style:Y}),W,G,x&&z&&(0,e.createComponentVNode)(2,y.Icon,{name:x,color:H,rotation:B,spin:L,style:Y})]})));return O&&(Be=(0,e.createComponentVNode)(2,V.Tooltip,{content:O,position:P,children:Be})),Be}return g}();f.defaultHooks=a.pureComponentHooks;var l=r.ButtonCheckbox=function(){function g(h){var C=h.checked,N=u(h,S);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,f,Object.assign({color:"transparent",icon:C?"check-square-o":"square-o",selected:C},N)))}return g}();f.Checkbox=l;var v=r.ButtonConfirm=function(g){function h(){var N;return N=g.call(this)||this,N.state={clickedOnce:!1},N.handleClick=function(){N.state.clickedOnce&&N.setClickedOnce(!1)},N}c(h,g);var C=h.prototype;return C.setClickedOnce=function(){function N(x){var B=this;this.setState({clickedOnce:x}),x?setTimeout(function(){return window.addEventListener("click",B.handleClick)}):window.removeEventListener("click",this.handleClick)}return N}(),C.render=function(){function N(){var x=this,B=this.props,L=B.confirmContent,w=L===void 0?"Confirm?":L,A=B.confirmColor,T=A===void 0?"bad":A,E=B.confirmIcon,O=B.icon,P=B.color,R=B.content,F=B.onClick,j=u(B,p);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,f,Object.assign({content:this.state.clickedOnce?w:R,icon:this.state.clickedOnce?E:O,color:this.state.clickedOnce?T:P,onClick:function(){function W(){return x.state.clickedOnce?F():x.setClickedOnce(!0)}return W}()},j)))}return N}(),h}(e.Component);f.Confirm=v;var b=r.ButtonInput=function(g){function h(){var N;return N=g.call(this)||this,N.inputRef=(0,e.createRef)(),N.state={inInput:!1},N}c(h,g);var C=h.prototype;return C.setInInput=function(){function N(x){var B=this.props.disabled;if(!B&&(this.setState({inInput:x}),this.inputRef)){var L=this.inputRef.current;if(x){L.value=this.props.currentValue||"";try{L.focus(),L.select()}catch(w){}}}}return N}(),C.commitResult=function(){function N(x){if(this.inputRef){var B=this.inputRef.current,L=B.value!=="";if(L){this.props.onCommit(x,B.value);return}else{if(!this.props.defaultValue)return;this.props.onCommit(x,this.props.defaultValue)}}}return N}(),C.render=function(){function N(){var x=this,B=this.props,L=B.fluid,w=B.content,A=B.icon,T=B.iconRotation,E=B.iconSpin,O=B.tooltip,P=B.tooltipPosition,R=B.color,F=R===void 0?"default":R,j=B.disabled,W=B.placeholder,H=B.maxLength,z=B.multiLine,Y=u(B,i),G=(0,e.normalizeProps)((0,e.createComponentVNode)(2,s.Box,Object.assign({className:(0,a.classes)(["Button",L&&"Button--fluid",j&&"Button--disabled","Button--color--"+F,z+"Button--multiLine"])},Y,{onClick:function(){function ne(){return x.setInInput(!0)}return ne}(),children:[A&&(0,e.createComponentVNode)(2,y.Icon,{name:A,rotation:T,spin:E}),(0,e.createVNode)(1,"div",null,w,0),(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?void 0:"none","text-align":"left"},onBlur:function(){function ne(Q){x.state.inInput&&(x.setInInput(!1),x.commitResult(Q))}return ne}(),onKeyDown:function(){function ne(Q){if(Q.keyCode===t.KEY_ENTER){x.setInInput(!1),x.commitResult(Q);return}Q.keyCode===t.KEY_ESCAPE&&x.setInInput(!1)}return ne}()},null,this.inputRef)]})));return O&&(G=(0,e.createComponentVNode)(2,V.Tooltip,{content:O,position:P,children:G})),G}return N}(),h}(e.Component);f.Input=b},18982:function(I,r,n){"use strict";r.__esModule=!0,r.ByondUi=void 0;var e=n(89005),a=n(35840),t=n(69214),o=n(9394),s=n(55937),y=["params"],V=["params"],k=["parent","params"];function S(v,b){if(v==null)return{};var g={};for(var h in v)if({}.hasOwnProperty.call(v,h)){if(b.includes(h))continue;g[h]=v[h]}return g}function p(v,b){v.prototype=Object.create(b.prototype),v.prototype.constructor=v,i(v,b)}function i(v,b){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(g,h){return g.__proto__=h,g},i(v,b)}/** + */function l(g,h){g.prototype=Object.create(h.prototype),g.prototype.constructor=g,f(g,h)}function f(g,h){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(C,N){return C.__proto__=N,C},f(g,h)}function u(g,h){if(g==null)return{};var C={};for(var N in g)if({}.hasOwnProperty.call(g,N)){if(h.includes(N))continue;C[N]=g[N]}return C}var s=(0,o.createLogger)("Button"),m=r.Button=function(){function g(h){var C=h.className,N=h.fluid,x=h.icon,B=h.iconRotation,L=h.iconSpin,w=h.color,A=h.textColor,T=h.disabled,E=h.selected,O=h.tooltip,P=h.tooltipPosition,R=h.ellipsis,F=h.compact,j=h.circular,W=h.content,z=h.iconColor,H=h.iconRight,$=h.iconStyle,G=h.children,ne=h.onclick,Q=h.onClick,he=h.multiLine,Ve=u(h,k),Ne=!!(W||G);ne&&s.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"),Ve.onClick=function(Le){!T&&Q&&Q(Le)};var Be=(0,e.normalizeProps)((0,e.createComponentVNode)(2,d.Box,Object.assign({className:(0,a.classes)(["Button",N&&"Button--fluid",T&&"Button--disabled",E&&"Button--selected",Ne&&"Button--hasContent",R&&"Button--ellipsis",j&&"Button--circular",F&&"Button--compact",H&&"Button--iconRight",he&&"Button--multiLine",w&&typeof w=="string"?"Button--color--"+w:"Button--color--default",C]),tabIndex:!T&&"0",color:A,onKeyDown:function(){function Le(Ae){var fe=window.event?Ae.which:Ae.keyCode;if(fe===t.KEY_SPACE||fe===t.KEY_ENTER){Ae.preventDefault(),!T&&Q&&Q(Ae);return}if(fe===t.KEY_ESCAPE){Ae.preventDefault();return}}return Le}()},Ve,{children:[x&&!H&&(0,e.createComponentVNode)(2,y.Icon,{name:x,color:z,rotation:B,spin:L,style:$}),W,G,x&&H&&(0,e.createComponentVNode)(2,y.Icon,{name:x,color:z,rotation:B,spin:L,style:$})]})));return O&&(Be=(0,e.createComponentVNode)(2,V.Tooltip,{content:O,position:P,children:Be})),Be}return g}();m.defaultHooks=a.pureComponentHooks;var c=r.ButtonCheckbox=function(){function g(h){var C=h.checked,N=u(h,S);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,m,Object.assign({color:"transparent",icon:C?"check-square-o":"square-o",selected:C},N)))}return g}();m.Checkbox=c;var v=r.ButtonConfirm=function(g){function h(){var N;return N=g.call(this)||this,N.state={clickedOnce:!1},N.handleClick=function(){N.state.clickedOnce&&N.setClickedOnce(!1)},N}l(h,g);var C=h.prototype;return C.setClickedOnce=function(){function N(x){var B=this;this.setState({clickedOnce:x}),x?setTimeout(function(){return window.addEventListener("click",B.handleClick)}):window.removeEventListener("click",this.handleClick)}return N}(),C.render=function(){function N(){var x=this,B=this.props,L=B.confirmContent,w=L===void 0?"Confirm?":L,A=B.confirmColor,T=A===void 0?"bad":A,E=B.confirmIcon,O=B.icon,P=B.color,R=B.content,F=B.onClick,j=u(B,p);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,m,Object.assign({content:this.state.clickedOnce?w:R,icon:this.state.clickedOnce?E:O,color:this.state.clickedOnce?T:P,onClick:function(){function W(){return x.state.clickedOnce?F():x.setClickedOnce(!0)}return W}()},j)))}return N}(),h}(e.Component);m.Confirm=v;var b=r.ButtonInput=function(g){function h(){var N;return N=g.call(this)||this,N.inputRef=(0,e.createRef)(),N.state={inInput:!1},N}l(h,g);var C=h.prototype;return C.setInInput=function(){function N(x){var B=this.props.disabled;if(!B&&(this.setState({inInput:x}),this.inputRef)){var L=this.inputRef.current;if(x){L.value=this.props.currentValue||"";try{L.focus(),L.select()}catch(w){}}}}return N}(),C.commitResult=function(){function N(x){if(this.inputRef){var B=this.inputRef.current,L=B.value!=="";if(L){this.props.onCommit(x,B.value);return}else{if(!this.props.defaultValue)return;this.props.onCommit(x,this.props.defaultValue)}}}return N}(),C.render=function(){function N(){var x=this,B=this.props,L=B.fluid,w=B.content,A=B.icon,T=B.iconRotation,E=B.iconSpin,O=B.tooltip,P=B.tooltipPosition,R=B.color,F=R===void 0?"default":R,j=B.disabled,W=B.placeholder,z=B.maxLength,H=B.multiLine,$=u(B,i),G=(0,e.normalizeProps)((0,e.createComponentVNode)(2,d.Box,Object.assign({className:(0,a.classes)(["Button",L&&"Button--fluid",j&&"Button--disabled","Button--color--"+F,H+"Button--multiLine"])},$,{onClick:function(){function ne(){return x.setInInput(!0)}return ne}(),children:[A&&(0,e.createComponentVNode)(2,y.Icon,{name:A,rotation:T,spin:E}),(0,e.createVNode)(1,"div",null,w,0),(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?void 0:"none","text-align":"left"},onBlur:function(){function ne(Q){x.state.inInput&&(x.setInInput(!1),x.commitResult(Q))}return ne}(),onKeyDown:function(){function ne(Q){if(Q.keyCode===t.KEY_ENTER){x.setInInput(!1),x.commitResult(Q);return}Q.keyCode===t.KEY_ESCAPE&&x.setInInput(!1)}return ne}()},null,this.inputRef)]})));return O&&(G=(0,e.createComponentVNode)(2,V.Tooltip,{content:O,position:P,children:G})),G}return N}(),h}(e.Component);m.Input=b},18982:function(I,r,n){"use strict";r.__esModule=!0,r.ByondUi=void 0;var e=n(89005),a=n(35840),t=n(69214),o=n(9394),d=n(55937),y=["params"],V=["params"],k=["parent","params"];function S(v,b){if(v==null)return{};var g={};for(var h in v)if({}.hasOwnProperty.call(v,h)){if(b.includes(h))continue;g[h]=v[h]}return g}function p(v,b){v.prototype=Object.create(b.prototype),v.prototype.constructor=v,i(v,b)}function i(v,b){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(g,h){return g.__proto__=h,g},i(v,b)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var c=(0,o.createLogger)("ByondUi"),m=[],u=function(b){var g=m.length;m.push(null);var h=b||"byondui_"+g;return c.log("allocated '"+h+"'"),{render:function(){function C(N){c.log("rendering '"+h+"'"),m[g]=h,Byond.winset(h,N)}return C}(),unmount:function(){function C(){c.log("unmounting '"+h+"'"),m[g]=null,Byond.winset(h,{parent:""})}return C}()}};window.addEventListener("beforeunload",function(){for(var v=0;v0){var R=P[0],F=P[P.length-1];P.push([O[0]+T,F[1]]),P.push([O[0]+T,-T]),P.push([-T,-T]),P.push([-T,R[1]])}var j=p(P);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({position:"relative"},E,{children:function(){function W(H){return(0,e.normalizeProps)((0,e.createVNode)(1,"div",null,(0,e.createVNode)(32,"svg",null,(0,e.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+O[1]+")",fill:B,stroke:w,"stroke-width":T,points:j}),2,{viewBox:"0 0 "+O[0]+" "+O[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},H),null,v.ref))}return W}()})))}return l}(),d}(e.Component);i.defaultHooks=t.pureComponentHooks;var c=function(d){return null},m=r.Chart={Line:i}},4796:function(I,r,n){"use strict";r.__esModule=!0,r.Collapsible=void 0;var e=n(89005),a=n(55937),t=n(94798),o=["children","color","title","buttons"];function s(S,p){if(S==null)return{};var i={};for(var c in S)if({}.hasOwnProperty.call(S,c)){if(p.includes(c))continue;i[c]=S[c]}return i}function y(S,p){S.prototype=Object.create(p.prototype),S.prototype.constructor=S,V(S,p)}function V(S,p){return V=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,c){return i.__proto__=c,i},V(S,p)}/** +*/var S=function(s,m,c,v){if(s.length===0)return[];var b=(0,a.zipWith)(Math.min).apply(void 0,s),g=(0,a.zipWith)(Math.max).apply(void 0,s);c!==void 0&&(b[0]=c[0],g[0]=c[1]),v!==void 0&&(b[1]=v[0],g[1]=v[1]);var h=(0,a.map)(function(C){return(0,a.zipWith)(function(N,x,B,L){return(N-x)/(B-x)*L})(C,b,g,m)})(s);return h},p=function(s){for(var m="",c=0;c0){var R=P[0],F=P[P.length-1];P.push([O[0]+T,F[1]]),P.push([O[0]+T,-T]),P.push([-T,-T]),P.push([-T,R[1]])}var j=p(P);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({position:"relative"},E,{children:function(){function W(z){return(0,e.normalizeProps)((0,e.createVNode)(1,"div",null,(0,e.createVNode)(32,"svg",null,(0,e.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+O[1]+")",fill:B,stroke:w,"stroke-width":T,points:j}),2,{viewBox:"0 0 "+O[0]+" "+O[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},z),null,v.ref))}return W}()})))}return c}(),s}(e.Component);i.defaultHooks=t.pureComponentHooks;var l=function(s){return null},f=r.Chart={Line:i}},4796:function(I,r,n){"use strict";r.__esModule=!0,r.Collapsible=void 0;var e=n(89005),a=n(55937),t=n(94798),o=["children","color","title","buttons"];function d(S,p){if(S==null)return{};var i={};for(var l in S)if({}.hasOwnProperty.call(S,l)){if(p.includes(l))continue;i[l]=S[l]}return i}function y(S,p){S.prototype=Object.create(p.prototype),S.prototype.constructor=S,V(S,p)}function V(S,p){return V=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,l){return i.__proto__=l,i},V(S,p)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var k=r.Collapsible=function(S){function p(c){var m;m=S.call(this,c)||this;var u=c.open;return m.state={open:u||!1},m}y(p,S);var i=p.prototype;return i.render=function(){function c(){var m=this,u=this.props,d=this.state.open,f=u.children,l=u.color,v=l===void 0?"default":l,b=u.title,g=u.buttons,h=s(u,o);return(0,e.createComponentVNode)(2,a.Box,{className:"Collapsible",children:[(0,e.createVNode)(1,"div","Table",[(0,e.createVNode)(1,"div","Table__cell",(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Button,Object.assign({fluid:!0,color:v,icon:d?"chevron-down":"chevron-right",onClick:function(){function C(){return m.setState({open:!d})}return C}()},h,{children:b}))),2),g&&(0,e.createVNode)(1,"div","Table__cell Table__cell--collapsing",g,0)],0),d&&(0,e.createComponentVNode)(2,a.Box,{mt:1,children:f})]})}return c}(),p}(e.Component)},88894:function(I,r,n){"use strict";r.__esModule=!0,r.ColorBox=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["content","children","className","color","backgroundColor"];/** +*/var k=r.Collapsible=function(S){function p(l){var f;f=S.call(this,l)||this;var u=l.open;return f.state={open:u||!1},f}y(p,S);var i=p.prototype;return i.render=function(){function l(){var f=this,u=this.props,s=this.state.open,m=u.children,c=u.color,v=c===void 0?"default":c,b=u.title,g=u.buttons,h=d(u,o);return(0,e.createComponentVNode)(2,a.Box,{className:"Collapsible",children:[(0,e.createVNode)(1,"div","Table",[(0,e.createVNode)(1,"div","Table__cell",(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Button,Object.assign({fluid:!0,color:v,icon:s?"chevron-down":"chevron-right",onClick:function(){function C(){return f.setState({open:!s})}return C}()},h,{children:b}))),2),g&&(0,e.createVNode)(1,"div","Table__cell Table__cell--collapsing",g,0)],0),s&&(0,e.createComponentVNode)(2,a.Box,{mt:1,children:m})]})}return l}(),p}(e.Component)},88894:function(I,r,n){"use strict";r.__esModule=!0,r.ColorBox=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["content","children","className","color","backgroundColor"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function s(V,k){if(V==null)return{};var S={};for(var p in V)if({}.hasOwnProperty.call(V,p)){if(k.includes(p))continue;S[p]=V[p]}return S}var y=r.ColorBox=function(){function V(k){var S=k.content,p=k.children,i=k.className,c=k.color,m=k.backgroundColor,u=s(k,o);return u.color=S?null:"transparent",u.backgroundColor=c||m,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["ColorBox",i,(0,t.computeBoxClassName)(u)]),S||".",0,Object.assign({},(0,t.computeBoxProps)(u))))}return V}();y.defaultHooks=a.pureComponentHooks},73379:function(I,r,n){"use strict";r.__esModule=!0,r.Countdown=void 0;var e=n(89005),a=n(55937),t=["format"];function o(k,S){if(k==null)return{};var p={};for(var i in k)if({}.hasOwnProperty.call(k,i)){if(S.includes(i))continue;p[i]=k[i]}return p}function s(k,S){k.prototype=Object.create(S.prototype),k.prototype.constructor=k,y(k,S)}function y(k,S){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,i){return p.__proto__=i,p},y(k,S)}var V=r.Countdown=function(k){function S(i){var c;return c=k.call(this,i)||this,c.timer=null,c.state={value:Math.max(i.timeLeft*100,0)},c}s(S,k);var p=S.prototype;return p.tick=function(){function i(){var c=Math.max(this.state.value-this.props.rate,0);c<=0&&clearInterval(this.timer),this.setState(function(m){return{value:c}})}return i}(),p.componentDidMount=function(){function i(){var c=this;this.timer=setInterval(function(){return c.tick()},this.props.rate)}return i}(),p.componentWillUnmount=function(){function i(){clearInterval(this.timer)}return i}(),p.componentDidUpdate=function(){function i(c){var m=this;this.props.current!==c.current&&this.setState(function(u){return{value:Math.max(m.props.timeLeft*100,0)}}),this.timer||this.componentDidMount()}return i}(),p.render=function(){function i(){var c=this.props,m=c.format,u=o(c,t),d=new Date(this.state.value).toISOString().slice(11,19);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({as:"span"},u,{children:m?m(this.state.value,d):d})))}return i}(),S}(e.Component);V.defaultProps={rate:1e3}},61940:function(I,r,n){"use strict";r.__esModule=!0,r.Dimmer=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","children"];/** + */function d(V,k){if(V==null)return{};var S={};for(var p in V)if({}.hasOwnProperty.call(V,p)){if(k.includes(p))continue;S[p]=V[p]}return S}var y=r.ColorBox=function(){function V(k){var S=k.content,p=k.children,i=k.className,l=k.color,f=k.backgroundColor,u=d(k,o);return u.color=S?null:"transparent",u.backgroundColor=l||f,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["ColorBox",i,(0,t.computeBoxClassName)(u)]),S||".",0,Object.assign({},(0,t.computeBoxProps)(u))))}return V}();y.defaultHooks=a.pureComponentHooks},73379:function(I,r,n){"use strict";r.__esModule=!0,r.Countdown=void 0;var e=n(89005),a=n(55937),t=["format"];function o(k,S){if(k==null)return{};var p={};for(var i in k)if({}.hasOwnProperty.call(k,i)){if(S.includes(i))continue;p[i]=k[i]}return p}function d(k,S){k.prototype=Object.create(S.prototype),k.prototype.constructor=k,y(k,S)}function y(k,S){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,i){return p.__proto__=i,p},y(k,S)}var V=r.Countdown=function(k){function S(i){var l;return l=k.call(this,i)||this,l.timer=null,l.state={value:Math.max(i.timeLeft*100,0)},l}d(S,k);var p=S.prototype;return p.tick=function(){function i(){var l=Math.max(this.state.value-this.props.rate,0);l<=0&&clearInterval(this.timer),this.setState(function(f){return{value:l}})}return i}(),p.componentDidMount=function(){function i(){var l=this;this.timer=setInterval(function(){return l.tick()},this.props.rate)}return i}(),p.componentWillUnmount=function(){function i(){clearInterval(this.timer)}return i}(),p.componentDidUpdate=function(){function i(l){var f=this;this.props.current!==l.current&&this.setState(function(u){return{value:Math.max(f.props.timeLeft*100,0)}}),this.timer||this.componentDidMount()}return i}(),p.render=function(){function i(){var l=this.props,f=l.format,u=o(l,t),s=new Date(this.state.value).toISOString().slice(11,19);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({as:"span"},u,{children:f?f(this.state.value,s):s})))}return i}(),S}(e.Component);V.defaultProps={rate:1e3}},61940:function(I,r,n){"use strict";r.__esModule=!0,r.Dimmer=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function s(V,k){if(V==null)return{};var S={};for(var p in V)if({}.hasOwnProperty.call(V,p)){if(k.includes(p))continue;S[p]=V[p]}return S}var y=r.Dimmer=function(){function V(k){var S=k.className,p=k.children,i=s(k,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["Dimmer"].concat(S))},i,{children:(0,e.createVNode)(1,"div","Dimmer__inner",p,0)})))}return V}()},13605:function(I,r,n){"use strict";r.__esModule=!0,r.Divider=void 0;var e=n(89005),a=n(35840);/** + */function d(V,k){if(V==null)return{};var S={};for(var p in V)if({}.hasOwnProperty.call(V,p)){if(k.includes(p))continue;S[p]=V[p]}return S}var y=r.Dimmer=function(){function V(k){var S=k.className,p=k.children,i=d(k,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["Dimmer"].concat(S))},i,{children:(0,e.createVNode)(1,"div","Dimmer__inner",p,0)})))}return V}()},13605:function(I,r,n){"use strict";r.__esModule=!0,r.Divider=void 0;var e=n(89005),a=n(35840);/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var t=r.Divider=function(){function o(s){var y=s.vertical,V=s.hidden;return(0,e.createVNode)(1,"div",(0,a.classes)(["Divider",V&&"Divider--hidden",y?"Divider--vertical":"Divider--horizontal"]))}return o}()},20342:function(I,r,n){"use strict";r.__esModule=!0,r.DraggableControl=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(9474);function s(p,i){p.prototype=Object.create(i.prototype),p.prototype.constructor=p,y(p,i)}function y(p,i){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,m){return c.__proto__=m,c},y(p,i)}var V=400,k=function(i,c){return i.screenX*c[0]+i.screenY*c[1]},S=r.DraggableControl=function(p){function i(m){var u;return u=p.call(this,m)||this,u.inputRef=(0,e.createRef)(),u.state={originalValue:m.value,value:m.value,dragging:!1,editing:!1,origin:null,suppressingFlicker:!1},u.flickerTimer=null,u.suppressFlicker=function(){var d=u.props.suppressFlicker;d>0&&(u.setState({suppressingFlicker:!0}),clearTimeout(u.flickerTimer),u.flickerTimer=setTimeout(function(){return u.setState({suppressingFlicker:!1})},d))},u.handleDragStart=function(d){var f=u.props,l=f.value,v=f.dragMatrix,b=f.disabled,g=u.state.editing;g||b||(document.body.style["pointer-events"]="none",u.ref=d.currentTarget,u.setState({originalValue:l,dragging:!1,value:l,origin:k(d,v)}),u.timer=setTimeout(function(){u.setState({dragging:!0})},250),u.dragInterval=setInterval(function(){var h=u.state,C=h.dragging,N=h.value,x=u.props.onDrag;C&&x&&x(d,N)},u.props.updateRate||V),document.addEventListener("mousemove",u.handleDragMove),document.addEventListener("mouseup",u.handleDragEnd))},u.handleDragMove=function(d){var f,l=u.props,v=l.minValue,b=l.maxValue,g=l.step,h=l.dragMatrix,C=l.disabled;if(!C){var N=u.ref.offsetWidth/((b-v)/g),x=(f=u.props.stepPixelSize)!=null?f:N;typeof x=="function"&&(x=x(N)),u.setState(function(B){var L=Object.assign({},B),w=B.origin,A=k(d,h)-w;if(B.dragging){var T=Math.trunc(A/x);L.value=(0,a.clamp)(Math.floor(L.originalValue/g)*g+T*g,v,b)}else Math.abs(A)>4&&(L.dragging=!0);return L})}},u.handleDragEnd=function(d){var f=u.props,l=f.onChange,v=f.onDrag,b=u.state,g=b.dragging,h=b.value;if(document.body.style["pointer-events"]="auto",clearTimeout(u.timer),clearInterval(u.dragInterval),u.setState({originalValue:null,dragging:!1,editing:!g,origin:null}),document.removeEventListener("mousemove",u.handleDragMove),document.removeEventListener("mouseup",u.handleDragEnd),g)u.suppressFlicker(),l&&l(d,h),v&&v(d,h);else if(u.inputRef){var C=u.inputRef.current;C.value=h;try{C.focus(),C.select()}catch(N){}}},u}s(i,p);var c=i.prototype;return c.render=function(){function m(){var u=this,d=this.state,f=d.dragging,l=d.editing,v=d.value,b=d.suppressingFlicker,g=this.props,h=g.animated,C=g.value,N=g.unit,x=g.minValue,B=g.maxValue,L=g.format,w=g.onChange,A=g.onDrag,T=g.children,E=g.height,O=g.lineHeight,P=g.fontSize,R=g.disabled,F=C;(f||b)&&(F=v);var j=function(){function z(Y){return Y+(N?" "+N:"")}return z}(),W=h&&!f&&!b&&(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:F,format:L,children:j})||j(L?L(F):F),H=(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:!l||R?"none":void 0,height:E,"line-height":O,"font-size":P},onBlur:function(){function z(Y){if(l){var G=(0,a.clamp)(parseFloat(Y.target.value),x,B);if(Number.isNaN(G)){u.setState({editing:!1});return}u.setState({editing:!1,value:G}),u.suppressFlicker(),w&&w(Y,G),A&&A(Y,G)}}return z}(),onKeyDown:function(){function z(Y){if(Y.keyCode===13){var G=(0,a.clamp)(parseFloat(Y.target.value),x,B);if(Number.isNaN(G)){u.setState({editing:!1});return}u.setState({editing:!1,value:G}),u.suppressFlicker(),w&&w(Y,G),A&&A(Y,G);return}if(Y.keyCode===27){u.setState({editing:!1});return}}return z}(),disabled:R},null,this.inputRef);return T({dragging:f,editing:l,value:C,displayValue:F,displayElement:W,inputElement:H,handleDragStart:this.handleDragStart})}return m}(),i}(e.Component);S.defaultHooks=t.pureComponentHooks,S.defaultProps={minValue:-1/0,maxValue:1/0,step:1,suppressFlicker:50,dragMatrix:[1,0]}},87099:function(I,r,n){"use strict";r.__esModule=!0,r.Dropdown=void 0;var e=n(89005),a=n(95996),t=n(35840),o=n(55937),s=n(1331),y=["icon","iconRotation","iconSpin","clipSelectedText","color","dropdownStyle","over","nochevron","width","onClick","onSelected","selected","disabled","displayText"],V=["className"],k;function S(l,v){if(l==null)return{};var b={};for(var g in l)if({}.hasOwnProperty.call(l,g)){if(v.includes(g))continue;b[g]=l[g]}return b}function p(l,v){l.prototype=Object.create(v.prototype),l.prototype.constructor=l,i(l,v)}function i(l,v){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(b,g){return b.__proto__=g,b},i(l,v)}var c={placement:"left-start",modifiers:[{name:"eventListeners",enabled:!1}]},m={width:0,height:0,top:0,right:0,bottom:0,left:0,x:0,y:0,toJSON:function(){function l(){return null}return l}()},u="Layout Dropdown__menu",d="Layout Dropdown__menu-scroll",f=r.Dropdown=function(l){function v(g){var h;return h=l.call(this,g)||this,h.menuContents=void 0,h.handleClick=function(){h.state.open&&h.setOpen(!1)},h.state={open:!1,selected:h.props.selected},h.menuContents=null,h}p(v,l);var b=v.prototype;return b.getDOMNode=function(){function g(){return(0,e.findDOMFromVNode)(this.$LI,!0)}return g}(),b.componentDidMount=function(){function g(){var h=this.getDOMNode()}return g}(),b.openMenu=function(){function g(){var h=v.renderedMenu;h===void 0&&(h=document.createElement("div"),h.className=u,document.body.appendChild(h),v.renderedMenu=h);var C=this.getDOMNode();v.currentOpenMenu=C,h.scrollTop=0,h.style.width=this.props.menuWidth||C.offsetWidth+"px",h.style.opacity="1",h.style.pointerEvents="auto",setTimeout(function(){var N;(N=v.renderedMenu)==null||N.focus()},400),this.renderMenuContent()}return g}(),b.closeMenu=function(){function g(){v.currentOpenMenu===this.getDOMNode()&&(v.currentOpenMenu=void 0,v.renderedMenu.style.opacity="0",v.renderedMenu.style.pointerEvents="none")}return g}(),b.componentWillUnmount=function(){function g(){this.closeMenu(),this.setOpen(!1)}return g}(),b.renderMenuContent=function(){function g(){var h=this,C=v.renderedMenu;if(C){C.offsetHeight>200?C.className=d:C.className=u;var N=this.props.options,x=N===void 0?[]:N,B=x.map(function(w){var A,T;return typeof w=="string"?(T=w,A=w):w!==null&&(T=w.displayText,A=w.value),(0,e.createVNode)(1,"div",(0,t.classes)(["Dropdown__menuentry",h.state.selected===A&&"selected"]),T,0,{onClick:function(){function E(){h.setSelected(A)}return E}()},A)}),L=B.length?B:"No Options Found";(0,e.render)((0,e.createVNode)(1,"div",null,L,0),C,function(){var w=v.singletonPopper;w===void 0?(w=(0,a.createPopper)(v.virtualElement,C,Object.assign({},c,{placement:"bottom-start"})),v.singletonPopper=w):(w.setOptions(Object.assign({},c,{placement:"bottom-start"})),w.update())},this.context)}}return g}(),b.setOpen=function(){function g(h){var C=this;this.setState(function(N){return Object.assign({},N,{open:h})}),h?setTimeout(function(){C.openMenu(),window.addEventListener("click",C.handleClick)}):(this.closeMenu(),window.removeEventListener("click",this.handleClick))}return g}(),b.setSelected=function(){function g(h){this.setState(function(C){return Object.assign({},C,{selected:h})}),this.setOpen(!1),this.props.onSelected&&this.props.onSelected(h)}return g}(),b.render=function(){function g(){var h=this,C=this.props,N=C.icon,x=C.iconRotation,B=C.iconSpin,L=C.clipSelectedText,w=L===void 0?!0:L,A=C.color,T=A===void 0?"default":A,E=C.dropdownStyle,O=C.over,P=C.nochevron,R=C.width,F=C.onClick,j=C.onSelected,W=C.selected,H=C.disabled,z=C.displayText,Y=S(C,y),G=Y.className,ne=S(Y,V),Q=O?!this.state.open:this.state.open;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({width:R,className:(0,t.classes)(["Dropdown__control","Button","Button--color--"+T,H&&"Button--disabled",G]),onClick:function(){function he(Ve){H&&!h.state.open||(h.setOpen(!h.state.open),F&&F(Ve))}return he}()},ne,{children:[N&&(0,e.createComponentVNode)(2,s.Icon,{name:N,rotation:x,spin:B,mr:1}),(0,e.createVNode)(1,"span","Dropdown__selected-text",z||this.state.selected,0,{style:{overflow:w?"hidden":"visible"}}),P||(0,e.createVNode)(1,"span","Dropdown__arrow-button",(0,e.createComponentVNode)(2,s.Icon,{name:Q?"chevron-up":"chevron-down"}),2)]})))}return g}(),v}(e.Component);k=f,f.renderedMenu=void 0,f.singletonPopper=void 0,f.currentOpenMenu=void 0,f.virtualElement={getBoundingClientRect:function(){function l(){var v,b;return(v=(b=k.currentOpenMenu)==null?void 0:b.getBoundingClientRect())!=null?v:m}return l}()}},39473:function(I,r,n){"use strict";r.__esModule=!0,r.computeFlexProps=r.computeFlexItemProps=r.computeFlexItemClassName=r.computeFlexClassName=r.Flex=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","direction","wrap","align","justify","inline"],s=["className"],y=["className","style","grow","order","shrink","basis","align"],V=["className"];/** + */var t=r.Divider=function(){function o(d){var y=d.vertical,V=d.hidden;return(0,e.createVNode)(1,"div",(0,a.classes)(["Divider",V&&"Divider--hidden",y?"Divider--vertical":"Divider--horizontal"]))}return o}()},20342:function(I,r,n){"use strict";r.__esModule=!0,r.DraggableControl=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(9474);function d(p,i){p.prototype=Object.create(i.prototype),p.prototype.constructor=p,y(p,i)}function y(p,i){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(l,f){return l.__proto__=f,l},y(p,i)}var V=400,k=function(i,l){return i.screenX*l[0]+i.screenY*l[1]},S=r.DraggableControl=function(p){function i(f){var u;return u=p.call(this,f)||this,u.inputRef=(0,e.createRef)(),u.state={originalValue:f.value,value:f.value,dragging:!1,editing:!1,origin:null,suppressingFlicker:!1},u.flickerTimer=null,u.suppressFlicker=function(){var s=u.props.suppressFlicker;s>0&&(u.setState({suppressingFlicker:!0}),clearTimeout(u.flickerTimer),u.flickerTimer=setTimeout(function(){return u.setState({suppressingFlicker:!1})},s))},u.handleDragStart=function(s){var m=u.props,c=m.value,v=m.dragMatrix,b=m.disabled,g=u.state.editing;g||b||(document.body.style["pointer-events"]="none",u.ref=s.currentTarget,u.setState({originalValue:c,dragging:!1,value:c,origin:k(s,v)}),u.timer=setTimeout(function(){u.setState({dragging:!0})},250),u.dragInterval=setInterval(function(){var h=u.state,C=h.dragging,N=h.value,x=u.props.onDrag;C&&x&&x(s,N)},u.props.updateRate||V),document.addEventListener("mousemove",u.handleDragMove),document.addEventListener("mouseup",u.handleDragEnd))},u.handleDragMove=function(s){var m,c=u.props,v=c.minValue,b=c.maxValue,g=c.step,h=c.dragMatrix,C=c.disabled;if(!C){var N=u.ref.offsetWidth/((b-v)/g),x=(m=u.props.stepPixelSize)!=null?m:N;typeof x=="function"&&(x=x(N)),u.setState(function(B){var L=Object.assign({},B),w=B.origin,A=k(s,h)-w;if(B.dragging){var T=Math.trunc(A/x);L.value=(0,a.clamp)(Math.floor(L.originalValue/g)*g+T*g,v,b)}else Math.abs(A)>4&&(L.dragging=!0);return L})}},u.handleDragEnd=function(s){var m=u.props,c=m.onChange,v=m.onDrag,b=u.state,g=b.dragging,h=b.value;if(document.body.style["pointer-events"]="auto",clearTimeout(u.timer),clearInterval(u.dragInterval),u.setState({originalValue:null,dragging:!1,editing:!g,origin:null}),document.removeEventListener("mousemove",u.handleDragMove),document.removeEventListener("mouseup",u.handleDragEnd),g)u.suppressFlicker(),c&&c(s,h),v&&v(s,h);else if(u.inputRef){var C=u.inputRef.current;C.value=h;try{C.focus(),C.select()}catch(N){}}},u}d(i,p);var l=i.prototype;return l.render=function(){function f(){var u=this,s=this.state,m=s.dragging,c=s.editing,v=s.value,b=s.suppressingFlicker,g=this.props,h=g.animated,C=g.value,N=g.unit,x=g.minValue,B=g.maxValue,L=g.format,w=g.onChange,A=g.onDrag,T=g.children,E=g.height,O=g.lineHeight,P=g.fontSize,R=g.disabled,F=C;(m||b)&&(F=v);var j=function(){function H($){return $+(N?" "+N:"")}return H}(),W=h&&!m&&!b&&(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:F,format:L,children:j})||j(L?L(F):F),z=(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:!c||R?"none":void 0,height:E,"line-height":O,"font-size":P},onBlur:function(){function H($){if(c){var G=(0,a.clamp)(parseFloat($.target.value),x,B);if(Number.isNaN(G)){u.setState({editing:!1});return}u.setState({editing:!1,value:G}),u.suppressFlicker(),w&&w($,G),A&&A($,G)}}return H}(),onKeyDown:function(){function H($){if($.keyCode===13){var G=(0,a.clamp)(parseFloat($.target.value),x,B);if(Number.isNaN(G)){u.setState({editing:!1});return}u.setState({editing:!1,value:G}),u.suppressFlicker(),w&&w($,G),A&&A($,G);return}if($.keyCode===27){u.setState({editing:!1});return}}return H}(),disabled:R},null,this.inputRef);return T({dragging:m,editing:c,value:C,displayValue:F,displayElement:W,inputElement:z,handleDragStart:this.handleDragStart})}return f}(),i}(e.Component);S.defaultHooks=t.pureComponentHooks,S.defaultProps={minValue:-1/0,maxValue:1/0,step:1,suppressFlicker:50,dragMatrix:[1,0]}},87099:function(I,r,n){"use strict";r.__esModule=!0,r.Dropdown=void 0;var e=n(89005),a=n(95996),t=n(35840),o=n(55937),d=n(1331),y=["icon","iconRotation","iconSpin","clipSelectedText","color","dropdownStyle","over","nochevron","width","onClick","onSelected","selected","disabled","displayText"],V=["className"],k;function S(c,v){if(c==null)return{};var b={};for(var g in c)if({}.hasOwnProperty.call(c,g)){if(v.includes(g))continue;b[g]=c[g]}return b}function p(c,v){c.prototype=Object.create(v.prototype),c.prototype.constructor=c,i(c,v)}function i(c,v){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(b,g){return b.__proto__=g,b},i(c,v)}var l={placement:"left-start",modifiers:[{name:"eventListeners",enabled:!1}]},f={width:0,height:0,top:0,right:0,bottom:0,left:0,x:0,y:0,toJSON:function(){function c(){return null}return c}()},u="Layout Dropdown__menu",s="Layout Dropdown__menu-scroll",m=r.Dropdown=function(c){function v(g){var h;return h=c.call(this,g)||this,h.menuContents=void 0,h.handleClick=function(){h.state.open&&h.setOpen(!1)},h.state={open:!1,selected:h.props.selected},h.menuContents=null,h}p(v,c);var b=v.prototype;return b.getDOMNode=function(){function g(){return(0,e.findDOMFromVNode)(this.$LI,!0)}return g}(),b.componentDidMount=function(){function g(){var h=this.getDOMNode()}return g}(),b.openMenu=function(){function g(){var h=v.renderedMenu;h===void 0&&(h=document.createElement("div"),h.className=u,document.body.appendChild(h),v.renderedMenu=h);var C=this.getDOMNode();v.currentOpenMenu=C,h.scrollTop=0,h.style.width=this.props.menuWidth||C.offsetWidth+"px",h.style.opacity="1",h.style.pointerEvents="auto",setTimeout(function(){var N;(N=v.renderedMenu)==null||N.focus()},400),this.renderMenuContent()}return g}(),b.closeMenu=function(){function g(){v.currentOpenMenu===this.getDOMNode()&&(v.currentOpenMenu=void 0,v.renderedMenu.style.opacity="0",v.renderedMenu.style.pointerEvents="none")}return g}(),b.componentWillUnmount=function(){function g(){this.closeMenu(),this.setOpen(!1)}return g}(),b.renderMenuContent=function(){function g(){var h=this,C=v.renderedMenu;if(C){C.offsetHeight>200?C.className=s:C.className=u;var N=this.props.options,x=N===void 0?[]:N,B=x.map(function(w){var A,T;return typeof w=="string"?(T=w,A=w):w!==null&&(T=w.displayText,A=w.value),(0,e.createVNode)(1,"div",(0,t.classes)(["Dropdown__menuentry",h.state.selected===A&&"selected"]),T,0,{onClick:function(){function E(){h.setSelected(A)}return E}()},A)}),L=B.length?B:"No Options Found";(0,e.render)((0,e.createVNode)(1,"div",null,L,0),C,function(){var w=v.singletonPopper;w===void 0?(w=(0,a.createPopper)(v.virtualElement,C,Object.assign({},l,{placement:"bottom-start"})),v.singletonPopper=w):(w.setOptions(Object.assign({},l,{placement:"bottom-start"})),w.update())},this.context)}}return g}(),b.setOpen=function(){function g(h){var C=this;this.setState(function(N){return Object.assign({},N,{open:h})}),h?setTimeout(function(){C.openMenu(),window.addEventListener("click",C.handleClick)}):(this.closeMenu(),window.removeEventListener("click",this.handleClick))}return g}(),b.setSelected=function(){function g(h){this.setState(function(C){return Object.assign({},C,{selected:h})}),this.setOpen(!1),this.props.onSelected&&this.props.onSelected(h)}return g}(),b.render=function(){function g(){var h=this,C=this.props,N=C.icon,x=C.iconRotation,B=C.iconSpin,L=C.clipSelectedText,w=L===void 0?!0:L,A=C.color,T=A===void 0?"default":A,E=C.dropdownStyle,O=C.over,P=C.nochevron,R=C.width,F=C.onClick,j=C.onSelected,W=C.selected,z=C.disabled,H=C.displayText,$=S(C,y),G=$.className,ne=S($,V),Q=O?!this.state.open:this.state.open;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({width:R,className:(0,t.classes)(["Dropdown__control","Button","Button--color--"+T,z&&"Button--disabled",G]),onClick:function(){function he(Ve){z&&!h.state.open||(h.setOpen(!h.state.open),F&&F(Ve))}return he}()},ne,{children:[N&&(0,e.createComponentVNode)(2,d.Icon,{name:N,rotation:x,spin:B,mr:1}),(0,e.createVNode)(1,"span","Dropdown__selected-text",H||this.state.selected,0,{style:{overflow:w?"hidden":"visible"}}),P||(0,e.createVNode)(1,"span","Dropdown__arrow-button",(0,e.createComponentVNode)(2,d.Icon,{name:Q?"chevron-up":"chevron-down"}),2)]})))}return g}(),v}(e.Component);k=m,m.renderedMenu=void 0,m.singletonPopper=void 0,m.currentOpenMenu=void 0,m.virtualElement={getBoundingClientRect:function(){function c(){var v,b;return(v=(b=k.currentOpenMenu)==null?void 0:b.getBoundingClientRect())!=null?v:f}return c}()}},39473:function(I,r,n){"use strict";r.__esModule=!0,r.computeFlexProps=r.computeFlexItemProps=r.computeFlexItemClassName=r.computeFlexClassName=r.Flex=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","direction","wrap","align","justify","inline"],d=["className"],y=["className","style","grow","order","shrink","basis","align"],V=["className"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function k(d,f){if(d==null)return{};var l={};for(var v in d)if({}.hasOwnProperty.call(d,v)){if(f.includes(v))continue;l[v]=d[v]}return l}var S=r.computeFlexClassName=function(){function d(f){return(0,a.classes)(["Flex",f.inline&&"Flex--inline",(0,t.computeBoxClassName)(f)])}return d}(),p=r.computeFlexProps=function(){function d(f){var l=f.className,v=f.direction,b=f.wrap,g=f.align,h=f.justify,C=f.inline,N=k(f,o);return(0,t.computeBoxProps)(Object.assign({style:Object.assign({},N.style,{"flex-direction":v,"flex-wrap":b===!0?"wrap":b,"align-items":g,"justify-content":h})},N))}return d}(),i=r.Flex=function(){function d(f){var l=f.className,v=k(f,s);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)([l,S(v)]),null,1,Object.assign({},p(v))))}return d}();i.defaultHooks=a.pureComponentHooks;var c=r.computeFlexItemClassName=function(){function d(f){return(0,a.classes)(["Flex__item",(0,t.computeBoxClassName)(f)])}return d}(),m=r.computeFlexItemProps=function(){function d(f){var l=f.className,v=f.style,b=f.grow,g=f.order,h=f.shrink,C=f.basis,N=C===void 0?f.width:C,x=f.align,B=k(f,y);return(0,t.computeBoxProps)(Object.assign({style:Object.assign({},v,{"flex-grow":b!==void 0&&Number(b),"flex-shrink":h!==void 0&&Number(h),"flex-basis":(0,t.unit)(N),order:g,"align-self":x})},B))}return d}(),u=function(f){var l=f.className,v=k(f,V);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)([l,c(f)]),null,1,Object.assign({},m(v))))};u.defaultHooks=a.pureComponentHooks,i.Item=u},79646:function(I,r,n){"use strict";r.__esModule=!0,r.GridColumn=r.Grid=void 0;var e=n(89005),a=n(36352),t=n(35840),o=["children"],s=["size","style"];/** + */function k(s,m){if(s==null)return{};var c={};for(var v in s)if({}.hasOwnProperty.call(s,v)){if(m.includes(v))continue;c[v]=s[v]}return c}var S=r.computeFlexClassName=function(){function s(m){return(0,a.classes)(["Flex",m.inline&&"Flex--inline",(0,t.computeBoxClassName)(m)])}return s}(),p=r.computeFlexProps=function(){function s(m){var c=m.className,v=m.direction,b=m.wrap,g=m.align,h=m.justify,C=m.inline,N=k(m,o);return(0,t.computeBoxProps)(Object.assign({style:Object.assign({},N.style,{"flex-direction":v,"flex-wrap":b===!0?"wrap":b,"align-items":g,"justify-content":h})},N))}return s}(),i=r.Flex=function(){function s(m){var c=m.className,v=k(m,d);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)([c,S(v)]),null,1,Object.assign({},p(v))))}return s}();i.defaultHooks=a.pureComponentHooks;var l=r.computeFlexItemClassName=function(){function s(m){return(0,a.classes)(["Flex__item",(0,t.computeBoxClassName)(m)])}return s}(),f=r.computeFlexItemProps=function(){function s(m){var c=m.className,v=m.style,b=m.grow,g=m.order,h=m.shrink,C=m.basis,N=C===void 0?m.width:C,x=m.align,B=k(m,y);return(0,t.computeBoxProps)(Object.assign({style:Object.assign({},v,{"flex-grow":b!==void 0&&Number(b),"flex-shrink":h!==void 0&&Number(h),"flex-basis":(0,t.unit)(N),order:g,"align-self":x})},B))}return s}(),u=function(m){var c=m.className,v=k(m,V);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)([c,l(m)]),null,1,Object.assign({},f(v))))};u.defaultHooks=a.pureComponentHooks,i.Item=u},79646:function(I,r,n){"use strict";r.__esModule=!0,r.GridColumn=r.Grid=void 0;var e=n(89005),a=n(36352),t=n(35840),o=["children"],d=["size","style"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function y(S,p){if(S==null)return{};var i={};for(var c in S)if({}.hasOwnProperty.call(S,c)){if(p.includes(c))continue;i[c]=S[c]}return i}var V=r.Grid=function(){function S(p){var i=p.children,c=y(p,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Table,Object.assign({},c,{children:(0,e.createComponentVNode)(2,a.Table.Row,{children:i})})))}return S}();V.defaultHooks=t.pureComponentHooks;var k=r.GridColumn=function(){function S(p){var i=p.size,c=i===void 0?1:i,m=p.style,u=y(p,s);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Table.Cell,Object.assign({style:Object.assign({width:c+"%"},m)},u)))}return S}();V.defaultHooks=t.pureComponentHooks,V.Column=k},1331:function(I,r,n){"use strict";r.__esModule=!0,r.IconStack=r.Icon=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["name","size","spin","className","style","rotation","inverse"],s=["className","style","children"];/** + */function y(S,p){if(S==null)return{};var i={};for(var l in S)if({}.hasOwnProperty.call(S,l)){if(p.includes(l))continue;i[l]=S[l]}return i}var V=r.Grid=function(){function S(p){var i=p.children,l=y(p,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Table,Object.assign({},l,{children:(0,e.createComponentVNode)(2,a.Table.Row,{children:i})})))}return S}();V.defaultHooks=t.pureComponentHooks;var k=r.GridColumn=function(){function S(p){var i=p.size,l=i===void 0?1:i,f=p.style,u=y(p,d);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Table.Cell,Object.assign({style:Object.assign({width:l+"%"},f)},u)))}return S}();V.defaultHooks=t.pureComponentHooks,V.Column=k},1331:function(I,r,n){"use strict";r.__esModule=!0,r.IconStack=r.Icon=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["name","size","spin","className","style","rotation","inverse"],d=["className","style","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function y(p,i){if(p==null)return{};var c={};for(var m in p)if({}.hasOwnProperty.call(p,m)){if(i.includes(m))continue;c[m]=p[m]}return c}var V=/-o$/,k=r.Icon=function(){function p(i){var c=i.name,m=i.size,u=i.spin,d=i.className,f=i.style,l=f===void 0?{}:f,v=i.rotation,b=i.inverse,g=y(i,o);m&&(l["font-size"]=m*100+"%"),typeof v=="number"&&(l.transform="rotate("+v+"deg)");var h=V.test(c),C=c.replace(V,"");return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({as:"i",className:(0,a.classes)(["Icon",d,h?"far":"fas","fa-"+C,u&&"fa-spin"]),style:l},g)))}return p}();k.defaultHooks=a.pureComponentHooks;var S=r.IconStack=function(){function p(i){var c=i.className,m=i.style,u=m===void 0?{}:m,d=i.children,f=y(i,s);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({as:"span",class:(0,a.classes)(["IconStack",c]),style:u},f,{children:d})))}return p}();k.Stack=S},66393:function(I,r,n){"use strict";r.__esModule=!0,r.ImageButtonItem=r.ImageButton=void 0;var e=n(89005),a=n(79140),t=n(35840),o=n(55937),s=n(1331),y=n(62147),V=["className","asset","color","title","vertical","content","selected","disabled","disabledContent","image","imageUrl","imageAsset","imageSize","tooltip","tooltipPosition","ellipsis","children","onClick"],k=["className","color","content","horizontal","selected","disabled","disabledContent","tooltip","tooltipPosition","icon","iconColor","iconPosition","iconRotation","iconSize","onClick","children"];/** + */function y(p,i){if(p==null)return{};var l={};for(var f in p)if({}.hasOwnProperty.call(p,f)){if(i.includes(f))continue;l[f]=p[f]}return l}var V=/-o$/,k=r.Icon=function(){function p(i){var l=i.name,f=i.size,u=i.spin,s=i.className,m=i.style,c=m===void 0?{}:m,v=i.rotation,b=i.inverse,g=y(i,o);f&&(c["font-size"]=f*100+"%"),typeof v=="number"&&(c.transform="rotate("+v+"deg)");var h=V.test(l),C=l.replace(V,"");return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({as:"i",className:(0,a.classes)(["Icon",s,h?"far":"fas","fa-"+C,u&&"fa-spin"]),style:c},g)))}return p}();k.defaultHooks=a.pureComponentHooks;var S=r.IconStack=function(){function p(i){var l=i.className,f=i.style,u=f===void 0?{}:f,s=i.children,m=y(i,d);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({as:"span",class:(0,a.classes)(["IconStack",l]),style:u},m,{children:s})))}return p}();k.Stack=S},66393:function(I,r,n){"use strict";r.__esModule=!0,r.ImageButtonItem=r.ImageButton=void 0;var e=n(89005),a=n(79140),t=n(35840),o=n(55937),d=n(1331),y=n(62147),V=["className","asset","color","title","vertical","content","selected","disabled","disabledContent","image","imageUrl","imageAsset","imageSize","tooltip","tooltipPosition","ellipsis","children","onClick"],k=["className","color","content","horizontal","selected","disabled","disabledContent","tooltip","tooltipPosition","icon","iconColor","iconPosition","iconRotation","iconSize","onClick","children"];/** * @file * @copyright 2024 Aylong (https://github.com/AyIong) * @license MIT - */function S(c,m){if(c==null)return{};var u={};for(var d in c)if({}.hasOwnProperty.call(c,d)){if(m.includes(d))continue;u[d]=c[d]}return u}var p=r.ImageButton=function(){function c(m){var u=m.className,d=m.asset,f=m.color,l=m.title,v=m.vertical,b=m.content,g=m.selected,h=m.disabled,C=m.disabledContent,N=m.image,x=m.imageUrl,B=m.imageAsset,L=m.imageSize,w=m.tooltip,A=m.tooltipPosition,T=m.ellipsis,E=m.children,O=m.onClick,P=S(m,V);P.onClick=function(F){!h&&O&&O(F)};var R=(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,t.classes)([v?"ImageButton__vertical":"ImageButton__horizontal",g&&"ImageButton--selected",h&&"ImageButton--disabled",f&&typeof f=="string"?O?"ImageButton--color--clickable--"+f:"ImageButton--color--"+f:O?"ImageButton--color--default--clickable":"ImageButton--color--default",u,(0,o.computeBoxClassName)(P)]),[(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__image"]),d?(0,e.createVNode)(1,"div",(0,t.classes)([B,N])):(0,e.createVNode)(1,"img",null,null,1,{src:x?(0,a.resolveAsset)(x):"data:image/jpeg;base64,"+N,style:{width:L,height:L,"-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),0),b&&(v?(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__vertical",T&&"ImageButton__content--ellipsis",g&&"ImageButton__content--selected",h&&"ImageButton__content--disabled",f&&typeof f=="string"?"ImageButton__content--color--"+f:"ImageButton__content--color--default",u,(0,o.computeBoxClassName)(P)]),h&&C?C:b,0):(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__horizontal"]),[l&&(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__horizontal--title"]),[l,(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__horizontal--divider"]))],0),(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__horizontal--content"]),b,0)],0))],0,Object.assign({tabIndex:!h&&"0"},(0,o.computeBoxProps)(P))));return w&&(R=(0,e.createComponentVNode)(2,y.Tooltip,{content:w,position:A,children:R})),(0,e.createVNode)(1,"div",(0,t.classes)([v?"ImageButton--vertical":"ImageButton--horizontal"]),[R,E],0)}return c}();p.defaultHooks=t.pureComponentHooks;var i=r.ImageButtonItem=function(){function c(m){var u=m.className,d=m.color,f=m.content,l=m.horizontal,v=m.selected,b=m.disabled,g=m.disabledContent,h=m.tooltip,C=m.tooltipPosition,N=m.icon,x=m.iconColor,B=m.iconPosition,L=m.iconRotation,w=m.iconSize,A=m.onClick,T=m.children,E=S(m,k);E.onClick=function(P){!b&&A&&A(P)};var O=(0,e.createVNode)(1,"div",null,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__item",v&&"ImageButton__item--selected",b&&"ImageButton__item--disabled",d&&typeof d=="string"?"ImageButton__item--color--"+d:"ImageButton__item--color--default",u,(0,o.computeBoxClassName)(E)]),(0,e.createVNode)(1,"div",(0,t.classes)([l&&"ImageButton__item--icon--horizontal",(0,o.computeBoxClassName)(E),u]),[N&&(B==="top"||B==="left")&&(0,e.createComponentVNode)(2,s.Icon,{mb:.5,name:N,color:x,rotation:L,size:w}),(0,e.createVNode)(1,"div",null,[b&&g?g:f,T],0),N&&!(B==="top"||B==="left")&&(0,e.createComponentVNode)(2,s.Icon,{mt:.5,name:N,color:x,rotation:L,size:w})],0),2,Object.assign({tabIndex:!b&&"0"},(0,o.computeBoxProps)(E)))),2);return h&&(O=(0,e.createComponentVNode)(2,y.Tooltip,{content:h,position:C,children:O})),O}return c}();p.Item=i},79652:function(I,r,n){"use strict";r.__esModule=!0,r.toInputValue=r.Input=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(92986),s=["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder","autofocus","disabled","multiline","cols","rows"],y=["className","fluid","monospace"];function V(c,m){if(c==null)return{};var u={};for(var d in c)if({}.hasOwnProperty.call(c,d)){if(m.includes(d))continue;u[d]=c[d]}return u}function k(c,m){c.prototype=Object.create(m.prototype),c.prototype.constructor=c,S(c,m)}function S(c,m){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(u,d){return u.__proto__=d,u},S(c,m)}/** + */function S(l,f){if(l==null)return{};var u={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(f.includes(s))continue;u[s]=l[s]}return u}var p=r.ImageButton=function(){function l(f){var u=f.className,s=f.asset,m=f.color,c=f.title,v=f.vertical,b=f.content,g=f.selected,h=f.disabled,C=f.disabledContent,N=f.image,x=f.imageUrl,B=f.imageAsset,L=f.imageSize,w=f.tooltip,A=f.tooltipPosition,T=f.ellipsis,E=f.children,O=f.onClick,P=S(f,V);P.onClick=function(F){!h&&O&&O(F)};var R=(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,t.classes)([v?"ImageButton__vertical":"ImageButton__horizontal",g&&"ImageButton--selected",h&&"ImageButton--disabled",m&&typeof m=="string"?O?"ImageButton--color--clickable--"+m:"ImageButton--color--"+m:O?"ImageButton--color--default--clickable":"ImageButton--color--default",u,(0,o.computeBoxClassName)(P)]),[(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__image"]),s?(0,e.createVNode)(1,"div",(0,t.classes)([B,N])):(0,e.createVNode)(1,"img",null,null,1,{src:x?(0,a.resolveAsset)(x):"data:image/jpeg;base64,"+N,style:{width:L,height:L,"-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),0),b&&(v?(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__vertical",T&&"ImageButton__content--ellipsis",g&&"ImageButton__content--selected",h&&"ImageButton__content--disabled",m&&typeof m=="string"?"ImageButton__content--color--"+m:"ImageButton__content--color--default",u,(0,o.computeBoxClassName)(P)]),h&&C?C:b,0):(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__horizontal"]),[c&&(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__horizontal--title"]),[c,(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__horizontal--divider"]))],0),(0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__content__horizontal--content"]),b,0)],0))],0,Object.assign({tabIndex:!h&&"0"},(0,o.computeBoxProps)(P))));return w&&(R=(0,e.createComponentVNode)(2,y.Tooltip,{content:w,position:A,children:R})),(0,e.createVNode)(1,"div",(0,t.classes)([v?"ImageButton--vertical":"ImageButton--horizontal"]),[R,E],0)}return l}();p.defaultHooks=t.pureComponentHooks;var i=r.ImageButtonItem=function(){function l(f){var u=f.className,s=f.color,m=f.content,c=f.horizontal,v=f.selected,b=f.disabled,g=f.disabledContent,h=f.tooltip,C=f.tooltipPosition,N=f.icon,x=f.iconColor,B=f.iconPosition,L=f.iconRotation,w=f.iconSize,A=f.onClick,T=f.children,E=S(f,k);E.onClick=function(P){!b&&A&&A(P)};var O=(0,e.createVNode)(1,"div",null,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,t.classes)(["ImageButton__item",v&&"ImageButton__item--selected",b&&"ImageButton__item--disabled",s&&typeof s=="string"?"ImageButton__item--color--"+s:"ImageButton__item--color--default",u,(0,o.computeBoxClassName)(E)]),(0,e.createVNode)(1,"div",(0,t.classes)([c&&"ImageButton__item--icon--horizontal",(0,o.computeBoxClassName)(E),u]),[N&&(B==="top"||B==="left")&&(0,e.createComponentVNode)(2,d.Icon,{mb:.5,name:N,color:x,rotation:L,size:w}),(0,e.createVNode)(1,"div",null,[b&&g?g:m,T],0),N&&!(B==="top"||B==="left")&&(0,e.createComponentVNode)(2,d.Icon,{mt:.5,name:N,color:x,rotation:L,size:w})],0),2,Object.assign({tabIndex:!b&&"0"},(0,o.computeBoxProps)(E)))),2);return h&&(O=(0,e.createComponentVNode)(2,y.Tooltip,{content:h,position:C,children:O})),O}return l}();p.Item=i},79652:function(I,r,n){"use strict";r.__esModule=!0,r.toInputValue=r.Input=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(92986),d=["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder","autofocus","disabled","multiline","cols","rows"],y=["className","fluid","monospace"];function V(l,f){if(l==null)return{};var u={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(f.includes(s))continue;u[s]=l[s]}return u}function k(l,f){l.prototype=Object.create(f.prototype),l.prototype.constructor=l,S(l,f)}function S(l,f){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(u,s){return u.__proto__=s,u},S(l,f)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var p=r.toInputValue=function(){function c(m){return typeof m!="number"&&typeof m!="string"?"":String(m)}return c}(),i=r.Input=function(c){function m(){var d;return d=c.call(this)||this,d.inputRef=(0,e.createRef)(),d.state={editing:!1},d.handleInput=function(f){var l=d.state.editing,v=d.props.onInput;l||d.setEditing(!0),v&&v(f,f.target.value)},d.handleFocus=function(f){var l=d.state.editing;l||d.setEditing(!0)},d.handleBlur=function(f){var l=d.state.editing,v=d.props.onChange;l&&(d.setEditing(!1),v&&v(f,f.target.value))},d.handleKeyDown=function(f){var l=d.props,v=l.onInput,b=l.onChange,g=l.onEnter;if(f.keyCode===o.KEY_ENTER){d.setEditing(!1),b&&b(f,f.target.value),v&&v(f,f.target.value),g&&g(f,f.target.value),d.props.selfClear?f.target.value="":f.target.blur();return}if(f.keyCode===o.KEY_ESCAPE){d.setEditing(!1),f.target.value=p(d.props.value),f.target.blur();return}},d}k(m,c);var u=m.prototype;return u.componentDidMount=function(){function d(){var f=this,l=this.props.value,v=this.inputRef.current;v&&(v.value=p(l),v.selectionStart=0,v.selectionEnd=v.value.length),(this.props.autoFocus||this.props.autoSelect)&&setTimeout(function(){v.focus(),f.props.autoSelect&&v.select()},1)}return d}(),u.componentDidUpdate=function(){function d(f,l){var v=this.state.editing,b=f.value,g=this.props.value,h=this.inputRef.current;h&&!v&&b!==g&&(h.value=p(g))}return d}(),u.setEditing=function(){function d(f){this.setState({editing:f})}return d}(),u.render=function(){function d(){var f=this.props,l=f.selfClear,v=f.onInput,b=f.onChange,g=f.onEnter,h=f.value,C=f.maxLength,N=f.placeholder,x=f.autofocus,B=f.disabled,L=f.multiline,w=f.cols,A=w===void 0?32:w,T=f.rows,E=T===void 0?4:T,O=V(f,s),P=O.className,R=O.fluid,F=O.monospace,j=V(O,y);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["Input",R&&"Input--fluid",F&&"Input--monospace",B&&"Input--disabled",P])},j,{children:[(0,e.createVNode)(1,"div","Input__baseline",".",16),L?(0,e.createVNode)(128,"textarea","Input__textarea",null,1,{placeholder:N,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,maxLength:C,cols:A,rows:E,disabled:B},null,this.inputRef):(0,e.createVNode)(64,"input","Input__input",null,1,{placeholder:N,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:C,disabled:B},null,this.inputRef)]})))}return d}(),m}(e.Component)},76334:function(I,r,n){"use strict";r.__esModule=!0,r.Knob=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(55937),s=n(20342),y=n(59263),V=["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children","popUpPosition"];/** +*/var p=r.toInputValue=function(){function l(f){return typeof f!="number"&&typeof f!="string"?"":String(f)}return l}(),i=r.Input=function(l){function f(){var s;return s=l.call(this)||this,s.inputRef=(0,e.createRef)(),s.state={editing:!1},s.handleInput=function(m){var c=s.state.editing,v=s.props.onInput;c||s.setEditing(!0),v&&v(m,m.target.value)},s.handleFocus=function(m){var c=s.state.editing;c||s.setEditing(!0)},s.handleBlur=function(m){var c=s.state.editing,v=s.props.onChange;c&&(s.setEditing(!1),v&&v(m,m.target.value))},s.handleKeyDown=function(m){var c=s.props,v=c.onInput,b=c.onChange,g=c.onEnter;if(m.keyCode===o.KEY_ENTER){s.setEditing(!1),b&&b(m,m.target.value),v&&v(m,m.target.value),g&&g(m,m.target.value),s.props.selfClear?m.target.value="":m.target.blur();return}if(m.keyCode===o.KEY_ESCAPE){s.setEditing(!1),m.target.value=p(s.props.value),m.target.blur();return}},s}k(f,l);var u=f.prototype;return u.componentDidMount=function(){function s(){var m=this,c=this.props.value,v=this.inputRef.current;v&&(v.value=p(c),v.selectionStart=0,v.selectionEnd=v.value.length),(this.props.autoFocus||this.props.autoSelect)&&setTimeout(function(){v.focus(),m.props.autoSelect&&v.select()},1)}return s}(),u.componentDidUpdate=function(){function s(m,c){var v=this.state.editing,b=m.value,g=this.props.value,h=this.inputRef.current;h&&!v&&b!==g&&(h.value=p(g))}return s}(),u.setEditing=function(){function s(m){this.setState({editing:m})}return s}(),u.render=function(){function s(){var m=this.props,c=m.selfClear,v=m.onInput,b=m.onChange,g=m.onEnter,h=m.value,C=m.maxLength,N=m.placeholder,x=m.autofocus,B=m.disabled,L=m.multiline,w=m.cols,A=w===void 0?32:w,T=m.rows,E=T===void 0?4:T,O=V(m,d),P=O.className,R=O.fluid,F=O.monospace,j=V(O,y);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["Input",R&&"Input--fluid",F&&"Input--monospace",B&&"Input--disabled",P])},j,{children:[(0,e.createVNode)(1,"div","Input__baseline",".",16),L?(0,e.createVNode)(128,"textarea","Input__textarea",null,1,{placeholder:N,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,maxLength:C,cols:A,rows:E,disabled:B},null,this.inputRef):(0,e.createVNode)(64,"input","Input__input",null,1,{placeholder:N,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:C,disabled:B},null,this.inputRef)]})))}return s}(),f}(e.Component)},76334:function(I,r,n){"use strict";r.__esModule=!0,r.Knob=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(55937),d=n(20342),y=n(59263),V=["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children","popUpPosition"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function k(p,i){if(p==null)return{};var c={};for(var m in p)if({}.hasOwnProperty.call(p,m)){if(i.includes(m))continue;c[m]=p[m]}return c}var S=r.Knob=function(){function p(i){var c=i.animated,m=i.format,u=i.maxValue,d=i.minValue,f=i.onChange,l=i.onDrag,v=i.step,b=i.stepPixelSize,g=i.suppressFlicker,h=i.unit,C=i.value,N=i.className,x=i.style,B=i.fillValue,L=i.color,w=i.ranges,A=w===void 0?{}:w,T=i.size,E=T===void 0?1:T,O=i.bipolar,P=i.children,R=i.popUpPosition,F=k(i,V);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,s.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:c,format:m,maxValue:u,minValue:d,onChange:f,onDrag:l,step:v,stepPixelSize:b,suppressFlicker:g,unit:h,value:C},{children:function(){function j(W){var H=W.dragging,z=W.editing,Y=W.value,G=W.displayValue,ne=W.displayElement,Q=W.inputElement,he=W.handleDragStart,Ve=(0,a.scale)(B!=null?B:G,d,u),Ne=(0,a.scale)(G,d,u),Be=L||(0,a.keyOfMatchingRange)(B!=null?B:Y,A)||"default",Le=(Ne-.5)*270;return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,t.classes)(["Knob","Knob--color--"+Be,O&&"Knob--bipolar",N,(0,o.computeBoxClassName)(F)]),[(0,e.createVNode)(1,"div","Knob__circle",(0,e.createVNode)(1,"div","Knob__cursorBox",(0,e.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+Le+"deg)"}}),2),H&&(0,e.createVNode)(1,"div",(0,t.classes)(["Knob__popupValue",R&&"Knob__popupValue--"+R]),ne,0),(0,e.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,e.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,e.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,e.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((O?2.75:2)-Ve*1.5)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),Q],0,Object.assign({},(0,o.computeBoxProps)(Object.assign({style:Object.assign({"font-size":E+"em"},x)},F)),{onMouseDown:he})))}return j}()})))}return p}()},78621:function(I,r,n){"use strict";r.__esModule=!0,r.LabeledControls=void 0;var e=n(89005),a=n(39473),t=["children"],o=["label","children"];/** + */function k(p,i){if(p==null)return{};var l={};for(var f in p)if({}.hasOwnProperty.call(p,f)){if(i.includes(f))continue;l[f]=p[f]}return l}var S=r.Knob=function(){function p(i){var l=i.animated,f=i.format,u=i.maxValue,s=i.minValue,m=i.onChange,c=i.onDrag,v=i.step,b=i.stepPixelSize,g=i.suppressFlicker,h=i.unit,C=i.value,N=i.className,x=i.style,B=i.fillValue,L=i.color,w=i.ranges,A=w===void 0?{}:w,T=i.size,E=T===void 0?1:T,O=i.bipolar,P=i.children,R=i.popUpPosition,F=k(i,V);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,d.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:l,format:f,maxValue:u,minValue:s,onChange:m,onDrag:c,step:v,stepPixelSize:b,suppressFlicker:g,unit:h,value:C},{children:function(){function j(W){var z=W.dragging,H=W.editing,$=W.value,G=W.displayValue,ne=W.displayElement,Q=W.inputElement,he=W.handleDragStart,Ve=(0,a.scale)(B!=null?B:G,s,u),Ne=(0,a.scale)(G,s,u),Be=L||(0,a.keyOfMatchingRange)(B!=null?B:$,A)||"default",Le=(Ne-.5)*270;return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,t.classes)(["Knob","Knob--color--"+Be,O&&"Knob--bipolar",N,(0,o.computeBoxClassName)(F)]),[(0,e.createVNode)(1,"div","Knob__circle",(0,e.createVNode)(1,"div","Knob__cursorBox",(0,e.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+Le+"deg)"}}),2),z&&(0,e.createVNode)(1,"div",(0,t.classes)(["Knob__popupValue",R&&"Knob__popupValue--"+R]),ne,0),(0,e.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,e.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,e.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,e.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((O?2.75:2)-Ve*1.5)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),Q],0,Object.assign({},(0,o.computeBoxProps)(Object.assign({style:Object.assign({"font-size":E+"em"},x)},F)),{onMouseDown:he})))}return j}()})))}return p}()},78621:function(I,r,n){"use strict";r.__esModule=!0,r.LabeledControls=void 0;var e=n(89005),a=n(39473),t=["children"],o=["label","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function s(k,S){if(k==null)return{};var p={};for(var i in k)if({}.hasOwnProperty.call(k,i)){if(S.includes(i))continue;p[i]=k[i]}return p}var y=r.LabeledControls=function(){function k(S){var p=S.children,i=s(S,t);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},i,{children:p})))}return k}(),V=function(S){var p=S.label,i=S.children,c=s(S,o);return(0,e.createComponentVNode)(2,a.Flex.Item,{mx:1,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},c,{children:[(0,e.createComponentVNode)(2,a.Flex.Item),(0,e.createComponentVNode)(2,a.Flex.Item,{children:i}),(0,e.createComponentVNode)(2,a.Flex.Item,{color:"label",children:p})]})))})};y.Item=V},29319:function(I,r,n){"use strict";r.__esModule=!0,r.LabeledList=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(13605),s=n(62147);/** + */function d(k,S){if(k==null)return{};var p={};for(var i in k)if({}.hasOwnProperty.call(k,i)){if(S.includes(i))continue;p[i]=k[i]}return p}var y=r.LabeledControls=function(){function k(S){var p=S.children,i=d(S,t);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},i,{children:p})))}return k}(),V=function(S){var p=S.label,i=S.children,l=d(S,o);return(0,e.createComponentVNode)(2,a.Flex.Item,{mx:1,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},l,{children:[(0,e.createComponentVNode)(2,a.Flex.Item),(0,e.createComponentVNode)(2,a.Flex.Item,{children:i}),(0,e.createComponentVNode)(2,a.Flex.Item,{color:"label",children:p})]})))})};y.Item=V},29319:function(I,r,n){"use strict";r.__esModule=!0,r.LabeledList=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(13605),d=n(62147);/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var y=r.LabeledList=function(){function S(p){var i=p.children;return(0,e.createVNode)(1,"table","LabeledList",i,0)}return S}();y.defaultHooks=a.pureComponentHooks;var V=function(p){var i=p.className,c=p.label,m=p.labelColor,u=m===void 0?"label":m,d=p.color,f=p.textAlign,l=p.buttons,v=p.tooltip,b=p.content,g=p.children,h=(0,e.createVNode)(1,"tr",(0,a.classes)(["LabeledList__row",i]),[(0,e.createComponentVNode)(2,t.Box,{as:"td",color:u,className:(0,a.classes)(["LabeledList__cell","LabeledList__label"]),children:c?c+":":null}),(0,e.createComponentVNode)(2,t.Box,{as:"td",color:d,textAlign:f,className:(0,a.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:l?void 0:2,children:[b,g]}),l&&(0,e.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",l,0)],0);return v&&(h=(0,e.createComponentVNode)(2,s.Tooltip,{content:v,children:h})),h};V.defaultHooks=a.pureComponentHooks;var k=function(p){var i=p.size?(0,t.unit)(Math.max(0,p.size-1)):0;return(0,e.createVNode)(1,"tr","LabeledList__row",(0,e.createVNode)(1,"td",null,(0,e.createComponentVNode)(2,o.Divider),2,{colSpan:3,style:{"padding-top":i,"padding-bottom":i}}),2)};k.defaultHooks=a.pureComponentHooks,y.Item=V,y.Divider=k},36077:function(I,r,n){"use strict";r.__esModule=!0,r.Modal=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(61940),s=["className","children","onEnter"];/** + */var y=r.LabeledList=function(){function S(p){var i=p.children;return(0,e.createVNode)(1,"table","LabeledList",i,0)}return S}();y.defaultHooks=a.pureComponentHooks;var V=function(p){var i=p.className,l=p.label,f=p.labelColor,u=f===void 0?"label":f,s=p.color,m=p.textAlign,c=p.buttons,v=p.tooltip,b=p.content,g=p.children,h=(0,e.createVNode)(1,"tr",(0,a.classes)(["LabeledList__row",i]),[(0,e.createComponentVNode)(2,t.Box,{as:"td",color:u,className:(0,a.classes)(["LabeledList__cell","LabeledList__label"]),children:l?l+":":null}),(0,e.createComponentVNode)(2,t.Box,{as:"td",color:s,textAlign:m,className:(0,a.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:c?void 0:2,children:[b,g]}),c&&(0,e.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",c,0)],0);return v&&(h=(0,e.createComponentVNode)(2,d.Tooltip,{content:v,children:h})),h};V.defaultHooks=a.pureComponentHooks;var k=function(p){var i=p.size?(0,t.unit)(Math.max(0,p.size-1)):0;return(0,e.createVNode)(1,"tr","LabeledList__row",(0,e.createVNode)(1,"td",null,(0,e.createComponentVNode)(2,o.Divider),2,{colSpan:3,style:{"padding-top":i,"padding-bottom":i}}),2)};k.defaultHooks=a.pureComponentHooks,y.Item=V,y.Divider=k},36077:function(I,r,n){"use strict";r.__esModule=!0,r.Modal=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(61940),d=["className","children","onEnter"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function y(k,S){if(k==null)return{};var p={};for(var i in k)if({}.hasOwnProperty.call(k,i)){if(S.includes(i))continue;p[i]=k[i]}return p}var V=r.Modal=function(){function k(S){var p=S.className,i=S.children,c=S.onEnter,m=y(S,s),u;return c&&(u=function(){function d(f){f.keyCode===13&&c(f)}return d}()),(0,e.createComponentVNode)(2,o.Dimmer,{onKeyDown:u,children:(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Modal",p,(0,t.computeBoxClassName)(m)]),i,0,Object.assign({},(0,t.computeBoxProps)(m))))})}return k}()},73280:function(I,r,n){"use strict";r.__esModule=!0,r.NanoMap=void 0;var e=n(89005),a=n(36036),t=n(72253),o=n(29319),s=n(79911),y=n(79140);function V(u,d){u.prototype=Object.create(d.prototype),u.prototype.constructor=u,k(u,d)}function k(u,d){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(f,l){return f.__proto__=l,f},k(u,d)}var S=function(d){return d.stopPropagation&&d.stopPropagation(),d.preventDefault&&d.preventDefault(),d.cancelBubble=!0,d.returnValue=!1,!1},p=r.NanoMap=function(u){function d(l){var v;v=u.call(this,l)||this;var b=window.innerWidth/2-256,g=window.innerHeight/2-256;return v.state={offsetX:128,offsetY:48,transform:"none",dragging:!1,originX:null,originY:null,zoom:1},v.handleDragStart=function(h){v.ref=h.target,v.setState({dragging:!1,originX:h.screenX,originY:h.screenY}),document.addEventListener("mousemove",v.handleDragMove),document.addEventListener("mouseup",v.handleDragEnd),S(h)},v.handleDragMove=function(h){v.setState(function(C){var N=Object.assign({},C),x=h.screenX-N.originX,B=h.screenY-N.originY;return C.dragging?(N.offsetX+=x,N.offsetY+=B,N.originX=h.screenX,N.originY=h.screenY):N.dragging=!0,N}),S(h)},v.handleDragEnd=function(h){v.setState({dragging:!1,originX:null,originY:null}),document.removeEventListener("mousemove",v.handleDragMove),document.removeEventListener("mouseup",v.handleDragEnd),S(h)},v.handleZoom=function(h,C){v.setState(function(N){var x=Math.min(Math.max(C,1),8),B=(x-N.zoom)*1.5;return N.zoom=x,N.offsetX=N.offsetX-262*B,N.offsetY=N.offsetY-256*B,l.onZoom&&l.onZoom(N.zoom),N})},v.handleZChange=function(h){l.setZCurrent(h)},v}V(d,u);var f=d.prototype;return f.render=function(){function l(){var v=(0,t.useBackend)(this.context),b=v.config,g=this.state,h=g.dragging,C=g.offsetX,N=g.offsetY,x=g.zoom,B=x===void 0?1:x,L=this.props.children,w=b.map+"_nanomap_z"+(this.props.zLevels.indexOf(this.props.z_current)+1)+".png",A=510*B+"px",T={width:A,height:A,"margin-top":N+"px","margin-left":C+"px",overflow:"hidden",position:"relative","background-size":"cover","background-repeat":"no-repeat","text-align":"center",cursor:h?"move":"auto"},E={width:"100%",height:"100%",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"};return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__container",children:[(0,e.createComponentVNode)(2,a.Box,{style:T,onMouseDown:this.handleDragStart,children:[(0,e.createVNode)(1,"img",null,null,1,{src:(0,y.resolveAsset)(w),style:E}),(0,e.createComponentVNode)(2,a.Box,{children:L})]}),(0,e.createComponentVNode)(2,c,{zoom:B,onZoom:this.handleZoom}),(0,e.createComponentVNode)(2,m,{z_current:this.props.z_current,z_levels:this.props.zLevels,z_names:this.props.zNames,onZChange:this.handleZChange})]})}return l}(),d}(e.Component),i=function(d,f){var l=d.x,v=d.y,b=d.z,g=d.z_current,h=d.zoom,C=h===void 0?1:h,N=d.icon,x=d.tooltip,B=d.color,L=d.bordered,w=d.onClick;if(g!==b)return null;var A=l*2*C-C-3,T=v*2*C-C-3;return(0,e.createVNode)(1,"div",null,(0,e.createComponentVNode)(2,a.Tooltip,{content:x,children:(0,e.createComponentVNode)(2,a.Box,{position:"absolute",className:L?"NanoMap__marker__bordered":"NanoMap__marker",lineHeight:"0",bottom:T+"px",left:A+"px",onClick:w,children:(0,e.createComponentVNode)(2,a.Icon,{name:N,color:B,fontSize:"6px"})})}),2)};p.Marker=i;var c=function(d,f){return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__zoomer",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Zoom",children:(0,e.createComponentVNode)(2,s.Slider,{minValue:1,maxValue:8,stepPixelSize:10,format:function(){function l(v){return v+"x"}return l}(),value:d.zoom,onDrag:function(){function l(v,b){return d.onZoom(v,b)}return l}()})})})})};p.Zoomer=c;var m=function(d){if(d.z_levels.length!==1)return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__zlevel",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Z-level",children:(0,e.createComponentVNode)(2,a.Dropdown,{width:"100%",selected:d.z_names[d.z_levels.indexOf(d.z_current)],options:d.z_names,onSelected:function(){function f(l){return d.onZChange(d.z_levels[d.z_names.indexOf(l)])}return f}()})})})})}},74733:function(I,r,n){"use strict";r.__esModule=!0,r.NoticeBox=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","color","info","warning","success","danger"];/** + */function y(k,S){if(k==null)return{};var p={};for(var i in k)if({}.hasOwnProperty.call(k,i)){if(S.includes(i))continue;p[i]=k[i]}return p}var V=r.Modal=function(){function k(S){var p=S.className,i=S.children,l=S.onEnter,f=y(S,d),u;return l&&(u=function(){function s(m){m.keyCode===13&&l(m)}return s}()),(0,e.createComponentVNode)(2,o.Dimmer,{onKeyDown:u,children:(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Modal",p,(0,t.computeBoxClassName)(f)]),i,0,Object.assign({},(0,t.computeBoxProps)(f))))})}return k}()},73280:function(I,r,n){"use strict";r.__esModule=!0,r.NanoMap=void 0;var e=n(89005),a=n(36036),t=n(72253),o=n(29319),d=n(79911),y=n(79140);function V(u,s){u.prototype=Object.create(s.prototype),u.prototype.constructor=u,k(u,s)}function k(u,s){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(m,c){return m.__proto__=c,m},k(u,s)}var S=function(s){return s.stopPropagation&&s.stopPropagation(),s.preventDefault&&s.preventDefault(),s.cancelBubble=!0,s.returnValue=!1,!1},p=r.NanoMap=function(u){function s(c){var v;v=u.call(this,c)||this;var b=window.innerWidth/2-256,g=window.innerHeight/2-256;return v.state={offsetX:128,offsetY:48,transform:"none",dragging:!1,originX:null,originY:null,zoom:1},v.handleDragStart=function(h){v.ref=h.target,v.setState({dragging:!1,originX:h.screenX,originY:h.screenY}),document.addEventListener("mousemove",v.handleDragMove),document.addEventListener("mouseup",v.handleDragEnd),S(h)},v.handleDragMove=function(h){v.setState(function(C){var N=Object.assign({},C),x=h.screenX-N.originX,B=h.screenY-N.originY;return C.dragging?(N.offsetX+=x,N.offsetY+=B,N.originX=h.screenX,N.originY=h.screenY):N.dragging=!0,N}),S(h)},v.handleDragEnd=function(h){v.setState({dragging:!1,originX:null,originY:null}),document.removeEventListener("mousemove",v.handleDragMove),document.removeEventListener("mouseup",v.handleDragEnd),S(h)},v.handleZoom=function(h,C){v.setState(function(N){var x=Math.min(Math.max(C,1),8),B=(x-N.zoom)*1.5;return N.zoom=x,N.offsetX=N.offsetX-262*B,N.offsetY=N.offsetY-256*B,c.onZoom&&c.onZoom(N.zoom),N})},v.handleZChange=function(h){c.setZCurrent(h)},v}V(s,u);var m=s.prototype;return m.render=function(){function c(){var v=(0,t.useBackend)(this.context),b=v.config,g=this.state,h=g.dragging,C=g.offsetX,N=g.offsetY,x=g.zoom,B=x===void 0?1:x,L=this.props.children,w=b.map+"_nanomap_z"+(this.props.zLevels.indexOf(this.props.z_current)+1)+".png",A=510*B+"px",T={width:A,height:A,"margin-top":N+"px","margin-left":C+"px",overflow:"hidden",position:"relative","background-size":"cover","background-repeat":"no-repeat","text-align":"center",cursor:h?"move":"auto"},E={width:"100%",height:"100%",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"};return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__container",children:[(0,e.createComponentVNode)(2,a.Box,{style:T,onMouseDown:this.handleDragStart,children:[(0,e.createVNode)(1,"img",null,null,1,{src:(0,y.resolveAsset)(w),style:E}),(0,e.createComponentVNode)(2,a.Box,{children:L})]}),(0,e.createComponentVNode)(2,l,{zoom:B,onZoom:this.handleZoom}),(0,e.createComponentVNode)(2,f,{z_current:this.props.z_current,z_levels:this.props.zLevels,z_names:this.props.zNames,onZChange:this.handleZChange})]})}return c}(),s}(e.Component),i=function(s,m){var c=s.x,v=s.y,b=s.z,g=s.z_current,h=s.zoom,C=h===void 0?1:h,N=s.icon,x=s.tooltip,B=s.color,L=s.bordered,w=s.onClick;if(g!==b)return null;var A=c*2*C-C-3,T=v*2*C-C-3;return(0,e.createVNode)(1,"div",null,(0,e.createComponentVNode)(2,a.Tooltip,{content:x,children:(0,e.createComponentVNode)(2,a.Box,{position:"absolute",className:L?"NanoMap__marker__bordered":"NanoMap__marker",lineHeight:"0",bottom:T+"px",left:A+"px",onClick:w,children:(0,e.createComponentVNode)(2,a.Icon,{name:N,color:B,fontSize:"6px"})})}),2)};p.Marker=i;var l=function(s,m){return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__zoomer",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Zoom",children:(0,e.createComponentVNode)(2,d.Slider,{minValue:1,maxValue:8,stepPixelSize:10,format:function(){function c(v){return v+"x"}return c}(),value:s.zoom,onDrag:function(){function c(v,b){return s.onZoom(v,b)}return c}()})})})})};p.Zoomer=l;var f=function(s){if(s.z_levels.length!==1)return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__zlevel",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Z-level",children:(0,e.createComponentVNode)(2,a.Dropdown,{width:"100%",selected:s.z_names[s.z_levels.indexOf(s.z_current)],options:s.z_names,onSelected:function(){function m(c){return s.onZChange(s.z_levels[s.z_names.indexOf(c)])}return m}()})})})})}},74733:function(I,r,n){"use strict";r.__esModule=!0,r.NoticeBox=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","color","info","warning","success","danger"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function s(V,k){if(V==null)return{};var S={};for(var p in V)if({}.hasOwnProperty.call(V,p)){if(k.includes(p))continue;S[p]=V[p]}return S}var y=r.NoticeBox=function(){function V(k){var S=k.className,p=k.color,i=k.info,c=k.warning,m=k.success,u=k.danger,d=s(k,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["NoticeBox",p&&"NoticeBox--color--"+p,i&&"NoticeBox--type--info",m&&"NoticeBox--type--success",u&&"NoticeBox--type--danger",S])},d)))}return V}();y.defaultHooks=a.pureComponentHooks},59263:function(I,r,n){"use strict";r.__esModule=!0,r.NumberInput=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(9474),s=n(55937);function y(p,i){p.prototype=Object.create(i.prototype),p.prototype.constructor=p,V(p,i)}function V(p,i){return V=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,m){return c.__proto__=m,c},V(p,i)}/** + */function d(V,k){if(V==null)return{};var S={};for(var p in V)if({}.hasOwnProperty.call(V,p)){if(k.includes(p))continue;S[p]=V[p]}return S}var y=r.NoticeBox=function(){function V(k){var S=k.className,p=k.color,i=k.info,l=k.warning,f=k.success,u=k.danger,s=d(k,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["NoticeBox",p&&"NoticeBox--color--"+p,i&&"NoticeBox--type--info",f&&"NoticeBox--type--success",u&&"NoticeBox--type--danger",S])},s)))}return V}();y.defaultHooks=a.pureComponentHooks},59263:function(I,r,n){"use strict";r.__esModule=!0,r.NumberInput=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(9474),d=n(55937);function y(p,i){p.prototype=Object.create(i.prototype),p.prototype.constructor=p,V(p,i)}function V(p,i){return V=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(l,f){return l.__proto__=f,l},V(p,i)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var k=400,S=r.NumberInput=function(p){function i(m){var u;u=p.call(this,m)||this;var d=m.value;return u.inputRef=(0,e.createRef)(),u.state={value:d,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},u.flickerTimer=null,u.suppressFlicker=function(){var f=u.props.suppressFlicker;f>0&&(u.setState({suppressingFlicker:!0}),clearTimeout(u.flickerTimer),u.flickerTimer=setTimeout(function(){return u.setState({suppressingFlicker:!1})},f))},u.handleDragStart=function(f){var l=u.props.value,v=u.state.editing;v||(document.body.style["pointer-events"]="none",u.ref=f.target,u.setState({dragging:!1,origin:f.screenY,value:l,internalValue:l}),u.timer=setTimeout(function(){u.setState({dragging:!0})},250),u.dragInterval=setInterval(function(){var b=u.state,g=b.dragging,h=b.value,C=u.props.onDrag;g&&C&&C(f,h)},u.props.updateRate||k),document.addEventListener("mousemove",u.handleDragMove),document.addEventListener("mouseup",u.handleDragEnd))},u.handleDragMove=function(f){var l=u.props,v=l.minValue,b=l.maxValue,g=l.step,h=l.stepPixelSize;u.setState(function(C){var N=Object.assign({},C),x=N.origin-f.screenY;if(C.dragging){var B=Number.isFinite(v)?v%g:0;N.internalValue=(0,a.clamp)(N.internalValue+x*g/h,v-g,b+g),N.value=(0,a.clamp)(N.internalValue-N.internalValue%g+B,v,b),N.origin=f.screenY}else Math.abs(x)>4&&(N.dragging=!0);return N})},u.handleDragEnd=function(f){var l=u.props,v=l.onChange,b=l.onDrag,g=u.state,h=g.dragging,C=g.value,N=g.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(u.timer),clearInterval(u.dragInterval),u.setState({dragging:!1,editing:!h,origin:null}),document.removeEventListener("mousemove",u.handleDragMove),document.removeEventListener("mouseup",u.handleDragEnd),h)u.suppressFlicker(),v&&v(f,C),b&&b(f,C);else if(u.inputRef){var x=u.inputRef.current;x.value=N;try{x.focus(),x.select()}catch(B){}}},u}y(i,p);var c=i.prototype;return c.render=function(){function m(){var u=this,d=this.state,f=d.dragging,l=d.editing,v=d.value,b=d.suppressingFlicker,g=this.props,h=g.className,C=g.fluid,N=g.animated,x=g.value,B=g.unit,L=g.minValue,w=g.maxValue,A=g.height,T=g.width,E=g.lineHeight,O=g.fontSize,P=g.format,R=g.onChange,F=g.onDrag,j=x;(f||b)&&(j=v);var W=(0,e.createVNode)(1,"div","NumberInput__content",[N&&!f&&!b?(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:j,format:P}):P?P(j):j,B?" "+B:""],0);return(0,e.createComponentVNode)(2,s.Box,{className:(0,t.classes)(["NumberInput",C&&"NumberInput--fluid",h]),minWidth:T,minHeight:A,lineHeight:E,fontSize:O,onMouseDown:this.handleDragStart,children:[(0,e.createVNode)(1,"div","NumberInput__barContainer",(0,e.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,a.clamp)((j-L)/(w-L)*100,0,100)+"%"}}),2),W,(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:l?void 0:"none",height:A,"line-height":E,"font-size":O},onBlur:function(){function H(z){if(l){var Y=(0,a.clamp)(parseFloat(z.target.value),L,w);if(Number.isNaN(Y)){u.setState({editing:!1});return}u.setState({editing:!1,value:Y}),u.suppressFlicker(),R&&R(z,Y),F&&F(z,Y)}}return H}(),onKeyDown:function(){function H(z){if(z.keyCode===13){var Y=(0,a.clamp)(parseFloat(z.target.value),L,w);if(Number.isNaN(Y)){u.setState({editing:!1});return}u.setState({editing:!1,value:Y}),u.suppressFlicker(),R&&R(z,Y),F&&F(z,Y);return}if(z.keyCode===27){u.setState({editing:!1});return}}return H}()},null,this.inputRef)]})}return m}(),i}(e.Component);S.defaultHooks=t.pureComponentHooks,S.defaultProps={minValue:-1/0,maxValue:1/0,step:1,stepPixelSize:1,suppressFlicker:50}},50186:function(I,r,n){"use strict";r.__esModule=!0,r.Popper=void 0;var e=n(95996),a=n(89005);function t(y,V){y.prototype=Object.create(V.prototype),y.prototype.constructor=y,o(y,V)}function o(y,V){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(k,S){return k.__proto__=S,k},o(y,V)}var s=r.Popper=function(y){function V(){var S;return S=y.call(this)||this,S.renderedContent=void 0,S.popperInstance=void 0,V.id+=1,S}t(V,y);var k=V.prototype;return k.componentDidMount=function(){function S(){var p=this,i=this.props,c=i.additionalStyles,m=i.options;if(this.renderedContent=document.createElement("div"),c)for(var u=0,d=Object.entries(c);u0&&(u.setState({suppressingFlicker:!0}),clearTimeout(u.flickerTimer),u.flickerTimer=setTimeout(function(){return u.setState({suppressingFlicker:!1})},m))},u.handleDragStart=function(m){var c=u.props.value,v=u.state.editing;v||(document.body.style["pointer-events"]="none",u.ref=m.target,u.setState({dragging:!1,origin:m.screenY,value:c,internalValue:c}),u.timer=setTimeout(function(){u.setState({dragging:!0})},250),u.dragInterval=setInterval(function(){var b=u.state,g=b.dragging,h=b.value,C=u.props.onDrag;g&&C&&C(m,h)},u.props.updateRate||k),document.addEventListener("mousemove",u.handleDragMove),document.addEventListener("mouseup",u.handleDragEnd))},u.handleDragMove=function(m){var c=u.props,v=c.minValue,b=c.maxValue,g=c.step,h=c.stepPixelSize;u.setState(function(C){var N=Object.assign({},C),x=N.origin-m.screenY;if(C.dragging){var B=Number.isFinite(v)?v%g:0;N.internalValue=(0,a.clamp)(N.internalValue+x*g/h,v-g,b+g),N.value=(0,a.clamp)(N.internalValue-N.internalValue%g+B,v,b),N.origin=m.screenY}else Math.abs(x)>4&&(N.dragging=!0);return N})},u.handleDragEnd=function(m){var c=u.props,v=c.onChange,b=c.onDrag,g=u.state,h=g.dragging,C=g.value,N=g.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(u.timer),clearInterval(u.dragInterval),u.setState({dragging:!1,editing:!h,origin:null}),document.removeEventListener("mousemove",u.handleDragMove),document.removeEventListener("mouseup",u.handleDragEnd),h)u.suppressFlicker(),v&&v(m,C),b&&b(m,C);else if(u.inputRef){var x=u.inputRef.current;x.value=N;try{x.focus(),x.select()}catch(B){}}},u}y(i,p);var l=i.prototype;return l.render=function(){function f(){var u=this,s=this.state,m=s.dragging,c=s.editing,v=s.value,b=s.suppressingFlicker,g=this.props,h=g.className,C=g.fluid,N=g.animated,x=g.value,B=g.unit,L=g.minValue,w=g.maxValue,A=g.height,T=g.width,E=g.lineHeight,O=g.fontSize,P=g.format,R=g.onChange,F=g.onDrag,j=x;(m||b)&&(j=v);var W=(0,e.createVNode)(1,"div","NumberInput__content",[N&&!m&&!b?(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:j,format:P}):P?P(j):j,B?" "+B:""],0);return(0,e.createComponentVNode)(2,d.Box,{className:(0,t.classes)(["NumberInput",C&&"NumberInput--fluid",h]),minWidth:T,minHeight:A,lineHeight:E,fontSize:O,onMouseDown:this.handleDragStart,children:[(0,e.createVNode)(1,"div","NumberInput__barContainer",(0,e.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,a.clamp)((j-L)/(w-L)*100,0,100)+"%"}}),2),W,(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:c?void 0:"none",height:A,"line-height":E,"font-size":O},onBlur:function(){function z(H){if(c){var $=(0,a.clamp)(parseFloat(H.target.value),L,w);if(Number.isNaN($)){u.setState({editing:!1});return}u.setState({editing:!1,value:$}),u.suppressFlicker(),R&&R(H,$),F&&F(H,$)}}return z}(),onKeyDown:function(){function z(H){if(H.keyCode===13){var $=(0,a.clamp)(parseFloat(H.target.value),L,w);if(Number.isNaN($)){u.setState({editing:!1});return}u.setState({editing:!1,value:$}),u.suppressFlicker(),R&&R(H,$),F&&F(H,$);return}if(H.keyCode===27){u.setState({editing:!1});return}}return z}()},null,this.inputRef)]})}return f}(),i}(e.Component);S.defaultHooks=t.pureComponentHooks,S.defaultProps={minValue:-1/0,maxValue:1/0,step:1,stepPixelSize:1,suppressFlicker:50}},50186:function(I,r,n){"use strict";r.__esModule=!0,r.Popper=void 0;var e=n(95996),a=n(89005);function t(y,V){y.prototype=Object.create(V.prototype),y.prototype.constructor=y,o(y,V)}function o(y,V){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(k,S){return k.__proto__=S,k},o(y,V)}var d=r.Popper=function(y){function V(){var S;return S=y.call(this)||this,S.renderedContent=void 0,S.popperInstance=void 0,V.id+=1,S}t(V,y);var k=V.prototype;return k.componentDidMount=function(){function S(){var p=this,i=this.props,l=i.additionalStyles,f=i.options;if(this.renderedContent=document.createElement("div"),l)for(var u=0,s=Object.entries(l);um)return"in the future";c=c/10,m=m/10;var u=m-c;if(u>3600){var d=Math.round(u/3600);return d+" hour"+(d===1?"":"s")+" ago"}else if(u>60){var f=Math.round(u/60);return f+" minute"+(f===1?"":"s")+" ago"}else{var l=Math.round(u);return l+" second"+(l===1?"":"s")+" ago"}return"just now"}return i}()},40944:function(I,r,n){"use strict";r.__esModule=!0,r.KitchenSink=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595);/** +*/var i=r.TextArea=function(l){function f(s,m){var c;c=l.call(this,s,m)||this,c.textareaRef=s.innerRef||(0,e.createRef)(),c.fillerRef=(0,e.createRef)(),c.state={editing:!1};var v=s.dontUseTabForIndent,b=v===void 0?!1:v;return c.handleOnInput=function(g){var h=c.state.editing,C=c.props.onInput;h||c.setEditing(!0),C&&C(g,g.target.value)},c.handleOnChange=function(g){var h=c.state.editing,C=c.props.onChange;h&&c.setEditing(!1),C&&C(g,g.target.value)},c.handleKeyPress=function(g){var h=c.state.editing,C=c.props.onKeyPress;h||c.setEditing(!0),C&&C(g,g.target.value)},c.handleKeyDown=function(g){var h=c.state.editing,C=c.props,N=C.onChange,x=C.onInput,B=C.onEnter,L=C.onKeyDown;if(g.keyCode===d.KEY_ENTER){c.setEditing(!1),N&&N(g,g.target.value),x&&x(g,g.target.value),B&&B(g,g.target.value),c.props.selfClear&&(g.target.value="",g.target.blur());return}if(g.keyCode===d.KEY_ESCAPE){c.props.onEscape&&c.props.onEscape(g),c.setEditing(!1),c.props.selfClear?g.target.value="":(g.target.value=(0,o.toInputValue)(c.props.value),g.target.blur());return}if(h||c.setEditing(!0),L&&L(g,g.target.value),!b){var w=g.keyCode||g.which;if(w===d.KEY_TAB){g.preventDefault();var A=g.target,T=A.value,E=A.selectionStart,O=A.selectionEnd;g.target.value=T.substring(0,E)+" "+T.substring(O),g.target.selectionEnd=E+1}}},c.handleFocus=function(g){var h=c.state.editing;h||c.setEditing(!0)},c.handleBlur=function(g){var h=c.state.editing,C=c.props.onChange;h&&(c.setEditing(!1),C&&C(g,g.target.value))},c}S(f,l);var u=f.prototype;return u.componentDidMount=function(){function s(){var m=this,c=this.props.value,v=this.textareaRef.current;v&&(v.value=(0,o.toInputValue)(c)),(this.props.autoFocus||this.props.autoSelect)&&setTimeout(function(){v.focus(),m.props.autoSelect&&v.select()},1)}return s}(),u.componentDidUpdate=function(){function s(m,c){var v=m.value,b=this.props.value,g=this.textareaRef.current;g&&typeof b=="string"&&v!==b&&(g.value=(0,o.toInputValue)(b))}return s}(),u.setEditing=function(){function s(m){this.setState({editing:m})}return s}(),u.getValue=function(){function s(){return this.textareaRef.current&&this.textareaRef.current.value}return s}(),u.render=function(){function s(){var m=this.props,c=m.onChange,v=m.onKeyDown,b=m.onKeyPress,g=m.onInput,h=m.onFocus,C=m.onBlur,N=m.onEnter,x=m.value,B=m.maxLength,L=m.placeholder,w=k(m,y),A=w.className,T=w.fluid,E=k(w,V);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["TextArea",T&&"TextArea--fluid",A])},E,{children:(0,e.createVNode)(128,"textarea","TextArea__textarea",null,1,{placeholder:L,onChange:this.handleOnChange,onKeyDown:this.handleKeyDown,onKeyPress:this.handleKeyPress,onInput:this.handleOnInput,onFocus:this.handleFocus,onBlur:this.handleBlur,maxLength:B},null,this.textareaRef)})))}return s}(),f}(e.Component)},5169:function(I,r){"use strict";r.__esModule=!0,r.TimeDisplay=void 0;var n=function(t){(!t||t<0)&&(t=0);var o=Math.floor(t/60).toString(10),d=(Math.floor(t)%60).toString(10);return[o,d].map(function(y){return y.length<2?"0"+y:y}).join(":")},e=r.TimeDisplay=function(){function a(t){var o=t.totalSeconds,d=o===void 0?0:o;return n(d)}return a}()},62147:function(I,r,n){"use strict";r.__esModule=!0,r.Tooltip=void 0;var e=n(89005),a=n(95996),t;function o(S,p){S.prototype=Object.create(p.prototype),S.prototype.constructor=S,d(S,p)}function d(S,p){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,l){return i.__proto__=l,i},d(S,p)}var y={modifiers:[{name:"eventListeners",enabled:!1}]},V={width:0,height:0,top:0,right:0,bottom:0,left:0,x:0,y:0,toJSON:function(){function S(){return null}return S}()},k=r.Tooltip=function(S){function p(){return S.apply(this,arguments)||this}o(p,S);var i=p.prototype;return i.getDOMNode=function(){function l(){return(0,e.findDOMFromVNode)(this.$LI,!0)}return l}(),i.componentDidMount=function(){function l(){var f=this,u=this.getDOMNode();u&&(u.addEventListener("mouseenter",function(){var s=p.renderedTooltip;s===void 0&&(s=document.createElement("div"),s.className="Tooltip",document.body.appendChild(s),p.renderedTooltip=s),p.currentHoveredElement=u,s.style.opacity="1",f.renderPopperContent()}),u.addEventListener("mouseleave",function(){f.fadeOut()}))}return l}(),i.fadeOut=function(){function l(){p.currentHoveredElement===this.getDOMNode()&&(p.currentHoveredElement=void 0,p.renderedTooltip.style.opacity="0")}return l}(),i.renderPopperContent=function(){function l(){var f=this,u=p.renderedTooltip;u&&(0,e.render)((0,e.createVNode)(1,"span",null,this.props.content,0),u,function(){var s=p.singletonPopper;s===void 0?(s=(0,a.createPopper)(p.virtualElement,u,Object.assign({},y,{placement:f.props.position||"auto"})),p.singletonPopper=s):(s.setOptions(Object.assign({},y,{placement:f.props.position||"auto"})),s.update())},this.context)}return l}(),i.componentDidUpdate=function(){function l(){p.currentHoveredElement===this.getDOMNode()&&this.renderPopperContent()}return l}(),i.componentWillUnmount=function(){function l(){this.fadeOut()}return l}(),i.render=function(){function l(){return this.props.children}return l}(),p}(e.Component);t=k,k.renderedTooltip=void 0,k.singletonPopper=void 0,k.currentHoveredElement=void 0,k.virtualElement={getBoundingClientRect:function(){function S(){var p,i;return(p=(i=t.currentHoveredElement)==null?void 0:i.getBoundingClientRect())!=null?p:V}return S}()}},36036:function(I,r,n){"use strict";r.__esModule=!0,r.Tooltip=r.TimeDisplay=r.TextArea=r.Tabs=r.Table=r.Stack=r.Slider=r.Section=r.RoundGauge=r.RestrictedInput=r.ProgressBar=r.Popper=r.NumberInput=r.NoticeBox=r.NanoMap=r.Modal=r.LabeledList=r.LabeledControls=r.Knob=r.Input=r.ImageButton=r.Icon=r.Grid=r.Flex=r.Dropdown=r.DraggableControl=r.Divider=r.Dimmer=r.Countdown=r.ColorBox=r.Collapsible=r.Chart=r.ByondUi=r.Button=r.Box=r.BlockQuote=r.Blink=r.Autofocus=r.AnimatedNumber=void 0;var e=n(9474);r.AnimatedNumber=e.AnimatedNumber;var a=n(27185);r.Autofocus=a.Autofocus;var t=n(5814);r.Blink=t.Blink;var o=n(61773);r.BlockQuote=o.BlockQuote;var d=n(55937);r.Box=d.Box;var y=n(94798);r.Button=y.Button;var V=n(18982);r.ByondUi=V.ByondUi;var k=n(66820);r.Chart=k.Chart;var S=n(4796);r.Collapsible=S.Collapsible;var p=n(88894);r.ColorBox=p.ColorBox;var i=n(73379);r.Countdown=i.Countdown;var l=n(61940);r.Dimmer=l.Dimmer;var f=n(13605);r.Divider=f.Divider;var u=n(20342);r.DraggableControl=u.DraggableControl;var s=n(87099);r.Dropdown=s.Dropdown;var m=n(39473);r.Flex=m.Flex;var c=n(79646);r.Grid=c.Grid;var v=n(1331);r.Icon=v.Icon;var b=n(66393);r.ImageButton=b.ImageButton;var g=n(79652);r.Input=g.Input;var h=n(76334);r.Knob=h.Knob;var C=n(78621);r.LabeledControls=C.LabeledControls;var N=n(29319);r.LabeledList=N.LabeledList;var x=n(36077);r.Modal=x.Modal;var B=n(73280);r.NanoMap=B.NanoMap;var L=n(74733);r.NoticeBox=L.NoticeBox;var w=n(59263);r.NumberInput=w.NumberInput;var A=n(50186);r.Popper=A.Popper;var T=n(92704);r.ProgressBar=T.ProgressBar;var E=n(9075);r.RestrictedInput=E.RestrictedInput;var O=n(11441);r.RoundGauge=O.RoundGauge;var P=n(97079);r.Section=P.Section;var R=n(79911);r.Slider=R.Slider;var F=n(96690);r.Stack=F.Stack;var j=n(36352);r.Table=j.Table;var W=n(85138);r.Tabs=W.Tabs;var z=n(44868);r.TextArea=z.TextArea;var H=n(5169);r.TimeDisplay=H.TimeDisplay;var $=n(62147);r.Tooltip=$.Tooltip},76910:function(I,r){"use strict";r.__esModule=!0,r.timeAgo=r.getGasLabel=r.getGasColor=r.UI_UPDATE=r.UI_INTERACTIVE=r.UI_DISABLED=r.UI_CLOSE=r.RADIO_CHANNELS=r.CSS_COLORS=r.COLORS=void 0;var n=r.UI_INTERACTIVE=2,e=r.UI_UPDATE=1,a=r.UI_DISABLED=0,t=r.UI_CLOSE=-1,o=r.COLORS={department:{command:"#526aff",security:"#CF0000",medical:"#009190",science:"#993399",engineering:"#A66300",supply:"#9F8545",service:"#80A000",centcom:"#78789B",procedure:"#E3027A",other:"#C38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}},d=r.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"],y=r.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"SyndTeam",freq:1244,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"Response Team",freq:1345,color:"#2681a5"},{name:"Special Ops",freq:1341,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:"Procedure",freq:1339,color:"#F70285"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Medical(I)",freq:1485,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"Security(I)",freq:1475,color:"#dd3535"},{name:"AI Private",freq:1343,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"},{name:"SyndTaipan",freq:1227,color:"#ffec8b"},{name:"Soviet",freq:1217,color:"#ffec8b"},{name:"Spider Clan",freq:1265,color:"#1ecc43"},{name:"Alpha wave",freq:1522,color:"#88910f"},{name:"Beta wave",freq:1532,color:"#1d83f7"},{name:"Gamma wave",freq:1542,color:"#d46549"},{name:"Spy Spider",freq:1251,color:"#776f96"}],V=[{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"},{id:"hydrogen",name:"Hydrogen",label:"H\u2082",color:"white"},{id:"ab",name:"Agent B",label:"Agent B",color:"purple"}],k=r.getGasLabel=function(){function i(l,f){var u=String(l).toLowerCase(),s=V.find(function(m){return m.id===u||m.name.toLowerCase()===u});return s&&s.label||f||l}return i}(),S=r.getGasColor=function(){function i(l){var f=String(l).toLowerCase(),u=V.find(function(s){return s.id===f||s.name.toLowerCase()===f});return u&&u.color}return i}(),p=r.timeAgo=function(){function i(l,f){if(l>f)return"in the future";l=l/10,f=f/10;var u=f-l;if(u>3600){var s=Math.round(u/3600);return s+" hour"+(s===1?"":"s")+" ago"}else if(u>60){var m=Math.round(u/60);return m+" minute"+(m===1?"":"s")+" ago"}else{var c=Math.round(u);return c+" second"+(c===1?"":"s")+" ago"}return"just now"}return i}()},40944:function(I,r,n){"use strict";r.__esModule=!0,r.KitchenSink=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595);/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var s=n(4085),y=function(){return s.keys().map(function(S){return s(S)})},V=r.KitchenSink=function(){function k(S,p){var i=S.panel,c=(0,a.useLocalState)(p,"kitchenSinkTheme"),m=c[0],u=(0,a.useLocalState)(p,"pageIndex",0),d=u[0],f=u[1],l=y(),v=l[d],b=i?o.Pane:o.Window;return(0,e.createComponentVNode)(2,b,{title:"Kitchen Sink",width:600,height:500,theme:m,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{m:1,mr:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,fitted:!0,children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:!0,children:l.map(function(g,h){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{color:"transparent",selected:h===d,onClick:function(){function C(){return f(h)}return C}(),children:g.meta.title},h)})})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{position:"relative",grow:1,children:(0,e.createComponentVNode)(2,b.Content,{scrollable:!0,children:v.meta.render()})})]})})}return k}()},77384:function(I,r,n){"use strict";r.__esModule=!0,r.toggleKitchenSink=r.toggleDebugLayout=r.openExternalBrowser=void 0;var e=n(85307);/** + */var d=n(4085),y=function(){return d.keys().map(function(S){return d(S)})},V=r.KitchenSink=function(){function k(S,p){var i=S.panel,l=(0,a.useLocalState)(p,"kitchenSinkTheme"),f=l[0],u=(0,a.useLocalState)(p,"pageIndex",0),s=u[0],m=u[1],c=y(),v=c[s],b=i?o.Pane:o.Window;return(0,e.createComponentVNode)(2,b,{title:"Kitchen Sink",width:600,height:500,theme:f,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{m:1,mr:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,fitted:!0,children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:!0,children:c.map(function(g,h){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{color:"transparent",selected:h===s,onClick:function(){function C(){return m(h)}return C}(),children:g.meta.title},h)})})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{position:"relative",grow:1,children:(0,e.createComponentVNode)(2,b.Content,{scrollable:!0,children:v.meta.render()})})]})})}return k}()},77384:function(I,r,n){"use strict";r.__esModule=!0,r.toggleKitchenSink=r.toggleDebugLayout=r.openExternalBrowser=void 0;var e=n(85307);/** * @file * @copyright 2020 Aleksej Komarov * @license MIT @@ -202,29 +202,29 @@ * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var t=r.useDebug=function(){function o(s){return(0,e.useSelector)(s,a.selectDebug)}return o}()},99851:function(I,r,n){"use strict";r.__esModule=!0,r.useDebug=r.relayMiddleware=r.debugReducer=r.debugMiddleware=r.KitchenSink=void 0;var e=n(92731);r.useDebug=e.useDebug;var a=n(40944);r.KitchenSink=a.KitchenSink;var t=n(3583);r.debugMiddleware=t.debugMiddleware,r.relayMiddleware=t.relayMiddleware;var o=n(19147);r.debugReducer=o.debugReducer},3583:function(I,r,n){"use strict";r.__esModule=!0,r.relayMiddleware=r.debugMiddleware=void 0;var e=n(92986),a=n(24826),t=n(56518),o=n(77384);/** + */var t=r.useDebug=function(){function o(d){return(0,e.useSelector)(d,a.selectDebug)}return o}()},99851:function(I,r,n){"use strict";r.__esModule=!0,r.useDebug=r.relayMiddleware=r.debugReducer=r.debugMiddleware=r.KitchenSink=void 0;var e=n(92731);r.useDebug=e.useDebug;var a=n(40944);r.KitchenSink=a.KitchenSink;var t=n(3583);r.debugMiddleware=t.debugMiddleware,r.relayMiddleware=t.relayMiddleware;var o=n(19147);r.debugReducer=o.debugReducer},3583:function(I,r,n){"use strict";r.__esModule=!0,r.relayMiddleware=r.debugMiddleware=void 0;var e=n(92986),a=n(24826),t=n(56518),o=n(77384);/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var s=["backend/update","chat/message"],y=r.debugMiddleware=function(){function k(S){return(0,t.acquireHotKey)(e.KEY_F11),(0,t.acquireHotKey)(e.KEY_F12),a.globalEvents.on("keydown",function(p){p.code===e.KEY_F11&&S.dispatch((0,o.toggleDebugLayout)()),p.code===e.KEY_F12&&S.dispatch((0,o.toggleKitchenSink)()),p.ctrl&&p.alt&&p.code===e.KEY_BACKSPACE&&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!")})}),function(p){return function(i){return p(i)}}}return k}(),V=r.relayMiddleware=function(){function k(S){var p=n(7435),i=location.search==="?external";return i?p.subscribe(function(c){var m=c.type,u=c.payload;m==="relay"&&u.windowId===Byond.windowId&&S.dispatch(Object.assign({},u.action,{relayed:!0}))}):((0,t.acquireHotKey)(e.KEY_F10),a.globalEvents.on("keydown",function(c){c===e.KEY_F10&&S.dispatch((0,o.openExternalBrowser)())})),function(c){return function(m){var u=m.type,d=m.payload,f=m.relayed;if(u===o.openExternalBrowser.type){window.open(location.href+"?external","_blank");return}return s.includes(u)&&!f&&!i&&p.sendMessage({type:"relay",payload:{windowId:Byond.windowId,action:m}}),c(m)}}}return k}()},19147:function(I,r){"use strict";r.__esModule=!0,r.debugReducer=void 0;/** + */var d=["backend/update","chat/message"],y=r.debugMiddleware=function(){function k(S){return(0,t.acquireHotKey)(e.KEY_F11),(0,t.acquireHotKey)(e.KEY_F12),a.globalEvents.on("keydown",function(p){p.code===e.KEY_F11&&S.dispatch((0,o.toggleDebugLayout)()),p.code===e.KEY_F12&&S.dispatch((0,o.toggleKitchenSink)()),p.ctrl&&p.alt&&p.code===e.KEY_BACKSPACE&&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!")})}),function(p){return function(i){return p(i)}}}return k}(),V=r.relayMiddleware=function(){function k(S){var p=n(7435),i=location.search==="?external";return i?p.subscribe(function(l){var f=l.type,u=l.payload;f==="relay"&&u.windowId===Byond.windowId&&S.dispatch(Object.assign({},u.action,{relayed:!0}))}):((0,t.acquireHotKey)(e.KEY_F10),a.globalEvents.on("keydown",function(l){l===e.KEY_F10&&S.dispatch((0,o.openExternalBrowser)())})),function(l){return function(f){var u=f.type,s=f.payload,m=f.relayed;if(u===o.openExternalBrowser.type){window.open(location.href+"?external","_blank");return}return d.includes(u)&&!m&&!i&&p.sendMessage({type:"relay",payload:{windowId:Byond.windowId,action:f}}),l(f)}}}return k}()},19147:function(I,r){"use strict";r.__esModule=!0,r.debugReducer=void 0;/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var n=r.debugReducer=function(){function e(a,t){a===void 0&&(a={});var o=t.type,s=t.payload;return o==="debug/toggleKitchenSink"?Object.assign({},a,{kitchenSink:!a.kitchenSink}):o==="debug/toggleDebugLayout"?Object.assign({},a,{debugLayout:!a.debugLayout}):a}return e}()},27709:function(I,r){"use strict";r.__esModule=!0,r.selectDebug=void 0;/** + */var n=r.debugReducer=function(){function e(a,t){a===void 0&&(a={});var o=t.type,d=t.payload;return o==="debug/toggleKitchenSink"?Object.assign({},a,{kitchenSink:!a.kitchenSink}):o==="debug/toggleDebugLayout"?Object.assign({},a,{debugLayout:!a.debugLayout}):a}return e}()},27709:function(I,r){"use strict";r.__esModule=!0,r.selectDebug=void 0;/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var n=r.selectDebug=function(){function e(a){return a.debug}return e}()},35421:function(I,r,n){"use strict";r.__esModule=!0,r.storeWindowGeometry=r.setupDrag=r.setWindowSize=r.setWindowPosition=r.setWindowKey=r.resizeStartHandler=r.recallWindowGeometry=r.getWindowSize=r.getWindowPosition=r.getScreenSize=r.getScreenPosition=r.dragStartHandler=void 0;var e=n(27108),a=n(97450),t=n(9394);function o(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */o=function(){return W};var j,W={},H=Object.prototype,z=H.hasOwnProperty,Y=Object.defineProperty||function(ke,pe,se){ke[pe]=se.value},G=typeof Symbol=="function"?Symbol:{},ne=G.iterator||"@@iterator",Q=G.asyncIterator||"@@asyncIterator",he=G.toStringTag||"@@toStringTag";function Ve(ke,pe,se){return Object.defineProperty(ke,pe,{value:se,enumerable:!0,configurable:!0,writable:!0}),ke[pe]}try{Ve({},"")}catch(ke){Ve=function(se,xe,_){return se[xe]=_}}function Ne(ke,pe,se,xe){var _=pe&&pe.prototype instanceof te?pe:te,oe=Object.create(_.prototype),ve=new Me(xe||[]);return Y(oe,"_invoke",{value:ue(ke,se,ve)}),oe}function Be(ke,pe,se){try{return{type:"normal",arg:ke.call(pe,se)}}catch(xe){return{type:"throw",arg:xe}}}W.wrap=Ne;var Le="suspendedStart",Ae="suspendedYield",fe="executing",Z="completed",J={};function te(){}function ee(){}function le(){}var ye={};Ve(ye,ne,function(){return this});var me=Object.getPrototypeOf,Te=me&&me(me(De([])));Te&&Te!==H&&z.call(Te,ne)&&(ye=Te);var M=le.prototype=te.prototype=Object.create(ye);function X(ke){["next","throw","return"].forEach(function(pe){Ve(ke,pe,function(se){return this._invoke(pe,se)})})}function ae(ke,pe){function se(_,oe,ve,Se){var Ie=Be(ke[_],ke,oe);if(Ie.type!=="throw"){var Ee=Ie.arg,Pe=Ee.value;return Pe&&typeof Pe=="object"&&z.call(Pe,"__await")?pe.resolve(Pe.__await).then(function(Oe){se("next",Oe,ve,Se)},function(Oe){se("throw",Oe,ve,Se)}):pe.resolve(Pe).then(function(Oe){Ee.value=Oe,ve(Ee)},function(Oe){return se("throw",Oe,ve,Se)})}Se(Ie.arg)}var xe;Y(this,"_invoke",{value:function(){function _(oe,ve){function Se(){return new pe(function(Ie,Ee){se(oe,ve,Ie,Ee)})}return xe=xe?xe.then(Se,Se):Se()}return _}()})}function ue(ke,pe,se){var xe=Le;return function(_,oe){if(xe===fe)throw Error("Generator is already running");if(xe===Z){if(_==="throw")throw oe;return{value:j,done:!0}}for(se.method=_,se.arg=oe;;){var ve=se.delegate;if(ve){var Se=ie(ve,se);if(Se){if(Se===J)continue;return Se}}if(se.method==="next")se.sent=se._sent=se.arg;else if(se.method==="throw"){if(xe===Le)throw xe=Z,se.arg;se.dispatchException(se.arg)}else se.method==="return"&&se.abrupt("return",se.arg);xe=fe;var Ie=Be(ke,pe,se);if(Ie.type==="normal"){if(xe=se.done?Z:Ae,Ie.arg===J)continue;return{value:Ie.arg,done:se.done}}Ie.type==="throw"&&(xe=Z,se.method="throw",se.arg=Ie.arg)}}}function ie(ke,pe){var se=pe.method,xe=ke.iterator[se];if(xe===j)return pe.delegate=null,se==="throw"&&ke.iterator.return&&(pe.method="return",pe.arg=j,ie(ke,pe),pe.method==="throw")||se!=="return"&&(pe.method="throw",pe.arg=new TypeError("The iterator does not provide a '"+se+"' method")),J;var _=Be(xe,ke.iterator,pe.arg);if(_.type==="throw")return pe.method="throw",pe.arg=_.arg,pe.delegate=null,J;var oe=_.arg;return oe?oe.done?(pe[ke.resultName]=oe.value,pe.next=ke.nextLoc,pe.method!=="return"&&(pe.method="next",pe.arg=j),pe.delegate=null,J):oe:(pe.method="throw",pe.arg=new TypeError("iterator result is not an object"),pe.delegate=null,J)}function ge(ke){var pe={tryLoc:ke[0]};1 in ke&&(pe.catchLoc=ke[1]),2 in ke&&(pe.finallyLoc=ke[2],pe.afterLoc=ke[3]),this.tryEntries.push(pe)}function Ce(ke){var pe=ke.completion||{};pe.type="normal",delete pe.arg,ke.completion=pe}function Me(ke){this.tryEntries=[{tryLoc:"root"}],ke.forEach(ge,this),this.reset(!0)}function De(ke){if(ke||ke===""){var pe=ke[ne];if(pe)return pe.call(ke);if(typeof ke.next=="function")return ke;if(!isNaN(ke.length)){var se=-1,xe=function(){function _(){for(;++se=0;--_){var oe=this.tryEntries[_],ve=oe.completion;if(oe.tryLoc==="root")return xe("end");if(oe.tryLoc<=this.prev){var Se=z.call(oe,"catchLoc"),Ie=z.call(oe,"finallyLoc");if(Se&&Ie){if(this.prev=0;--xe){var _=this.tryEntries[xe];if(_.tryLoc<=this.prev&&z.call(_,"finallyLoc")&&this.prev<_.finallyLoc){var oe=_;break}}oe&&(pe==="break"||pe==="continue")&&oe.tryLoc<=se&&se<=oe.finallyLoc&&(oe=null);var ve=oe?oe.completion:{};return ve.type=pe,ve.arg=se,oe?(this.method="next",this.next=oe.finallyLoc,J):this.complete(ve)}return ke}(),complete:function(){function ke(pe,se){if(pe.type==="throw")throw pe.arg;return pe.type==="break"||pe.type==="continue"?this.next=pe.arg:pe.type==="return"?(this.rval=this.arg=pe.arg,this.method="return",this.next="end"):pe.type==="normal"&&se&&(this.next=se),J}return ke}(),finish:function(){function ke(pe){for(var se=this.tryEntries.length-1;se>=0;--se){var xe=this.tryEntries[se];if(xe.finallyLoc===pe)return this.complete(xe.completion,xe.afterLoc),Ce(xe),J}}return ke}(),catch:function(){function ke(pe){for(var se=this.tryEntries.length-1;se>=0;--se){var xe=this.tryEntries[se];if(xe.tryLoc===pe){var _=xe.completion;if(_.type==="throw"){var oe=_.arg;Ce(xe)}return oe}}throw Error("illegal catch attempt")}return ke}(),delegateYield:function(){function ke(pe,se,xe){return this.delegate={iterator:De(pe),resultName:se,nextLoc:xe},this.method==="next"&&(this.arg=j),J}return ke}()},W}function s(j,W,H,z,Y,G,ne){try{var Q=j[G](ne),he=Q.value}catch(Ve){return void H(Ve)}Q.done?W(he):Promise.resolve(he).then(z,Y)}function y(j){return function(){var W=this,H=arguments;return new Promise(function(z,Y){var G=j.apply(W,H);function ne(he){s(G,z,Y,ne,Q,"next",he)}function Q(he){s(G,z,Y,ne,Q,"throw",he)}ne(void 0)})}}/** + */var n=r.selectDebug=function(){function e(a){return a.debug}return e}()},35421:function(I,r,n){"use strict";r.__esModule=!0,r.storeWindowGeometry=r.setupDrag=r.setWindowSize=r.setWindowPosition=r.setWindowKey=r.resizeStartHandler=r.recallWindowGeometry=r.getWindowSize=r.getWindowPosition=r.getScreenSize=r.getScreenPosition=r.dragStartHandler=void 0;var e=n(27108),a=n(97450),t=n(9394);function o(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */o=function(){return W};var j,W={},z=Object.prototype,H=z.hasOwnProperty,$=Object.defineProperty||function(ke,pe,se){ke[pe]=se.value},G=typeof Symbol=="function"?Symbol:{},ne=G.iterator||"@@iterator",Q=G.asyncIterator||"@@asyncIterator",he=G.toStringTag||"@@toStringTag";function Ve(ke,pe,se){return Object.defineProperty(ke,pe,{value:se,enumerable:!0,configurable:!0,writable:!0}),ke[pe]}try{Ve({},"")}catch(ke){Ve=function(se,xe,_){return se[xe]=_}}function Ne(ke,pe,se,xe){var _=pe&&pe.prototype instanceof te?pe:te,oe=Object.create(_.prototype),ve=new Me(xe||[]);return $(oe,"_invoke",{value:ue(ke,se,ve)}),oe}function Be(ke,pe,se){try{return{type:"normal",arg:ke.call(pe,se)}}catch(xe){return{type:"throw",arg:xe}}}W.wrap=Ne;var Le="suspendedStart",Ae="suspendedYield",fe="executing",Z="completed",J={};function te(){}function ee(){}function le(){}var ye={};Ve(ye,ne,function(){return this});var me=Object.getPrototypeOf,Te=me&&me(me(De([])));Te&&Te!==z&&H.call(Te,ne)&&(ye=Te);var M=le.prototype=te.prototype=Object.create(ye);function X(ke){["next","throw","return"].forEach(function(pe){Ve(ke,pe,function(se){return this._invoke(pe,se)})})}function ae(ke,pe){function se(_,oe,ve,Se){var Ie=Be(ke[_],ke,oe);if(Ie.type!=="throw"){var Ee=Ie.arg,Pe=Ee.value;return Pe&&typeof Pe=="object"&&H.call(Pe,"__await")?pe.resolve(Pe.__await).then(function(Oe){se("next",Oe,ve,Se)},function(Oe){se("throw",Oe,ve,Se)}):pe.resolve(Pe).then(function(Oe){Ee.value=Oe,ve(Ee)},function(Oe){return se("throw",Oe,ve,Se)})}Se(Ie.arg)}var xe;$(this,"_invoke",{value:function(){function _(oe,ve){function Se(){return new pe(function(Ie,Ee){se(oe,ve,Ie,Ee)})}return xe=xe?xe.then(Se,Se):Se()}return _}()})}function ue(ke,pe,se){var xe=Le;return function(_,oe){if(xe===fe)throw Error("Generator is already running");if(xe===Z){if(_==="throw")throw oe;return{value:j,done:!0}}for(se.method=_,se.arg=oe;;){var ve=se.delegate;if(ve){var Se=ie(ve,se);if(Se){if(Se===J)continue;return Se}}if(se.method==="next")se.sent=se._sent=se.arg;else if(se.method==="throw"){if(xe===Le)throw xe=Z,se.arg;se.dispatchException(se.arg)}else se.method==="return"&&se.abrupt("return",se.arg);xe=fe;var Ie=Be(ke,pe,se);if(Ie.type==="normal"){if(xe=se.done?Z:Ae,Ie.arg===J)continue;return{value:Ie.arg,done:se.done}}Ie.type==="throw"&&(xe=Z,se.method="throw",se.arg=Ie.arg)}}}function ie(ke,pe){var se=pe.method,xe=ke.iterator[se];if(xe===j)return pe.delegate=null,se==="throw"&&ke.iterator.return&&(pe.method="return",pe.arg=j,ie(ke,pe),pe.method==="throw")||se!=="return"&&(pe.method="throw",pe.arg=new TypeError("The iterator does not provide a '"+se+"' method")),J;var _=Be(xe,ke.iterator,pe.arg);if(_.type==="throw")return pe.method="throw",pe.arg=_.arg,pe.delegate=null,J;var oe=_.arg;return oe?oe.done?(pe[ke.resultName]=oe.value,pe.next=ke.nextLoc,pe.method!=="return"&&(pe.method="next",pe.arg=j),pe.delegate=null,J):oe:(pe.method="throw",pe.arg=new TypeError("iterator result is not an object"),pe.delegate=null,J)}function ge(ke){var pe={tryLoc:ke[0]};1 in ke&&(pe.catchLoc=ke[1]),2 in ke&&(pe.finallyLoc=ke[2],pe.afterLoc=ke[3]),this.tryEntries.push(pe)}function Ce(ke){var pe=ke.completion||{};pe.type="normal",delete pe.arg,ke.completion=pe}function Me(ke){this.tryEntries=[{tryLoc:"root"}],ke.forEach(ge,this),this.reset(!0)}function De(ke){if(ke||ke===""){var pe=ke[ne];if(pe)return pe.call(ke);if(typeof ke.next=="function")return ke;if(!isNaN(ke.length)){var se=-1,xe=function(){function _(){for(;++se=0;--_){var oe=this.tryEntries[_],ve=oe.completion;if(oe.tryLoc==="root")return xe("end");if(oe.tryLoc<=this.prev){var Se=H.call(oe,"catchLoc"),Ie=H.call(oe,"finallyLoc");if(Se&&Ie){if(this.prev=0;--xe){var _=this.tryEntries[xe];if(_.tryLoc<=this.prev&&H.call(_,"finallyLoc")&&this.prev<_.finallyLoc){var oe=_;break}}oe&&(pe==="break"||pe==="continue")&&oe.tryLoc<=se&&se<=oe.finallyLoc&&(oe=null);var ve=oe?oe.completion:{};return ve.type=pe,ve.arg=se,oe?(this.method="next",this.next=oe.finallyLoc,J):this.complete(ve)}return ke}(),complete:function(){function ke(pe,se){if(pe.type==="throw")throw pe.arg;return pe.type==="break"||pe.type==="continue"?this.next=pe.arg:pe.type==="return"?(this.rval=this.arg=pe.arg,this.method="return",this.next="end"):pe.type==="normal"&&se&&(this.next=se),J}return ke}(),finish:function(){function ke(pe){for(var se=this.tryEntries.length-1;se>=0;--se){var xe=this.tryEntries[se];if(xe.finallyLoc===pe)return this.complete(xe.completion,xe.afterLoc),Ce(xe),J}}return ke}(),catch:function(){function ke(pe){for(var se=this.tryEntries.length-1;se>=0;--se){var xe=this.tryEntries[se];if(xe.tryLoc===pe){var _=xe.completion;if(_.type==="throw"){var oe=_.arg;Ce(xe)}return oe}}throw Error("illegal catch attempt")}return ke}(),delegateYield:function(){function ke(pe,se,xe){return this.delegate={iterator:De(pe),resultName:se,nextLoc:xe},this.method==="next"&&(this.arg=j),J}return ke}()},W}function d(j,W,z,H,$,G,ne){try{var Q=j[G](ne),he=Q.value}catch(Ve){return void z(Ve)}Q.done?W(he):Promise.resolve(he).then(H,$)}function y(j){return function(){var W=this,z=arguments;return new Promise(function(H,$){var G=j.apply(W,z);function ne(he){d(G,H,$,ne,Q,"next",he)}function Q(he){d(G,H,$,ne,Q,"throw",he)}ne(void 0)})}}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var V=(0,t.createLogger)("drag"),k=Byond.windowId,S=!1,p=!1,i=[0,0],c,m,u,d,f,l=r.setWindowKey=function(){function j(W){k=W}return j}(),v=r.getWindowPosition=function(){function j(){return[window.screenLeft,window.screenTop]}return j}(),b=r.getWindowSize=function(){function j(){return[window.innerWidth,window.innerHeight]}return j}(),g=r.setWindowPosition=function(){function j(W){var H=(0,a.vecAdd)(W,i);return Byond.winset(Byond.windowId,{pos:H[0]+","+H[1]})}return j}(),h=r.setWindowSize=function(){function j(W){return Byond.winset(Byond.windowId,{size:W[0]+"x"+W[1]})}return j}(),C=r.getScreenPosition=function(){function j(){return[0-i[0],0-i[1]]}return j}(),N=r.getScreenSize=function(){function j(){return[window.screen.availWidth,window.screen.availHeight]}return j}(),x=function(W,H,z){z===void 0&&(z=50);for(var Y=[H],G,ne=0;neVe&&(G[Q]=Ve-H[Q],ne=!0)}return[ne,G]},T=r.dragStartHandler=function(){function j(W){V.log("drag start"),S=!0,m=[window.screenLeft-W.screenX,window.screenTop-W.screenY],document.addEventListener("mousemove",O),document.addEventListener("mouseup",E),O(W)}return j}(),E=function(W){V.log("drag end"),O(W),document.removeEventListener("mousemove",O),document.removeEventListener("mouseup",E),S=!1,B()},O=function(W){S&&(W.preventDefault(),g((0,a.vecAdd)([W.screenX,W.screenY],m)))},P=r.resizeStartHandler=function(){function j(W,H){return function(z){u=[W,H],V.log("resize start",u),p=!0,m=[window.screenLeft-z.screenX,window.screenTop-z.screenY],d=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",F),document.addEventListener("mouseup",R),F(z)}}return j}(),R=function(W){V.log("resize end",f),F(W),document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",R),p=!1,B()},F=function(W){p&&(W.preventDefault(),f=(0,a.vecAdd)(d,(0,a.vecMultiply)(u,(0,a.vecAdd)([W.screenX,W.screenY],(0,a.vecInverse)([window.screenLeft,window.screenTop]),m,[1,1]))),f[0]=Math.max(f[0],150),f[1]=Math.max(f[1],50),h(f))}},24826:function(I,r,n){"use strict";r.__esModule=!0,r.setupGlobalEvents=r.removeScrollableNode=r.globalEvents=r.canStealFocus=r.addScrollableNode=r.KeyEvent=void 0;var e=n(92868),a=n(92986);/** +*/var V=(0,t.createLogger)("drag"),k=Byond.windowId,S=!1,p=!1,i=[0,0],l,f,u,s,m,c=r.setWindowKey=function(){function j(W){k=W}return j}(),v=r.getWindowPosition=function(){function j(){return[window.screenLeft,window.screenTop]}return j}(),b=r.getWindowSize=function(){function j(){return[window.innerWidth,window.innerHeight]}return j}(),g=r.setWindowPosition=function(){function j(W){var z=(0,a.vecAdd)(W,i);return Byond.winset(Byond.windowId,{pos:z[0]+","+z[1]})}return j}(),h=r.setWindowSize=function(){function j(W){return Byond.winset(Byond.windowId,{size:W[0]+"x"+W[1]})}return j}(),C=r.getScreenPosition=function(){function j(){return[0-i[0],0-i[1]]}return j}(),N=r.getScreenSize=function(){function j(){return[window.screen.availWidth,window.screen.availHeight]}return j}(),x=function(W,z,H){H===void 0&&(H=50);for(var $=[z],G,ne=0;neVe&&(G[Q]=Ve-z[Q],ne=!0)}return[ne,G]},T=r.dragStartHandler=function(){function j(W){V.log("drag start"),S=!0,f=[window.screenLeft-W.screenX,window.screenTop-W.screenY],document.addEventListener("mousemove",O),document.addEventListener("mouseup",E),O(W)}return j}(),E=function(W){V.log("drag end"),O(W),document.removeEventListener("mousemove",O),document.removeEventListener("mouseup",E),S=!1,B()},O=function(W){S&&(W.preventDefault(),g((0,a.vecAdd)([W.screenX,W.screenY],f)))},P=r.resizeStartHandler=function(){function j(W,z){return function(H){u=[W,z],V.log("resize start",u),p=!0,f=[window.screenLeft-H.screenX,window.screenTop-H.screenY],s=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",F),document.addEventListener("mouseup",R),F(H)}}return j}(),R=function(W){V.log("resize end",m),F(W),document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",R),p=!1,B()},F=function(W){p&&(W.preventDefault(),m=(0,a.vecAdd)(s,(0,a.vecMultiply)(u,(0,a.vecAdd)([W.screenX,W.screenY],(0,a.vecInverse)([window.screenLeft,window.screenTop]),f,[1,1]))),m[0]=Math.max(m[0],150),m[1]=Math.max(m[1],50),h(m))}},24826:function(I,r,n){"use strict";r.__esModule=!0,r.setupGlobalEvents=r.removeScrollableNode=r.globalEvents=r.canStealFocus=r.addScrollableNode=r.KeyEvent=void 0;var e=n(92868),a=n(92986);/** * Normalized browser focus events and BYOND-specific focus helpers. * * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var t=r.globalEvents=new e.EventEmitter,o=!1,s=r.setupGlobalEvents=function(){function h(C){C===void 0&&(C={}),o=!!C.ignoreWindowFocus}return h}(),y,V=!0,k=function(C,N){if(o){V=!0;return}if(y&&(clearTimeout(y),y=null),N){y=setTimeout(function(){return k(C)});return}V!==C&&(V=C,t.emit(C?"window-focus":"window-blur"),t.emit("window-focus-change",C))},S=null,p=r.canStealFocus=function(){function h(C){var N=String(C.tagName).toLowerCase();return N==="input"||N==="textarea"}return h}(),i=function(C){c(),S=C,S.addEventListener("blur",c)},c=function(){S&&(S.removeEventListener("blur",c),S=null)},m=null,u=null,d=[],f=r.addScrollableNode=function(){function h(C){d.push(C)}return h}(),l=r.removeScrollableNode=function(){function h(C){var N=d.indexOf(C);N>=0&&d.splice(N,1)}return h}(),v=function(C){if(!(S||!V))for(var N=document.body;C&&C!==N;){if(d.includes(C)){if(C.contains(m))return;m=C,C.focus();return}C=C.parentNode}};window.addEventListener("mousemove",function(h){var C=h.target;C!==u&&(u=C,v(C))}),window.addEventListener("focusin",function(h){if(u=null,m=h.target,k(!0),p(h.target)){i(h.target);return}}),window.addEventListener("focusout",function(h){u=null,k(!1,!0)}),window.addEventListener("blur",function(h){u=null,k(!1,!0)}),window.addEventListener("beforeunload",function(h){k(!1)});var b={},g=r.KeyEvent=function(){function h(N,x,B){this.event=N,this.type=x,this.code=window.event?N.which:N.keyCode,this.ctrl=N.ctrlKey,this.shift=N.shiftKey,this.alt=N.altKey,this.repeat=!!B}var C=h.prototype;return C.hasModifierKeys=function(){function N(){return this.ctrl||this.alt||this.shift}return N}(),C.isModifierKey=function(){function N(){return this.code===a.KEY_CTRL||this.code===a.KEY_SHIFT||this.code===a.KEY_ALT}return N}(),C.isDown=function(){function N(){return this.type==="keydown"}return N}(),C.isUp=function(){function N(){return this.type==="keyup"}return N}(),C.toString=function(){function N(){return this._str?this._str:(this._str="",this.ctrl&&(this._str+="Ctrl+"),this.alt&&(this._str+="Alt+"),this.shift&&(this._str+="Shift+"),this.code>=48&&this.code<=90?this._str+=String.fromCharCode(this.code):this.code>=a.KEY_F1&&this.code<=a.KEY_F12?this._str+="F"+(this.code-111):this._str+="["+this.code+"]",this._str)}return N}(),h}();document.addEventListener("keydown",function(h){if(!p(h.target)){var C=h.keyCode,N=new g(h,"keydown",b[C]);t.emit("keydown",N),t.emit("key",N),b[C]=!0}}),document.addEventListener("keyup",function(h){if(!p(h.target)){var C=h.keyCode,N=new g(h,"keyup");t.emit("keyup",N),t.emit("key",N),b[C]=!1}})},87695:function(I,r){"use strict";r.__esModule=!0,r.focusWindow=r.focusMap=void 0;/** + */var t=r.globalEvents=new e.EventEmitter,o=!1,d=r.setupGlobalEvents=function(){function h(C){C===void 0&&(C={}),o=!!C.ignoreWindowFocus}return h}(),y,V=!0,k=function(C,N){if(o){V=!0;return}if(y&&(clearTimeout(y),y=null),N){y=setTimeout(function(){return k(C)});return}V!==C&&(V=C,t.emit(C?"window-focus":"window-blur"),t.emit("window-focus-change",C))},S=null,p=r.canStealFocus=function(){function h(C){var N=String(C.tagName).toLowerCase();return N==="input"||N==="textarea"}return h}(),i=function(C){l(),S=C,S.addEventListener("blur",l)},l=function(){S&&(S.removeEventListener("blur",l),S=null)},f=null,u=null,s=[],m=r.addScrollableNode=function(){function h(C){s.push(C)}return h}(),c=r.removeScrollableNode=function(){function h(C){var N=s.indexOf(C);N>=0&&s.splice(N,1)}return h}(),v=function(C){if(!(S||!V))for(var N=document.body;C&&C!==N;){if(s.includes(C)){if(C.contains(f))return;f=C,C.focus();return}C=C.parentNode}};window.addEventListener("mousemove",function(h){var C=h.target;C!==u&&(u=C,v(C))}),window.addEventListener("focusin",function(h){if(u=null,f=h.target,k(!0),p(h.target)){i(h.target);return}}),window.addEventListener("focusout",function(h){u=null,k(!1,!0)}),window.addEventListener("blur",function(h){u=null,k(!1,!0)}),window.addEventListener("beforeunload",function(h){k(!1)});var b={},g=r.KeyEvent=function(){function h(N,x,B){this.event=N,this.type=x,this.code=window.event?N.which:N.keyCode,this.ctrl=N.ctrlKey,this.shift=N.shiftKey,this.alt=N.altKey,this.repeat=!!B}var C=h.prototype;return C.hasModifierKeys=function(){function N(){return this.ctrl||this.alt||this.shift}return N}(),C.isModifierKey=function(){function N(){return this.code===a.KEY_CTRL||this.code===a.KEY_SHIFT||this.code===a.KEY_ALT}return N}(),C.isDown=function(){function N(){return this.type==="keydown"}return N}(),C.isUp=function(){function N(){return this.type==="keyup"}return N}(),C.toString=function(){function N(){return this._str?this._str:(this._str="",this.ctrl&&(this._str+="Ctrl+"),this.alt&&(this._str+="Alt+"),this.shift&&(this._str+="Shift+"),this.code>=48&&this.code<=90?this._str+=String.fromCharCode(this.code):this.code>=a.KEY_F1&&this.code<=a.KEY_F12?this._str+="F"+(this.code-111):this._str+="["+this.code+"]",this._str)}return N}(),h}();document.addEventListener("keydown",function(h){if(!p(h.target)){var C=h.keyCode,N=new g(h,"keydown",b[C]);t.emit("keydown",N),t.emit("key",N),b[C]=!0}}),document.addEventListener("keyup",function(h){if(!p(h.target)){var C=h.keyCode,N=new g(h,"keyup");t.emit("keyup",N),t.emit("key",N),b[C]=!1}})},87695:function(I,r){"use strict";r.__esModule=!0,r.focusWindow=r.focusMap=void 0;/** * Various focus helpers. * * @file @@ -234,113 +234,113 @@ * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var a=["f","p","n","\u03BC","m"," ","k","M","G","T","P","E","Z","Y"],t=a.indexOf(" "),o=r.formatSiUnit=function(){function k(S,p,i){if(p===void 0&&(p=-t),i===void 0&&(i=""),typeof S!="number"||!Number.isFinite(S))return S;var c=Math.floor(Math.log10(S)),m=Math.floor(Math.max(p*3,c)),u=Math.floor(c/3),d=Math.floor(m/3),f=(0,e.clamp)(t+d,0,a.length),l=a[f],v=S/Math.pow(1e3,d),b=u>p?2+d*3-m:0,g=(0,e.toFixed)(v,b)+" "+l+i;return g.trim()}return k}(),s=r.formatPower=function(){function k(S,p){return p===void 0&&(p=0),o(S,p,"W")}return k}(),y=r.formatMoney=function(){function k(S,p){if(p===void 0&&(p=0),!Number.isFinite(S))return S;var i=(0,e.round)(S,p);p>0&&(i=(0,e.toFixed)(S,p)),i=String(i);var c=i.length,m=i.indexOf(".");m===-1&&(m=c);for(var u="",d=0;d0&&d=0?"+":p<0?"\u2013":"",c=Math.abs(p);return c===1/0?c="Inf":c=(0,e.toFixed)(c,2),i+c+" dB"}return k}()},56518:function(I,r,n){"use strict";r.__esModule=!0,r.setupHotKeys=r.releaseHotKey=r.releaseHeldKeys=r.acquireHotKey=void 0;var e=s(n(92986)),a=n(24826),t=n(9394);function o(f){if(typeof WeakMap!="function")return null;var l=new WeakMap,v=new WeakMap;return(o=function(g){return g?v:l})(f)}function s(f,l){if(!l&&f&&f.__esModule)return f;if(f===null||typeof f!="object"&&typeof f!="function")return{default:f};var v=o(l);if(v&&v.has(f))return v.get(f);var b={__proto__:null},g=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var h in f)if(h!=="default"&&{}.hasOwnProperty.call(f,h)){var C=g?Object.getOwnPropertyDescriptor(f,h):null;C&&(C.get||C.set)?Object.defineProperty(b,h,C):b[h]=f[h]}return b.default=f,v&&v.set(f,b),b}/** + */var a=["f","p","n","\u03BC","m"," ","k","M","G","T","P","E","Z","Y"],t=a.indexOf(" "),o=r.formatSiUnit=function(){function k(S,p,i){if(p===void 0&&(p=-t),i===void 0&&(i=""),typeof S!="number"||!Number.isFinite(S))return S;var l=Math.floor(Math.log10(S)),f=Math.floor(Math.max(p*3,l)),u=Math.floor(l/3),s=Math.floor(f/3),m=(0,e.clamp)(t+s,0,a.length),c=a[m],v=S/Math.pow(1e3,s),b=u>p?2+s*3-f:0,g=(0,e.toFixed)(v,b)+" "+c+i;return g.trim()}return k}(),d=r.formatPower=function(){function k(S,p){return p===void 0&&(p=0),o(S,p,"W")}return k}(),y=r.formatMoney=function(){function k(S,p){if(p===void 0&&(p=0),!Number.isFinite(S))return S;var i=(0,e.round)(S,p);p>0&&(i=(0,e.toFixed)(S,p)),i=String(i);var l=i.length,f=i.indexOf(".");f===-1&&(f=l);for(var u="",s=0;s0&&s=0?"+":p<0?"\u2013":"",l=Math.abs(p);return l===1/0?l="Inf":l=(0,e.toFixed)(l,2),i+l+" dB"}return k}()},56518:function(I,r,n){"use strict";r.__esModule=!0,r.setupHotKeys=r.releaseHotKey=r.releaseHeldKeys=r.acquireHotKey=void 0;var e=d(n(92986)),a=n(24826),t=n(9394);function o(m){if(typeof WeakMap!="function")return null;var c=new WeakMap,v=new WeakMap;return(o=function(g){return g?v:c})(m)}function d(m,c){if(!c&&m&&m.__esModule)return m;if(m===null||typeof m!="object"&&typeof m!="function")return{default:m};var v=o(c);if(v&&v.has(m))return v.get(m);var b={__proto__:null},g=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var h in m)if(h!=="default"&&{}.hasOwnProperty.call(m,h)){var C=g?Object.getOwnPropertyDescriptor(m,h):null;C&&(C.get||C.set)?Object.defineProperty(b,h,C):b[h]=m[h]}return b.default=m,v&&v.set(m,b),b}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var y=(0,t.createLogger)("hotkeys"),V={},k=[e.KEY_ESCAPE,e.KEY_ENTER,e.KEY_SPACE,e.KEY_TAB,e.KEY_CTRL,e.KEY_SHIFT,e.KEY_UP,e.KEY_DOWN,e.KEY_LEFT,e.KEY_RIGHT],S={},p=function(l){if(l===16)return"Shift";if(l===17)return"Ctrl";if(l===18)return"Alt";if(l===33)return"Northeast";if(l===34)return"Southeast";if(l===35)return"Southwest";if(l===36)return"Northwest";if(l===37)return"West";if(l===38)return"North";if(l===39)return"East";if(l===40)return"South";if(l===45)return"Insert";if(l===46)return"Delete";if(l>=48&&l<=57||l>=65&&l<=90)return String.fromCharCode(l);if(l>=96&&l<=105)return"Numpad"+(l-96);if(l>=112&&l<=123)return"F"+(l-111);if(l===188)return",";if(l===189)return"-";if(l===190)return"."},i=function(l){var v=String(l);if(v==="Ctrl+F5"||v==="Ctrl+R"){location.reload();return}if(v!=="Ctrl+F"&&!(l.event.defaultPrevented||l.isModifierKey()||k.includes(l.code))){v==="F5"&&(l.event.preventDefault(),l.event.returnValue=!1);var b=p(l.code);if(b){var g=V[b];if(g)return y.debug("macro",g),Byond.command(g);if(l.isDown()&&!S[b]){S[b]=!0;var h='KeyDown "'+b+'"';return y.debug(h),Byond.command(h)}if(l.isUp()&&S[b]){S[b]=!1;var C='KeyUp "'+b+'"';return y.debug(C),Byond.command(C)}}}},c=r.acquireHotKey=function(){function f(l){k.push(l)}return f}(),m=r.releaseHotKey=function(){function f(l){var v=k.indexOf(l);v>=0&&k.splice(v,1)}return f}(),u=r.releaseHeldKeys=function(){function f(){for(var l=0,v=Object.keys(S);l=75?c="green":i.integrity>=25?c="yellow":c="red",(0,e.createComponentVNode)(2,o.Window,{width:600,height:420,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:i.name,children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:c,value:i.integrity/100})})}),(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h2",null,i.flushing===1?"Wipe of AI in progress...":"",0)})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Laws",children:!!i.has_laws&&(0,e.createComponentVNode)(2,t.Box,{children:i.laws.map(function(m,u){return(0,e.createComponentVNode)(2,t.Box,{children:m},u)})})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h3",null,"No laws detected.",16)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wireless Activity",children:(0,e.createComponentVNode)(2,t.Button,{width:10,icon:i.wireless?"check":"times",content:i.wireless?"Enabled":"Disabled",color:i.wireless?"green":"red",onClick:function(){function m(){return p("wireless")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subspace Transceiver",children:(0,e.createComponentVNode)(2,t.Button,{width:10,icon:i.radio?"check":"times",content:i.radio?"Enabled":"Disabled",color:i.radio?"green":"red",onClick:function(){function m(){return p("radio")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wipe",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{width:10,icon:"trash-alt",confirmIcon:"trash-alt",disabled:i.flushing||i.integrity===0,confirmColor:"red",content:"Wipe AI",onClick:function(){function m(){return p("wipe")}return m}()})})]})})})]})})})}return y}()},39454:function(I,r,n){"use strict";r.__esModule=!0,r.AIFixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.AIFixer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;if(i.occupant===null)return(0,e.createComponentVNode)(2,o.Window,{width:550,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Stored AI",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"robot",size:5,color:"silver"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"h3",null,"No Artificial Intelligence detected.",16)]})})})})});var c=!0;(i.stat===2||i.stat===null)&&(c=!1);var m=null;i.integrity>=75?m="green":i.integrity>=25?m="yellow":m="red";var u=!0;return i.integrity>=100&&i.stat!==2&&(u=!1),(0,e.createComponentVNode)(2,o.Window,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:i.occupant,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:m,value:i.integrity/100})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:c?"green":"red",children:c?"Functional":"Non-Functional"})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Laws",children:!!i.has_laws&&(0,e.createComponentVNode)(2,t.Box,{children:i.laws.map(function(d,f){return(0,e.createComponentVNode)(2,t.Box,{inline:!0,children:d},f)})})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h3",null,"No laws detected.",16)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wireless Activity",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.wireless?"times":"check",content:i.wireless?"Disabled":"Enabled",color:i.wireless?"red":"green",onClick:function(){function d(){return p("wireless")}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subspace Transceiver",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.radio?"times":"check",content:i.radio?"Disabled":"Enabled",color:i.radio?"red":"green",onClick:function(){function d(){return p("radio")}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Start Repairs",children:(0,e.createComponentVNode)(2,t.Button,{icon:"wrench",disabled:!u||i.active,content:!u||i.active?"Already Repaired":"Repair",onClick:function(){function d(){return p("fix")}return d}()})})]}),(0,e.createComponentVNode)(2,t.Box,{color:"green",lineHeight:2,children:i.active?"Reconstruction in progress.":""})]})})]})})})}return y}()},88422:function(I,r,n){"use strict";r.__esModule=!0,r.APC=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(195),y=r.APC=function(){function p(i,c){return(0,e.createComponentVNode)(2,o.Window,{width:510,height:435,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,S)})})}return p}(),V={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"}},k={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=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.locked&&!d.siliconUser,l=d.normallyLocked,v=V[d.externalPower]||V[0],b=V[d.chargingStatus]||V[0],g=d.powerChannels||[],h=k[d.malfStatus]||k[0],C=d.powerCellStatus/100;return(0,e.createFragment)([(0,e.createComponentVNode)(2,s.InterfaceLockNoticeBox),(0,e.createComponentVNode)(2,t.Section,{title:"Power Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Main Breaker",color:v.color,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:d.isOperating?"power-off":"times",content:d.isOperating?"On":"Off",selected:d.isOperating&&!f,color:d.isOperating?"":"bad",disabled:f,onClick:function(){function N(){return u("breaker")}return N}()}),children:["[ ",v.externalPowerText," ]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power Cell",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:"good",value:C})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge Mode",color:b.color,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:d.chargeMode?"sync":"times",content:d.chargeMode?"Auto":"Off",selected:d.chargeMode,disabled:f,onClick:function(){function N(){return u("charge")}return N}()}),children:["[ ",b.chargingText," ]"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Power Channels",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[g.map(function(N){var x=N.topicParams;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:N.title,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,mx:2,color:N.status>=2?"good":"bad",children:N.status>=2?"On":"Off"}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Auto",selected:!f&&(N.status===1||N.status===3),disabled:f,onClick:function(){function B(){return u("channel",x.auto)}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:"On",selected:!f&&N.status===2,disabled:f,onClick:function(){function B(){return u("channel",x.on)}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Off",selected:!f&&N.status===0,disabled:f,onClick:function(){function B(){return u("channel",x.off)}return B}()})],4),children:[N.powerLoad," W"]},N.title)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Load",children:(0,e.createVNode)(1,"b",null,[d.totalLoad,(0,e.createTextVNode)(" W")],0)})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Misc",buttons:!!d.siliconUser&&(0,e.createFragment)([!!d.malfStatus&&(0,e.createComponentVNode)(2,t.Button,{icon:h.icon,content:h.content,color:"bad",onClick:function(){function N(){return u(h.action)}return N}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){function N(){return u("overload")}return N}()})],0),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cover Lock",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.4,icon:d.coverLocked?"lock":"unlock",content:d.coverLocked?"Engaged":"Disengaged",disabled:f,onClick:function(){function N(){return u("cover")}return N}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"lightbulb-o",content:d.nightshiftLights?"Enabled":"Disabled",onClick:function(){function N(){return u("toggle_nightshift")}return N}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Lighting Fallback",buttons:(0,e.createComponentVNode)(2,t.Button,{mt:.4,icon:"lightbulb-o",content:d.emergencyLights?"Engaged":"Disengaged",disabled:f,onClick:function(){function N(){return u("emergency_lighting")}return N}()})})]})})],4)}},99660:function(I,r,n){"use strict";r.__esModule=!0,r.ATM=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.ATM=function(){function m(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.view_screen,g=v.authenticated_account,h=v.ticks_left_locked_down,C=v.linked_db,N;if(h>0)N=(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle"}),"Maximum number of pin attempts exceeded! Access to this ATM has been temporarily disabled."]});else if(!C)N=(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle"}),"Unable to connect to accounts database, please retry and if the issue persists contact Nanotrasen IT support."]});else if(g)switch(b){case 1:N=(0,e.createComponentVNode)(2,V);break;case 2:N=(0,e.createComponentVNode)(2,k);break;case 3:N=(0,e.createComponentVNode)(2,i);break;default:N=(0,e.createComponentVNode)(2,S)}else N=(0,e.createComponentVNode)(2,p);return(0,e.createComponentVNode)(2,o.Window,{width:550,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,y),(0,e.createComponentVNode)(2,t.Section,{children:N})]})})}return m}(),y=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.machine_id,g=v.held_card_name;return(0,e.createComponentVNode)(2,t.Section,{title:"Nanotrasen Automatic Teller Machine",children:[(0,e.createComponentVNode)(2,t.Box,{children:"For all your monetary needs!"}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Card",children:(0,e.createComponentVNode)(2,t.Button,{content:g,icon:"eject",onClick:function(){function h(){return l("insert_card")}return h}()})})})]})},V=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.security_level;return(0,e.createComponentVNode)(2,t.Section,{title:"Select a new security level for this account",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Account Number",icon:"unlock",selected:b===0,onClick:function(){function g(){return l("change_security_level",{new_security_level:0})}return g}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"Either the account number or card is required to access this account. EFTPOS transactions will require a card."}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Account Pin",icon:"unlock",selected:b===1,onClick:function(){function g(){return l("change_security_level",{new_security_level:1})}return g}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"An account number and pin must be manually entered to access this account and process transactions."}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Card and Account Pin",icon:"unlock",selected:b===2,onClick:function(){function g(){return l("change_security_level",{new_security_level:2})}return g}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"An account number, pin and card are required to access this account and process transactions."})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,c)]})},k=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=(0,a.useLocalState)(d,"targetAccNumber",0),g=b[0],h=b[1],C=(0,a.useLocalState)(d,"fundsAmount",0),N=C[0],x=C[1],B=(0,a.useLocalState)(d,"purpose",0),L=B[0],w=B[1],A=v.money;return(0,e.createComponentVNode)(2,t.Section,{title:"Transfer Fund",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account Balance",children:["$",A]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Account Number",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"7 Digit Number",onInput:function(){function T(E,O){return h(O)}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Funds to Transfer",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function T(E,O){return x(O)}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transaction Purpose",children:(0,e.createComponentVNode)(2,t.Input,{fluid:!0,onInput:function(){function T(E,O){return w(O)}return T}()})})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.Button,{content:"Transfer",icon:"sign-out-alt",onClick:function(){function T(){return l("transfer",{target_acc_number:g,funds_amount:N,purpose:L})}return T}()}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,c)]})},S=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=(0,a.useLocalState)(d,"fundsAmount",0),g=b[0],h=b[1],C=v.owner_name,N=v.money;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Welcome, "+C,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Logout",icon:"sign-out-alt",onClick:function(){function x(){return l("logout")}return x}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account Balance",children:["$",N]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Withdrawal Amount",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function x(B,L){return h(L)}return x}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Withdraw Funds",icon:"sign-out-alt",onClick:function(){function x(){return l("withdrawal",{funds_amount:g})}return x}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Menu",children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Change account security level",icon:"lock",onClick:function(){function x(){return l("view_screen",{view_screen:1})}return x}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Make transfer",icon:"exchange-alt",onClick:function(){function x(){return l("view_screen",{view_screen:2})}return x}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"View transaction log",icon:"list",onClick:function(){function x(){return l("view_screen",{view_screen:3})}return x}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Print balance statement",icon:"print",onClick:function(){function x(){return l("balance_statement")}return x}()})})]})],4)},p=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=(0,a.useLocalState)(d,"accountID",null),g=b[0],h=b[1],C=(0,a.useLocalState)(d,"accountPin",null),N=C[0],x=C[1],B=v.machine_id,L=v.held_card_name;return(0,e.createComponentVNode)(2,t.Section,{title:"Insert card or enter ID and pin to login",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account ID",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"6 Digit Number",onInput:function(){function w(A,T){return h(T)}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pin",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"6 Digit Number",onInput:function(){function w(A,T){return x(T)}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Login",icon:"sign-in-alt",onClick:function(){function w(){return l("attempt_auth",{account_num:g,account_pin:N})}return w}()})})]})})},i=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.transaction_log;return(0,e.createComponentVNode)(2,t.Section,{title:"Transactions",children:[(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Timestamp"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Reason"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Value"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Terminal"})]}),b.map(function(g){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:g.time}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g.purpose}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:g.is_deposit?"green":"red",children:["$",g.amount]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g.target_name})]},g)})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,c)]})},c=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data;return(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"sign-out-alt",onClick:function(){function b(){return l("view_screen",{view_screen:0})}return b}()})}},86423:function(I,r,n){"use strict";r.__esModule=!0,r.AccountsUplinkTerminal=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),s=n(36352),y=n(98595),V=n(321),k=n(5485),S=r.AccountsUplinkTerminal=function(){function d(f,l){var v=(0,t.useBackend)(l),b=v.act,g=v.data,h=g.loginState,C=g.currentPage,N;if(h.logged_in)C===1?N=(0,e.createComponentVNode)(2,p):C===2?N=(0,e.createComponentVNode)(2,m):C===3&&(N=(0,e.createComponentVNode)(2,u));else return(0,e.createComponentVNode)(2,y.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,k.LoginScreen)})})});return(0,e.createComponentVNode)(2,y.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,y.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.LoginInfo),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:N})]})})})}return d}(),p=function(f,l){var v=(0,t.useBackend)(l),b=v.act,g=v.data,h=g.accounts,C=(0,t.useLocalState)(l,"searchText",""),N=C[0],x=C[1],B=(0,t.useLocalState)(l,"sortId","owner_name"),L=B[0],w=B[1],A=(0,t.useLocalState)(l,"sortOrder",!0),T=A[0],E=A[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"AccountsUplinkTerminal__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,i,{id:"owner_name",children:"Account Holder"}),(0,e.createComponentVNode)(2,i,{id:"account_number",children:"Account Number"}),(0,e.createComponentVNode)(2,i,{id:"suspended",children:"Account Status"}),(0,e.createComponentVNode)(2,i,{id:"money",children:"Account Balance"})]}),h.filter((0,a.createSearch)(N,function(O){return O.owner_name+"|"+O.account_number+"|"+O.suspended+"|"+O.money})).sort(function(O,P){var R=T?1:-1;return O[L].localeCompare(P[L])*R}).map(function(O){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"AccountsUplinkTerminal__listRow--"+O.suspended,onClick:function(){function P(){return b("view_account_detail",{index:O.account_index})}return P}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",O.owner_name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:["#",O.account_number]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.suspended}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.money})]},O.account_number)})]})})})]})},i=function(f,l){var v=(0,t.useLocalState)(l,"sortId","name"),b=v[0],g=v[1],h=(0,t.useLocalState)(l,"sortOrder",!0),C=h[0],N=h[1],x=f.id,B=f.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:b!==x&&"transparent",width:"100%",onClick:function(){function L(){b===x?N(!C):(g(x),N(!0))}return L}(),children:[B,b===x&&(0,e.createComponentVNode)(2,o.Icon,{name:C?"sort-up":"sort-down",ml:"0.25rem;"})]})})},c=function(f,l){var v=(0,t.useBackend)(l),b=v.act,g=v.data,h=g.is_printing,C=(0,t.useLocalState)(l,"searchText",""),N=C[0],x=C[1];return(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Button,{content:"New Account",icon:"plus",onClick:function(){function B(){return b("create_new_account")}return B}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"print",content:"Print Account List",disabled:h,ml:"0.25rem",onClick:function(){function B(){return b("print_records")}return B}()})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by account holder, number, status",width:"100%",onInput:function(){function B(L,w){return x(w)}return B}()})})]})},m=function(f,l){var v=(0,t.useBackend)(l),b=v.act,g=v.data,h=g.account_number,C=g.owner_name,N=g.money,x=g.suspended,B=g.transactions;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"#"+h+" / "+C,buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-left",content:"Back",onClick:function(){function L(){return b("back")}return L}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Number",children:["#",h]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Holder",children:C}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Balance",children:N}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Status",color:x?"red":"green",children:[x?"Suspended":"Active",(0,e.createComponentVNode)(2,o.Button,{ml:1,content:x?"Unsuspend":"Suspend",icon:x?"unlock":"lock",onClick:function(){function L(){return b("toggle_suspension")}return L}()})]})]})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Transactions",children:(0,e.createComponentVNode)(2,o.Table,{children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Timestamp"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Reason"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Value"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Terminal"})]}),B.map(function(L){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:L.time}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:L.purpose}),(0,e.createComponentVNode)(2,o.Table.Cell,{color:L.is_deposit?"green":"red",children:["$",L.amount]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:L.target_name})]},L)})]})})})]})},u=function(f,l){var v=(0,t.useBackend)(l),b=v.act,g=v.data,h=(0,t.useLocalState)(l,"accName",""),C=h[0],N=h[1],x=(0,t.useLocalState)(l,"accDeposit",""),B=x[0],L=x[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Create Account",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-left",content:"Back",onClick:function(){function w(){return b("back")}return w}()}),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Holder",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Name Here",onChange:function(){function w(A,T){return N(T)}return w}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Initial Deposit",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"0",onChange:function(){function w(A,T){return L(T)}return w}()})})]}),(0,e.createComponentVNode)(2,o.Button,{mt:1,fluid:!0,content:"Create Account",onClick:function(){function w(){return b("finalise_create_account",{holder_name:C,starting_funds:B})}return w}()})]})}},79571:function(I,r,n){"use strict";r.__esModule=!0,r.AgentCardSLSlots=r.AgentCardInfo=r.AgentCardAppearances=r.AgentCard=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),s=n(98595),y=r.AgentCard=function(){function p(i,c){var m=(0,t.useLocalState)(c,"tabIndex",0),u=m[0],d=m[1],f=function(){function l(v){switch(v){case 0:return(0,e.createComponentVNode)(2,V);case 1:return(0,e.createComponentVNode)(2,k);case 2:return(0,e.createComponentVNode)(2,S);default:return(0,e.createComponentVNode)(2,V)}}return l}();return(0,e.createComponentVNode)(2,s.Window,{width:500,height:475,theme:"syndicate",children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,o.Box,{fillPositionedParent:!0,overflow:"hidden",children:[(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:u===0,onClick:function(){function l(){return d(0)}return l}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"table"})," Card Info"]},"Card Info"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:u===1,onClick:function(){function l(){return d(1)}return l}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"id-card"})," Appearance"]},"Appearance"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:u===2,onClick:function(){function l(){return d(2)}return l}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"arrow-down"})," Save/Load Card Info"]},"Save/Load Card Info")]}),f(u)]})})})}return p}(),V=r.AgentCardInfo=function(){function p(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m.data,f=d.registered_name,l=d.sex,v=d.age,b=d.assignment,g=d.associated_account_number,h=d.blood_type,C=d.dna_hash,N=d.fingerprint_hash,x=d.photo,B=d.ai_tracking;return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Section,{title:"Card Info",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Button,{content:f||"[UNSET]",onClick:function(){function L(){return u("change_name")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sex",children:(0,e.createComponentVNode)(2,o.Button,{iconRight:!1,content:l||"[UNSET]",onClick:function(){function L(){return u("change_sex")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Age",children:(0,e.createComponentVNode)(2,o.Button,{content:v||"[UNSET]",onClick:function(){function L(){return u("change_age")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Rank",children:(0,e.createComponentVNode)(2,o.Button,{content:b||"[UNSET]",onClick:function(){function L(){return u("change_occupation")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Fingerprints",children:(0,e.createComponentVNode)(2,o.Button,{content:N||"[UNSET]",onClick:function(){function L(){return u("change_fingerprints")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Blood Type",children:(0,e.createComponentVNode)(2,o.Button,{content:h||"[UNSET]",onClick:function(){function L(){return u("change_blood_type")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"DNA Hash",children:(0,e.createComponentVNode)(2,o.Button,{content:C||"[UNSET]",onClick:function(){function L(){return u("change_dna_hash")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Money Account",children:(0,e.createComponentVNode)(2,o.Button,{content:g||"[UNSET]",onClick:function(){function L(){return u("change_money_account")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo",children:(0,e.createComponentVNode)(2,o.Button,{content:x?"Update":"[UNSET]",onClick:function(){function L(){return u("change_photo")}return L}()})})]})}),(0,e.createComponentVNode)(2,o.Section,{title:"Card Settings",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Card Info",children:(0,e.createComponentVNode)(2,o.Button,{content:"Delete Card Info",onClick:function(){function L(){return u("delete_info")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Access",children:(0,e.createComponentVNode)(2,o.Button,{content:"Reset Access",onClick:function(){function L(){return u("clear_access")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"AI Tracking",children:(0,e.createComponentVNode)(2,o.Button,{content:B?"Untrackable":"Trackable",onClick:function(){function L(){return u("change_ai_tracking")}return L}()})})]})})],4)}return p}(),k=r.AgentCardAppearances=function(){function p(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m.data,f=d.appearances;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Card Appearance",children:f.map(function(l){return(0,e.createComponentVNode)(2,o.ImageButton,{tooltip:l,vertical:!0,asset:!0,style:{margin:"1px"},image:l,imageAsset:"id_card64x64",onclick:function(){function v(){return u("change_appearance_new",{new_appearance:l})}return v}()},l)})})}return p}(),S=r.AgentCardSLSlots=function(){function p(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m.data,f=d.saved_info;return(0,e.createComponentVNode)(2,o.Section,{title:"Save/Load Manager",style:{"line-height":"25px"},children:(0,e.createComponentVNode)(2,o.LabeledList,{children:f.map(function(l){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:l.registered_name?l.registered_name+", "+l.assignment:"Slot "+l.id,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Clear",onClick:function(){function v(){return u("clear_slot",{slot:l.id})}return v}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Save",onClick:function(){function v(){return u("save_slot",{slot:l.id})}return v}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Load",disabled:!l.registered_name,onClick:function(){function v(){return u("load_slot",{slot:l.id})}return v}()})],4)},l.id)})})})}return p}()},56793:function(I,r,n){"use strict";r.__esModule=!0,r.AiAirlock=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},y=r.AiAirlock=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=s[c.power.main]||s[0],u=s[c.power.backup]||s[0],d=s[c.shock]||s[0];return(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Power Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Main",color:m.color,buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:"lightbulb-o",disabled:!c.power.main,content:"Disrupt",onClick:function(){function f(){return i("disrupt-main")}return f}()}),children:[c.power.main?"Online":"Offline"," ",!c.wires.main_power&&"[Wires have been cut!]"||c.power.main_timeleft>0&&"["+c.power.main_timeleft+"s]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:"lightbulb-o",disabled:!c.power.backup,content:"Disrupt",onClick:function(){function f(){return i("disrupt-backup")}return f}()}),children:[c.power.backup?"Online":"Offline"," ",!c.wires.backup_power&&"[Wires have been cut!]"||c.power.backup_timeleft>0&&"["+c.power.backup_timeleft+"s]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{mr:.5,icon:"wrench",disabled:!(c.wires.shock&&c.shock!==2),content:"Restore",onClick:function(){function f(){return i("shock-restore")}return f}()}),(0,e.createComponentVNode)(2,t.Button,{mr:.5,icon:"bolt",disabled:!c.wires.shock,content:"Temporary",onClick:function(){function f(){return i("shock-temp")}return f}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"bolt",disabled:!c.wires.shock||c.shock===0,content:"Permanent",onClick:function(){function f(){return i("shock-perm")}return f}()})],4),children:[c.shock===2?"Safe":"Electrified"," ",!c.wires.shock&&"[Wires have been cut!]"||c.shock_timeleft>0&&"["+c.shock_timeleft+"s]"||c.shock_timeleft===-1&&"[Permanent]"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Access and Door Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.id_scanner?"power-off":"times",content:c.id_scanner?"Enabled":"Disabled",selected:c.id_scanner,disabled:!c.wires.id_scanner,onClick:function(){function f(){return i("idscan-toggle")}return f}()}),children:!c.wires.id_scanner&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Access",buttons:(0,e.createComponentVNode)(2,t.Button,{width:6.5,icon:c.emergency?"power-off":"times",content:c.emergency?"Enabled":"Disabled",selected:c.emergency,onClick:function(){function f(){return i("emergency-toggle")}return f}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:c.locked?"lock":"unlock",content:c.locked?"Lowered":"Raised",selected:c.locked,disabled:!c.wires.bolts,onClick:function(){function f(){return i("bolt-toggle")}return f}()}),children:!c.wires.bolts&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.lights?"power-off":"times",content:c.lights?"Enabled":"Disabled",selected:c.lights,disabled:!c.wires.lights,onClick:function(){function f(){return i("light-toggle")}return f}()}),children:!c.wires.lights&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.safe?"power-off":"times",content:c.safe?"Enabled":"Disabled",selected:c.safe,disabled:!c.wires.safe,onClick:function(){function f(){return i("safe-toggle")}return f}()}),children:!c.wires.safe&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.speed?"power-off":"times",content:c.speed?"Enabled":"Disabled",selected:c.speed,disabled:!c.wires.timing,onClick:function(){function f(){return i("speed-toggle")}return f}()}),children:!c.wires.timing&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:c.opened?"sign-out-alt":"sign-in-alt",content:c.opened?"Open":"Closed",selected:c.opened,disabled:c.locked||c.welded,onClick:function(){function f(){return i("open-close")}return f}()}),children:!!(c.locked||c.welded)&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("[Door is "),c.locked?"bolted":"",c.locked&&c.welded?" and ":"",c.welded?"welded":"",(0,e.createTextVNode)("!]")],0)})]})})]})})}return V}()},72475:function(I,r,n){"use strict";r.__esModule=!0,r.AirAlarm=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(195),y=r.AirAlarm=function(){function d(f,l){var v=(0,a.useBackend)(l),b=v.act,g=v.data,h=g.locked;return(0,e.createComponentVNode)(2,o.Window,{width:570,height:h?310:755,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,s.InterfaceLockNoticeBox),(0,e.createComponentVNode)(2,k),!h&&(0,e.createFragment)([(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p)],4)]})})}return d}(),V=function(f){return f===0?"green":f===1?"orange":"red"},k=function(f,l){var v=(0,a.useBackend)(l),b=v.act,g=v.data,h=g.air,C=g.mode,N=g.atmos_alarm,x=g.locked,B=g.alarmActivated,L=g.rcon,w=g.target_temp,A;return h.danger.overall===0?N===0?A="Optimal":A="Caution: Atmos alert in area":h.danger.overall===1?A="Caution":A="DANGER: Internals Required",(0,e.createComponentVNode)(2,t.Section,{title:"Air Status",children:h?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:(0,e.createComponentVNode)(2,t.Box,{color:V(h.danger.pressure),children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:h.pressure})," kPa",!x&&(0,e.createFragment)([(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,t.Button,{content:C===3?"Deactivate Panic Siphon":"Activate Panic Siphon",selected:C===3,icon:"exclamation-triangle",onClick:function(){function T(){return b("mode",{mode:C===3?1:3})}return T}()})],4)]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.oxygen/100,fractionDigits:"1",color:V(h.danger.oxygen)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrogen",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.nitrogen/100,fractionDigits:"1",color:V(h.danger.nitrogen)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Carbon Dioxide",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.co2/100,fractionDigits:"1",color:V(h.danger.co2)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Toxins",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.plasma/100,fractionDigits:"1",color:V(h.danger.plasma)})}),h.contents.n2o>.1&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrous Oxide",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.n2o/100,fractionDigits:"1",color:V(h.danger.n2o)})}),h.contents.other>.1&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Other",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.other/100,fractionDigits:"1",color:V(h.danger.other)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.Box,{color:V(h.danger.temperature),children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:h.temperature})," K /"," ",(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:h.temperature_c})," C\xA0",(0,e.createComponentVNode)(2,t.Button,{icon:"thermometer-full",content:w+" C",onClick:function(){function T(){return b("temperature")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:h.thermostat_state?"On":"Off",selected:h.thermostat_state,icon:"power-off",onClick:function(){function T(){return b("thermostat_state")}return T}()})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Local Status",children:(0,e.createComponentVNode)(2,t.Box,{color:V(h.danger.overall),children:[A,!x&&(0,e.createFragment)([(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,t.Button,{content:B?"Reset Alarm":"Activate Alarm",selected:B,onClick:function(){function T(){return b(B?"atmos_reset":"atmos_alarm")}return T}()})],4)]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remote Control Settings",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Off",selected:L===1,onClick:function(){function T(){return b("set_rcon",{rcon:1})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Auto",selected:L===2,onClick:function(){function T(){return b("set_rcon",{rcon:2})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"On",selected:L===3,onClick:function(){function T(){return b("set_rcon",{rcon:3})}return T}()})]})]}):(0,e.createComponentVNode)(2,t.Box,{children:"Unable to acquire air sample!"})})},S=function(f,l){var v=(0,a.useLocalState)(l,"tabIndex",0),b=v[0],g=v[1];return(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:b===0,onClick:function(){function h(){return g(0)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"sign-out-alt"})," Vent Control"]},"Vents"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:b===1,onClick:function(){function h(){return g(1)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"sign-in-alt"})," Scrubber Control"]},"Scrubbers"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:b===2,onClick:function(){function h(){return g(2)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cog"})," Mode"]},"Mode"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:b===3,onClick:function(){function h(){return g(3)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"tachometer-alt"})," Thresholds"]},"Thresholds")]})},p=function(f,l){var v=(0,a.useLocalState)(l,"tabIndex",0),b=v[0],g=v[1];switch(b){case 0:return(0,e.createComponentVNode)(2,i);case 1:return(0,e.createComponentVNode)(2,c);case 2:return(0,e.createComponentVNode)(2,m);case 3:return(0,e.createComponentVNode)(2,u);default:return"WE SHOULDN'T BE HERE!"}},i=function(f,l){var v=(0,a.useBackend)(l),b=v.act,g=v.data,h=g.vents;return h.map(function(C){return(0,e.createComponentVNode)(2,t.Section,{title:C.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{content:C.power?"On":"Off",selected:C.power,icon:"power-off",onClick:function(){function N(){return b("command",{cmd:"power",val:C.power===1?0:1,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:C.direction==="release"?"Blowing":"Siphoning",icon:C.direction==="release"?"sign-out-alt":"sign-in-alt",onClick:function(){function N(){return b("command",{cmd:"direction",val:C.direction==="release"?0:1,id_tag:C.id_tag})}return N}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure Checks",children:[(0,e.createComponentVNode)(2,t.Button,{content:"External",selected:C.checks===1,onClick:function(){function N(){return b("command",{cmd:"checks",val:1,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Internal",selected:C.checks===2,onClick:function(){function N(){return b("command",{cmd:"checks",val:2,id_tag:C.id_tag})}return N}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"External Pressure Target",children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:C.external})," kPa\xA0",(0,e.createComponentVNode)(2,t.Button,{content:"Set",icon:"cog",onClick:function(){function N(){return b("command",{cmd:"set_external_pressure",id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Reset",icon:"redo-alt",onClick:function(){function N(){return b("command",{cmd:"set_external_pressure",val:101.325,id_tag:C.id_tag})}return N}()})]})]})},C.name)})},c=function(f,l){var v=(0,a.useBackend)(l),b=v.act,g=v.data,h=g.scrubbers;return h.map(function(C){return(0,e.createComponentVNode)(2,t.Section,{title:C.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{content:C.power?"On":"Off",selected:C.power,icon:"power-off",onClick:function(){function N(){return b("command",{cmd:"power",val:C.power===1?0:1,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:C.scrubbing?"Scrubbing":"Siphoning",icon:C.scrubbing?"filter":"sign-in-alt",onClick:function(){function N(){return b("command",{cmd:"scrubbing",val:C.scrubbing===0?1:0,id_tag:C.id_tag})}return N}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Range",children:(0,e.createComponentVNode)(2,t.Button,{content:C.widenet?"Extended":"Normal",selected:C.widenet,icon:"expand-arrows-alt",onClick:function(){function N(){return b("command",{cmd:"widenet",val:C.widenet===0?1:0,id_tag:C.id_tag})}return N}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Filtering",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Carbon Dioxide",selected:C.filter_co2,onClick:function(){function N(){return b("command",{cmd:"co2_scrub",val:C.filter_co2===0?1:0,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Plasma",selected:C.filter_toxins,onClick:function(){function N(){return b("command",{cmd:"tox_scrub",val:C.filter_toxins===0?1:0,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Nitrous Oxide",selected:C.filter_n2o,onClick:function(){function N(){return b("command",{cmd:"n2o_scrub",val:C.filter_n2o===0?1:0,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Oxygen",selected:C.filter_o2,onClick:function(){function N(){return b("command",{cmd:"o2_scrub",val:C.filter_o2===0?1:0,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Nitrogen",selected:C.filter_n2,onClick:function(){function N(){return b("command",{cmd:"n2_scrub",val:C.filter_n2===0?1:0,id_tag:C.id_tag})}return N}()})]})]})},C.name)})},m=function(f,l){var v=(0,a.useBackend)(l),b=v.act,g=v.data,h=g.modes,C=g.presets,N=g.emagged,x=g.mode,B=g.preset;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"System Mode",children:(0,e.createComponentVNode)(2,t.Table,{children:h.map(function(L){return(!L.emagonly||L.emagonly&&!!N)&&(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",width:1,children:(0,e.createComponentVNode)(2,t.Button,{content:L.name,icon:"cog",selected:L.id===x,onClick:function(){function w(){return b("mode",{mode:L.id})}return w}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.desc})]},L.name)})})}),(0,e.createComponentVNode)(2,t.Section,{title:"System Presets",children:[(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"After making a selection, the system will automatically cycle in order to remove contaminants."}),(0,e.createComponentVNode)(2,t.Table,{mt:1,children:C.map(function(L){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",width:1,children:(0,e.createComponentVNode)(2,t.Button,{content:L.name,icon:"cog",selected:L.id===B,onClick:function(){function w(){return b("preset",{preset:L.id})}return w}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.desc})]},L.name)})})]})],4)},u=function(f,l){var v=(0,a.useBackend)(l),b=v.act,g=v.data,h=g.thresholds;return(0,e.createComponentVNode)(2,t.Section,{title:"Alarm Thresholds",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"20%",children:"Value"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"red",width:"20%",children:"Danger Min"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"orange",width:"20%",children:"Warning Min"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"orange",width:"20%",children:"Warning Max"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"red",width:"20%",children:"Danger Max"})]}),h.map(function(C){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:C.name}),C.settings.map(function(N){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:N.selected===-1?"Off":N.selected,onClick:function(){function x(){return b("command",{cmd:"set_threshold",env:N.env,var:N.val})}return x}()})},N.val)})]},C.name)})]})})}},12333:function(I,r,n){"use strict";r.__esModule=!0,r.AirlockAccessController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.AirlockAccessController=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.exterior_status,m=i.interior_status,u=i.processing,d,f;return c==="open"?d=(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Lock Exterior Door",icon:"exclamation-triangle",disabled:u,onClick:function(){function l(){return p("force_ext")}return l}()}):d=(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Cycle to Exterior",icon:"arrow-circle-left",disabled:u,onClick:function(){function l(){return p("cycle_ext_door")}return l}()}),m==="open"?f=(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Lock Interior Door",icon:"exclamation-triangle",disabled:u,color:m==="open"?"red":u?"yellow":null,onClick:function(){function l(){return p("force_int")}return l}()}):f=(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Cycle to Interior",icon:"arrow-circle-right",disabled:u,onClick:function(){function l(){return p("cycle_int_door")}return l}()}),(0,e.createComponentVNode)(2,o.Window,{width:330,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Information",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"External Door Status",children:c==="closed"?"Locked":"Open"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Internal Door Status",children:m==="closed"?"Locked":"Open"})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:(0,e.createComponentVNode)(2,t.Box,{children:[d,f]})})]})})}return y}()},28736:function(I,r,n){"use strict";r.__esModule=!0,r.AirlockElectronics=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(49148),y=1,V=2,k=4,S=8,p=r.AirlockElectronics=function(){function m(u,d){return(0,e.createComponentVNode)(2,o.Window,{width:450,height:565,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,c)]})})})}return m}(),i=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.unrestricted_dir;return(0,e.createComponentVNode)(2,t.Section,{title:"Access Control",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,mb:1,children:"Unrestricted Access From:"}),(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-left",content:"East",selected:b&k?"selected":null,onClick:function(){function g(){return l("unrestricted_access",{unres_dir:k})}return g}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-up",content:"South",selected:b&V?"selected":null,onClick:function(){function g(){return l("unrestricted_access",{unres_dir:V})}return g}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-right",content:"West",selected:b&S?"selected":null,onClick:function(){function g(){return l("unrestricted_access",{unres_dir:S})}return g}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-down",content:"North",selected:b&y?"selected":null,onClick:function(){function g(){return l("unrestricted_access",{unres_dir:y})}return g}()})})]})]})})},c=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.selected_accesses,g=v.one_access,h=v.regions;return(0,e.createComponentVNode)(2,s.AccessList,{usedByRcd:1,rcdButtons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:g,content:"One",onClick:function(){function C(){return l("set_one_access",{access:"one"})}return C}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!g,content:"All",onClick:function(){function C(){return l("set_one_access",{access:"all"})}return C}()})],4),accesses:h,selectedList:b,accessMod:function(){function C(N){return l("set",{access:N})}return C}(),grantAll:function(){function C(){return l("grant_all")}return C}(),denyAll:function(){function C(){return l("clear_all")}return C}(),grantDep:function(){function C(N){return l("grant_region",{region:N})}return C}(),denyDep:function(){function C(N){return l("deny_region",{region:N})}return C}()})}},47365:function(I,r,n){"use strict";r.__esModule=!0,r.AlertModal=void 0;var e=n(89005),a=n(51057),t=n(72253),o=n(92986),s=n(36036),y=n(98595),V=-1,k=1,S=r.AlertModal=function(){function c(m,u){var d=(0,t.useBackend)(u),f=d.act,l=d.data,v=l.autofocus,b=l.buttons,g=b===void 0?[]:b,h=l.large_buttons,C=l.message,N=C===void 0?"":C,x=l.timeout,B=l.title,L=(0,t.useLocalState)(u,"selected",0),w=L[0],A=L[1],T=110+(N.length>30?Math.ceil(N.length/4):0)+(N.length&&h?5:0),E=325+(g.length>2?100:0),O=function(){function P(R){w===0&&R===V?A(g.length-1):w===g.length-1&&R===k?A(0):A(w+R)}return P}();return(0,e.createComponentVNode)(2,y.Window,{title:B,height:T,width:E,children:[!!x&&(0,e.createComponentVNode)(2,a.Loader,{value:x}),(0,e.createComponentVNode)(2,y.Window.Content,{onKeyDown:function(){function P(R){var F=window.event?R.which:R.keyCode;F===o.KEY_SPACE||F===o.KEY_ENTER?f("choose",{choice:g[w]}):F===o.KEY_ESCAPE?f("cancel"):F===o.KEY_LEFT?(R.preventDefault(),O(V)):(F===o.KEY_TAB||F===o.KEY_RIGHT)&&(R.preventDefault(),O(k))}return P}(),children:(0,e.createComponentVNode)(2,s.Section,{fill:!0,children:(0,e.createComponentVNode)(2,s.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,m:1,children:(0,e.createComponentVNode)(2,s.Box,{color:"label",overflow:"hidden",children:N})}),(0,e.createComponentVNode)(2,s.Stack.Item,{children:[!!v&&(0,e.createComponentVNode)(2,s.Autofocus),(0,e.createComponentVNode)(2,p,{selected:w})]})]})})})]})}return c}(),p=function(m,u){var d=(0,t.useBackend)(u),f=d.data,l=f.buttons,v=l===void 0?[]:l,b=f.large_buttons,g=f.swapped_buttons,h=m.selected;return(0,e.createComponentVNode)(2,s.Flex,{fill:!0,align:"center",direction:g?"row":"row-reverse",justify:"space-around",wrap:!0,children:v==null?void 0:v.map(function(C,N){return b&&v.length<3?(0,e.createComponentVNode)(2,s.Flex.Item,{grow:!0,children:(0,e.createComponentVNode)(2,i,{button:C,id:N.toString(),selected:h===N})},N):(0,e.createComponentVNode)(2,s.Flex.Item,{grow:b?1:0,children:(0,e.createComponentVNode)(2,i,{button:C,id:N.toString(),selected:h===N})},N)})})},i=function(m,u){var d=(0,t.useBackend)(u),f=d.act,l=d.data,v=l.large_buttons,b=m.button,g=m.selected,h=b.length>7?"100%":7;return(0,e.createComponentVNode)(2,s.Button,{mx:v?1:0,pt:v?.33:0,content:b,fluid:!!v,onClick:function(){function C(){return f("choose",{choice:b})}return C}(),selected:g,textAlign:"center",height:!!v&&2,width:!v&&h})}},71824:function(I,r,n){"use strict";r.__esModule=!0,r.AppearanceChanger=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.AppearanceChanger=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.change_race,u=c.species,d=c.specimen,f=c.change_gender,l=c.gender,v=c.has_gender,b=c.change_eye_color,g=c.change_skin_tone,h=c.change_skin_color,C=c.change_head_accessory_color,N=c.change_hair_color,x=c.change_secondary_hair_color,B=c.change_facial_hair_color,L=c.change_secondary_facial_hair_color,w=c.change_head_marking_color,A=c.change_body_marking_color,T=c.change_tail_marking_color,E=c.change_head_accessory,O=c.head_accessory_styles,P=c.head_accessory_style,R=c.change_hair,F=c.hair_styles,j=c.hair_style,W=c.change_hair_gradient,H=c.change_facial_hair,z=c.facial_hair_styles,Y=c.facial_hair_style,G=c.change_head_markings,ne=c.head_marking_styles,Q=c.head_marking_style,he=c.change_body_markings,Ve=c.body_marking_styles,Ne=c.body_marking_style,Be=c.change_tail_markings,Le=c.tail_marking_styles,Ae=c.tail_marking_style,fe=c.change_body_accessory,Z=c.body_accessory_styles,J=c.body_accessory_style,te=c.change_alt_head,ee=c.alt_head_styles,le=c.alt_head_style,ye=!1;return(b||g||h||C||N||x||B||L||w||A||T)&&(ye=!0),(0,e.createComponentVNode)(2,o.Window,{width:800,height:450,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Species",children:u.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.specimen,selected:me.specimen===d,onClick:function(){function Te(){return i("race",{race:me.specimen})}return Te}()},me.specimen)})}),!!f&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gender",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Male",selected:l==="male",onClick:function(){function me(){return i("gender",{gender:"male"})}return me}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Female",selected:l==="female",onClick:function(){function me(){return i("gender",{gender:"female"})}return me}()}),!v&&(0,e.createComponentVNode)(2,t.Button,{content:"Genderless",selected:l==="plural",onClick:function(){function me(){return i("gender",{gender:"plural"})}return me}()})]}),!!ye&&(0,e.createComponentVNode)(2,y),!!E&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Head accessory",children:O.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.headaccessorystyle,selected:me.headaccessorystyle===P,onClick:function(){function Te(){return i("head_accessory",{head_accessory:me.headaccessorystyle})}return Te}()},me.headaccessorystyle)})}),!!R&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hair",children:F.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.hairstyle,selected:me.hairstyle===j,onClick:function(){function Te(){return i("hair",{hair:me.hairstyle})}return Te}()},me.hairstyle)})}),!!W&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hair Gradient",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Change Style",onClick:function(){function me(){return i("hair_gradient")}return me}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Offset",onClick:function(){function me(){return i("hair_gradient_offset")}return me}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Color",onClick:function(){function me(){return i("hair_gradient_colour")}return me}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Alpha",onClick:function(){function me(){return i("hair_gradient_alpha")}return me}()})]}),!!H&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Facial hair",children:z.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.facialhairstyle,selected:me.facialhairstyle===Y,onClick:function(){function Te(){return i("facial_hair",{facial_hair:me.facialhairstyle})}return Te}()},me.facialhairstyle)})}),!!G&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Head markings",children:ne.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.headmarkingstyle,selected:me.headmarkingstyle===Q,onClick:function(){function Te(){return i("head_marking",{head_marking:me.headmarkingstyle})}return Te}()},me.headmarkingstyle)})}),!!he&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Body markings",children:Ve.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.bodymarkingstyle,selected:me.bodymarkingstyle===Ne,onClick:function(){function Te(){return i("body_marking",{body_marking:me.bodymarkingstyle})}return Te}()},me.bodymarkingstyle)})}),!!Be&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tail markings",children:Le.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.tailmarkingstyle,selected:me.tailmarkingstyle===Ae,onClick:function(){function Te(){return i("tail_marking",{tail_marking:me.tailmarkingstyle})}return Te}()},me.tailmarkingstyle)})}),!!fe&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Body accessory",children:Z.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.bodyaccessorystyle,selected:me.bodyaccessorystyle===J,onClick:function(){function Te(){return i("body_accessory",{body_accessory:me.bodyaccessorystyle})}return Te}()},me.bodyaccessorystyle)})}),!!te&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alternate head",children:ee.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.altheadstyle,selected:me.altheadstyle===le,onClick:function(){function Te(){return i("alt_head",{alt_head:me.altheadstyle})}return Te}()},me.altheadstyle)})})]})})})}return V}(),y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=[{key:"change_eye_color",text:"Change eye color",action:"eye_color"},{key:"change_skin_tone",text:"Change skin tone",action:"skin_tone"},{key:"change_skin_color",text:"Change skin color",action:"skin_color"},{key:"change_head_accessory_color",text:"Change head accessory color",action:"head_accessory_color"},{key:"change_hair_color",text:"Change hair color",action:"hair_color"},{key:"change_secondary_hair_color",text:"Change secondary hair color",action:"secondary_hair_color"},{key:"change_facial_hair_color",text:"Change facial hair color",action:"facial_hair_color"},{key:"change_secondary_facial_hair_color",text:"Change secondary facial hair color",action:"secondary_facial_hair_color"},{key:"change_head_marking_color",text:"Change head marking color",action:"head_marking_color"},{key:"change_body_marking_color",text:"Change body marking color",action:"body_marking_color"},{key:"change_tail_marking_color",text:"Change tail marking color",action:"tail_marking_color"}];return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Colors",children:m.map(function(u){return!!c[u.key]&&(0,e.createComponentVNode)(2,t.Button,{content:u.text,onClick:function(){function d(){return i(u.action)}return d}()},u.key)})})}},72285:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosAlertConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.AtmosAlertConsole=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.priority||[],m=i.minor||[];return(0,e.createComponentVNode)(2,o.Window,{width:350,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Alarms",children:(0,e.createVNode)(1,"ul",null,[c.length===0&&(0,e.createVNode)(1,"li","color-good","No Priority Alerts",16),c.map(function(u){return(0,e.createVNode)(1,"li",null,(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:u,color:"bad",onClick:function(){function d(){return p("clear",{zone:u})}return d}()}),2,null,u)}),m.length===0&&(0,e.createVNode)(1,"li","color-good","No Minor Alerts",16),m.map(function(u){return(0,e.createVNode)(1,"li",null,(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:u,color:"average",onClick:function(){function d(){return p("clear",{zone:u})}return d}()}),2,null,u)})],0)})})})}return y}()},65805:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(36352),s=n(98595),y=function(c){if(c===0)return(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Good"});if(c===1)return(0,e.createComponentVNode)(2,t.Box,{color:"orange",bold:!0,children:"Warning"});if(c===2)return(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"DANGER"})},V=function(c){if(c===0)return"green";if(c===1)return"orange";if(c===2)return"red"},k=r.AtmosControl=function(){function i(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=(0,a.useLocalState)(m,"tabIndex",0),v=l[0],b=l[1],g=function(){function h(C){switch(C){case 0:return(0,e.createComponentVNode)(2,S);case 1:return(0,e.createComponentVNode)(2,p);default:return"WE SHOULDN'T BE HERE!"}}return h}();return(0,e.createComponentVNode)(2,s.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,s.Window.Content,{scrollable:v===0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===0,onClick:function(){function h(){return b(0)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"table"})," Data View"]},"DataView"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===1,onClick:function(){function h(){return b(1)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),g(v)]})})})}return i}(),S=function(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.alarms;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Access"})]}),l.map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,o.TableCell,{children:v.name}),(0,e.createComponentVNode)(2,o.TableCell,{children:y(v.danger)}),(0,e.createComponentVNode)(2,o.TableCell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Access",onClick:function(){function b(){return d("open_alarm",{aref:v.ref})}return b}()})})]},v.name)})]})})},p=function(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.alarms,v=f.stationLevelNum,b=f.stationLevelName,g=(0,a.useLocalState)(m,"zoom",1),h=g[0],C=g[1],N=(0,a.useLocalState)(m,"z_current",v[0]),x=N[0],B=N[1];return(0,e.createComponentVNode)(2,t.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,e.createComponentVNode)(2,t.NanoMap,{onZoom:function(){function L(w){return C(w)}return L}(),zLevels:v,zNames:b,z_current:x,setZCurrent:B,children:l.map(function(L){return(0,e.createComponentVNode)(2,t.NanoMap.Marker,{x:L.x,y:L.y,z:L.z,z_current:x,zoom:h,icon:"circle",tooltip:L.name,color:V(L.danger),onClick:function(){function w(){return d("open_alarm",{aref:L.ref})}return w}()},L.ref)})})})}},87816:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosFilter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.AtmosFilter=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.on,m=i.pressure,u=i.max_pressure,d=i.filter_type,f=i.filter_type_list;return(0,e.createComponentVNode)(2,o.Window,{width:380,height:140,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:c?"On":"Off",color:c?null:"red",selected:c,onClick:function(){function l(){return p("power")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:m===0,width:2.2,onClick:function(){function l(){return p("min_pressure")}return l}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:u,value:m,onDrag:function(){function l(v,b){return p("custom_pressure",{pressure:b})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:m===u,width:2.2,onClick:function(){function l(){return p("max_pressure")}return l}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Filter",children:f.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{selected:l.gas_type===d,content:l.label,onClick:function(){function v(){return p("set_filter",{filter:l.gas_type})}return v}()},l.label)})})]})})})})}return y}()},52977:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosMixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.AtmosMixer=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.on,u=c.pressure,d=c.max_pressure,f=c.node1_concentration,l=c.node2_concentration;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:165,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:m?"On":"Off",color:m?null:"red",selected:m,onClick:function(){function v(){return i("power")}return v}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:u===0,width:2.2,onClick:function(){function v(){return i("min_pressure")}return v}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:d,value:u,onDrag:function(){function v(b,g){return i("custom_pressure",{pressure:g})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:u===d,width:2.2,onClick:function(){function v(){return i("max_pressure")}return v}()})]}),(0,e.createComponentVNode)(2,y,{node_name:"Node 1",node_ref:f}),(0,e.createComponentVNode)(2,y,{node_name:"Node 2",node_ref:l})]})})})})}return V}(),y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=k.node_name,u=k.node_ref;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:m,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",width:2.2,disabled:u===0,onClick:function(){function d(){return i("set_node",{node_name:m,concentration:(u-10)/100})}return d}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"%",width:6.1,lineHeight:1.5,stepPixelSize:10,minValue:0,maxValue:100,value:u,onChange:function(){function d(f,l){return i("set_node",{node_name:m,concentration:l/100})}return d}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",width:2.2,disabled:u===100,onClick:function(){function d(){return i("set_node",{node_name:m,concentration:(u+10)/100})}return d}()})]})}},11748:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosPump=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.AtmosPump=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.on,m=i.rate,u=i.max_rate,d=i.gas_unit,f=i.step;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:110,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:c?"On":"Off",color:c?null:"red",selected:c,onClick:function(){function l(){return p("power")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:m===0,width:2.2,onClick:function(){function l(){return p("min_rate")}return l}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:d,width:6.1,lineHeight:1.5,step:f,minValue:0,maxValue:u,value:m,onDrag:function(){function l(v,b){return p("custom_rate",{rate:b})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:m===u,width:2.2,onClick:function(){function l(){return p("max_rate")}return l}()})]})]})})})})}return y}()},76511:function(I,r,n){"use strict";r.__esModule=!0,r.AutoDoc=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(39473),y=r.AutoDoc=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.HasTray,u=c.TguiIcons,d=c.occupant,f=c.isHealing,l=c.fixtimer,v=c.healtimer,b=(0,a.useLocalState)(S,"ChoosePart","chest"),g=b[0],h=b[1];return(0,e.createComponentVNode)(2,o.Window,{theme:"ntOS95",resizable:!0,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Flex,{width:"100%",children:[(0,e.createComponentVNode)(2,s.FlexItem,{basis:"30%",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"256px",width:"256px",src:"data:image/jpeg;base64,"+u.human,style:{position:"absolute","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"img",null,null,1,{height:"256px",width:"256px",src:"data:image/jpeg;base64,"+u[g],style:{position:"absolute","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})]}),(0,e.createComponentVNode)(2,s.FlexItem,{basis:"70%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Info",buttons:(0,e.createFragment)([Object.keys(u).map(function(C){return C!=="human"&&(0,e.createComponentVNode)(2,t.Button,{content:C,selected:C===g,onClick:function(){function N(){return h(C)}return N}(),z:!0},C)}),(0,e.createComponentVNode)(2,t.Button,{style:{"margin-left":"30px"},content:m?"Eject Tray":"Reject Tray",locked:f,onClick:function(){function C(){return i("ChangeTrayState")}return C}()})],0),children:(0,e.createComponentVNode)(2,t.Box,{children:[!!(d[g]&&d[g].extOrgan)&&d[g].extOrgan.map(function(C){return(0,e.createFragment)([(0,e.createVNode)(1,"b",null,C.name,0),(0,e.createVNode)(1,"br"),C.open?"opened":"",C.broken?"broken":"",!!C.broken&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Fix",style:{"margin-left":"30px"},locked:f,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"fracture"})}return N}()}),(0,e.createVNode)(1,"br")],4),C.internalBleeding?"bleeding":"",!!C.internalBleeding&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Fix",style:{"margin-left":"30px"},locked:f,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"bleeding"})}return N}()}),(0,e.createVNode)(1,"br")],4),(0,e.createTextVNode)("Internals:"),(0,e.createComponentVNode)(2,t.Button,{content:"Complete",style:{"margin-left":"10px"},locked:f,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"completeInternal"})}return N}()}),(0,e.createVNode)(1,"br"),C.dead?"dead":"",!!C.dead&&(0,e.createVNode)(1,"br"),C.germ_level?"Germ level is "+C.germ_level:"",!!C.germ_level&&(0,e.createVNode)(1,"br"),C.totalLoss?"Total damage is "+C.totalLoss:"",(0,e.createVNode)(1,"br")],0,C.name)}),!!(d[g]&&d[g].intOrgan)&&d[g].intOrgan.map(function(C){return(0,e.createFragment)([(0,e.createVNode)(1,"b",null,C.name,0),(0,e.createComponentVNode)(2,t.Button,{content:"Remove",style:{"margin-left":"1.5rem"},locked:f,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"remove"})}return N}()}),(0,e.createVNode)(1,"br"),C.dead?"dead":"",!!C.dead&&(0,e.createVNode)(1,"br"),C.germ_level?"Germ level is "+C.germ_level:"",!!C.germ_level&&(0,e.createVNode)(1,"br"),C.totalLoss?"Total damage is "+C.damage:"",!!C.totalLoss&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Heal",style:{"margin-left":"30px"},locked:f,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"damage"})}return N}()}),(0,e.createVNode)(1,"br")],4)],0,C.name)}),!!d.TotalBruteBurn&&(0,e.createFragment)([(0,e.createTextVNode)("Total external damage is "),d.TotalBruteBurn,(0,e.createComponentVNode)(2,t.Button,{style:{"margin-left":"30px"},content:"Start Healing",onClick:function(){function C(){return i("HealBruteBurn")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{style:{"margin-left":"30px"},content:"Reattach externals",onClick:function(){function C(){return i("CompleteExternal")}return C}()})],0),(0,e.createVNode)(1,"br"),!!l&&(0,e.createVNode)(1,"b",null,[(0,e.createTextVNode)("Fixing organ: "),l],0),!!v&&(0,e.createVNode)(1,"b",null,[(0,e.createTextVNode)("Healing external damage: "),v],0)]})})})]})})})}return V}()},59179:function(I,r,n){"use strict";r.__esModule=!0,r.Autolathe=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),s=n(36036),y=n(98595),V=n(25328),k=function(i,c,m,u){return i.requirements===null?!0:!(i.requirements.metal*u>c||i.requirements.glass*u>m)},S=r.Autolathe=function(){function p(i,c){var m=(0,o.useBackend)(c),u=m.act,d=m.data,f=d.total_amount,l=d.max_amount,v=d.metal_amount,b=d.glass_amount,g=d.busyname,h=d.busyamt,C=d.showhacked,N=d.buildQueue,x=d.buildQueueLen,B=d.recipes,L=d.categories,w=(0,o.useSharedState)(c,"category",0),A=w[0],T=w[1];A===0&&(A="Tools");var E=v.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),O=b.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),P=f.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),R=(0,o.useSharedState)(c,"search_text",""),F=R[0],j=R[1],W=(0,V.createSearch)(F,function(G){return G.name}),H="";x>0&&(H=N.map(function(G,ne){return(0,e.createComponentVNode)(2,s.Box,{children:(0,e.createComponentVNode)(2,s.Button,{fluid:!0,icon:"times",color:"transparent",content:N[ne][0],onClick:function(){function Q(){return u("remove_from_queue",{remove_from_queue:N.indexOf(G)+1})}return Q}()},G)},ne)}));var z=(0,a.flow)([(0,t.filter)(function(G){return(G.category.indexOf(A)>-1||F)&&(d.showhacked||!G.hacked)}),F&&(0,t.filter)(W),(0,t.sortBy)(function(G){return G.name.toLowerCase()})])(B),Y="Build";return F?Y="Results for: '"+F+"':":A&&(Y="Build ("+A+")"),(0,e.createComponentVNode)(2,y.Window,{width:750,height:525,children:(0,e.createComponentVNode)(2,y.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,s.Stack,{fill:!0,horizontal:!0,children:[(0,e.createComponentVNode)(2,s.Stack.Item,{width:"70%",children:(0,e.createComponentVNode)(2,s.Section,{fill:!0,scrollable:!0,title:Y,buttons:(0,e.createComponentVNode)(2,s.Dropdown,{width:"150px",options:L,selected:A,onSelected:function(){function G(ne){return T(ne)}return G}()}),children:[(0,e.createComponentVNode)(2,s.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function G(ne,Q){return j(Q)}return G}(),mb:1}),z.map(function(G){return(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+G.image,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}}),(0,e.createComponentVNode)(2,s.Button,{mr:1,icon:"hammer",selected:d.busyname===G.name&&d.busyamt===1,disabled:!k(G,d.metal_amount,d.glass_amount,1),onClick:function(){function ne(){return u("make",{make:G.uid,multiplier:1})}return ne}(),children:(0,V.toTitleCase)(G.name)}),G.max_multiplier>=10&&(0,e.createComponentVNode)(2,s.Button,{mr:1,icon:"hammer",selected:d.busyname===G.name&&d.busyamt===10,disabled:!k(G,d.metal_amount,d.glass_amount,10),onClick:function(){function ne(){return u("make",{make:G.uid,multiplier:10})}return ne}(),children:"10x"}),G.max_multiplier>=25&&(0,e.createComponentVNode)(2,s.Button,{mr:1,icon:"hammer",selected:d.busyname===G.name&&d.busyamt===25,disabled:!k(G,d.metal_amount,d.glass_amount,25),onClick:function(){function ne(){return u("make",{make:G.uid,multiplier:25})}return ne}(),children:"25x"}),G.max_multiplier>25&&(0,e.createComponentVNode)(2,s.Button,{mr:1,icon:"hammer",selected:d.busyname===G.name&&d.busyamt===G.max_multiplier,disabled:!k(G,d.metal_amount,d.glass_amount,G.max_multiplier),onClick:function(){function ne(){return u("make",{make:G.uid,multiplier:G.max_multiplier})}return ne}(),children:[G.max_multiplier,"x"]}),G.requirements&&Object.keys(G.requirements).map(function(ne){return(0,V.toTitleCase)(ne)+": "+G.requirements[ne]}).join(", ")||(0,e.createComponentVNode)(2,s.Box,{children:"No resources required."})]},G.ref)})]})}),(0,e.createComponentVNode)(2,s.Stack.Item,{width:"30%",children:[(0,e.createComponentVNode)(2,s.Section,{title:"Materials",children:(0,e.createComponentVNode)(2,s.LabeledList,{children:[(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Metal",children:E}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Glass",children:O}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Total",children:P}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Storage",children:[d.fill_percent,"% Full"]})]})}),(0,e.createComponentVNode)(2,s.Section,{title:"Building",children:(0,e.createComponentVNode)(2,s.Box,{color:g?"green":"",children:g||"Nothing"})}),(0,e.createComponentVNode)(2,s.Section,{title:"Build Queue",height:23.7,children:[H,(0,e.createComponentVNode)(2,s.Button,{mt:.5,fluid:!0,icon:"times",content:"Clear All",color:"red",disabled:!d.buildQueueLen,onClick:function(){function G(){return u("clear_queue")}return G}()})]})]})]})})})}return p}()},64273:function(I,r,n){"use strict";r.__esModule=!0,r.Biogenerator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(62411),y=r.Biogenerator=function(){function p(i,c){var m=(0,a.useBackend)(c),u=m.data,d=m.config,f=u.container,l=u.processing,v=d.title;return(0,e.createComponentVNode)(2,o.Window,{width:390,height:595,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,s.Operating,{operating:l,name:v}),(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,S)]})})})}return p}(),V=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.biomass,l=d.container,v=d.container_curr_reagents,b=d.container_max_reagents;return(0,e.createComponentVNode)(2,t.Section,{title:"Storage",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"20px",color:"silver",children:"Biomass:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"5px",children:f}),(0,e.createComponentVNode)(2,t.Icon,{name:"leaf",size:1.2,color:"#3d8c40"})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"21px",mt:"8px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"10px",color:"silver",children:"Container:"}),l?(0,e.createComponentVNode)(2,t.ProgressBar,{value:v,maxValue:b,children:(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:v+" / "+b+" units"})}):(0,e.createComponentVNode)(2,t.Stack.Item,{children:"None"})]})]})},k=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.has_plants,l=d.container;return(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",disabled:!f,tooltip:f?"":"There are no plants in the biogenerator.",tooltipPosition:"top-start",content:"Activate",onClick:function(){function v(){return u("activate")}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"40%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"flask",disabled:!l,tooltip:l?"":"The biogenerator does not have a container.",tooltipPosition:"top",content:"Detach Container",onClick:function(){function v(){return u("detach_container")}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"eject",disabled:!f,tooltip:f?"":"There are no stored plants to eject.",tooltipPosition:"top-end",content:"Eject Plants",onClick:function(){function v(){return u("eject_plants")}return v}()})})]})})},S=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.biomass,l=d.product_list,v=d.container,b=(0,a.useSharedState)(c,"vendAmount",1),g=b[0],h=b[1],C=Object.entries(l).map(function(N,x){var B=Object.entries(N[1]).map(function(L){return L[1]});return(0,e.createComponentVNode)(2,t.Collapsible,{title:N[0],open:!0,children:B.map(function(L){return(0,e.createComponentVNode)(2,t.Stack,{py:"2px",className:"candystripe",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",ml:"2px",children:L.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"right",width:"20%",children:[L.cost*g,(0,e.createComponentVNode)(2,t.Icon,{ml:"5px",name:"leaf",size:1.2,color:"#3d8c40"})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"right",width:"40%",children:L.needs_container&&!v?(0,e.createComponentVNode)(2,t.Button,{content:"No container",disabled:!0,icon:"flask",tooltip:"\u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043B\u044E\u0431\u043E\u0439 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u044D\u0442\u043E\u0439 \u043E\u043F\u0446\u0438\u0438"}):(0,e.createComponentVNode)(2,t.Button,{content:"Vend",disabled:f0?Math.floor(A/u):0,P=m?"@?%%!\u2116@"+u:u,R=A>=u,F=d-d%5+(d%5>0?5:0);return(0,e.createComponentVNode)(2,t.Section,{title:"\u0418\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u0435 \u0420\u0430\u0437\u043B\u043E\u043C\u0430",children:[(0,e.createComponentVNode)(2,t.Box,{color:"silver",bold:!0,children:B}),(0,e.createComponentVNode)(2,t.ProgressBar,{color:E===0?"bad":E<100?"average":"good",value:w,maxValue:L,mt:1,mb:2,children:[E<=100?E:100," %"]}),(0,e.createComponentVNode)(2,t.Box,{children:["\u0414\u0430\u043D\u043D\u044B\u0435 \u0434\u043B\u044F \u0437\u043E\u043D\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F: ",(0,e.createComponentVNode)(2,t.Box,{color:A?R?"good":"average":"bad",as:"span",children:Math.floor(A)}),(0,e.createComponentVNode)(2,t.Button,{icon:"atom",tooltip:"\u0414\u043B\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043E\u0434\u043D\u043E\u0433\u043E \u0437\u043E\u043D\u0434\u0438\u0440\u0443\u044E\u0449\u0435\u0433\u043E \u0438\u043C\u043F\u0443\u043B\u044C\u0441\u0430 \u043D\u0443\u0436\u043D\u043E \u0441\u043E\u0431\u0440\u0430\u0442\u044C "+P+" \u0434\u0430\u043D\u043D\u044B\u0445.",content:d>0?"\u041F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0430 "+F+" \u0441\u0435\u043A\u0443\u043D\u0434":"\u0417\u043E\u043D\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C ("+O+")",disabled:!R||d>0,onClick:function(){function j(){return i("probe",{rift_id:x})}return j}(),mx:2}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",content:T?"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E\u043B\u0443\u0447\u0435\u043D":"\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0438\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u0439",disabled:T||E<100,onClick:function(){function j(){return i("reward",{rift_id:x})}return j}(),mt:1.4})]})]})}return C}(),g=function(){function C(N){var x=N.servName,B=N.servData;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:x,children:B.length?B.map(function(L,w){return(0,e.createComponentVNode)(2,t.Box,{children:[L.riftName," \u2014 ",Math.floor(L.probePoints)," ","\u0434\u0430\u043D\u043D\u044B\u0445."]},w)}):(0,e.createComponentVNode)(2,t.Box,{children:"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445"})})}return C}(),h=function(){function C(N){var x=N.scannerId,B=N.scannerName,L=N.scanStatus,w=N.canSwitch,A=N.switching,T=s[L],E=function(){function P(){if(T==="OFF")return[" ","silver"];if(T==="NO_RIFTS")return["\u041D\u0435\u0442 \u0440\u0430\u0437\u043B\u043E\u043C\u043E\u0432","silver"];if(T==="SOME_RIFTS")return["\u0421\u043A\u0430\u043D\u0438\u0440\u0443\u0435\u0442","good"];if(T==="DANGER")return["\u041E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C! \u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0441\u043A\u0430\u043D\u0435\u0440!","bad"]}return P}(),O=E();return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:B,py:0,children:[A?(0,e.createComponentVNode)(2,t.Icon,{name:"circle-notch",color:"silver",spin:!0,ml:1.85,mr:1.79,my:.84}):w?(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",color:T==="OFF"?"bad":"good",onClick:function(){function P(){return i("toggle_scanner",{scanner_id:x})}return P}(),ml:1,mr:1}):(0,e.createComponentVNode)(2,t.Icon,{name:"power-off",color:T==="OFF"?"bad":"good",ml:1.85,mr:1.79,my:.84}),T!=="OFF"&&(0,e.createComponentVNode)(2,t.Box,{as:"span",color:O[1],children:O[0]})]})}return C}();return(0,e.createComponentVNode)(2,o.Window,{width:570,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[f&&f.map(function(C){return b(C)}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u043A\u0430\u043D\u0435\u0440\u044B \u0432 \u0441\u0435\u0442\u0438",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:v&&v.map(function(C){return h(C)})})}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0435\u0440\u0432\u0435\u0440\u044B \u0432 \u0441\u0435\u0442\u0438",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:l&&l.map(function(C){return g(C)})})})]})})}return V}()},27629:function(I,r,n){"use strict";r.__esModule=!0,r.BluespaceTap=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(49968),y=r.BluespaceTap=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.product||[],u=c.desiredLevel,d=c.inputLevel,f=c.points,l=c.totalPoints,v=c.powerUse,b=c.availablePower,g=c.maxLevel,h=c.emagged,C=c.safeLevels,N=c.nextLevelPower,x=u>d&&"bad"||"good";return(0,e.createComponentVNode)(2,o.Window,{width:650,height:450,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[!!h&&(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"Safety Protocols disabled"}),d>C&&(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"High Power, Instability likely"}),(0,e.createComponentVNode)(2,t.Collapsible,{title:"Input Management",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Input",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Level",children:d}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Desired Level",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:u===0,tooltip:"Set to 0",onClick:function(){function B(){return i("set",{set_level:0})}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"step-backward",tooltip:"Decrease to actual input level",disabled:u===0,onClick:function(){function B(){return i("set",{set_level:d})}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:u===0,tooltip:"Decrease one step",onClick:function(){function B(){return i("decrease")}return B}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1,mx:1,children:(0,e.createComponentVNode)(2,t.Slider,{value:u,fillValue:d,minValue:0,color:x,maxValue:g,stepPixelSize:20,step:1,onChange:function(){function B(L,w){return i("set",{set_level:w})}return B}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:u===g,tooltip:"Increase one step",tooltipPosition:"left",onClick:function(){function B(){return i("increase")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:u===g,tooltip:"Set to max",tooltipPosition:"left",onClick:function(){function B(){return i("set",{set_level:g})}return B}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Power Use",children:(0,s.formatPower)(v)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power for next level",children:(0,s.formatPower)(N)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Surplus Power",children:(0,s.formatPower)(b)})]})})}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Output",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available Points",children:f}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Points",children:l})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{align:"end",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:m.map(function(B){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:B.name,children:(0,e.createComponentVNode)(2,t.Button,{disabled:B.price>=f,onClick:function(){function L(){return i("vend",{target:B.key})}return L}(),content:B.price})},B.key)})})})})]})})]})})})}return V}()},33758:function(I,r,n){"use strict";r.__esModule=!0,r.BodyScanner=void 0;var e=n(89005),a=n(44879),t=n(25328),o=n(72253),s=n(36036),y=n(98595),V=[["good","Alive"],["average","Critical"],["bad","DEAD"]],k=[["hasBorer","bad","Large growth detected in frontal lobe, possibly cancerous. Surgical removal is recommended."],["hasVirus","bad","Viral pathogen detected in blood stream."],["blind","average","Cataracts detected."],["colourblind","average","Photoreceptor abnormalities detected."],["nearsighted","average","Retinal misalignment detected."]],S=[["Respiratory","oxyLoss"],["Brain","brainLoss"],["Toxin","toxLoss"],["Radioactive","radLoss"],["Brute","bruteLoss"],["Genetic","cloneLoss"],["Burn","fireLoss"],["Paralysis","paralysis"]],p={average:[.25,.5],bad:[.5,1/0]},i=function(x,B){for(var L=[],w=0;w0?x.filter(function(B){return!!B}).reduce(function(B,L){return(0,e.createFragment)([B,(0,e.createComponentVNode)(2,s.Box,{children:L},L)],0)},null):null},m=function(x){if(x>100){if(x<300)return"mild infection";if(x<400)return"mild infection+";if(x<500)return"mild infection++";if(x<700)return"acute infection";if(x<800)return"acute infection+";if(x<900)return"acute infection++";if(x>=900)return"septic"}return""},u=r.BodyScanner=function(){function N(x,B){var L=(0,o.useBackend)(B),w=L.data,A=w.occupied,T=w.occupant,E=T===void 0?{}:T,O=A?(0,e.createComponentVNode)(2,d,{occupant:E}):(0,e.createComponentVNode)(2,C);return(0,e.createComponentVNode)(2,y.Window,{width:700,height:600,title:"Body Scanner",children:(0,e.createComponentVNode)(2,y.Window.Content,{scrollable:!0,children:O})})}return N}(),d=function(x){var B=x.occupant;return(0,e.createComponentVNode)(2,s.Box,{children:[(0,e.createComponentVNode)(2,f,{occupant:B}),(0,e.createComponentVNode)(2,l,{occupant:B}),(0,e.createComponentVNode)(2,v,{occupant:B}),(0,e.createComponentVNode)(2,g,{organs:B.extOrgan}),(0,e.createComponentVNode)(2,h,{organs:B.intOrgan})]})},f=function(x,B){var L=(0,o.useBackend)(B),w=L.act,A=L.data,T=A.occupant;return(0,e.createComponentVNode)(2,s.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,s.Button,{icon:"print",onClick:function(){function E(){return w("print_p")}return E}(),children:"Print Report"}),(0,e.createComponentVNode)(2,s.Button,{icon:"user-slash",onClick:function(){function E(){return w("ejectify")}return E}(),children:"Eject"})],4),children:(0,e.createComponentVNode)(2,s.LabeledList,{children:[(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Name",children:T.name}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,s.ProgressBar,{min:"0",max:T.maxHealth,value:T.health/T.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Status",color:V[T.stat][0],children:V[T.stat][1]}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Temperature",children:[(0,e.createComponentVNode)(2,s.AnimatedNumber,{value:(0,a.round)(T.bodyTempC)}),"\xB0C,\xA0",(0,e.createComponentVNode)(2,s.AnimatedNumber,{value:(0,a.round)(T.bodyTempF)}),"\xB0F"]}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Implants",children:T.implant_len?(0,e.createComponentVNode)(2,s.Box,{children:T.implant.map(function(E){return E.name}).join(", ")}):(0,e.createComponentVNode)(2,s.Box,{color:"label",children:"None"})})]})})},l=function(x){var B=x.occupant;return B.hasBorer||B.blind||B.colourblind||B.nearsighted||B.hasVirus?(0,e.createComponentVNode)(2,s.Section,{title:"Abnormalities",children:k.map(function(L,w){if(B[L[0]])return(0,e.createComponentVNode)(2,s.Box,{color:L[1],bold:L[1]==="bad",children:L[2]},L[2])})}):(0,e.createComponentVNode)(2,s.Section,{title:"Abnormalities",children:(0,e.createComponentVNode)(2,s.Box,{color:"label",children:"No abnormalities found."})})},v=function(x){var B=x.occupant;return(0,e.createComponentVNode)(2,s.Section,{title:"Damage",children:(0,e.createComponentVNode)(2,s.Table,{children:i(S,function(L,w,A){return(0,e.createFragment)([(0,e.createComponentVNode)(2,s.Table.Row,{color:"label",children:[(0,e.createComponentVNode)(2,s.Table.Cell,{children:[L[0],":"]}),(0,e.createComponentVNode)(2,s.Table.Cell,{children:!!w&&w[0]+":"})]}),(0,e.createComponentVNode)(2,s.Table.Row,{children:[(0,e.createComponentVNode)(2,s.Table.Cell,{children:(0,e.createComponentVNode)(2,b,{value:B[L[1]],marginBottom:A100)&&"average"||!!B.status.robotic&&"label",width:"33%",children:(0,t.capitalize)(B.name)}),(0,e.createComponentVNode)(2,s.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,s.ProgressBar,{m:-.5,min:"0",max:B.maxHealth,mt:L>0&&"0.5rem",value:B.totalLoss/B.maxHealth,ranges:p,children:(0,e.createComponentVNode)(2,s.Stack,{children:[(0,e.createComponentVNode)(2,s.Tooltip,{content:"Total damage",children:(0,e.createComponentVNode)(2,s.Stack.Item,{children:[(0,e.createComponentVNode)(2,s.Icon,{name:"heartbeat",mr:.5}),(0,a.round)(B.totalLoss)]})}),!!B.bruteLoss&&(0,e.createComponentVNode)(2,s.Tooltip,{content:"Brute damage",children:(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,children:[(0,e.createComponentVNode)(2,s.Icon,{name:"bone",mr:.5}),(0,a.round)(B.bruteLoss)]})}),!!B.fireLoss&&(0,e.createComponentVNode)(2,s.Tooltip,{content:"Burn damage",children:(0,e.createComponentVNode)(2,s.Stack.Item,{children:[(0,e.createComponentVNode)(2,s.Icon,{name:"fire",mr:.5}),(0,a.round)(B.fireLoss)]})})]})})}),(0,e.createComponentVNode)(2,s.Table.Cell,{textAlign:"right",verticalAlign:"top",width:"33%",pt:L>0&&"calc(0.5rem + 2px)",children:[(0,e.createComponentVNode)(2,s.Box,{color:"average",inline:!0,children:c([!!B.internalBleeding&&"Internal bleeding",!!B.burnWound&&"Critical tissue burns",!!B.lungRuptured&&"Ruptured lung",!!B.status.broken&&B.status.broken,m(B.germ_level),!!B.open&&"Open incision"])}),(0,e.createComponentVNode)(2,s.Box,{inline:!0,children:[c([!!B.status.splinted&&(0,e.createComponentVNode)(2,s.Box,{color:"good",children:"Splinted"}),!!B.status.robotic&&(0,e.createComponentVNode)(2,s.Box,{color:"label",children:"Robotic"}),!!B.status.dead&&(0,e.createComponentVNode)(2,s.Box,{color:"bad",bold:!0,children:"DEAD"})]),c(B.shrapnel.map(function(w){return w.known?w.name:"Unknown object"}))]})]})]},L)})]})})},h=function(x){return x.organs.length===0?(0,e.createComponentVNode)(2,s.Section,{title:"Internal Organs",children:(0,e.createComponentVNode)(2,s.Box,{color:"label",children:"N/A"})}):(0,e.createComponentVNode)(2,s.Section,{title:"Internal Organs",children:(0,e.createComponentVNode)(2,s.Table,{children:[(0,e.createComponentVNode)(2,s.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,s.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,s.Table.Cell,{textAlign:"center",children:"Damage"}),(0,e.createComponentVNode)(2,s.Table.Cell,{textAlign:"right",children:"Injuries"})]}),x.organs.map(function(B,L){return(0,e.createComponentVNode)(2,s.Table.Row,{children:[(0,e.createComponentVNode)(2,s.Table.Cell,{color:!!B.dead&&"bad"||B.germ_level>100&&"average"||B.robotic>0&&"label",width:"33%",children:(0,t.capitalize)(B.name)}),(0,e.createComponentVNode)(2,s.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,s.ProgressBar,{min:"0",max:B.maxHealth,value:B.damage/B.maxHealth,mt:L>0&&"0.5rem",ranges:p,children:(0,a.round)(B.damage)})}),(0,e.createComponentVNode)(2,s.Table.Cell,{textAlign:"right",verticalAlign:"top",width:"33%",pt:L>0&&"calc(0.5rem + 2px)",children:[(0,e.createComponentVNode)(2,s.Box,{color:"average",inline:!0,children:c([m(B.germ_level)])}),(0,e.createComponentVNode)(2,s.Box,{inline:!0,children:c([B.robotic===1&&(0,e.createComponentVNode)(2,s.Box,{color:"label",children:"Robotic"}),B.robotic===2&&(0,e.createComponentVNode)(2,s.Box,{color:"label",children:"Assisted"}),!!B.dead&&(0,e.createComponentVNode)(2,s.Box,{color:"bad",bold:!0,children:"DEAD"})])})]})]},L)})]})})},C=function(){return(0,e.createComponentVNode)(2,s.Section,{fill:!0,children:(0,e.createComponentVNode)(2,s.Stack,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,s.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}},42570:function(I,r,n){"use strict";r.__esModule=!0,r.BorgPanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.BorgPanel=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.borg||{},m=i.cell||{},u=m.charge/m.maxcharge,d=i.channels||[],f=i.modules||[],l=i.upgrades||[],v=i.ais||[],b=i.laws||[];return(0,e.createComponentVNode)(2,o.Window,{title:"Borg Panel",width:700,height:700,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:c.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){function g(){return p("rename")}return g}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){function g(){return p("toggle_emagged")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){function g(){return p("toggle_lockdown")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){function g(){return p("toggle_scrambledcodes")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Reset Module",onClick:function(){function g(){return p("reset_module")}return g}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge",children:[m.missing?(0,e.createVNode)(1,"span","color-bad","No cell installed",16):(0,e.createComponentVNode)(2,t.ProgressBar,{value:u,children:m.charge+" / "+m.maxcharge}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Set",onClick:function(){function g(){return p("set_charge")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Change",onClick:function(){function g(){return p("change_cell")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){function g(){return p("remove_cell")}return g}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Radio Channels",children:d.map(function(g){return(0,e.createComponentVNode)(2,t.Button,{icon:g.installed?"check-square-o":"square-o",content:g.name,selected:g.installed,onClick:function(){function h(){return p("toggle_radio",{channel:g.name})}return h}()},g.name)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Model",children:f.map(function(g){return(0,e.createComponentVNode)(2,t.Button,{icon:c.active_module===g.name?"check-square-o":"square-o",content:g.name+" module",selected:c.active_module===g.name,onClick:function(){function h(){return p("setmodule",{module:g.name})}return h}()},g.type)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Upgrades",children:l.map(function(g){return(0,e.createComponentVNode)(2,t.Button,{icon:g.installed?"check-square-o":"square-o",content:g.name,selected:g.installed,onClick:function(){function h(){return p("toggle_upgrade",{upgrade:g.type})}return h}()},g.type)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Master AI",children:v.map(function(g){return(0,e.createComponentVNode)(2,t.Button,{icon:g.connected?"check-square-o":"square-o",content:g.name,selected:g.connected,onClick:function(){function h(){return p("slavetoai",{slavetoai:g.ref})}return h}()},g.ref)})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Laws",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Law Manager",selected:c.lawmanager,onClick:function(){function g(){return p("lawmanager")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){function g(){return p("toggle_lawupdate")}return g}()})],4),children:b.map(function(g){return(0,e.createComponentVNode)(2,t.Box,{children:g},g)})})]})})}return y}()},20464:function(I,r,n){"use strict";r.__esModule=!0,r.BotClean=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.BotClean=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.locked,m=i.noaccess,u=i.maintpanel,d=i.on,f=i.autopatrol,l=i.canhack,v=i.emagged,b=i.remote_disabled,g=i.painame,h=i.cleanblood;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.NoticeBox,{children:["Swipe an ID card to ",c?"unlock":"lock"," this interface."]}),(0,e.createComponentVNode)(2,t.Section,{title:"General Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:(0,e.createComponentVNode)(2,t.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,disabled:m,onClick:function(){function C(){return p("power")}return C}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Patrol",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:f,content:"Auto Patrol",disabled:m,onClick:function(){function C(){return p("autopatrol")}return C}()})}),!!u&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Maintenance Panel",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Panel Open!"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety System",children:(0,e.createComponentVNode)(2,t.Box,{color:v?"bad":"good",children:v?"DISABLED!":"Enabled"})}),!!l&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hacking",children:(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:v?"Restore Safties":"Hack",disabled:m,color:"bad",onClick:function(){function C(){return p("hack")}return C}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remote Access",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:!b,content:"AI Remote Control",disabled:m,onClick:function(){function C(){return p("disableremote")}return C}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Cleaning Settings",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:h,content:"Clean Blood",disabled:m,onClick:function(){function C(){return p("blood")}return C}()})}),g&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:g,disabled:m,onClick:function(){function C(){return p("ejectpai")}return C}()})})]})})}return y}()},74439:function(I,r,n){"use strict";r.__esModule=!0,r.BotSecurity=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.BotSecurity=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.locked,m=i.noaccess,u=i.maintpanel,d=i.on,f=i.autopatrol,l=i.canhack,v=i.emagged,b=i.remote_disabled,g=i.painame,h=i.check_id,C=i.check_weapons,N=i.check_warrant,x=i.arrest_mode,B=i.arrest_declare;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.NoticeBox,{children:["Swipe an ID card to ",c?"unlock":"lock"," this interface."]}),(0,e.createComponentVNode)(2,t.Section,{title:"General Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:(0,e.createComponentVNode)(2,t.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,disabled:m,onClick:function(){function L(){return p("power")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Patrol",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:f,content:"Auto Patrol",disabled:m,onClick:function(){function L(){return p("autopatrol")}return L}()})}),!!u&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Maintenance Panel",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Panel Open!"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety System",children:(0,e.createComponentVNode)(2,t.Box,{color:v?"bad":"good",children:v?"DISABLED!":"Enabled"})}),!!l&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hacking",children:(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:v?"Restore Safties":"Hack",disabled:m,color:"bad",onClick:function(){function L(){return p("hack")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remote Access",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:!b,content:"AI Remote Control",disabled:m,onClick:function(){function L(){return p("disableremote")}return L}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Who To Arrest",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:h,content:"Unidentifiable Persons",disabled:m,onClick:function(){function L(){return p("authid")}return L}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:C,content:"Unauthorized Weapons",disabled:m,onClick:function(){function L(){return p("authweapon")}return L}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:N,content:"Wanted Criminals",disabled:m,onClick:function(){function L(){return p("authwarrant")}return L}()})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Arrest Procedure",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:x,content:"Detain Targets Indefinitely",disabled:m,onClick:function(){function L(){return p("arrtype")}return L}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:B,content:"Announce Arrests On Radio",disabled:m,onClick:function(){function L(){return p("arrdeclare")}return L}()})]}),g&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:g,disabled:m,onClick:function(){function L(){return p("ejectpai")}return L}()})})]})})}return y}()},10833:function(I,r,n){"use strict";r.__esModule=!0,r.BrigCells=void 0;var e=n(89005),a=n(98595),t=n(36036),o=n(72253),s=function(S,p){var i=S.cell,c=(0,o.useBackend)(p),m=c.act,u=i.cell_id,d=i.occupant,f=i.crimes,l=i.brigged_by,v=i.time_left_seconds,b=i.time_set_seconds,g=i.ref,h="";v>0&&(h+=" BrigCells__listRow--active");var C=function(){m("release",{ref:g})};return(0,e.createComponentVNode)(2,t.Table.Row,{className:h,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:u}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:f}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:l}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.TimeDisplay,{totalSeconds:b})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.TimeDisplay,{totalSeconds:v})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{type:"button",onClick:C,children:"Release"})})]})},y=function(S){var p=S.cells;return(0,e.createComponentVNode)(2,t.Table,{className:"BrigCells__list",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Cell"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Occupant"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Crimes"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Brigged By"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Time Brigged For"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Time Left"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Release"})]}),p.map(function(i){return(0,e.createComponentVNode)(2,s,{cell:i},i.ref)})]})},V=r.BrigCells=function(){function k(S,p){var i=(0,o.useBackend)(p),c=i.act,m=i.data,u=m.cells;return(0,e.createComponentVNode)(2,a.Window,{theme:"security",width:800,height:400,children:(0,e.createComponentVNode)(2,a.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,y,{cells:u})})})})})}return k}()},45761:function(I,r,n){"use strict";r.__esModule=!0,r.BrigTimer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.BrigTimer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;i.nameText=i.occupant,i.timing&&(i.prisoner_hasrec?i.nameText=(0,e.createComponentVNode)(2,t.Box,{color:"green",children:i.occupant}):i.nameText=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:i.occupant}));var c="pencil-alt";i.prisoner_name&&(i.prisoner_hasrec||(c="exclamation-triangle"));var m=[],u=0;for(u=0;u60||!i.isAllowed,onClick:function(){function d(){return p("start")}return d}()})})]})})]})})}return y}()},26300:function(I,r,n){"use strict";r.__esModule=!0,r.CameraConsoleOldContent=r.CameraConsoleMapContent=r.CameraConsoleListContent=r.CameraConsole=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(35840),s=n(25328),y=n(72253),V=n(36036),k=n(98595);String.prototype.trimLongStr=function(d){return this.length>d?this.substring(0,d)+"...":this};var S=function(f,l){var v,b;if(!l)return[];var g=f.findIndex(function(h){return h.name===l.name});return[(v=f[g-1])==null?void 0:v.name,(b=f[g+1])==null?void 0:b.name]},p=function(f,l){l===void 0&&(l="");var v=(0,s.createSearch)(l,function(b){return b.name});return(0,t.flow)([(0,a.filter)(function(b){return b==null?void 0:b.name}),l&&(0,a.filter)(v),(0,a.sortBy)(function(b){return b.name})])(f)},i=r.CameraConsole=function(){function d(f,l){var v=(0,y.useLocalState)(l,"tabIndex",0),b=v[0],g=v[1],h=function(){function C(N){switch(N){case 0:return(0,e.createComponentVNode)(2,c);case 1:return(0,e.createComponentVNode)(2,m);default:return"WE SHOULDN'T BE HERE!"}}return C}();return(0,e.createComponentVNode)(2,k.Window,{width:1250,height:600,children:(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,V.Box,{fillPositionedParent:!0,overflow:"hidden",children:[(0,e.createComponentVNode)(2,V.Tabs,{children:[(0,e.createComponentVNode)(2,V.Tabs.Tab,{selected:b===0,onClick:function(){function C(){return g(0)}return C}(),children:[(0,e.createComponentVNode)(2,V.Icon,{name:"map-marked-alt"})," Map"]},"Map"),(0,e.createComponentVNode)(2,V.Tabs.Tab,{selected:b===1,onClick:function(){function C(){return g(1)}return C}(),children:[(0,e.createComponentVNode)(2,V.Icon,{name:"table"})," List"]},"List")]}),h(b)]})})})}return d}(),c=r.CameraConsoleMapContent=function(){function d(f,l){var v=(0,y.useBackend)(l),b=v.act,g=v.data,h=p(g.cameras),C=(0,y.useLocalState)(l,"zoom",1),N=C[0],x=C[1],B=g.mapRef,L=g.activeCamera,w=g.stationLevelNum,A=g.stationLevelName,T=(0,y.useLocalState)(l,"z_current",w[0]),E=T[0],O=T[1],P=S(h,L),R=P[0],F=P[1];return(0,e.createComponentVNode)(2,V.Box,{height:"100%",display:"flex",children:[(0,e.createVNode)(1,"div","CameraConsole__left",(0,e.createComponentVNode)(2,V.Box,{height:"100%",display:"flex",children:(0,e.createComponentVNode)(2,V.NanoMap,{onZoom:function(){function j(W){return x(W)}return j}(),zLevels:w,zNames:A,z_current:E,setZCurrent:O,children:h.map(function(j){return(0,e.createComponentVNode)(2,V.NanoMap.Marker,{x:j.x,y:j.y,z:j.z,z_current:E,zoom:N,icon:"box",tooltip:j.name,color:j.status?"blue":"red",bordered:!0,onClick:function(){function W(){return b("switch_camera",{name:j.name})}return W}()},j.ref)})})}),2),(0,e.createVNode)(1,"div","CameraConsole__right",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"Camera: ",16),L&&L.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,V.Button,{icon:"chevron-left",disabled:!R,onClick:function(){function j(){return b("switch_camera",{name:R})}return j}()}),(0,e.createComponentVNode)(2,V.Button,{icon:"chevron-right",disabled:!F,onClick:function(){function j(){return b("switch_camera",{name:F})}return j}()})],4),(0,e.createComponentVNode)(2,V.ByondUi,{className:"CameraConsole__map",params:{id:B,type:"map"}})],4)]})}return d}(),m=r.CameraConsoleOldContent=function(){function d(f,l){var v=(0,y.useBackend)(l),b=v.act,g=v.data,h=v.config,C=g.mapRef,N=g.activeCamera,x=(0,y.useLocalState)(l,"searchText",""),B=x[0],L=p(g.cameras,B),w=S(L,N),A=w[0],T=w[1];return(0,e.createComponentVNode)(2,V.Box,{children:[(0,e.createVNode)(1,"div","CameraConsole__left",(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,V.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,u)})}),2),(0,e.createVNode)(1,"div","CameraConsole__right",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"Camera: ",16),N&&N.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,V.Button,{icon:"chevron-left",disabled:!A,onClick:function(){function E(){return b("switch_camera",{name:A})}return E}()}),(0,e.createComponentVNode)(2,V.Button,{icon:"chevron-right",disabled:!T,onClick:function(){function E(){return b("switch_camera",{name:T})}return E}()})],4),(0,e.createComponentVNode)(2,V.ByondUi,{className:"CameraConsole__map",params:{id:C,type:"map"}})],4)]})}return d}(),u=r.CameraConsoleListContent=function(){function d(f,l){var v=(0,y.useBackend)(l),b=v.act,g=v.data,h=(0,y.useLocalState)(l,"searchText",""),C=h[0],N=h[1],x=g.activeCamera,B=p(g.cameras,C);return(0,e.createComponentVNode)(2,V.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.Stack.Item,{children:(0,e.createComponentVNode)(2,V.Input,{fluid:!0,placeholder:"Search for a camera",onInput:function(){function L(w,A){return N(A)}return L}()})}),(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,m:0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,children:B.map(function(L){return(0,e.createVNode)(1,"div",(0,o.classes)(["Button","Button--fluid","Button--color--transparent",x&&L.name===x.name&&"Button--selected"]),L.name,0,{title:L.name,onClick:function(){function w(){return b("switch_camera",{name:L.name})}return w}()},L.name)})})})]})}return d}()},52927:function(I,r,n){"use strict";r.__esModule=!0,r.Canister=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=n(49968),y=n(98595),V=r.Canister=function(){function k(S,p){var i=(0,t.useBackend)(p),c=i.act,m=i.data,u=m.portConnected,d=m.tankPressure,f=m.releasePressure,l=m.defaultReleasePressure,v=m.minReleasePressure,b=m.maxReleasePressure,g=m.valveOpen,h=m.name,C=m.canLabel,N=m.colorContainer,x=m.color_index,B=m.hasHoldingTank,L=m.holdingTank,w="";x.prim&&(w=N.prim.options[x.prim].name);var A="";x.sec&&(A=N.sec.options[x.sec].name);var T="";x.ter&&(T=N.ter.options[x.ter].name);var E="";x.quart&&(E=N.quart.options[x.quart].name);var O=[],P=[],R=[],F=[],j=0;for(j=0;jh.current_positions&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:h.total_positions-h.current_positions})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"0"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{content:"-",disabled:l.cooldown_time||!h.can_close,onClick:function(){function C(){return f("make_job_unavailable",{job:h.title})}return C}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{content:"+",disabled:l.cooldown_time||!h.can_open,onClick:function(){function C(){return f("make_job_available",{job:h.title})}return C}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:l.target_dept&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:l.priority_jobs.indexOf(h.title)>-1?"Yes":""})||(0,e.createComponentVNode)(2,t.Button,{content:h.is_priority?"Yes":"No",selected:h.is_priority,disabled:l.cooldown_time||!h.can_prioritize,onClick:function(){function C(){return f("prioritize_job",{job:h.title})}return C}()})})]},h.title)})]})})]}):g=(0,e.createComponentVNode)(2,k);break;case 2:!l.authenticated||!l.scan_name?g=(0,e.createComponentVNode)(2,k):l.modify_name?g=(0,e.createComponentVNode)(2,s.AccessList,{accesses:l.regions,selectedList:l.selectedAccess,accessMod:function(){function h(C){return f("set",{access:C})}return h}(),grantAll:function(){function h(){return f("grant_all")}return h}(),denyAll:function(){function h(){return f("clear_all")}return h}(),grantDep:function(){function h(C){return f("grant_region",{region:C})}return h}(),denyDep:function(){function h(C){return f("deny_region",{region:C})}return h}()}):g=(0,e.createComponentVNode)(2,S);break;case 3:l.authenticated?l.records.length?g=(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Records",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Delete All Records",disabled:!l.authenticated||l.records.length===0||l.target_dept,onClick:function(){function h(){return f("wipe_all_logs")}return h}()}),children:[(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Crewman"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Old Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"New Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Authorized By"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Time"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Reason"}),!!l.iscentcom&&(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Deleted By"})]}),l.records.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.transferee}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.oldvalue}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.newvalue}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.whodidit}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.timestamp}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.reason}),!!l.iscentcom&&(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.deletedby})]},h.timestamp)})]}),!!l.iscentcom&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Delete MY Records",color:"purple",disabled:!l.authenticated||l.records.length===0,onClick:function(){function h(){return f("wipe_my_logs")}return h}()})})]}):g=(0,e.createComponentVNode)(2,p):g=(0,e.createComponentVNode)(2,k);break;case 4:!l.authenticated||!l.scan_name?g=(0,e.createComponentVNode)(2,k):g=(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Your Team",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Sec Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Actions"})]}),l.people_dept.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.title}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.crimstat}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:h.buttontext,disabled:!h.demotable,onClick:function(){function C(){return f("remote_demote",{remote_demote:h.name})}return C}()})})]},h.title)})]})});break;default:g=(0,e.createComponentVNode)(2,t.Section,{title:"Warning",color:"red",children:"ERROR: Unknown Mode."})}return(0,e.createComponentVNode)(2,o.Window,{width:800,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:b}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:v}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:g})]})})})}return c}()},64083:function(I,r,n){"use strict";r.__esModule=!0,r.CargoConsole=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),s=n(36036),y=n(98595),V=n(25328),k=r.CargoConsole=function(){function m(u,d){return(0,e.createComponentVNode)(2,y.Window,{width:900,height:800,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,s.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,c)]})})})}return m}(),S=function(u,d){var f=(0,o.useLocalState)(d,"contentsModal",null),l=f[0],v=f[1],b=(0,o.useLocalState)(d,"contentsModalTitle",null),g=b[0],h=b[1];if(l!==null&&g!==null)return(0,e.createComponentVNode)(2,s.Modal,{maxWidth:"75%",width:window.innerWidth+"px",maxHeight:window.innerHeight*.75+"px",mx:"auto",children:[(0,e.createComponentVNode)(2,s.Box,{width:"100%",bold:!0,children:(0,e.createVNode)(1,"h1",null,[g,(0,e.createTextVNode)(" contents:")],0)}),(0,e.createComponentVNode)(2,s.Box,{children:l.map(function(C){return(0,e.createComponentVNode)(2,s.Box,{children:["- ",C]},C)})}),(0,e.createComponentVNode)(2,s.Box,{m:2,children:(0,e.createComponentVNode)(2,s.Button,{content:"Close",onClick:function(){function C(){v(null),h(null)}return C}()})})]})},p=function(u,d){var f=(0,o.useBackend)(d),l=f.act,v=f.data,b=v.is_public,g=v.points,h=v.credits,C=v.timeleft,N=v.moving,x=v.at_station,B,L;return!N&&!x?(B="Docked off-station",L="Call Shuttle"):!N&&x?(B="Docked at the station",L="Return Shuttle"):N&&(L="In Transit...",C!==1?B="Shuttle is en route (ETA: "+C+" minutes)":B="Shuttle is en route (ETA: "+C+" minute)"),(0,e.createComponentVNode)(2,s.Stack.Item,{children:(0,e.createComponentVNode)(2,s.Section,{title:"Status",children:(0,e.createComponentVNode)(2,s.LabeledList,{children:[(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Points Available",children:g}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Credits Available",children:h}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Shuttle Status",children:B}),b===0&&(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,s.Button,{content:L,disabled:N,onClick:function(){function w(){return l("moveShuttle")}return w}()}),(0,e.createComponentVNode)(2,s.Button,{content:"View Central Command Messages",onClick:function(){function w(){return l("showMessages")}return w}()})]})]})})})},i=function(u,d){var f=(0,o.useBackend)(d),l=f.act,v=f.data,b=v.categories,g=v.supply_packs,h=(0,o.useSharedState)(d,"category","Emergency"),C=h[0],N=h[1],x=(0,o.useSharedState)(d,"search_text",""),B=x[0],L=x[1],w=(0,o.useLocalState)(d,"contentsModal",null),A=w[0],T=w[1],E=(0,o.useLocalState)(d,"contentsModalTitle",null),O=E[0],P=E[1],R=(0,V.createSearch)(B,function(W){return W.name}),F=(0,a.flow)([(0,t.filter)(function(W){return W.cat===b.filter(function(H){return H.name===C})[0].category||B}),B&&(0,t.filter)(R),(0,t.sortBy)(function(W){return W.name.toLowerCase()})])(g),j="Crate Catalogue";return B?j="Results for '"+B+"':":C&&(j="Browsing "+C),(0,e.createComponentVNode)(2,s.Stack.Item,{children:(0,e.createComponentVNode)(2,s.Section,{title:j,buttons:(0,e.createComponentVNode)(2,s.Dropdown,{width:"190px",options:b.map(function(W){return W.name}),selected:C,onSelected:function(){function W(H){return N(H)}return W}()}),children:[(0,e.createComponentVNode)(2,s.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function W(H,z){return L(z)}return W}(),mb:1}),(0,e.createComponentVNode)(2,s.Box,{maxHeight:25,overflowY:"auto",overflowX:"hidden",children:(0,e.createComponentVNode)(2,s.Table,{m:"0.5rem",children:F.map(function(W){return(0,e.createComponentVNode)(2,s.Table.Row,{children:[(0,e.createComponentVNode)(2,s.Table.Cell,{bold:!0,children:(0,e.createComponentVNode)(2,s.Box,{color:W.has_sale?"good":"default",children:[W.name," (",W.cost?W.cost+" Points":"",W.creditsCost&&W.cost?" ":"",W.creditsCost?W.creditsCost+" Credits":"",")"]})}),(0,e.createComponentVNode)(2,s.Table.Cell,{textAlign:"right",pr:1,children:[(0,e.createComponentVNode)(2,s.Button,{content:"Order 1",icon:"shopping-cart",onClick:function(){function H(){return l("order",{crate:W.ref,multiple:0})}return H}()}),(0,e.createComponentVNode)(2,s.Button,{content:"Order Multiple",icon:"cart-plus",onClick:function(){function H(){return l("order",{crate:W.ref,multiple:1})}return H}()}),(0,e.createComponentVNode)(2,s.Button,{content:"View Contents",icon:"search",onClick:function(){function H(){T(W.contents),P(W.name)}return H}()})]})]},W.name)})})})]})})},c=function(u,d){var f=(0,o.useBackend)(d),l=f.act,v=f.data,b=v.requests,g=v.canapprove,h=v.orders;return(0,e.createComponentVNode)(2,s.Section,{fill:!0,scrollable:!0,title:"Details",children:[(0,e.createComponentVNode)(2,s.Box,{bold:!0,children:"Requests"}),(0,e.createComponentVNode)(2,s.Table,{m:"0.5rem",children:b.map(function(C){return(0,e.createComponentVNode)(2,s.Table.Row,{children:[(0,e.createComponentVNode)(2,s.Table.Cell,{children:[(0,e.createComponentVNode)(2,s.Box,{children:["- #",C.ordernum,": ",C.supply_type," for ",(0,e.createVNode)(1,"b",null,C.orderedby,0)]}),(0,e.createComponentVNode)(2,s.Box,{italic:!0,children:["Reason: ",C.comment]}),(0,e.createComponentVNode)(2,s.Box,{italic:!0,children:["Required Techs: ",C.pack_techs]})]}),(0,e.createComponentVNode)(2,s.Stack.Item,{textAlign:"right",children:[(0,e.createComponentVNode)(2,s.Button,{content:"Approve",color:"green",disabled:!g,onClick:function(){function N(){return l("approve",{ordernum:C.ordernum})}return N}()}),(0,e.createComponentVNode)(2,s.Button,{content:"Deny",color:"red",onClick:function(){function N(){return l("deny",{ordernum:C.ordernum})}return N}()})]})]},C.ordernum)})}),(0,e.createComponentVNode)(2,s.Box,{bold:!0,children:"Confirmed Orders"}),(0,e.createComponentVNode)(2,s.Table,{m:"0.5rem",children:h.map(function(C){return(0,e.createComponentVNode)(2,s.Table.Row,{children:(0,e.createComponentVNode)(2,s.Table.Cell,{children:[(0,e.createComponentVNode)(2,s.Box,{children:["- #",C.ordernum,": ",C.supply_type," for ",(0,e.createVNode)(1,"b",null,C.orderedby,0)]}),(0,e.createComponentVNode)(2,s.Box,{italic:!0,children:["Reason: ",C.comment]})]})},C.ordernum)})})]})}},12226:function(I,r,n){"use strict";r.__esModule=!0,r.Changelog=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),s=n(98595),y=n(79140),V=S(n(83331)),k=S(n(52754));function S(l){return l&&l.__esModule?l:{default:l}}function p(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */p=function(){return v};var l,v={},b=Object.prototype,g=b.hasOwnProperty,h=Object.defineProperty||function(fe,Z,J){fe[Z]=J.value},C=typeof Symbol=="function"?Symbol:{},N=C.iterator||"@@iterator",x=C.asyncIterator||"@@asyncIterator",B=C.toStringTag||"@@toStringTag";function L(fe,Z,J){return Object.defineProperty(fe,Z,{value:J,enumerable:!0,configurable:!0,writable:!0}),fe[Z]}try{L({},"")}catch(fe){L=function(J,te,ee){return J[te]=ee}}function w(fe,Z,J,te){var ee=Z&&Z.prototype instanceof F?Z:F,le=Object.create(ee.prototype),ye=new Le(te||[]);return h(le,"_invoke",{value:he(fe,J,ye)}),le}function A(fe,Z,J){try{return{type:"normal",arg:fe.call(Z,J)}}catch(te){return{type:"throw",arg:te}}}v.wrap=w;var T="suspendedStart",E="suspendedYield",O="executing",P="completed",R={};function F(){}function j(){}function W(){}var H={};L(H,N,function(){return this});var z=Object.getPrototypeOf,Y=z&&z(z(Ae([])));Y&&Y!==b&&g.call(Y,N)&&(H=Y);var G=W.prototype=F.prototype=Object.create(H);function ne(fe){["next","throw","return"].forEach(function(Z){L(fe,Z,function(J){return this._invoke(Z,J)})})}function Q(fe,Z){function J(ee,le,ye,me){var Te=A(fe[ee],fe,le);if(Te.type!=="throw"){var M=Te.arg,X=M.value;return X&&typeof X=="object"&&g.call(X,"__await")?Z.resolve(X.__await).then(function(ae){J("next",ae,ye,me)},function(ae){J("throw",ae,ye,me)}):Z.resolve(X).then(function(ae){M.value=ae,ye(M)},function(ae){return J("throw",ae,ye,me)})}me(Te.arg)}var te;h(this,"_invoke",{value:function(){function ee(le,ye){function me(){return new Z(function(Te,M){J(le,ye,Te,M)})}return te=te?te.then(me,me):me()}return ee}()})}function he(fe,Z,J){var te=T;return function(ee,le){if(te===O)throw Error("Generator is already running");if(te===P){if(ee==="throw")throw le;return{value:l,done:!0}}for(J.method=ee,J.arg=le;;){var ye=J.delegate;if(ye){var me=Ve(ye,J);if(me){if(me===R)continue;return me}}if(J.method==="next")J.sent=J._sent=J.arg;else if(J.method==="throw"){if(te===T)throw te=P,J.arg;J.dispatchException(J.arg)}else J.method==="return"&&J.abrupt("return",J.arg);te=O;var Te=A(fe,Z,J);if(Te.type==="normal"){if(te=J.done?P:E,Te.arg===R)continue;return{value:Te.arg,done:J.done}}Te.type==="throw"&&(te=P,J.method="throw",J.arg=Te.arg)}}}function Ve(fe,Z){var J=Z.method,te=fe.iterator[J];if(te===l)return Z.delegate=null,J==="throw"&&fe.iterator.return&&(Z.method="return",Z.arg=l,Ve(fe,Z),Z.method==="throw")||J!=="return"&&(Z.method="throw",Z.arg=new TypeError("The iterator does not provide a '"+J+"' method")),R;var ee=A(te,fe.iterator,Z.arg);if(ee.type==="throw")return Z.method="throw",Z.arg=ee.arg,Z.delegate=null,R;var le=ee.arg;return le?le.done?(Z[fe.resultName]=le.value,Z.next=fe.nextLoc,Z.method!=="return"&&(Z.method="next",Z.arg=l),Z.delegate=null,R):le:(Z.method="throw",Z.arg=new TypeError("iterator result is not an object"),Z.delegate=null,R)}function Ne(fe){var Z={tryLoc:fe[0]};1 in fe&&(Z.catchLoc=fe[1]),2 in fe&&(Z.finallyLoc=fe[2],Z.afterLoc=fe[3]),this.tryEntries.push(Z)}function Be(fe){var Z=fe.completion||{};Z.type="normal",delete Z.arg,fe.completion=Z}function Le(fe){this.tryEntries=[{tryLoc:"root"}],fe.forEach(Ne,this),this.reset(!0)}function Ae(fe){if(fe||fe===""){var Z=fe[N];if(Z)return Z.call(fe);if(typeof fe.next=="function")return fe;if(!isNaN(fe.length)){var J=-1,te=function(){function ee(){for(;++J=0;--ee){var le=this.tryEntries[ee],ye=le.completion;if(le.tryLoc==="root")return te("end");if(le.tryLoc<=this.prev){var me=g.call(le,"catchLoc"),Te=g.call(le,"finallyLoc");if(me&&Te){if(this.prev=0;--te){var ee=this.tryEntries[te];if(ee.tryLoc<=this.prev&&g.call(ee,"finallyLoc")&&this.prev=0;--J){var te=this.tryEntries[J];if(te.finallyLoc===Z)return this.complete(te.completion,te.afterLoc),Be(te),R}}return fe}(),catch:function(){function fe(Z){for(var J=this.tryEntries.length-1;J>=0;--J){var te=this.tryEntries[J];if(te.tryLoc===Z){var ee=te.completion;if(ee.type==="throw"){var le=ee.arg;Be(te)}return le}}throw Error("illegal catch attempt")}return fe}(),delegateYield:function(){function fe(Z,J,te){return this.delegate={iterator:Ae(Z),resultName:J,nextLoc:te},this.method==="next"&&(this.arg=l),R}return fe}()},v}function i(l,v,b,g,h,C,N){try{var x=l[C](N),B=x.value}catch(L){return void b(L)}x.done?v(B):Promise.resolve(B).then(g,h)}function c(l){return function(){var v=this,b=arguments;return new Promise(function(g,h){var C=l.apply(v,b);function N(B){i(C,g,h,N,x,"next",B)}function x(B){i(C,g,h,N,x,"throw",B)}N(void 0)})}}function m(l,v){l.prototype=Object.create(v.prototype),l.prototype.constructor=l,u(l,v)}function u(l,v){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(b,g){return b.__proto__=g,b},u(l,v)}var d={add:{icon:"check-circle",color:"green"},admin:{icon:"user-shield",color:"purple"},balance:{icon:"balance-scale-right",color:"yellow"},bugfix:{icon:"bug",color:"green"},code_imp:{icon:"code",color:"green"},config:{icon:"cogs",color:"purple"},del:{icon:"minus",color:"red"},expansion:{icon:"check-circle",color:"green"},experiment:{icon:"radiation",color:"yellow"},image:{icon:"image",color:"green"},imageadd:{icon:"tg-image-plus",color:"green"},imagedel:{icon:"tg-image-minus",color:"red"},qol:{icon:"hand-holding-heart",color:"green"},refactor:{icon:"tools",color:"green"},rscadd:{icon:"check-circle",color:"green"},rscdel:{icon:"times-circle",color:"red"},server:{icon:"server",color:"purple"},sound:{icon:"volume-high",color:"green"},soundadd:{icon:"tg-sound-plus",color:"green"},sounddel:{icon:"tg-sound-minus",color:"red"},spellcheck:{icon:"spell-check",color:"green"},tgs:{icon:"toolbox",color:"purple"},tweak:{icon:"wrench",color:"green"},unknown:{icon:"info-circle",color:"label"},wip:{icon:"hammer",color:"orange"}},f=r.Changelog=function(l){function v(){var g;return g=l.call(this)||this,g.getData=function(h,C){C===void 0&&(C=1);var N=(0,t.useBackend)(g.context),x=N.act,B=g,L=6;if(C>L)return g.setData("Failed to load data after "+L+" attempts");x("get_month",{date:h}),fetch((0,y.resolveAsset)(h+".yml")).then(function(){var w=c(p().mark(function(){function A(T){var E,O,P;return p().wrap(function(){function R(F){for(;;)switch(F.prev=F.next){case 0:return F.next=2,T.text();case 2:E=F.sent,O=/^Cannot find/,O.test(E)?(P=50+C*50,B.setData("Loading changelog data"+".".repeat(C+3)),setTimeout(function(){B.getData(h,C+1)},P)):B.setData(k.default.load(E,{schema:k.default.CORE_SCHEMA}));case 5:case"end":return F.stop()}}return R}(),A)}return A}()));return function(A){return w.apply(this,arguments)}}())},g.state={data:"Loading changelog data...",selectedDate:"",selectedIndex:0},g.dateChoices=[],g}m(v,l);var b=v.prototype;return b.setData=function(){function g(h){this.setState({data:h})}return g}(),b.setSelectedDate=function(){function g(h){this.setState({selectedDate:h})}return g}(),b.setSelectedIndex=function(){function g(h){this.setState({selectedIndex:h})}return g}(),b.componentDidMount=function(){function g(){var h=this,C=(0,t.useBackend)(this.context),N=C.data.dates,x=N===void 0?[]:N;x&&(x.forEach(function(B){return h.dateChoices.push((0,V.default)(B,"mmmm yyyy",!0))}),this.setSelectedDate(this.dateChoices[0]),this.getData(x[0]))}return g}(),b.render=function(){function g(){var h=this,C=this.state,N=C.data,x=C.selectedDate,B=C.selectedIndex,L=(0,t.useBackend)(this.context),w=L.data.dates,A=this.dateChoices,T=A.length>0&&(0,e.createComponentVNode)(2,o.Stack,{mb:1,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{className:"Changelog__Button",disabled:B===0,icon:"chevron-left",onClick:function(){function F(){var j=B-1;return h.setData("Loading changelog data..."),h.setSelectedIndex(j),h.setSelectedDate(A[j]),window.scrollTo(0,document.body.scrollHeight||document.documentElement.scrollHeight),h.getData(w[j])}return F}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Dropdown,{displayText:x,options:A,onSelected:function(){function F(j){var W=A.indexOf(j);return h.setData("Loading changelog data..."),h.setSelectedIndex(W),h.setSelectedDate(j),window.scrollTo(0,document.body.scrollHeight||document.documentElement.scrollHeight),h.getData(w[W])}return F}(),selected:x,width:"150px"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{className:"Changelog__Button",disabled:B===A.length-1,icon:"chevron-right",onClick:function(){function F(){var j=B+1;return h.setData("Loading changelog data..."),h.setSelectedIndex(j),h.setSelectedDate(A[j]),window.scrollTo(0,document.body.scrollHeight||document.documentElement.scrollHeight),h.getData(w[j])}return F}()})})]}),E=(0,e.createComponentVNode)(2,o.Section,{children:[(0,e.createVNode)(1,"h1",null,"Paradise Station",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thanks to: ",16),(0,e.createTextVNode)("Baystation 12, /tg/station, /vg/station, NTstation, CDK Station devs, FacepunchStation, GoonStation devs, the original SpaceStation developers and Radithor for the title image. Also a thanks to anybody who has contributed who is not listed here :( Ask to be added here on irc.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Recent GitHub contributors can be found "),(0,e.createVNode)(1,"a",null,"here",16,{href:"https://github.com/ss220-space/Paradise/pulse/monthly"}),(0,e.createTextVNode)(".")],0),T]}),O=(0,e.createComponentVNode)(2,o.Section,{children:[T,(0,e.createVNode)(1,"h3",null,"GoonStation 13 Development Team",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Coders: ",16),(0,e.createTextVNode)("Stuntwaffle, Showtime, Pantaloons, Nannek, Keelin, Exadv1, hobnob, Justicefries, 0staf, sniperchance, AngriestIBM, BrianOBlivion")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Spriters: ",16),(0,e.createTextVNode)("Supernorn, Haruhi, Stuntwaffle, Pantaloons, Rho, SynthOrange, I Said No")],4),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Traditional Games Space Station 13 is thankful to the GoonStation 13 Development Team for its work on the game up to the"),(0,e.createTextVNode)(" r4407 release. The changelog for changes up to r4407 can be seen "),(0,e.createVNode)(1,"a",null,"here",16,{href:"https://wiki.ss13.co/Pre-2016_Changelog#April_2010"}),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,["Except where otherwise noted, Goon Station 13 is licensed under a ",(0,e.createVNode)(1,"a",null,"Creative Commons Attribution-Noncommercial-Share Alike 3.0 License",16,{href:"https://creativecommons.org/licenses/by-nc-sa/3.0/"}),". Rights are currently extended to ",(0,e.createVNode)(1,"a",null,"SomethingAwful Goons",16,{href:"http://forums.somethingawful.com/"})," only."],0),(0,e.createVNode)(1,"h3",null,"Traditional Games Space Station 13 License",16),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Some icons by"),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"a",null,"Yusuke Kamiyamane",16,{href:"http://p.yusukekamiyamane.com/"}),(0,e.createTextVNode)(". All rights reserved. Licensed under a"),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"a",null,"Creative Commons Attribution 3.0 License",16,{href:"http://creativecommons.org/licenses/by/3.0/"}),(0,e.createTextVNode)(".")],0)]}),P=/#\d+/,R=typeof N=="object"&&Object.keys(N).length>0&&Object.entries(N).reverse().map(function(F){var j=F[0],W=F[1];return(0,e.createComponentVNode)(2,o.Section,{title:(0,V.default)(j,"d mmmm yyyy",!0),children:(0,e.createComponentVNode)(2,o.Box,{ml:3,children:Object.entries(W).map(function(H){var z=H[0],Y=H[1];return(0,e.createFragment)([(0,e.createVNode)(1,"h4",null,[z,(0,e.createTextVNode)(" changed:")],0),(0,e.createComponentVNode)(2,o.Box,{ml:3,children:(0,e.createComponentVNode)(2,o.Table,{children:Y.map(function(G){var ne=Object.keys(G)[0],Q=G[ne],he=Q.match(P),Ve=(0,e.createComponentVNode)(2,o.Table.Cell,{className:(0,a.classes)(["Changelog__Cell","Changelog__Cell--Icon"]),children:(0,e.createComponentVNode)(2,o.Icon,{color:d[ne]?d[ne].color:d.unknown.color,name:d[ne]?d[ne].icon:d.unknown.icon})});return he!==null&&(0,e.createComponentVNode)(2,o.Table.Row,{children:[Ve,(0,e.createComponentVNode)(2,o.Table.Cell,{className:"Changelog__Cell",children:(0,e.createVNode)(1,"a",null,[" ",Q.charAt(0).toUpperCase()+Q.slice(1)," "],0,{href:"https://github.com/ss220-space/Paradise/pull/"+he[0].substring(1)})})]},ne+Q)||(0,e.createComponentVNode)(2,o.Table.Row,{children:[Ve,(0,e.createComponentVNode)(2,o.Table.Cell,{className:"Changelog__Cell",children:Q})]},ne+Q)})})})],4,z)})})},j)});return(0,e.createComponentVNode)(2,s.Window,{title:"Changelog",width:675,height:650,children:(0,e.createComponentVNode)(2,s.Window.Content,{scrollable:!0,children:[E,R,typeof N=="string"&&(0,e.createVNode)(1,"p",null,N,0),O]})})}return g}(),v}(e.Component)},36108:function(I,r,n){"use strict";r.__esModule=!0,r.ChemDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(85870),s=n(98595),y=[1,5,10,20,30,50,100],V=[1,5,10],k=r.ChemDispenser=function(){function c(m,u){var d=(0,a.useBackend)(u),f=d.act,l=d.data,v=l.chemicals;return(0,e.createComponentVNode)(2,s.Window,{width:460,height:400+v.length*8,children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,i)]})})})}return c}(),S=function(m,u){var d=(0,a.useBackend)(u),f=d.act,l=d.data,v=l.amount,b=l.energy,g=l.maxEnergy;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:b,minValue:0,maxValue:g,ranges:{good:[g*.5,1/0],average:[g*.25,g*.5],bad:[-1/0,g*.25]},children:[b," / ",g," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dispense",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{children:y.map(function(h,C){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"15%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"cog",selected:v===h,content:h,onClick:function(){function N(){return f("amount",{amount:h})}return N}()})},C)})})})]})})})},p=function(m,u){for(var d=(0,a.useBackend)(u),f=d.act,l=d.data,v=l.chemicals,b=v===void 0?[]:v,g=[],h=0;h<(b.length+1)%3;h++)g.push(!0);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:l.glass?"Drink Dispenser":"Chemical Dispenser",children:[b.map(function(C,N){return(0,e.createComponentVNode)(2,t.Button,{m:.1,width:"32.5%",icon:"arrow-circle-down",overflow:"hidden",textOverflow:"ellipsis",content:C.title,style:{"margin-left":"2px"},onClick:function(){function x(){return f("dispense",{reagent:C.id})}return x}()},N)}),g.map(function(C,N){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%"},N)})]})})},i=function(m,u){var d=(0,a.useBackend)(u),f=d.act,l=d.data,v=l.isBeakerLoaded,b=l.beakerCurrentVolume,g=l.beakerMaxVolume,h=l.beakerContents,C=h===void 0?[]:h;return(0,e.createComponentVNode)(2,t.Stack.Item,{height:16,children:(0,e.createComponentVNode)(2,t.Section,{title:l.glass?"Glass":"Beaker",fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,t.Box,{children:[!!v&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"label",mr:2,children:[b," / ",g," units"]}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject",disabled:!v,onClick:function(){function N(){return f("ejectBeaker")}return N}()})]}),children:(0,e.createComponentVNode)(2,o.BeakerContents,{beakerLoaded:v,beakerContents:C,buttons:function(){function N(x){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Isolate",icon:"compress-arrows-alt",onClick:function(){function B(){return f("remove",{reagent:x.id,amount:-1})}return B}()}),V.map(function(B,L){return(0,e.createComponentVNode)(2,t.Button,{content:B,onClick:function(){function w(){return f("remove",{reagent:x.id,amount:B})}return w}()},L)}),(0,e.createComponentVNode)(2,t.Button,{content:"ALL",onClick:function(){function B(){return f("remove",{reagent:x.id,amount:x.volume})}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Floor",tooltip:"Set to "+Math.trunc(x.volume),icon:"arrow-circle-down",onClick:function(){function B(){return f("remove",{reagent:x.id,amount:-2})}return B}()})],0)}return N}()})})})}},13146:function(I,r,n){"use strict";r.__esModule=!0,r.ChemHeater=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=n(85870),y=n(98595),V=r.ChemHeater=function(){function p(i,c){return(0,e.createComponentVNode)(2,y.Window,{width:350,height:275,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,S)]})})})}return p}(),k=function(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m.data,f=d.targetTemp,l=d.targetTempReached,v=d.autoEject,b=d.isActive,g=d.currentTemp,h=d.isBeakerLoaded;return(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Settings",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Auto-eject",icon:v?"toggle-on":"toggle-off",selected:v,onClick:function(){function C(){return u("toggle_autoeject")}return C}()}),(0,e.createComponentVNode)(2,o.Button,{content:b?"On":"Off",icon:"power-off",selected:b,disabled:!h,onClick:function(){function C(){return u("toggle_on")}return C}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Target",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"65px",unit:"K",step:10,stepPixelSize:3,value:(0,a.round)(f,0),minValue:0,maxValue:1e3,onDrag:function(){function C(N,x){return u("adjust_temperature",{target:x})}return C}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Reading",color:l?"good":"average",children:h&&(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:g,format:function(){function C(N){return(0,a.toFixed)(N)+" K"}return C}()})||"\u2014"})]})})})},S=function(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m.data,f=d.isBeakerLoaded,l=d.beakerCurrentVolume,v=d.beakerMaxVolume,b=d.beakerContents;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Beaker",fill:!0,scrollable:!0,buttons:!!f&&(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"label",mr:2,children:[l," / ",v," units"]}),(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject",onClick:function(){function g(){return u("eject_beaker")}return g}()})]}),children:(0,e.createComponentVNode)(2,s.BeakerContents,{beakerLoaded:f,beakerContents:b})})})}},56541:function(I,r,n){"use strict";r.__esModule=!0,r.ChemMaster=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(85870),y=n(3939),V=n(35840),k=["icon"];function S(B,L){if(B==null)return{};var w={};for(var A in B)if({}.hasOwnProperty.call(B,A)){if(L.includes(A))continue;w[A]=B[A]}return w}function p(B,L){B.prototype=Object.create(L.prototype),B.prototype.constructor=B,i(B,L)}function i(B,L){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(w,A){return w.__proto__=A,w},i(B,L)}var c=[1,5,10],m=function(L,w){var A=(0,a.useBackend)(w),T=A.act,E=A.data,O=L.args.analysis;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:E.condi?"Condiment Analysis":"Reagent Analysis",children:(0,e.createComponentVNode)(2,t.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:O.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:(O.desc||"").length>0?O.desc:"N/A"}),O.blood_type&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood type",children:O.blood_type}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood DNA",className:"LabeledList__breakContents",children:O.blood_dna})],4),!E.condi&&(0,e.createComponentVNode)(2,t.Button,{icon:E.printing?"spinner":"print",disabled:E.printing,iconSpin:!!E.printing,ml:"0.5rem",content:"Print",onClick:function(){function P(){return T("print",{idx:O.idx,beaker:L.args.beaker})}return P}()})]})})})})},u=function(B){return B[B.ToDisposals=0]="ToDisposals",B[B.ToBeaker=1]="ToBeaker",B}(u||{}),d=r.ChemMaster=function(){function B(L,w){return(0,e.createComponentVNode)(2,o.Window,{width:575,height:650,children:[(0,e.createComponentVNode)(2,y.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f),(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,v),(0,e.createComponentVNode)(2,x)]})})]})}return B}(),f=function(L,w){var A=(0,a.useBackend)(w),T=A.act,E=A.data,O=E.beaker,P=E.beaker_reagents,R=E.buffer_reagents,F=R.length>0;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Beaker",fill:!0,scrollable:!0,buttons:F?(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"eject",disabled:!O,content:"Eject and Clear Buffer",onClick:function(){function j(){return T("eject")}return j}()}):(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!O,content:"Eject and Clear Buffer",onClick:function(){function j(){return T("eject")}return j}()}),children:O?(0,e.createComponentVNode)(2,s.BeakerContents,{beakerLoaded:!0,beakerContents:P,buttons:function(){function j(W,H){return(0,e.createComponentVNode)(2,t.Box,{mb:H0?(0,e.createComponentVNode)(2,s.BeakerContents,{beakerLoaded:!0,beakerContents:P,buttons:function(){function R(F,j){return(0,e.createComponentVNode)(2,t.Box,{mb:j0&&(F=R.map(function(j){var W=j.id,H=j.sprite;return(0,e.createComponentVNode)(2,C,{icon:H,color:"translucent",onClick:function(){function z(){return T("set_sprite_style",{production_mode:O,style:W})}return z}(),selected:P===W},W)})),(0,e.createComponentVNode)(2,h,{productionData:L.productionData,children:F&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Style",children:F})})},x=function(L,w){var A=(0,a.useBackend)(w),T=A.act,E=A.data,O=E.loaded_pill_bottle_style,P=E.containerstyles,R=E.loaded_pill_bottle,F={width:"20px",height:"20px"},j=P.map(function(W){var H=W.color,z=W.name,Y=O===H;return(0,e.createComponentVNode)(2,t.Button,{style:{position:"relative",width:F.width,height:F.height},onClick:function(){function G(){return T("set_container_style",{style:H})}return G}(),icon:Y&&"check",iconStyle:{position:"relative","z-index":1},tooltip:z,tooltipPosition:"top",children:[!Y&&(0,e.createVNode)(1,"div",null,null,1,{style:{display:"inline-block"}}),(0,e.createVNode)(1,"span","Button",null,1,{style:{display:"inline-block",position:"absolute",top:0,left:0,margin:0,padding:0,width:F.width,height:F.height,"background-color":H,opacity:.6,filter:"alpha(opacity=60)"}})]},H)});return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Container Customization",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!R,content:"Eject Container",onClick:function(){function W(){return T("ejectp")}return W}()}),children:R?(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Style",children:[(0,e.createComponentVNode)(2,t.Button,{style:{width:F.width,height:F.height},icon:"tint-slash",onClick:function(){function W(){return T("clear_container_style")}return W}(),selected:!O,tooltip:"Default",tooltipPosition:"top"}),j]})}):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"No pill bottle or patch pack loaded."})})})};(0,y.modalRegisterBodyOverride)("analyze",m)},37173:function(I,r,n){"use strict";r.__esModule=!0,r.CloningConsole=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=n(76910),y=n(3939),V=n(98595),k=n(79140),S=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=v.args,x=N.activerecord,B=N.realname,L=N.health,w=N.unidentity,A=N.strucenzymes,T=L.split(" - ");return(0,e.createComponentVNode)(2,o.Section,{level:2,m:"-1rem",pb:"1rem",title:"Records of "+B,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:B}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Damage",children:T.length>1?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{color:s.COLORS.damageType.oxy,inline:!0,children:T[0]}),(0,e.createTextVNode)("\xA0|\xA0"),(0,e.createComponentVNode)(2,o.Box,{color:s.COLORS.damageType.toxin,inline:!0,children:T[2]}),(0,e.createTextVNode)("\xA0|\xA0"),(0,e.createComponentVNode)(2,o.Box,{color:s.COLORS.damageType.brute,inline:!0,children:T[3]}),(0,e.createTextVNode)("\xA0|\xA0"),(0,e.createComponentVNode)(2,o.Box,{color:s.COLORS.damageType.burn,inline:!0,children:T[1]})],4):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Unknown"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"UI",className:"LabeledList__breakContents",children:w}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"SE",className:"LabeledList__breakContents",children:A}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Disk",children:[(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!C.disk,icon:"arrow-circle-down",content:"Import",onClick:function(){function E(){return h("disk",{option:"load"})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!C.disk,icon:"arrow-circle-up",content:"Export UI",onClick:function(){function E(){return h("disk",{option:"save",savetype:"ui"})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!C.disk,icon:"arrow-circle-up",content:"Export UI and UE",onClick:function(){function E(){return h("disk",{option:"save",savetype:"ue"})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!C.disk,icon:"arrow-circle-up",content:"Export SE",onClick:function(){function E(){return h("disk",{option:"save",savetype:"se"})}return E}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,o.Button,{disabled:!C.podready,icon:"user-plus",content:"Clone",onClick:function(){function E(){return h("clone",{ref:x})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"trash",content:"Delete",onClick:function(){function E(){return h("del_rec")}return E}()})]})]})})},p=r.CloningConsole=function(){function l(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.menu;return(0,y.modalRegisterBodyOverride)("view_rec",S),(0,e.createComponentVNode)(2,V.Window,{width:640,height:520,children:[(0,e.createComponentVNode)(2,y.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),(0,e.createComponentVNode)(2,V.Window.Content,{className:"Layout__content--flexColumn",children:[(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,f),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,o.Section,{noTopPadding:!0,flexGrow:"1",children:(0,e.createComponentVNode)(2,c)})]})]})}return l}(),i=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.menu;return(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:N===1,icon:"home",onClick:function(){function x(){return h("menu",{num:1})}return x}(),children:"Main"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:N===2,icon:"folder",onClick:function(){function x(){return h("menu",{num:2})}return x}(),children:"Records"})]})},c=function(v,b){var g=(0,t.useBackend)(b),h=g.data,C=h.menu,N;return C===1?N=(0,e.createComponentVNode)(2,m):C===2&&(N=(0,e.createComponentVNode)(2,u)),N},m=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.loading,x=C.scantemp,B=C.occupant,L=C.locked,w=C.can_brainscan,A=C.scan_mode,T=C.numberofpods,E=C.pods,O=C.selected_pod,P=L&&!!B;return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Section,{title:"Scanner",level:"2",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"label",children:"Scanner Lock:\xA0"}),(0,e.createComponentVNode)(2,o.Button,{disabled:!B,selected:P,icon:P?"toggle-on":"toggle-off",content:P?"Engaged":"Disengaged",onClick:function(){function R(){return h("lock")}return R}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:P||!B,icon:"user-slash",content:"Eject Occupant",onClick:function(){function R(){return h("eject")}return R}()})],4),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",children:N?(0,e.createComponentVNode)(2,o.Box,{color:"average",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"spinner",spin:!0}),"\xA0 Scanning..."]}):(0,e.createComponentVNode)(2,o.Box,{color:x.color,children:x.text})}),!!w&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Scan Mode",children:(0,e.createComponentVNode)(2,o.Button,{icon:A?"brain":"male",content:A?"Brain":"Body",onClick:function(){function R(){return h("toggle_mode")}return R}()})})]}),(0,e.createComponentVNode)(2,o.Button,{disabled:!B||N,icon:"user",content:"Scan Occupant",mt:"0.5rem",mb:"0",onClick:function(){function R(){return h("scan")}return R}()})]}),(0,e.createComponentVNode)(2,o.Section,{title:"Pods",level:"2",children:T?E.map(function(R,F){var j;return R.status==="cloning"?j=(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:"100",value:R.progress/100,ranges:{good:[.75,1/0],average:[.25,.75],bad:[-1/0,.25]},mt:"0.5rem",children:(0,e.createComponentVNode)(2,o.Box,{textAlign:"center",children:(0,a.round)(R.progress,0)+"%"})}):R.status==="mess"?j=(0,e.createComponentVNode)(2,o.Box,{bold:!0,color:"bad",mt:"0.5rem",children:"ERROR"}):j=(0,e.createComponentVNode)(2,o.Button,{selected:O===R.pod,icon:O===R.pod&&"check",content:"Select",mt:"0.5rem",onClick:function(){function W(){return h("selectpod",{ref:R.pod})}return W}()}),(0,e.createComponentVNode)(2,o.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,e.createVNode)(1,"img",null,null,1,{src:(0,k.resolveAsset)("pod_"+R.status+".gif"),style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,o.Box,{color:"label",children:["Pod #",F+1]}),(0,e.createComponentVNode)(2,o.Box,{bold:!0,color:R.biomass>=150?"good":"bad",inline:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:R.biomass>=150?"circle":"circle-o"}),"\xA0",R.biomass]}),j]},F)}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"No pods detected. Unable to clone."})})],4)},u=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.records;return N.length?(0,e.createComponentVNode)(2,o.Box,{mt:"0.5rem",children:N.map(function(x,B){return(0,e.createComponentVNode)(2,o.Button,{icon:"user",mb:"0.5rem",content:x.realname,onClick:function(){function L(){return h("view_rec",{ref:x.record})}return L}()},B)})}):(0,e.createComponentVNode)(2,o.Flex,{height:"100%",children:(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No records found."]})})},d=function(v,b){var g,h=(0,t.useBackend)(b),C=h.act,N=h.data,x=N.temp;if(!(!x||!x.text||x.text.length<=0)){var B=(g={},g[x.style]=!0,g);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.NoticeBox,Object.assign({},B,{children:[(0,e.createComponentVNode)(2,o.Box,{display:"inline-block",verticalAlign:"middle",children:x.text}),(0,e.createComponentVNode)(2,o.Button,{icon:"times-circle",float:"right",onClick:function(){function L(){return C("cleartemp")}return L}()}),(0,e.createComponentVNode)(2,o.Box,{clear:"both"})]})))}},f=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.scanner,x=C.numberofpods,B=C.autoallowed,L=C.autoprocess,w=C.disk;return(0,e.createComponentVNode)(2,o.Section,{title:"Status",buttons:(0,e.createFragment)([!!B&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"label",children:"Auto-processing:\xA0"}),(0,e.createComponentVNode)(2,o.Button,{selected:L,icon:L?"toggle-on":"toggle-off",content:L?"Enabled":"Disabled",onClick:function(){function A(){return h("autoprocess",{on:L?0:1})}return A}()})],4),(0,e.createComponentVNode)(2,o.Button,{disabled:!w,icon:"eject",content:"Eject Disk",onClick:function(){function A(){return h("disk",{option:"eject"})}return A}()})],0),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Scanner",children:N?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Connected"}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Not connected!"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pods",children:x?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:[x," connected"]}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"None connected!"})})]})})}},63818:function(I,r,n){"use strict";r.__esModule=!0,r.CommunicationsComputer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.CommunicationsComputer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c;i.authenticated?i.is_ai?c="AI":i.authenticated===1?c="Command":i.authenticated===2?c="Captain":c="ERROR: Report This Bug!":c="Not Logged In";var m="View ("+i.messages.length+")",u=(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Authentication",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:i.is_ai&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Access Level",children:"AI"})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.authenticated?"sign-out-alt":"id-card",selected:i.authenticated,content:i.authenticated?"Log Out ("+c+")":"Log In",onClick:function(){function x(){return p("auth")}return x}()})})})}),!!i.esc_section&&(0,e.createComponentVNode)(2,t.Section,{title:"Escape Shuttle",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!i.esc_status&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:i.esc_status}),!!i.esc_callable&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Options",children:(0,e.createComponentVNode)(2,t.Button,{icon:"rocket",content:"Call Shuttle",disabled:!i.authenticated,onClick:function(){function x(){return p("callshuttle")}return x}()})}),!!i.esc_recallable&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Options",children:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Recall Shuttle",disabled:!i.authenticated||i.is_ai,onClick:function(){function x(){return p("cancelshuttle")}return x}()})}),!!i.lastCallLoc&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Last Call/Recall From",children:i.lastCallLoc})]})})],0),d="Make Priority Announcement";i.msg_cooldown>0&&(d+=" ("+i.msg_cooldown+"s)");var f=i.emagged?"Message [UNKNOWN]":"Message CentComm",l="Request Authentication Codes";i.cc_cooldown>0&&(f+=" ("+i.cc_cooldown+"s)",l+=" ("+i.cc_cooldown+"s)");var v=i.str_security_level,b=i.levels.map(function(x){return(0,e.createComponentVNode)(2,t.Button,{icon:x.icon,content:x.name,disabled:!i.authmax||x.id===i.security_level,onClick:function(){function B(){return p("newalertlevel",{level:x.id})}return B}()},x.name)}),g=i.stat_display.presets.map(function(x){return(0,e.createComponentVNode)(2,t.Button,{content:x.label,selected:x.name===i.stat_display.type,disabled:!i.authenticated,onClick:function(){function B(){return p("setstat",{statdisp:x.name})}return B}()},x.name)}),h=i.stat_display.alerts.map(function(x){return(0,e.createComponentVNode)(2,t.Button,{content:x.label,selected:x.alert===i.stat_display.icon,disabled:!i.authenticated,onClick:function(){function B(){return p("setstat",{statdisp:"alert",alert:x.alert})}return B}()},x.alert)}),C;if(i.current_message_title)C=(0,e.createComponentVNode)(2,t.Section,{title:i.current_message_title,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Return To Message List",disabled:!i.authenticated,onClick:function(){function x(){return p("messagelist")}return x}()}),children:(0,e.createComponentVNode)(2,t.Box,{children:i.current_message})});else{var N=i.messages.map(function(x){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:x.title,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"eye",content:"View",disabled:!i.authenticated||i.current_message_title===x.title,onClick:function(){function B(){return p("messagelist",{msgid:x.id})}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Delete",disabled:!i.authenticated,onClick:function(){function B(){return p("delmessage",{msgid:x.id})}return B}()})]},x.id)});C=(0,e.createComponentVNode)(2,t.Section,{title:"Messages Received",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function x(){return p("main")}return x}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:N})})}switch(i.menu_state){case 1:return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[u,(0,e.createComponentVNode)(2,t.Section,{title:"Captain-Only Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Alert",color:i.security_level_color,children:v}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Change Alert",children:b}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Announcement",children:(0,e.createComponentVNode)(2,t.Button,{icon:"bullhorn",content:d,disabled:!i.authmax||i.msg_cooldown>0,onClick:function(){function x(){return p("announce")}return x}()})}),!!i.emagged&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transmit",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",color:"red",content:f,disabled:!i.authmax||i.cc_cooldown>0,onClick:function(){function x(){return p("MessageSyndicate")}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync-alt",content:"Reset Relays",disabled:!i.authmax,onClick:function(){function x(){return p("RestoreBackup")}return x}()})]})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transmit",children:(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",content:f,disabled:!i.authmax||i.cc_cooldown>0,onClick:function(){function x(){return p("MessageCentcomm")}return x}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nuclear Device",children:(0,e.createComponentVNode)(2,t.Button,{icon:"bomb",content:l,disabled:!i.authmax||i.cc_cooldown>0,onClick:function(){function x(){return p("nukerequest")}return x}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Command Staff Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Displays",children:(0,e.createComponentVNode)(2,t.Button,{icon:"tv",content:"Change Status Displays",disabled:!i.authenticated,onClick:function(){function x(){return p("status")}return x}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Incoming Messages",children:(0,e.createComponentVNode)(2,t.Button,{icon:"folder-open",content:m,disabled:!i.authenticated,onClick:function(){function x(){return p("messagelist")}return x}()})})]})})]})});case 2:return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[u,(0,e.createComponentVNode)(2,t.Section,{title:"Modify Status Screens",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function x(){return p("main")}return x}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Presets",children:g}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alerts",children:h}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message Line 1",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:i.stat_display.line_1,disabled:!i.authenticated,onClick:function(){function x(){return p("setmsg1")}return x}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message Line 2",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:i.stat_display.line_2,disabled:!i.authenticated,onClick:function(){function x(){return p("setmsg2")}return x}()})})]})})]})});case 3:return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[u,C]})});default:return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[u,"ERRROR. Unknown menu_state: ",i.menu_state,"Please report this to NT Technical Support."]})})}}return y}()},21813:function(I,r,n){"use strict";r.__esModule=!0,r.Contractor=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=n(73379),y=n(98595);function V(b,g){b.prototype=Object.create(g.prototype),b.prototype.constructor=b,k(b,g)}function k(b,g){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(h,C){return h.__proto__=C,h},k(b,g)}var S={1:["ACTIVE","good"],2:["COMPLETED","good"],3:["FAILED","bad"]},p=["Recording biometric data...","Analyzing embedded syndicate info...","STATUS CONFIRMED","Contacting Syndicate database...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Response received, ack 4851234...","CONFIRM ACC "+Math.round(Math.random()*2e4),"Setting up private accounts...","CONTRACTOR ACCOUNT CREATED","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","CONTRACTS FOUND","WELCOME, AGENT"],i=r.Contractor=function(){function b(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B;x.unauthorized?B=(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,l,{height:"100%",allMessages:["ERROR: UNAUTHORIZED USER"],finishedTimeout:100,onFinished:function(){function T(){}return T}()})}):x.load_animation_completed?B=(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",children:(0,e.createComponentVNode)(2,c)}),(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",mt:"0.5rem",children:(0,e.createComponentVNode)(2,m)}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",overflow:"hidden",children:x.page===1?(0,e.createComponentVNode)(2,u,{height:"100%"}):(0,e.createComponentVNode)(2,f,{height:"100%"})})],4):B=(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,l,{height:"100%",allMessages:p,finishedTimeout:3e3,onFinished:function(){function T(){return N("complete_load_animation")}return T}()})});var L=(0,t.useLocalState)(h,"viewingPhoto",""),w=L[0],A=L[1];return(0,e.createComponentVNode)(2,y.Window,{width:500,height:600,theme:"syndicate",children:[w&&(0,e.createComponentVNode)(2,v),(0,e.createComponentVNode)(2,y.Window.Content,{className:"Contractor",children:(0,e.createComponentVNode)(2,o.Flex,{direction:"column",height:"100%",children:B})})]})}return b}(),c=function(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B=x.tc_available,L=x.tc_paid_out,w=x.completed_contracts,A=x.rep;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Summary",buttons:(0,e.createComponentVNode)(2,o.Box,{verticalAlign:"middle",mt:"0.25rem",children:[A," Rep"]})},g,{children:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Box,{flexBasis:"50%",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"TC Available",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,o.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",children:[B," TC"]}),(0,e.createComponentVNode)(2,o.Button,{disabled:B<=0,content:"Claim",mx:"0.75rem",mb:"0",flexBasis:"content",onClick:function(){function T(){return N("claim")}return T}()})]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"TC Earned",children:[L," TC"]})]})}),(0,e.createComponentVNode)(2,o.Box,{flexBasis:"50%",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Contracts Completed",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,o.Box,{height:"20px",lineHeight:"20px",display:"inline-block",children:w})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Contractor Status",verticalAlign:"middle",children:"ACTIVE"})]})})]})})))},m=function(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B=x.page;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Tabs,Object.assign({},g,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===1,onClick:function(){function L(){return N("page",{page:1})}return L}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"suitcase"}),"Contracts"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===2,onClick:function(){function L(){return N("page",{page:2})}return L}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"shopping-cart"}),"Hub"]})]})))},u=function(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B=x.contracts,L=x.contract_active,w=x.can_extract,A=!!L&&B.filter(function(R){return R.status===1})[0],T=A&&A.time_left>0,E=(0,t.useLocalState)(h,"viewingPhoto",""),O=E[0],P=E[1];return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Available Contracts",overflow:"auto",buttons:(0,e.createComponentVNode)(2,o.Button,{disabled:!w||T,icon:"parachute-box",content:["Call Extraction",T&&(0,e.createComponentVNode)(2,s.Countdown,{timeLeft:A.time_left,format:function(){function R(F,j){return" ("+j.substr(3)+")"}return R}()})],onClick:function(){function R(){return N("extract")}return R}()})},g,{children:B.slice().sort(function(R,F){return R.status===1?-1:F.status===1?1:R.status-F.status}).map(function(R){var F;return(0,e.createComponentVNode)(2,o.Section,{title:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",color:R.status===1&&"good",children:R.target_name}),(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",children:R.has_photo&&(0,e.createComponentVNode)(2,o.Button,{icon:"camera",mb:"-0.5rem",ml:"0.5rem",onClick:function(){function j(){return P("target_photo_"+R.uid+".png")}return j}()})})]}),className:"Contractor__Contract",buttons:(0,e.createComponentVNode)(2,o.Box,{width:"100%",children:[!!S[R.status]&&(0,e.createComponentVNode)(2,o.Box,{color:S[R.status][1],display:"inline-block",mt:R.status!==1&&"0.125rem",mr:"0.25rem",lineHeight:"20px",children:S[R.status][0]}),R.status===1&&(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"ban",color:"bad",content:"Abort",ml:"0.5rem",onClick:function(){function j(){return N("abort")}return j}()})]}),children:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"2",mr:"0.5rem",children:[R.fluff_message,!!R.completed_time&&(0,e.createComponentVNode)(2,o.Box,{color:"good",children:[(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Icon,{name:"check",mr:"0.5rem"}),"Contract completed at ",R.completed_time]}),!!R.dead_extraction&&(0,e.createComponentVNode)(2,o.Box,{color:"bad",mt:"0.5rem",bold:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle",mr:"0.5rem"}),"Telecrystals reward reduced drastically as the target was dead during extraction."]}),!!R.fail_reason&&(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:[(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Icon,{name:"times",mr:"0.5rem"}),"Contract failed: ",R.fail_reason]})]}),(0,e.createComponentVNode)(2,o.Flex.Item,{flexBasis:"100%",children:[(0,e.createComponentVNode)(2,o.Flex,{mb:"0.5rem",color:"label",children:["Extraction Zone:\xA0",d(R)]}),(F=R.difficulties)==null?void 0:F.map(function(j,W){return(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!!L,content:j.name+" ("+j.reward+" TC)",onClick:function(){function H(){return N("activate",{uid:R.uid,difficulty:W+1})}return H}()},W)}),!!R.objective&&(0,e.createComponentVNode)(2,o.Box,{color:"white",bold:!0,children:[R.objective.extraction_name,(0,e.createVNode)(1,"br"),"(",(R.objective.rewards.tc||0)+" TC",",\xA0",(R.objective.rewards.credits||0)+" Credits",")"]})]})]})},R.uid)})})))},d=function(g){if(!(!g.objective||g.status>1)){var h=g.objective.locs.user_area_id,C=g.objective.locs.user_coords,N=g.objective.locs.target_area_id,x=g.objective.locs.target_coords,B=h===N;return(0,e.createComponentVNode)(2,o.Flex.Item,{children:(0,e.createComponentVNode)(2,o.Icon,{name:B?"dot-circle-o":"arrow-alt-circle-right-o",color:B?"green":"yellow",rotation:B?null:-(0,a.rad2deg)(Math.atan2(x[1]-C[1],x[0]-C[0])),lineHeight:B?null:"0.85",size:"1.5"})})}},f=function(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B=x.rep,L=x.buyables;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Available Purchases",overflow:"auto"},g,{children:L.map(function(w){return(0,e.createComponentVNode)(2,o.Section,{title:w.name,buttons:w.refundable&&(0,e.createComponentVNode)(2,o.Button.Confirm,{content:"Refund ("+w.cost+" Rep)",onClick:function(){function A(){return N("refund",{uid:w.uid})}return A}()}),children:[w.description,(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:B-1&&(0,e.createComponentVNode)(2,o.Box,{as:"span",color:w.stock===0?"bad":"good",ml:"0.5rem",children:[w.stock," in stock"]})]},w.uid)})})))},l=function(b){function g(C){var N;return N=b.call(this,C)||this,N.timer=null,N.state={currentIndex:0,currentDisplay:[]},N}V(g,b);var h=g.prototype;return h.tick=function(){function C(){var N=this.props,x=this.state;if(x.currentIndex<=N.allMessages.length){this.setState(function(L){return{currentIndex:L.currentIndex+1}});var B=x.currentDisplay;B.push(N.allMessages[x.currentIndex])}else clearTimeout(this.timer),setTimeout(N.onFinished,N.finishedTimeout)}return C}(),h.componentDidMount=function(){function C(){var N=this,x=this.props.linesPerSecond,B=x===void 0?2.5:x;this.timer=setInterval(function(){return N.tick()},1e3/B)}return C}(),h.componentWillUnmount=function(){function C(){clearTimeout(this.timer)}return C}(),h.render=function(){function C(){return(0,e.createComponentVNode)(2,o.Box,{m:1,children:this.state.currentDisplay.map(function(N){return(0,e.createFragment)([N,(0,e.createVNode)(1,"br")],0,N)})})}return C}(),g}(e.Component),v=function(g,h){var C=(0,t.useLocalState)(h,"viewingPhoto",""),N=C[0],x=C[1];return(0,e.createComponentVNode)(2,o.Modal,{className:"Contractor__photoZoom",children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:N}),(0,e.createComponentVNode)(2,o.Button,{icon:"times",content:"Close",color:"grey",mt:"1rem",onClick:function(){function B(){return x("")}return B}()})]})}},54151:function(I,r,n){"use strict";r.__esModule=!0,r.ConveyorSwitch=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.ConveyorSwitch=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.slowFactor,m=i.minSpeed,u=i.maxSpeed,d=i.oneWay,f=i.position;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:150,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lever position",children:f>0?"forward":f<0?"reverse":"neutral"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Allow reverse",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!d,onClick:function(){function l(){return p("toggleOneWay")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slowdown factor",children:(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-left",onClick:function(){function l(){return p("slowFactor",{value:c-.5})}return l}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-left",onClick:function(){function l(){return p("slowFactor",{value:c-.1})}return l}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Slider,{width:"100px",mx:"1px",value:c,fillValue:c,minValue:m,maxValue:u,step:.1,format:function(){function l(v){return v+"s."}return l}(),onChange:function(){function l(v,b){return p("slowFactor",{value:b})}return l}()})}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-right",onClick:function(){function l(){return p("slowFactor",{value:c+.1})}return l}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-right",onClick:function(){function l(){return p("slowFactor",{value:c+.5})}return l}()})," "]})]})})]})})})})}return y}()},73169:function(I,r,n){"use strict";r.__esModule=!0,r.CrewMonitor=void 0;var e=n(89005),a=n(88510),t=n(25328),o=n(72253),s=n(36036),y=n(36352),V=n(76910),k=n(98595),S=function(v,b){return v.dead?"Deceased":parseInt(v.health,10)<=b?"Critical":parseInt(v.stat,10)===1?"Unconscious":"Living"},p=function(v,b){return v.dead?"red":parseInt(v.health,10)<=b?"orange":parseInt(v.stat,10)===1?"blue":"green"},i=r.CrewMonitor=function(){function l(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=(0,o.useLocalState)(b,"tabIndex",C.IndexToggler),x=N[0],B=N[1],L=function(){function w(A){switch(A){case 0:return(0,e.createComponentVNode)(2,u);case 1:return(0,e.createComponentVNode)(2,d);case 2:return(0,e.createComponentVNode)(2,m);case 3:return(0,e.createComponentVNode)(2,f);default:return"WE SHOULDN'T BE HERE!"}}return w}();return(0,e.createComponentVNode)(2,k.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,s.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,s.Tabs,{children:[C.isBS?(0,e.createComponentVNode)(2,s.Tabs.Tab,{selected:x===0,onClick:function(){function w(){return B(0)}return w}(),children:[(0,e.createComponentVNode)(2,s.Icon,{name:"table"})," Command Data View"]},"ComDataView"):null,C.isBP?(0,e.createComponentVNode)(2,s.Tabs.Tab,{selected:x===1,onClick:function(){function w(){return B(1)}return w}(),children:[(0,e.createComponentVNode)(2,s.Icon,{name:"table"})," Security Data View"]},"SecDataView"):null,(0,e.createComponentVNode)(2,s.Tabs.Tab,{selected:x===2,onClick:function(){function w(){return B(2)}return w}(),children:[(0,e.createComponentVNode)(2,s.Icon,{name:"table"})," Data View"]},"DataView"),(0,e.createComponentVNode)(2,s.Tabs.Tab,{selected:x===3,onClick:function(){function w(){return B(3)}return w}(),children:[(0,e.createComponentVNode)(2,s.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),L(x)]})})})}return l}(),c=function(v){var b=v.crewData,g=v.context,h=(0,o.useBackend)(g),C=h.act,N=h.data,x=(0,a.sortBy)(function(T){return T.name})(b||[]),B=(0,o.useLocalState)(g,"search",""),L=B[0],w=B[1],A=(0,t.createSearch)(L,function(T){return T.name+"|"+T.assignment+"|"+T.area});return(0,e.createComponentVNode)(2,s.Box,{children:[(0,e.createComponentVNode)(2,s.Input,{placeholder:"Search by name, assignment or location..",width:"100%",onInput:function(){function T(E,O){return w(O)}return T}()}),(0,e.createComponentVNode)(2,s.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,s.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,s.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,s.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,s.Table.Cell,{children:"Location"})]}),x.filter(A).map(function(T){return(0,e.createComponentVNode)(2,s.Table.Row,{bold:!!T.is_command,children:[(0,e.createComponentVNode)(2,y.TableCell,{children:[T.name," (",T.assignment,")"]}),(0,e.createComponentVNode)(2,y.TableCell,{children:[(0,e.createComponentVNode)(2,s.Box,{inline:!0,color:p(T,N.critThreshold),children:S(T,N.critThreshold)}),T.sensor_type>=2?(0,e.createComponentVNode)(2,s.Box,{inline:!0,children:["(",(0,e.createComponentVNode)(2,s.Box,{inline:!0,color:V.COLORS.damageType.oxy,children:T.oxy}),"|",(0,e.createComponentVNode)(2,s.Box,{inline:!0,color:V.COLORS.damageType.toxin,children:T.tox}),"|",(0,e.createComponentVNode)(2,s.Box,{inline:!0,color:V.COLORS.damageType.burn,children:T.fire}),"|",(0,e.createComponentVNode)(2,s.Box,{inline:!0,color:V.COLORS.damageType.brute,children:T.brute}),")"]}):null]}),(0,e.createComponentVNode)(2,y.TableCell,{children:T.sensor_type===3?N.isAI?(0,e.createComponentVNode)(2,s.Button,{fluid:!0,icon:"location-arrow",content:T.area+" ("+T.x+", "+T.y+")",onClick:function(){function E(){return C("track",{track:T.ref})}return E}()}):T.area+" ("+T.x+", "+T.y+")":"Not Available"})]},T.ref)})]})]})},m=function(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=C.crewmembers||[];return(0,e.createComponentVNode)(2,c,{crewData:N,context:b})},u=function(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=C.crewmembers.filter(function(x){return x.is_command})||[];return(0,e.createComponentVNode)(2,c,{crewData:N,context:b})},d=function(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=C.crewmembers.filter(function(x){return x.is_security})||[];return(0,e.createComponentVNode)(2,c,{crewData:N,context:b})},f=function(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=C.stationLevelNum,x=C.stationLevelName,B=(0,o.useLocalState)(b,"zoom",1),L=B[0],w=B[1],A=(0,o.useLocalState)(b,"z_current",N[0]),T=A[0],E=A[1],O=function(j){return j.is_command&&C.isBS||j.is_security&&C.isBP?"square":"circle"},P=function(j){return j.is_command&&C.isBS||j.is_security&&C.isBP?10:6},R=function(j,W){return j.is_command&&C.isBS||j.is_security&&C.isBP?j.dead?"red":parseInt(j.health,10)<=W?"orange":parseInt(j.stat,10)===1?"blue":"violet":p(j,W)};return(0,e.createComponentVNode)(2,s.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,e.createComponentVNode)(2,s.NanoMap,{onZoom:function(){function F(j){return w(j)}return F}(),zLevels:N,zNames:x,z_current:T,setZCurrent:E,children:C.crewmembers.filter(function(F){return F.sensor_type===3}).map(function(F){return(0,e.createComponentVNode)(2,s.NanoMap.Marker,{x:F.x,y:F.y,z:F.z,z_current:T,zoom:L,icon:O(F),size:P(F),tooltip:F.name+" ("+F.assignment+")",color:R(F,C.critThreshold),onClick:function(){function j(){C.isAI&&h("track",{track:F.ref})}return j}()},F.ref)})})})}},63987:function(I,r,n){"use strict";r.__esModule=!0,r.Cryo=void 0;var e=n(89005),a=n(41260),t=n(72253),o=n(36036),s=n(98595),y=[{label:"\u0410\u0441\u0444\u0438\u043A\u0441\u0438\u044F",type:"oxyLoss"},{label:"\u0418\u043D\u0442\u043E\u043A\u0441\u0438\u043A\u0430\u0446\u0438\u044F",type:"toxLoss"},{label:"\u0420\u0430\u043D\u044B",type:"bruteLoss"},{label:"\u041E\u0436\u043E\u0433\u0438",type:"fireLoss"}],V=[["good","\u0412 \u0441\u043E\u0437\u043D\u0430\u043D\u0438\u0438"],["average","\u0411\u0435\u0437 \u0441\u043E\u0437\u043D\u0430\u043D\u0438\u044F"],["bad","\u0422\u0420\u0423\u041F"]],k=r.Cryo=function(){function i(c,m){return(0,e.createComponentVNode)(2,s.Window,{width:520,height:490,children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,S)})})}return i}(),S=function(c,m){var u=(0,t.useBackend)(m),d=u.act,f=u.data,l=f.isOperating,v=f.hasOccupant,b=f.occupant,g=b===void 0?[]:b,h=f.cellTemperature,C=f.cellTemperatureStatus,N=f.isBeakerLoaded,x=f.auto_eject_healthy,B=f.auto_eject_dead;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:2,children:(0,e.createComponentVNode)(2,o.Section,{title:"\u041F\u0430\u0446\u0438\u0435\u043D\u0442",fill:!0,buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"user-slash",onClick:function(){function L(){return d("ejectOccupant")}return L}(),disabled:!v,children:"\u0418\u0437\u0432\u043B\u0435\u0447\u044C"}),children:v?(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u041F\u0430\u0446\u0438\u0435\u043D\u0442",children:g.name||"\u0418\u043C\u044F \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0417\u0434\u043E\u0440\u043E\u0432\u044C\u0435",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:g.health,max:g.maxHealth,value:g.health/g.maxHealth,color:g.health>0?"good":"average",children:(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:Math.round(g.health)})})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0421\u0442\u0430\u0442\u0443\u0441",color:V[g.stat][0],children:V[g.stat][1]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0422\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:Math.round(g.bodyTemperature)})," ","K"]}),(0,e.createComponentVNode)(2,o.LabeledList.Divider),y.map(function(L){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:L.label,children:(0,e.createComponentVNode)(2,o.ProgressBar,{value:g[L.type]/100,ranges:{bad:[.01,1/0]},children:(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:Math.round(g[L.type])})})},L.id)})]}):(0,e.createComponentVNode)(2,o.Stack,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:"1",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"\u041F\u0430\u0446\u0438\u0435\u043D\u0442 \u043D\u0435 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D."]})})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"\u041A\u0440\u0438\u043E\u043A\u0430\u043F\u0441\u0443\u043B\u0430",fill:!0,buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"eject",onClick:function(){function L(){return d("ejectBeaker")}return L}(),disabled:!N,children:"\u0418\u0437\u0432\u043B\u0435\u0447\u044C \u0451\u043C\u043A\u043E\u0441\u0442\u044C"}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u041F\u0438\u0442\u0430\u043D\u0438\u0435",children:(0,e.createComponentVNode)(2,o.Button,{icon:"power-off",onClick:function(){function L(){return d(l?"switchOff":"switchOn")}return L}(),selected:l,children:l?"\u0412\u043A\u043B":"\u0412\u044B\u043A\u043B"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0422\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",color:C,children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:h})," K"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0401\u043C\u043A\u043E\u0441\u0442\u044C",children:(0,e.createComponentVNode)(2,p)}),(0,e.createComponentVNode)(2,o.LabeledList.Divider),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0410\u0432\u0442\u043E\u0438\u0437\u0432\u043B\u0435\u0447\u0435\u043D\u0438\u0435 \u0437\u0434\u043E\u0440\u043E\u0432\u044B\u0445 \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u043E\u0432",children:(0,e.createComponentVNode)(2,o.Button,{icon:x?"toggle-on":"toggle-off",selected:x,onClick:function(){function L(){return d(x?"auto_eject_healthy_off":"auto_eject_healthy_on")}return L}(),children:x?"\u0412\u043A\u043B":"\u0412\u044B\u043A\u043B"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0410\u0432\u0442\u043E\u0438\u0437\u0432\u043B\u0435\u0447\u0435\u043D\u0438\u0435 \u043C\u0451\u0440\u0442\u0432\u044B\u0445 \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u043E\u0432",children:(0,e.createComponentVNode)(2,o.Button,{icon:B?"toggle-on":"toggle-off",selected:B,onClick:function(){function L(){return d(B?"auto_eject_dead_off":"auto_eject_dead_on")}return L}(),children:B?"\u0412\u043A\u043B":"\u0412\u044B\u043A\u043B"})})]})})})]})},p=function(c,m){var u=(0,t.useBackend)(m),d=u.act,f=u.data,l=f.isBeakerLoaded,v=f.beakerLabel,b=f.beakerVolume;return l?(0,e.createFragment)([v?"\xAB"+v+"\xBB":(0,e.createComponentVNode)(2,o.Box,{color:"average",children:"\u0401\u043C\u043A\u043E\u0441\u0442\u044C \u043D\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u0430\u043D\u0430"}),(0,e.createComponentVNode)(2,o.Box,{color:!b&&"bad",children:b?(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:b,format:function(){function g(h){var C=Math.round(h),N=(0,a.declensionRu)(C,"\u041E\u0441\u0442\u0430\u043B\u0430\u0441\u044C","\u041E\u0441\u0442\u0430\u043B\u0438\u0441\u044C","\u041E\u0441\u0442\u0430\u043B\u043E\u0441\u044C"),x=(0,a.declensionRu)(C,"\u0435\u0434\u0438\u043D\u0438\u0446\u0430","\u0435\u0434\u0438\u043D\u0438\u0446\u044B","\u0435\u0434\u0438\u043D\u0438\u0446");return N+" "+C+" "+x}return g}()}):"\u0401\u043C\u043A\u043E\u0441\u0442\u044C \u043F\u0443\u0441\u0442\u0430"})],0):(0,e.createComponentVNode)(2,o.Box,{color:"average",children:"\u0401\u043C\u043A\u043E\u0441\u0442\u044C \u043D\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430"})}},86099:function(I,r,n){"use strict";r.__esModule=!0,r.CryopodConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(25328),y=r.CryopodConsole=function(){function S(p,i){var c=(0,a.useBackend)(i),m=c.data,u=m.account_name,d=m.allow_items;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:480,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Hello, "+(u||"[REDACTED]")+"!",children:"This automated cryogenic freezing unit will safely store your corporeal form until your next assignment."}),(0,e.createComponentVNode)(2,V),!!d&&(0,e.createComponentVNode)(2,k)]})})}return S}(),V=function(p,i){var c=(0,a.useBackend)(i),m=c.data,u=m.frozen_crew;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Stored Crew",children:u.length?(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:u.map(function(d,f){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:d.name,children:d.rank},f)})})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No stored crew!"})})},k=function(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.frozen_items,f=function(v){var b=v.toString();return b.startsWith("the ")&&(b=b.slice(4,b.length)),(0,s.toTitleCase)(b)};return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Stored Items",children:d.length?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:d.map(function(l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:f(l.name),buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Drop",mr:1,onClick:function(){function v(){return m("one_item",{item:l.uid})}return v}()})},l)})})}),(0,e.createComponentVNode)(2,t.Button,{content:"Drop All Items",color:"red",onClick:function(){function l(){return m("all_items")}return l}()})],4):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No stored items!"})})}},94848:function(I,r,n){"use strict";r.__esModule=!0,r.Customat=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),s=n(98595),y=function(S,p){var i=(0,t.useBackend)(p),c=i.act,m=i.data,u=S.product,d=m.user,f=m.userMoney,l=m.vend_ready,v=u.price===0,b="ERROR!",g="";v?(b="FREE",g="arrow-circle-down"):(b=u.price,g="shopping-cart");var h=!l||u.stock===0||!v&&u.price>f;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+u.icon,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})}),(0,e.createComponentVNode)(2,o.Table.Cell,{bold:!0,children:u.name}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Box,{color:u.stock<=0&&"bad"||"good",children:[u.stock," in stock"]})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,disabled:h,icon:g,content:b,textAlign:"left",onClick:function(){function C(){return c("vend",{Key:u.Key})}return C}()})})]})},V=r.Customat=function(){function k(S,p){var i=(0,t.useBackend)(p),c=i.act,m=i.data,u=m.guestNotice,d=m.userMoney,f=m.user,l=m.products,v=m.vend_ready,b=m.panel_open,g=m.speaker;return(0,e.createComponentVNode)(2,s.Window,{width:470,height:600,title:"Customat",children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Section,{title:"User",children:f&&(0,e.createComponentVNode)(2,o.Box,{children:["Welcome, ",(0,e.createVNode)(1,"b",null,f.name,0),", ",(0,e.createVNode)(1,"b",null,f.job||"Unemployed",0),"!",(0,e.createVNode)(1,"br"),"Your balance is ",(0,e.createVNode)(1,"b",null,[d,(0,e.createTextVNode)(" credits")],0),"."]})||(0,e.createComponentVNode)(2,o.Box,{color:"light-grey",children:u})}),!!b&&(0,e.createComponentVNode)(2,o.Section,{title:"Maintenance",children:(0,e.createComponentVNode)(2,o.Button,{icon:g?"check":"volume-mute",selected:g,content:"Speaker",textAlign:"left",onClick:function(){function h(){return c("toggle_voice",{})}return h}()})})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Products",fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{children:l.map(function(h){return(0,e.createComponentVNode)(2,y,{product:h,productStock:h.stock},h.name)})})})})]})})})}return k}()},12692:function(I,r,n){"use strict";r.__esModule=!0,r.DNAModifier=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(3939),y=[["good","Alive"],["average","Critical"],["bad","DEAD"]],V=[["ui","Modify U.I.","dna"],["se","Modify S.E.","dna"],["buffer","Transfer Buffers","syringe"],["rejuvenators","Rejuvenators","flask"]],k=[5,10,20,30,50],S=r.DNAModifier=function(){function h(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.irradiating,A=L.dnaBlockSize,T=L.occupant;N.dnaBlockSize=A,N.isDNAInvalid=!T.isViableSubject||!T.uniqueIdentity||!T.structuralEnzymes;var E;return w&&(E=(0,e.createComponentVNode)(2,b,{duration:w})),(0,e.createComponentVNode)(2,o.Window,{width:660,height:775,children:[(0,e.createComponentVNode)(2,s.ComplexModal),E,(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,p)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,i)})]})})]})}return h}(),p=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.locked,A=L.hasOccupant,T=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{color:"label",inline:!0,mr:"0.5rem",children:"Door Lock:"}),(0,e.createComponentVNode)(2,t.Button,{disabled:!A,selected:w,icon:w?"toggle-on":"toggle-off",content:w?"Engaged":"Disengaged",onClick:function(){function E(){return B("toggleLock")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!A||w,icon:"user-slash",content:"Eject",onClick:function(){function E(){return B("ejectOccupant")}return E}()})],4),children:A?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:T.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:T.minHealth,max:T.maxHealth,value:T.health/T.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:y[T.stat][0],children:y[T.stat][1]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider)]})}),N.isDNAInvalid?(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-circle"}),"\xA0 The occupant's DNA structure is ruined beyond recognition, please insert a subject with an intact DNA structure."]}):(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Radiation",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:"0",max:"100",value:T.radiationLevel/100,color:"average"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unique Enzymes",children:L.occupant.uniqueEnzymes?L.occupant.uniqueEnzymes:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-circle"}),"\xA0 Unknown"]})})]})],0):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"Cell unoccupied."})})},i=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.selectedMenuKey,A=L.hasOccupant,T=L.occupant;if(A){if(N.isDNAInvalid)return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No operation possible on this subject."]})})})}else return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant in DNA modifier."]})})});var E;return w==="ui"?E=(0,e.createFragment)([(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,u)],4):w==="se"?E=(0,e.createFragment)([(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,u)],4):w==="buffer"?E=(0,e.createComponentVNode)(2,d):w==="rejuvenators"&&(E=(0,e.createComponentVNode)(2,v)),(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:V.map(function(O,P){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:O[2],selected:w===O[0],onClick:function(){function R(){return B("selectMenuKey",{key:O[0]})}return R}(),children:O[1]},P)})}),E]})},c=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.selectedUIBlock,A=L.selectedUISubBlock,T=L.selectedUITarget,E=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Modify Unique Identifier",children:[(0,e.createComponentVNode)(2,g,{dnaString:E.uniqueIdentity,selectedBlock:w,selectedSubblock:A,blockSize:N.dnaBlockSize,action:"selectUIBlock"}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:15,stepPixelSize:"20",value:T,format:function(){function O(P){return P.toString(16).toUpperCase()}return O}(),ml:"0",onChange:function(){function O(P,R){return B("changeUITarget",{value:R})}return O}()})})}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Irradiate Block",mt:"0.5rem",onClick:function(){function O(){return B("pulseUIRadiation")}return O}()})]})},m=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.selectedSEBlock,A=L.selectedSESubBlock,T=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Modify Structural Enzymes",children:[(0,e.createComponentVNode)(2,g,{dnaString:T.structuralEnzymes,selectedBlock:w,selectedSubblock:A,blockSize:N.dnaBlockSize,action:"selectSEBlock"}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Irradiate Block",onClick:function(){function E(){return B("pulseSERadiation")}return E}()})]})},u=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.radiationIntensity,A=L.radiationDuration;return(0,e.createComponentVNode)(2,t.Section,{title:"Radiation Emitter",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Intensity",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:10,stepPixelSize:20,value:w,popUpPosition:"right",ml:"0",onChange:function(){function T(E,O){return B("radiationIntensity",{value:O})}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Duration",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:20,stepPixelSize:10,unit:"s",value:A,popUpPosition:"right",ml:"0",onChange:function(){function T(E,O){return B("radiationDuration",{value:O})}return T}()})})]}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Pulse Radiation",tooltip:"Mutates a random block of either the occupant's UI or SE.",tooltipPosition:"top-start",mt:"0.5rem",onClick:function(){function T(){return B("pulseRadiation")}return T}()})]})},d=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.buffers,A=w.map(function(T,E){return(0,e.createComponentVNode)(2,f,{id:E+1,name:"Buffer "+(E+1),buffer:T},E)});return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{height:"75%",mt:1,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Buffers",children:A})}),(0,e.createComponentVNode)(2,t.Stack.Item,{height:"25%",children:(0,e.createComponentVNode)(2,l)})]})},f=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=C.id,A=C.name,T=C.buffer,E=L.isInjectorReady,O=A+(T.data?" - "+T.label:"");return(0,e.createComponentVNode)(2,t.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,e.createComponentVNode)(2,t.Section,{title:O,mx:"0",lineHeight:"18px",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{disabled:!T.data,icon:"trash",content:"Clear",onClick:function(){function P(){return B("bufferOption",{option:"clear",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!T.data,icon:"pen",content:"Rename",onClick:function(){function P(){return B("bufferOption",{option:"changeLabel",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!T.data||!L.hasDisk,icon:"save",content:"Export",tooltip:"Exports this buffer to the currently loaded data disk.",tooltipPosition:"bottom-start",onClick:function(){function P(){return B("bufferOption",{option:"saveDisk",id:w})}return P}()})],4),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Write",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject U.I",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"saveUI",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject U.I and U.E.",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"saveUIAndUE",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject S.E.",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"saveSE",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!L.hasDisk||!L.disk.data,icon:"arrow-circle-down",content:"From Disk",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"loadDisk",id:w})}return P}()})]}),!!T.data&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subject",children:T.owner||(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Unknown"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Type",children:[T.type==="ui"?"Unique Identifiers":"Structural Enzymes",!!T.ue&&" and Unique Enzymes"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transfer to",children:[(0,e.createComponentVNode)(2,t.Button,{disabled:!E,icon:E?"syringe":"spinner",iconSpin:!E,content:"Injector",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"createInjector",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!E,icon:E?"syringe":"spinner",iconSpin:!E,content:"Block Injector",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"createInjector",id:w,block:1})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"user",content:"Subject",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"transfer",id:w})}return P}()})]})],4)]}),!T.data&&(0,e.createComponentVNode)(2,t.Box,{color:"label",mt:"0.5rem",children:"This buffer is empty."})]})})},l=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.hasDisk,A=L.disk;return(0,e.createComponentVNode)(2,t.Section,{title:"Data Disk",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{disabled:!w||!A.data,icon:"trash",content:"Wipe",onClick:function(){function T(){return B("wipeDisk")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!w,icon:"eject",content:"Eject",onClick:function(){function T(){return B("ejectDisk")}return T}()})],4),children:w?A.data?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Label",children:A.label?A.label:"No label"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subject",children:A.owner?A.owner:(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Unknown"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Type",children:[A.type==="ui"?"Unique Identifiers":"Structural Enzymes",!!A.ue&&" and Unique Enzymes"]})]}):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"Disk is blank."}):(0,e.createComponentVNode)(2,t.Box,{color:"label",textAlign:"center",my:"1rem",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"save-o",size:"4"}),(0,e.createVNode)(1,"br"),"No disk inserted."]})})},v=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.isBeakerLoaded,A=L.beakerVolume,T=L.beakerLabel;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Rejuvenators and Beaker",buttons:(0,e.createComponentVNode)(2,t.Button,{disabled:!w,icon:"eject",content:"Eject",onClick:function(){function E(){return B("ejectBeaker")}return E}()}),children:w?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Inject",children:[k.map(function(E,O){return(0,e.createComponentVNode)(2,t.Button,{disabled:E>A,icon:"syringe",content:E,onClick:function(){function P(){return B("injectRejuvenators",{amount:E})}return P}()},O)}),(0,e.createComponentVNode)(2,t.Button,{disabled:A<=0,icon:"syringe",content:"All",onClick:function(){function E(){return B("injectRejuvenators",{amount:A})}return E}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Beaker",children:[(0,e.createComponentVNode)(2,t.Box,{mb:"0.5rem",children:T||"No label"}),A?(0,e.createComponentVNode)(2,t.Box,{color:"good",children:[A," unit",A===1?"":"s"," remaining"]}):(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Empty"})]})]}):(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"flask",size:5,color:"silver"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"h3",null,"No beaker loaded.",16)]})})})},b=function(C,N){return(0,e.createComponentVNode)(2,t.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"spinner",size:"5",spin:!0}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{color:"average",children:(0,e.createVNode)(1,"h1",null,[(0,e.createComponentVNode)(2,t.Icon,{name:"radiation"}),(0,e.createTextVNode)("\xA0Irradiating occupant\xA0"),(0,e.createComponentVNode)(2,t.Icon,{name:"radiation"})],4)}),(0,e.createComponentVNode)(2,t.Box,{color:"label",children:(0,e.createVNode)(1,"h3",null,[(0,e.createTextVNode)("For "),C.duration,(0,e.createTextVNode)(" second"),C.duration===1?"":"s"],0)})]})},g=function(C,N){for(var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=C.dnaString,A=C.selectedBlock,T=C.selectedSubblock,E=C.blockSize,O=C.action,P=w.split(""),R=0,F=[],j=function(){for(var z=W/E+1,Y=[],G=function(){var he=ne+1;Y.push((0,e.createComponentVNode)(2,t.Button,{selected:A===z&&T===he,content:P[W+ne],mb:"0",onClick:function(){function Ve(){return B(O,{block:z,subblock:he})}return Ve}()}))},ne=0;ne0?"Yes":"No",selected:i.com>0,onClick:function(){function m(){return p("toggle_com")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Security",children:c.map(function(m,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.sec===m,content:m,onClick:function(){function d(){return p("set_sec",{set_sec:m})}return d}()},"sec"+m)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Medical",children:c.map(function(m,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.med===m,content:m,onClick:function(){function d(){return p("set_med",{set_med:m})}return d}()},"med"+m)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Engineering",children:c.map(function(m,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.eng===m,content:m,onClick:function(){function d(){return p("set_eng",{set_eng:m})}return d}()},"eng"+m)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Paranormal",children:c.map(function(m,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.par===m,content:m,onClick:function(){function d(){return p("set_par",{set_par:m})}return d}()},"par"+m)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Janitor",children:c.map(function(m,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.jan===m,content:m,onClick:function(){function d(){return p("set_jan",{set_jan:m})}return d}()},"jan"+m)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cyborg",children:c.map(function(m,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.cyb===m,content:m,onClick:function(){function d(){return p("set_cyb",{set_cyb:m})}return d}()},"cyb"+m)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Slots",children:(0,e.createComponentVNode)(2,t.Box,{color:i.total>i.spawnpoints?"red":"green",children:[i.total," total, versus ",i.spawnpoints," spawnpoints"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dispatch",children:(0,e.createComponentVNode)(2,t.Button,{icon:"ambulance",content:"Send ERT",onClick:function(){function m(){return p("dispatch_ert")}return m}()})})]})})]})})}return y}()},82565:function(I,r,n){"use strict";r.__esModule=!0,r.Electropack=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=n(98595),y=r.Electropack=function(){function V(k,S){var p=(0,t.useBackend)(S),i=p.act,c=p.data,m=c.power,u=c.code,d=c.frequency,f=c.minFrequency,l=c.maxFrequency;return(0,e.createComponentVNode)(2,s.Window,{width:360,height:150,children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,o.Button,{icon:m?"power-off":"times",content:m?"On":"Off",selected:m,onClick:function(){function v(){return i("power")}return v}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Reset",onClick:function(){function v(){return i("reset",{reset:"freq"})}return v}()}),children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:f/10,maxValue:l/10,value:d/10,format:function(){function v(b){return(0,a.toFixed)(b,1)}return v}(),width:"80px",onChange:function(){function v(b,g){return i("freq",{freq:g})}return v}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Reset",onClick:function(){function v(){return i("reset",{reset:"code"})}return v}()}),children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:u,width:"80px",onChange:function(){function v(b,g){return i("code",{code:g})}return v}()})})]})})})})}return V}()},36730:function(I,r,n){"use strict";r.__esModule=!0,r.EvolutionMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.EvolutionMenu=function(){function k(S,p){return(0,e.createComponentVNode)(2,o.Window,{width:480,height:574,theme:"changeling",children:(0,e.createComponentVNode)(2,o.Window.Content,{className:"Layout__content--flexColumn",children:[(0,e.createComponentVNode)(2,y),(0,e.createComponentVNode)(2,V)]})})}return k}(),y=function(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.evo_points,d=m.can_respec;return(0,e.createComponentVNode)(2,t.Section,{title:"Evolution Points",height:5.5,children:(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mt:.5,color:"label",children:"Points remaining:"}),(0,e.createComponentVNode)(2,t.Flex.Item,{mt:.5,ml:2,bold:!0,color:"#1b945c",children:u}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{ml:2.5,disabled:!d,content:"Readapt",icon:"sync",onClick:function(){function f(){return c("readapt")}return f}()}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"By transforming a humanoid into a husk, we gain the ability to readapt our chosen evolutions.",tooltipPosition:"bottom",icon:"question-circle"})]})]})})},V=function(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.evo_points,d=m.ability_list,f=m.purchased_abilities,l=m.view_mode;return(0,e.createComponentVNode)(2,t.Section,{title:"Abilities",flexGrow:"1",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:l?"square-o":"check-square-o",selected:!l,content:"Compact",onClick:function(){function v(){return c("set_view_mode",{mode:0})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:l?"check-square-o":"square-o",selected:l,content:"Expanded",onClick:function(){function v(){return c("set_view_mode",{mode:1})}return v}()})],4),children:d.map(function(v,b){return(0,e.createComponentVNode)(2,t.Box,{p:.5,mx:-1,className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{ml:.5,color:"#dedede",children:v.name}),f.includes(v.power_path)&&(0,e.createComponentVNode)(2,t.Flex.Item,{ml:2,bold:!0,color:"#1b945c",children:"(Purchased)"}),(0,e.createComponentVNode)(2,t.Flex.Item,{mr:3,textAlign:"right",grow:1,children:[(0,e.createComponentVNode)(2,t.Box,{as:"span",color:"label",children:["Cost:"," "]}),(0,e.createComponentVNode)(2,t.Box,{as:"span",bold:!0,color:"#1b945c",children:v.cost})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{textAlign:"right",children:(0,e.createComponentVNode)(2,t.Button,{mr:.5,disabled:v.cost>u||f.includes(v.power_path),content:"Evolve",onClick:function(){function g(){return c("purchase",{power_path:v.power_path})}return g}()})})]}),!!l&&(0,e.createComponentVNode)(2,t.Flex,{color:"#8a8a8a",my:1,ml:1.5,width:"95%",children:v.description+" "+v.helptext})]},b)})})}},17370:function(I,r,n){"use strict";r.__esModule=!0,r.ExosuitFabricator=void 0;var e=n(89005),a=n(35840),t=n(25328),o=n(72253),s=n(36036),y=n(73379),V=n(98595),k=["id","amount","lineDisplay","onClick"];function S(b,g){if(b==null)return{};var h={};for(var C in b)if({}.hasOwnProperty.call(b,C)){if(g.includes(C))continue;h[C]=b[C]}return h}var p=2e3,i={bananium:"clown",tranquillite:"mime"},c=r.ExosuitFabricator=function(){function b(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.building;return(0,e.createComponentVNode)(2,V.Window,{width:950,height:625,children:(0,e.createComponentVNode)(2,V.Window.Content,{className:"Exofab",children:(0,e.createComponentVNode)(2,s.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,s.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,u)}),B&&(0,e.createComponentVNode)(2,s.Stack.Item,{children:(0,e.createComponentVNode)(2,d)})]})}),(0,e.createComponentVNode)(2,s.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,s.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,m)}),(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f)})]})})]})})})}return b}(),m=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.materials,L=x.capacity,w=Object.values(B).reduce(function(A,T){return A+T},0);return(0,e.createComponentVNode)(2,s.Section,{fill:!0,scrollable:!0,title:"Materials",className:"Exofab__materials",buttons:(0,e.createComponentVNode)(2,s.Box,{color:"label",mt:"0.25rem",children:[(w/L*100).toPrecision(3),"% full"]}),children:["metal","glass","silver","gold","uranium","titanium","plasma","diamond","bluespace","bananium","tranquillite","plastic"].map(function(A){return(0,e.createComponentVNode)(2,l,{mt:-2,id:A,bold:A==="metal"||A==="glass",onClick:function(){function T(){return N("withdraw",{id:A})}return T}()},A)})})},u=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.curCategory,L=x.categories,w=x.designs,A=x.syncing,T=(0,o.useLocalState)(h,"searchText",""),E=T[0],O=T[1],P=(0,t.createSearch)(E,function(F){return F.name}),R=w.filter(P);return(0,e.createComponentVNode)(2,s.Section,{fill:!0,scrollable:!0,className:"Exofab__designs",title:(0,e.createComponentVNode)(2,s.Dropdown,{className:"Exofab__dropdown",selected:B,options:L,onSelected:function(){function F(j){return N("category",{cat:j})}return F}()}),buttons:(0,e.createComponentVNode)(2,s.Box,{mt:"2px",children:[(0,e.createComponentVNode)(2,s.Button,{icon:"plus",content:"Queue all",onClick:function(){function F(){return N("queueall")}return F}()}),(0,e.createComponentVNode)(2,s.Button,{disabled:A,iconSpin:A,icon:"sync-alt",content:A?"Synchronizing...":"Synchronize with R&D servers",onClick:function(){function F(){return N("sync")}return F}()})]}),children:[(0,e.createComponentVNode)(2,s.Input,{placeholder:"Search by name...",mb:"0.5rem",width:"100%",onInput:function(){function F(j,W){return O(W)}return F}()}),R.map(function(F){return(0,e.createComponentVNode)(2,v,{design:F},F.id)}),R.length===0&&(0,e.createComponentVNode)(2,s.Box,{color:"label",children:"No designs found."})]})},d=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.building,L=x.buildStart,w=x.buildEnd,A=x.worldTime;return(0,e.createComponentVNode)(2,s.Section,{className:"Exofab__building",stretchContents:!0,children:(0,e.createComponentVNode)(2,s.ProgressBar.Countdown,{start:L,current:A,end:w,children:(0,e.createComponentVNode)(2,s.Stack,{children:[(0,e.createComponentVNode)(2,s.Stack.Item,{children:(0,e.createComponentVNode)(2,s.Icon,{name:"cog",spin:!0})}),(0,e.createComponentVNode)(2,s.Stack.Item,{children:["Building ",B,"\xA0(",(0,e.createComponentVNode)(2,y.Countdown,{current:A,timeLeft:w-A,format:function(){function T(E,O){return O.substr(3)}return T}()}),")"]})]})})})},f=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.queue,L=x.processingQueue,w=Object.entries(x.queueDeficit).filter(function(T){return T[1]<0}),A=B.reduce(function(T,E){return T+E.time},0);return(0,e.createComponentVNode)(2,s.Section,{fill:!0,scrollable:!0,className:"Exofab__queue",title:"Queue",buttons:(0,e.createComponentVNode)(2,s.Box,{children:[(0,e.createComponentVNode)(2,s.Button,{selected:L,icon:L?"toggle-on":"toggle-off",content:"Process",onClick:function(){function T(){return N("process")}return T}()}),(0,e.createComponentVNode)(2,s.Button,{disabled:B.length===0,icon:"eraser",content:"Clear",onClick:function(){function T(){return N("unqueueall")}return T}()})]}),children:(0,e.createComponentVNode)(2,s.Stack,{fill:!0,vertical:!0,children:B.length===0?(0,e.createComponentVNode)(2,s.Box,{color:"label",children:"The queue is empty."}):(0,e.createFragment)([(0,e.createComponentVNode)(2,s.Stack.Item,{className:"Exofab__queue--queue",grow:!0,overflow:"auto",children:B.map(function(T,E){return(0,e.createComponentVNode)(2,s.Box,{color:T.notEnough&&"bad",children:[E+1,". ",T.name,E>0&&(0,e.createComponentVNode)(2,s.Button,{icon:"arrow-up",onClick:function(){function O(){return N("queueswap",{from:E+1,to:E})}return O}()}),E0&&(0,e.createComponentVNode)(2,s.Stack.Item,{className:"Exofab__queue--time",children:[(0,e.createComponentVNode)(2,s.Divider),"Processing time:",(0,e.createComponentVNode)(2,s.Icon,{name:"clock",mx:"0.5rem"}),(0,e.createComponentVNode)(2,s.Box,{inline:!0,bold:!0,children:new Date(A/10*1e3).toISOString().substr(14,5)})]}),Object.keys(w).length>0&&(0,e.createComponentVNode)(2,s.Stack.Item,{className:"Exofab__queue--deficit",shrink:"0",children:[(0,e.createComponentVNode)(2,s.Divider),"Lacking materials to complete:",w.map(function(T){return(0,e.createComponentVNode)(2,s.Box,{children:(0,e.createComponentVNode)(2,l,{id:T[0],amount:-T[1],lineDisplay:!0})},T[0])})]})],0)})})},l=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=g.id,L=g.amount,w=g.lineDisplay,A=g.onClick,T=S(g,k),E=x.materials[B]||0,O=L||E;if(!(O<=0&&!(B==="metal"||B==="glass"))){var P=L&&L>E;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,s.Stack,Object.assign({align:"center",className:(0,a.classes)(["Exofab__material",w&&"Exofab__material--line"])},T,{children:w?(0,e.createFragment)([(0,e.createComponentVNode)(2,s.Stack.Item,{className:(0,a.classes)(["materials32x32",B])}),(0,e.createComponentVNode)(2,s.Stack.Item,{className:"Exofab__material--amount",color:P&&"bad",ml:0,mr:1,children:O.toLocaleString("en-US")})],4):(0,e.createFragment)([(0,e.createComponentVNode)(2,s.Stack.Item,{basis:"content",children:(0,e.createComponentVNode)(2,s.Button,{width:"85%",color:"transparent",onClick:A,children:(0,e.createComponentVNode)(2,s.Box,{mt:1,className:(0,a.classes)(["materials32x32",B])})})}),(0,e.createComponentVNode)(2,s.Stack.Item,{grow:"1",children:[(0,e.createComponentVNode)(2,s.Box,{className:"Exofab__material--name",children:B}),(0,e.createComponentVNode)(2,s.Box,{className:"Exofab__material--amount",children:[O.toLocaleString("en-US")," cm\xB3 (",Math.round(O/p*10)/10," ","sheets)"]})]})],4)})))}},v=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=g.design;return(0,e.createComponentVNode)(2,s.Box,{className:"Exofab__design",children:[(0,e.createComponentVNode)(2,s.Button,{disabled:B.notEnough||x.building,icon:"cog",content:B.name,onClick:function(){function L(){return N("build",{id:B.id})}return L}()}),(0,e.createComponentVNode)(2,s.Button,{icon:"plus-circle",onClick:function(){function L(){return N("queue",{id:B.id})}return L}()}),(0,e.createComponentVNode)(2,s.Box,{className:"Exofab__design--cost",children:Object.entries(B.cost).map(function(L){return(0,e.createComponentVNode)(2,s.Box,{children:(0,e.createComponentVNode)(2,l,{id:L[0],amount:L[1],lineDisplay:!0})},L[0])})}),(0,e.createComponentVNode)(2,s.Stack,{className:"Exofab__design--time",children:(0,e.createComponentVNode)(2,s.Stack.Item,{children:[(0,e.createComponentVNode)(2,s.Icon,{name:"clock"}),B.time>0?(0,e.createFragment)([B.time/10,(0,e.createTextVNode)(" seconds")],0):"Instant"]})})]})}},97086:function(I,r,n){"use strict";r.__esModule=!0,r.ExternalAirlockController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=0,y=1013,V=function(p){var i="good",c=80,m=95,u=110,d=120;return pu?i="average":p>d&&(i="bad"),i},k=r.ExternalAirlockController=function(){function S(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.chamber_pressure,f=u.exterior_status,l=u.interior_status,v=u.processing;return(0,e.createComponentVNode)(2,o.Window,{width:470,height:290,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Information",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Chamber Pressure",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:V(d),value:d,minValue:s,maxValue:y,children:[d," kPa"]})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Cycle to Exterior",icon:"arrow-circle-left",disabled:v,onClick:function(){function b(){return m("cycle_ext")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Cycle to Interior",icon:"arrow-circle-right",disabled:v,onClick:function(){function b(){return m("cycle_int")}return b}()})]}),(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Force Exterior Door",icon:"exclamation-triangle",color:l==="open"?"red":v?"yellow":null,onClick:function(){function b(){return m("force_ext")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Force Interior Door",icon:"exclamation-triangle",color:l==="open"?"red":v?"yellow":null,onClick:function(){function b(){return m("force_int")}return b}()})]}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Abort",icon:"ban",color:"red",disabled:!v,onClick:function(){function b(){return m("abort")}return b}()})})]})]})})}return S}()},96142:function(I,r,n){"use strict";r.__esModule=!0,r.FaxMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.FaxMachine=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;return(0,e.createComponentVNode)(2,o.Window,{width:540,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Card",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.scan_name?"eject":"id-card",selected:i.scan_name,content:i.scan_name?i.scan_name:"-----",tooltip:i.scan_name?"Eject ID":"Insert ID",onClick:function(){function c(){return p("scan")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Authorize",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.authenticated?"sign-out-alt":"id-card",selected:i.authenticated,disabled:!i.scan_name&&!i.authenticated,content:i.authenticated?"Log Out":"Log In",onClick:function(){function c(){return p("auth")}return c}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Fax Menu",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network",children:i.network}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Document",children:[(0,e.createComponentVNode)(2,t.Button,{icon:i.paper?"eject":"paperclip",disabled:!i.authenticated&&!i.paper,content:i.paper?i.paper:"-----",onClick:function(){function c(){return p("paper")}return c}()}),!!i.paper&&(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){function c(){return p("rename")}return c}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sending To",children:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:i.destination?i.destination:"-----",disabled:!i.authenticated,onClick:function(){function c(){return p("dept")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Action",children:(0,e.createComponentVNode)(2,t.Button,{icon:"envelope",content:i.sendError?i.sendError:"Send",disabled:!i.paper||!i.destination||!i.authenticated||i.sendError,onClick:function(){function c(){return p("send")}return c}()})})]})})]})})}return y}()},83767:function(I,r,n){"use strict";r.__esModule=!0,r.FloorPainter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=function(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=k.image,u=k.isSelected,d=k.onSelect;return(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+m,style:{"border-style":u&&"solid"||"none","border-width":"2px","border-color":"orange",padding:u&&"2px"||"4px"},onClick:d})},y=r.FloorPainter=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.availableStyles,u=c.selectedStyle,d=c.selectedDir,f=c.directionsPreview,l=c.allStylesPreview;return(0,e.createComponentVNode)(2,o.Window,{width:405,height:475,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Decal setup",children:[(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-left",onClick:function(){function v(){return i("cycle_style",{offset:-1})}return v}()})}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Dropdown,{options:m,selected:u,width:"150px",height:"20px",ml:"2px",mr:"2px",nochevron:!0,onSelected:function(){function v(b){return i("select_style",{style:b})}return v}()})}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",onClick:function(){function v(){return i("cycle_style",{offset:1})}return v}()})})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"5px",mb:"5px",children:(0,e.createComponentVNode)(2,t.Flex,{overflowY:"auto",maxHeight:"220px",wrap:"wrap",children:m.map(function(v){return(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,s,{image:l[v],isSelected:u===v,onSelect:function(){function b(){return i("select_style",{style:v})}return b}()})},"{style}")})})}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Direction",children:(0,e.createComponentVNode)(2,t.Table,{style:{display:"inline"},children:["north","","south"].map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[v+"west",v,v+"east"].map(function(b){return(0,e.createComponentVNode)(2,t.Table.Cell,{style:{"vertical-align":"middle","text-align":"center"},children:b===""?(0,e.createComponentVNode)(2,t.Icon,{name:"arrows-alt",size:3}):(0,e.createComponentVNode)(2,s,{image:f[b],isSelected:b===d,onSelect:function(){function g(){return i("select_direction",{direction:b})}return g}()})},b)})},v)})})})})]})})})}return V}()},53424:function(I,r,n){"use strict";r.__esModule=!0,r.GPS=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=n(98595),y=function(u){return u?"("+u.join(", ")+")":"ERROR"},V=function(u,d,f){if(!(!u||!d)){if(u[2]!==d[2]||f!==1)return null;var l=Math.atan2(d[1]-u[1],d[0]-u[0]),v=Math.sqrt(Math.pow(d[1]-u[1],2)+Math.pow(d[0]-u[0],2));return{angle:(0,a.rad2deg)(l),distance:v}}},k=r.GPS=function(){function m(u,d){var f=(0,t.useBackend)(d),l=f.data,v=l.emped,b=l.active,g=l.area,h=l.position,C=l.saved;return(0,e.createComponentVNode)(2,s.Window,{width:450,height:700,children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,o.Flex,{direction:"column",height:"100%",children:v?(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",basis:"0",children:(0,e.createComponentVNode)(2,S,{emp:!0})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Flex.Item,{children:(0,e.createComponentVNode)(2,p)}),b?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Flex.Item,{mt:"0.5rem",children:(0,e.createComponentVNode)(2,i,{area:g,position:h})}),C&&(0,e.createComponentVNode)(2,o.Flex.Item,{mt:"0.5rem",children:(0,e.createComponentVNode)(2,i,{title:"Saved Position",position:C})}),(0,e.createComponentVNode)(2,o.Flex.Item,{mt:"0.5rem",grow:"1",basis:"0",children:(0,e.createComponentVNode)(2,c,{height:"100%"})})],0):(0,e.createComponentVNode)(2,S)],0)})})})}return m}(),S=function(u,d){var f=u.emp;return(0,e.createComponentVNode)(2,o.Section,{mt:"0.5rem",width:"100%",height:"100%",stretchContents:!0,children:(0,e.createComponentVNode)(2,o.Box,{width:"100%",height:"100%",color:"label",textAlign:"center",children:(0,e.createComponentVNode)(2,o.Flex,{height:"100%",children:(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:f?"ban":"power-off",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),f?"ERROR: Device temporarily lost signal.":"Device is disabled."]})})})})},p=function(u,d){var f=(0,t.useBackend)(d),l=f.act,v=f.data,b=v.active,g=v.tag,h=v.same_z,C=(0,t.useLocalState)(d,"newTag",g),N=C[0],x=C[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Settings",buttons:(0,e.createComponentVNode)(2,o.Button,{selected:b,icon:b?"toggle-on":"toggle-off",content:b?"On":"Off",onClick:function(){function B(){return l("toggle")}return B}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Tag",children:[(0,e.createComponentVNode)(2,o.Input,{width:"5rem",value:g,onEnter:function(){function B(){return l("tag",{newtag:N})}return B}(),onInput:function(){function B(L,w){return x(w)}return B}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:g===N,width:"20px",mb:"0",ml:"0.25rem",onClick:function(){function B(){return l("tag",{newtag:N})}return B}(),children:(0,e.createComponentVNode)(2,o.Icon,{name:"pen"})})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Range",children:(0,e.createComponentVNode)(2,o.Button,{selected:!h,icon:h?"compress":"expand",content:h?"Local Sector":"Global",onClick:function(){function B(){return l("same_z")}return B}()})})]})})},i=function(u,d){var f=u.title,l=u.area,v=u.position;return(0,e.createComponentVNode)(2,o.Section,{title:f||"Position",children:(0,e.createComponentVNode)(2,o.Box,{fontSize:"1.5rem",children:[l&&(0,e.createFragment)([l,(0,e.createVNode)(1,"br")],0),y(v)]})})},c=function(u,d){var f=(0,t.useBackend)(d),l=f.data,v=l.position,b=l.signals,g=l.upgraded;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Signals",overflow:"auto"},u,{children:(0,e.createComponentVNode)(2,o.Table,{children:b.map(function(h){return Object.assign({},h,V(v,h.position,g))}).map(function(h,C){return(0,e.createComponentVNode)(2,o.Table.Row,{backgroundColor:C%2===0&&"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,o.Table.Cell,{width:"30%",verticalAlign:"middle",color:"label",p:"0.25rem",bold:!0,children:h.tag}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",color:"grey",children:h.area}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",collapsing:!0,children:h.distance!==void 0&&(0,e.createComponentVNode)(2,o.Box,{opacity:Math.max(1-Math.min(h.distance,100)/100,.5),children:[(0,e.createComponentVNode)(2,o.Icon,{name:h.distance>0?"arrow-right":"circle",rotation:-h.angle}),"\xA0",Math.floor(h.distance)+"m"]})}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",pr:"0.25rem",collapsing:!0,children:y(h.position)})]},C)})})})))}},68703:function(I,r,n){"use strict";r.__esModule=!0,r.GasAnalyzerHistory=r.GasAnalyzerContent=r.GasAnalyzer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.GasAnalyzerContent=function(){function k(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.gasmixes,d=m.autoUpdating;return(0,e.createComponentVNode)(2,t.Section,{title:u[0].name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:d?"unlock":"lock",onClick:function(){function f(){return c("autoscantoggle")}return f}(),tooltip:d?"Auto-Update Enabled":"Auto-Update Disabled",fluid:!0,textAlign:"center",selected:d}),children:u[0].total_moles?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Moles",children:(u[0].total_moles?u[0].total_moles:"-")+" mol"}),u[0].oxygen?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen",children:u[0].oxygen.toFixed(2)+" mol ("+(u[0].oxygen/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].nitrogen?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrogen",children:u[0].nitrogen.toFixed(2)+" mol ("+(u[0].nitrogen/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].carbon_dioxide?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Carbon Dioxide",children:u[0].carbon_dioxide.toFixed(2)+" mol ("+(u[0].carbon_dioxide/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].toxins?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Plasma",children:u[0].toxins.toFixed(2)+" mol ("+(u[0].toxins/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].sleeping_agent?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrous Oxide",children:u[0].sleeping_agent.toFixed(2)+" mol ("+(u[0].sleeping_agent/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].agent_b?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Agent B",children:u[0].agent_b.toFixed(2)+" mol ("+(u[0].agent_b/u[0].total_moles).toFixed(2)*100+" %)"}):"",(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(u[0].total_moles?(u[0].temperature-273.15).toFixed(2):"-")+" \xB0C ("+(u[0].total_moles?u[0].temperature.toFixed(2):"-")+" K)"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Volume",children:(u[0].total_moles?u[0].volume:"-")+" L"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:(u[0].total_moles?u[0].pressure.toFixed(2):"-")+" kPa"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Heat Capacity",children:u[0].heat_capacity+" / K"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Thermal Energy",children:u[0].thermal_energy})]}):(0,e.createComponentVNode)(2,t.Box,{nowrap:!0,italic:!0,mb:"10px",children:"No Gas Detected!"})},u[0])}return k}(),y=r.GasAnalyzerHistory=function(){function k(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.historyGasmixes,d=m.historyViewMode,f=m.historyIndex;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Scan History",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"trash",tooltip:"Clear History",onClick:function(){function l(){return c("clearhistory")}return l}(),textAlign:"center",disabled:u.length===0}),children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mode",children:(0,e.createComponentVNode)(2,t.Flex,{inline:!0,width:"50%",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"kPa",onClick:function(){function l(){return c("modekpa")}return l}(),textAlign:"center",selected:d==="kpa"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"mol",onClick:function(){function l(){return c("modemol")}return l}(),textAlign:"center",selected:d==="mol"})})]})}),(0,e.createComponentVNode)(2,t.LabeledList,{children:u.map(function(l,v){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:v+1+". "+(d==="mol"?l[0].total_moles.toFixed(2):l[0].pressure.toFixed(2)),onClick:function(){function b(){return c("input",{target:v+1})}return b}(),textAlign:"left",selected:v+1===f,fluid:!0})},l[0])})})]})}return k}(),V=r.GasAnalyzer=function(){function k(S,p){var i={float:"left",width:"67%"},c={float:"right",width:"33%"};return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createVNode)(1,"div",null,(0,e.createComponentVNode)(2,t.Section,{grow:!0,children:(0,e.createComponentVNode)(2,s)}),2,{style:i}),(0,e.createVNode)(1,"div",null,(0,e.createComponentVNode)(2,t.Section,{width:"160px",children:(0,e.createComponentVNode)(2,y)}),2,{style:c})]})})}return k}()},27546:function(I,r,n){"use strict";r.__esModule=!0,r.GasFreezer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.GasFreezer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.on,m=i.pressure,u=i.temperature,d=i.temperatureCelsius,f=i.min,l=i.max,v=i.target,b=i.targetCelsius,g=(u-f)/(l-f);return(0,e.createComponentVNode)(2,o.Window,{width:560,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0442\u0430\u0442\u0443\u0441",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:c?"power-off":"times",content:c?"\u0412\u043A\u043B":"\u0412\u044B\u043A\u043B",selected:c,onClick:function(){function h(){return p("power")}return h}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0414\u0430\u0432\u043B\u0435\u043D\u0438\u0435",children:[m," \u043A\u041F\u0430"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0422\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",justify:"space-between",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"65%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:g,ranges:{blue:[-1/0,.5],red:[.5,1/0]},children:"\xA0"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"35%",children:[g<.5&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"blue",ml:1,children:[u," \xB0K (",d," \xB0C)"]}),g>=.5&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"red",ml:1,children:[u," \xB0K (",d," \xB0C)"]})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0426\u0435\u043B\u0435\u0432\u0430\u044F \u0442\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"65%",justify:"end",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:(v-f)/(l-f),children:"\xA0"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"35%",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,ml:1,children:[v," \xB0K (",b," \xB0C)"]})})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0417\u0430\u0434\u0430\u0442\u044C \u0446\u0435\u043B\u0435\u0432\u0443\u044E \u0442\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0443",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",title:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",onClick:function(){function h(){return p("temp",{temp:f})}return h}()}),(0,e.createComponentVNode)(2,t.NumberInput,{value:Math.round(v),unit:"\xB0K",minValue:Math.round(f),maxValue:Math.round(l),step:5,stepPixelSize:3,onDrag:function(){function h(C,N){return p("temp",{temp:N})}return h}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",title:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",onClick:function(){function h(){return p("temp",{temp:l})}return h}()})]})]})})})})}return y}()},89124:function(I,r,n){"use strict";r.__esModule=!0,r.GeneModder=void 0;var e=n(89005),a=n(72253),t=n(35840),o=n(36036),s=n(3939),y=n(98595),V=r.GeneModder=function(){function d(f,l){var v=(0,a.useBackend)(l),b=v.data,g=b.has_seed;return(0,e.createComponentVNode)(2,y.Window,{width:500,height:650,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,s.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),g===0?(0,e.createComponentVNode)(2,S):(0,e.createComponentVNode)(2,k)]})})})}return d}(),k=function(f,l){var v=(0,a.useBackend)(l),b=v.act,g=v.data,h=g.disk;return(0,e.createComponentVNode)(2,o.Section,{title:"Genes",fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,o.Button,{content:"Insert Gene from Disk",disabled:!h||!h.can_insert||h.is_core,icon:"arrow-circle-down",onClick:function(){function C(){return b("insert")}return C}()}),children:[(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,m)]})},S=function(f,l){return(0,e.createComponentVNode)(2,o.Section,{fill:!0,height:"85%",children:(0,e.createComponentVNode)(2,o.Stack,{height:"100%",children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:"1",textAlign:"center",align:"center",color:"green",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"leaf",size:5,mb:"10px"}),(0,e.createVNode)(1,"br"),"The plant DNA manipulator is missing a seed."]})})})},p=function(f,l){var v=(0,a.useBackend)(l),b=v.act,g=v.data,h=g.has_seed,C=g.seed,N=g.has_disk,x=g.disk,B,L;return h?B=(0,e.createComponentVNode)(2,o.Stack.Item,{mb:"-6px",mt:"-4px",children:[(0,e.createVNode)(1,"img",(0,t.classes)(["seeds32x32",C.image]),null,1,{style:{"vertical-align":"middle",width:"32px",margin:"-1px","margin-left":"-11px"}}),(0,e.createComponentVNode)(2,o.Button,{content:C.name,onClick:function(){function w(){return b("eject_seed")}return w}()}),(0,e.createComponentVNode)(2,o.Button,{ml:"3px",icon:"pen",tooltip:"Name Variant",onClick:function(){function w(){return b("variant_name")}return w}()})]}):B=(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{ml:3.3,content:"None",onClick:function(){function w(){return b("eject_seed")}return w}()})}),N?L=x.name:L="None",(0,e.createComponentVNode)(2,o.Section,{title:"Storage",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Plant Sample",children:B}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Data Disk",children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{ml:3.3,content:L,onClick:function(){function w(){return b("eject_disk")}return w}()})})})]})})},i=function(f,l){var v=(0,a.useBackend)(l),b=v.act,g=v.data,h=g.disk,C=g.core_genes;return(0,e.createComponentVNode)(2,o.Collapsible,{title:"Core Genes",open:!0,children:[C.map(function(N){return(0,e.createComponentVNode)(2,o.Stack,{py:"2px",className:"candystripe",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"100%",ml:"2px",children:N.name}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Extract",disabled:!(h!=null&&h.can_extract),icon:"save",onClick:function(){function x(){return b("extract",{id:N.id})}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Replace",disabled:!N.is_type||!h.can_insert,icon:"arrow-circle-down",onClick:function(){function x(){return b("replace",{id:N.id})}return x}()})})]},N)})," ",(0,e.createComponentVNode)(2,o.Stack,{children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Replace All",disabled:!(h!=null&&h.is_bulk_core),icon:"arrow-circle-down",onClick:function(){function N(){return b("bulk_replace_core")}return N}()})})})]},"Core Genes")},c=function(f,l){var v=(0,a.useBackend)(l),b=v.data,g=b.reagent_genes,h=b.has_reagent;return(0,e.createComponentVNode)(2,u,{title:"Reagent Genes",gene_set:g,do_we_show:h})},m=function(f,l){var v=(0,a.useBackend)(l),b=v.data,g=b.trait_genes,h=b.has_trait;return(0,e.createComponentVNode)(2,u,{title:"Trait Genes",gene_set:g,do_we_show:h})},u=function(f,l){var v=f.title,b=f.gene_set,g=f.do_we_show,h=(0,a.useBackend)(l),C=h.act,N=h.data,x=N.disk;return(0,e.createComponentVNode)(2,o.Collapsible,{title:v,open:!0,children:g?b.map(function(B){return(0,e.createComponentVNode)(2,o.Stack,{py:"2px",className:"candystripe",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"100%",ml:"2px",children:B.name}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Extract",disabled:!(x!=null&&x.can_extract),icon:"save",onClick:function(){function L(){return C("extract",{id:B.id})}return L}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Remove",icon:"times",onClick:function(){function L(){return C("remove",{id:B.id})}return L}()})})]},B)}):(0,e.createComponentVNode)(2,o.Stack.Item,{children:"No Genes Detected"})},v)}},73053:function(I,r,n){"use strict";r.__esModule=!0,r.GenericCrewManifest=void 0;var e=n(89005),a=n(36036),t=n(98595),o=n(41874),s=r.GenericCrewManifest=function(){function y(V,k){return(0,e.createComponentVNode)(2,t.Window,{width:588,height:510,theme:"nologo",children:(0,e.createComponentVNode)(2,t.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,a.Section,{noTopPadding:!0,children:(0,e.createComponentVNode)(2,o.CrewManifest)})})})}return y}()},42914:function(I,r,n){"use strict";r.__esModule=!0,r.GhostHudPanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.GhostHudPanel=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.data,c=i.security,m=i.medical,u=i.diagnostic,d=i.ahud;return(0,e.createComponentVNode)(2,o.Window,{width:250,height:207,theme:"nologo",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,y,{label:"Medical",type:"medical",is_active:m}),(0,e.createComponentVNode)(2,y,{label:"Security",type:"security",is_active:c}),(0,e.createComponentVNode)(2,y,{label:"Diagnostic",type:"diagnostic",is_active:u}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,y,{label:"Antag HUD",is_active:d,act_on:"ahud_on",act_off:"ahud_off"})]})})})}return V}(),y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,c=k.label,m=k.type,u=m===void 0?null:m,d=k.is_active,f=k.act_on,l=f===void 0?"hud_on":f,v=k.act_off,b=v===void 0?"hud_off":v;return(0,e.createComponentVNode)(2,t.Flex,{pt:.3,color:"label",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{pl:.5,align:"center",width:"80%",children:c}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{mr:.6,content:d?"On":"Off",icon:d?"toggle-on":"toggle-off",selected:d,onClick:function(){function g(){return i(d?b:l,{hud_type:u})}return g}()})})]})}},25825:function(I,r,n){"use strict";r.__esModule=!0,r.GlandDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.GlandDispenser=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.glands,m=c===void 0?[]:c;return(0,e.createComponentVNode)(2,o.Window,{width:300,height:338,theme:"abductor",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:m.map(function(u){return(0,e.createComponentVNode)(2,t.Button,{width:"60px",height:"60px",m:.75,textAlign:"center",fontSize:"17px",lineHeight:"55px",icon:"eject",backgroundColor:u.color,content:u.amount||"0",disabled:!u.amount,onClick:function(){function d(){return p("dispense",{gland_id:u.id})}return d}()},u.id)})})})})}return y}()},67834:function(I,r,n){"use strict";r.__esModule=!0,r.HandheldChemDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=[1,5,10,20,30,50],y=null,V=r.HandheldChemDispenser=function(){function p(i,c){return(0,e.createComponentVNode)(2,o.Window,{width:450,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,S)]})})})}return p}(),k=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.amount,l=d.energy,v=d.maxEnergy,b=d.mode;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:l,minValue:0,maxValue:v,ranges:{good:[v*.5,1/0],average:[v*.25,v*.5],bad:[-1/0,v*.25]},children:[l," / ",v," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Amount",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{children:s.map(function(g,h){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"15%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"cog",selected:f===g,content:g,onClick:function(){function C(){return u("amount",{amount:g})}return C}()})},h)})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mode",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{justify:"space-between",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:b==="dispense",content:"Dispense",m:"0",width:"32%",onClick:function(){function g(){return u("mode",{mode:"dispense"})}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:b==="remove",content:"Remove",m:"0",width:"32%",onClick:function(){function g(){return u("mode",{mode:"remove"})}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:b==="isolate",content:"Isolate",m:"0",width:"32%",onClick:function(){function g(){return u("mode",{mode:"isolate"})}return g}()})]})})]})})})},S=function(i,c){for(var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.chemicals,l=f===void 0?[]:f,v=d.current_reagent,b=[],g=0;g<(l.length+1)%3;g++)b.push(!0);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,height:"18%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:d.glass?"Drink Selector":"Chemical Selector",children:[l.map(function(h,C){return(0,e.createComponentVNode)(2,t.Button,{width:"32%",icon:"arrow-circle-down",overflow:"hidden",textOverflow:"ellipsis",selected:v===h.id,content:h.title,style:{"margin-left":"2px"},onClick:function(){function N(){return u("dispense",{reagent:h.id})}return N}()},C)}),b.map(function(h,C){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:"1",basis:"25%"},C)})]})})}},75926:function(I,r,n){"use strict";r.__esModule=!0,r.ImplantPad=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.ImplantPad=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.implant,m=i.contains_case,u=i.tag,d=(0,a.useLocalState)(k,"newTag",u),f=d[0],l=d[1];return(0,e.createComponentVNode)(2,o.Window,{width:410,height:325,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Bio-chip Mini-Computer",buttons:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Eject Case",icon:"eject",disabled:!m,onClick:function(){function v(){return p("eject_case")}return v}()})}),children:c&&m?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{bold:!0,mb:2,children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+c.image,ml:0,mr:2,style:{"vertical-align":"middle",width:"32px"}}),c.name]}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Life",children:c.life}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Notes",children:c.notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Function",children:c.function}),!!u&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tag",children:[(0,e.createComponentVNode)(2,t.Input,{width:"5.5rem",value:u,onEnter:function(){function v(){return p("tag",{newtag:f})}return v}(),onInput:function(){function v(b,g){return l(g)}return v}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:u===f,width:"20px",mb:"0",ml:"0.25rem",onClick:function(){function v(){return p("tag",{newtag:f})}return v}(),children:(0,e.createComponentVNode)(2,t.Icon,{name:"pen"})})]})]})],4):m?(0,e.createComponentVNode)(2,t.Box,{children:"This bio-chip case has no implant!"}):(0,e.createComponentVNode)(2,t.Box,{children:"Please insert a bio-chip casing!"})})})})}return y}()},25471:function(I,r,n){"use strict";r.__esModule=!0,r.Instrument=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=n(98595),y=r.Instrument=function(){function i(c,m){var u=(0,t.useBackend)(m),d=u.act,f=u.data;return(0,e.createComponentVNode)(2,s.Window,{width:600,height:505,children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,p)]})})]})}return i}(),V=function(c,m){var u=(0,t.useBackend)(m),d=u.act,f=u.data,l=f.help;if(l)return(0,e.createComponentVNode)(2,o.Modal,{maxWidth:"75%",height:window.innerHeight*.75+"px",mx:"auto",py:"0",px:"0.5rem",children:(0,e.createComponentVNode)(2,o.Section,{height:"100%",title:"Help",level:"2",overflow:"auto",children:(0,e.createComponentVNode)(2,o.Box,{px:"0.5rem",mt:"-0.5rem",children:[(0,e.createVNode)(1,"h1",null,"Making a Song",16),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Lines are a series of chords, separated by commas\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(,)"}),(0,e.createTextVNode)(", each with notes separated by hyphens\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(-)"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Every note in a chord will play together, with the chord timed by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("as defined above.")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Notes are played by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"names of the note"}),(0,e.createTextVNode)(", and optionally, the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(", and/or the"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave number"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("By default, every note is\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"natural"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("and in\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave 3"}),(0,e.createTextVNode)(". Defining a different state for either is remembered for each"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"note"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Example:"}),(0,e.createTextVNode)("\xA0"),(0,e.createVNode)(1,"i",null,"C,D,E,F,G,A,B",16),(0,e.createTextVNode)(" will play a\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"C"}),(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"major"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("scale.")],0),(0,e.createVNode)(1,"li",null,[(0,e.createTextVNode)("After a note has an\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("or\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("placed, it will be remembered:\xA0"),(0,e.createVNode)(1,"i",null,"C,C4,C#,C3",16),(0,e.createTextVNode)(" is "),(0,e.createVNode)(1,"i",null,"C3,C4,C4#,C3#",16)],0)],4)],0),(0,e.createVNode)(1,"p",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Chords"}),(0,e.createTextVNode)("\xA0can be played simply by seperating each note with a hyphen:"),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"A-C#,Cn-E,E-G#,Gn-B",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("A"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"pause"}),(0,e.createTextVNode)("\xA0may be denoted by an empty chord: "),(0,e.createVNode)(1,"i",null,"C,E,,C,G",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("To make a chord be a different time, end it with /x, where the chord length will be length defined by\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo / x"}),(0,e.createTextVNode)(",\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"eg:"}),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"C,G/2,E/4",16),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Combined, an example line is: "),(0,e.createVNode)(1,"i",null,"E-E4/4,F#/2,G#/8,B/8,E3-E4/4",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,"Lines may be up to 300 characters.",16),(0,e.createVNode)(1,"li",null,"A song may only contain up to 1,000 lines.",16)],4)],4),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Lines are a series of chords, separated by commas\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(,)"}),(0,e.createTextVNode)(", each with notes separated by hyphens\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(-)"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Every note in a chord will play together, with the chord timed by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("as defined above.")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Notes are played by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"names of the note"}),(0,e.createTextVNode)(", and optionally, the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(", and/or the"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave number"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("By default, every note is\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"natural"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("and in\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave 3"}),(0,e.createTextVNode)(". Defining a different state for either is remembered for each"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"note"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Example:"}),(0,e.createTextVNode)("\xA0"),(0,e.createVNode)(1,"i",null,"C,D,E,F,G,A,B",16),(0,e.createTextVNode)(" will play a\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"C"}),(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"major"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("scale.")],0),(0,e.createVNode)(1,"li",null,[(0,e.createTextVNode)("After a note has an\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("or\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("placed, it will be remembered:\xA0"),(0,e.createVNode)(1,"i",null,"C,C4,C#,C3",16),(0,e.createTextVNode)(" is "),(0,e.createVNode)(1,"i",null,"C3,C4,C4#,C3#",16)],0)],4)],0),(0,e.createVNode)(1,"p",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Chords"}),(0,e.createTextVNode)("\xA0can be played simply by seperating each note with a hyphen:"),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"A-C#,Cn-E,E-G#,Gn-B",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("A"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"pause"}),(0,e.createTextVNode)("\xA0may be denoted by an empty chord: "),(0,e.createVNode)(1,"i",null,"C,E,,C,G",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("To make a chord be a different time, end it with /x, where the chord length will be length defined by\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo / x"}),(0,e.createTextVNode)(",\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"eg:"}),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"C,G/2,E/4",16),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Combined, an example line is: "),(0,e.createVNode)(1,"i",null,"E-E4/4,F#/2,G#/8,B/8,E3-E4/4",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,"Lines may be up to 300 characters.",16),(0,e.createVNode)(1,"li",null,"A song may only contain up to 1,000 lines.",16)],4)],4),(0,e.createVNode)(1,"h1",null,"Instrument Advanced Settings",16),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Type:"}),(0,e.createTextVNode)("\xA0Whether the instrument is legacy or synthesized."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Legacy instruments have a collection of sounds that are selectively used depending on the note to play."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Synthesized instruments use a base sound and change its pitch to match the note to play.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Current:"}),(0,e.createTextVNode)("\xA0Which instrument sample to play. Some instruments can be tuned to play different samples. Experiment!")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Note Shift/Note Transpose:"}),(0,e.createTextVNode)("\xA0The pitch to apply to all notes of the song.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Sustain Mode:"}),(0,e.createTextVNode)("\xA0How a played note fades out."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Linear sustain means a note will fade out at a constant rate."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Exponential sustain means a note will fade out at an exponential rate, sounding smoother.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Volume Dropoff Threshold:"}),(0,e.createTextVNode)("\xA0The volume threshold at which a note is fully stopped.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Sustain indefinitely last held note:"}),(0,e.createTextVNode)("\xA0Whether the last note should be sustained indefinitely.")],4)],4),(0,e.createComponentVNode)(2,o.Button,{color:"grey",content:"Close",onClick:function(){function v(){return d("help")}return v}()})]})})})},k=function(c,m){var u=(0,t.useBackend)(m),d=u.act,f=u.data,l=f.lines,v=f.playing,b=f.repeat,g=f.maxRepeats,h=f.tempo,C=f.minTempo,N=f.maxTempo,x=f.tickLag,B=f.volume,L=f.minVolume,w=f.maxVolume,A=f.ready;return(0,e.createComponentVNode)(2,o.Section,{title:"Instrument",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"info",content:"Help",onClick:function(){function T(){return d("help")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"file",content:"New",onClick:function(){function T(){return d("newsong")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"upload",content:"Import",onClick:function(){function T(){return d("import")}return T}()})],4),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Playback",children:[(0,e.createComponentVNode)(2,o.Button,{selected:v,disabled:l.length===0||b<0,icon:"play",content:"Play",onClick:function(){function T(){return d("play")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!v,icon:"stop",content:"Stop",onClick:function(){function T(){return d("stop")}return T}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Repeat",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:0,maxValue:g,value:b,stepPixelSize:59,onChange:function(){function T(E,O){return d("repeat",{new:O})}return T}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Tempo",children:(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Button,{disabled:h>=N,content:"-",as:"span",mr:"0.5rem",onClick:function(){function T(){return d("tempo",{new:h+x})}return T}()}),(0,a.round)(600/h)," BPM",(0,e.createComponentVNode)(2,o.Button,{disabled:h<=C,content:"+",as:"span",ml:"0.5rem",onClick:function(){function T(){return d("tempo",{new:h-x})}return T}()})]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Volume",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:L,maxValue:w,value:B,stepPixelSize:6,onDrag:function(){function T(E,O){return d("setvolume",{new:O})}return T}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",children:A?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Ready"}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Instrument Definition Error!"})})]}),(0,e.createComponentVNode)(2,S)]})},S=function(c,m){var u=(0,t.useBackend)(m),d=u.act,f=u.data,l=f.allowedInstrumentNames,v=f.instrumentLoaded,b=f.instrument,g=f.canNoteShift,h=f.noteShift,C=f.noteShiftMin,N=f.noteShiftMax,x=f.sustainMode,B=f.sustainLinearDuration,L=f.sustainExponentialDropoff,w=f.legacy,A=f.sustainDropoffVolume,T=f.sustainHeldNote,E,O;return x===1?(E="Linear",O=(0,e.createComponentVNode)(2,o.Slider,{minValue:.1,maxValue:5,value:B,step:.5,stepPixelSize:85,format:function(){function P(R){return(0,a.round)(R*100)/100+" seconds"}return P}(),onChange:function(){function P(R,F){return d("setlinearfalloff",{new:F/10})}return P}()})):x===2&&(E="Exponential",O=(0,e.createComponentVNode)(2,o.Slider,{minValue:1.025,maxValue:10,value:L,step:.01,format:function(){function P(R){return(0,a.round)(R*1e3)/1e3+"% per decisecond"}return P}(),onChange:function(){function P(R,F){return d("setexpfalloff",{new:F})}return P}()})),l.sort(),(0,e.createComponentVNode)(2,o.Box,{my:-1,children:(0,e.createComponentVNode)(2,o.Collapsible,{mt:"1rem",mb:"0",title:"Advanced",children:(0,e.createComponentVNode)(2,o.Section,{mt:-1,children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Type",children:w?"Legacy":"Synthesized"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Current",children:v?(0,e.createComponentVNode)(2,o.Dropdown,{options:l,selected:b,width:"50%",onSelected:function(){function P(R){return d("switchinstrument",{name:R})}return P}()}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"None!"})}),!!(!w&&g)&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Note Shift/Note Transpose",children:(0,e.createComponentVNode)(2,o.Slider,{minValue:C,maxValue:N,value:h,stepPixelSize:2,format:function(){function P(R){return R+" keys / "+(0,a.round)(R/12*100)/100+" octaves"}return P}(),onChange:function(){function P(R,F){return d("setnoteshift",{new:F})}return P}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sustain Mode",children:[(0,e.createComponentVNode)(2,o.Dropdown,{options:["Linear","Exponential"],selected:E,onSelected:function(){function P(R){return d("setsustainmode",{new:R})}return P}()}),O]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Volume Dropoff Threshold",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:.01,maxValue:100,value:A,stepPixelSize:6,onChange:function(){function P(R,F){return d("setdropoffvolume",{new:F})}return P}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sustain indefinitely last held note",children:(0,e.createComponentVNode)(2,o.Button,{selected:T,icon:T?"toggle-on":"toggle-off",content:T?"Yes":"No",onClick:function(){function P(){return d("togglesustainhold")}return P}()})})],4)]}),(0,e.createComponentVNode)(2,o.Button,{icon:"redo",content:"Reset to Default",mt:"0.5rem",onClick:function(){function P(){return d("reset")}return P}()})]})})})},p=function(c,m){var u=(0,t.useBackend)(m),d=u.act,f=u.data,l=f.playing,v=f.lines,b=f.editing;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Editor",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:!b||l,icon:"plus",content:"Add Line",onClick:function(){function g(){return d("newline",{line:v.length+1})}return g}()}),(0,e.createComponentVNode)(2,o.Button,{selected:!b,icon:b?"chevron-up":"chevron-down",onClick:function(){function g(){return d("edit")}return g}()})],4),children:!!b&&(v.length>0?(0,e.createComponentVNode)(2,o.LabeledList,{children:v.map(function(g,h){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:h+1,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:l,icon:"pen",onClick:function(){function C(){return d("modifyline",{line:h+1})}return C}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:l,icon:"trash",onClick:function(){function C(){return d("deleteline",{line:h+1})}return C}()})],4),children:g},h)})}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"Song is empty."}))})}},65021:function(I,r,n){"use strict";r.__esModule=!0,r.ItemPixelShift=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.ItemPixelShift=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.pixel_x,m=i.pixel_y,u=i.max_shift_x,d=i.max_shift_y,f=i.random_drop_on;return(0,e.createComponentVNode)(2,o.Window,{width:250,height:160,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"X-coordinates",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-left",title:"Shifts item leftwards.",disabled:c===-u,onClick:function(){function l(){return p("shift_left")}return l}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,lineHeight:1.7,width:"75px",unit:"pixels",stepPixelSize:6,value:c,minValue:-u,maxValue:u,onChange:function(){function l(v,b){return p("custom_x",{pixel_x:b})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-right",title:"Shifts item rightwards.",disabled:c===u,onClick:function(){function l(){return p("shift_right")}return l}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Y-coordinates",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-up",title:"Shifts item upwards.",disabled:m===d,onClick:function(){function l(){return p("shift_up")}return l}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,lineHeight:1.7,width:"75px",unit:"pixels",stepPixelSize:6,value:m,minValue:-d,maxValue:d,onChange:function(){function l(v,b){return p("custom_y",{pixel_y:b})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",title:"Shifts item downwards.",disabled:m===-d,onClick:function(){function l(){return p("shift_down")}return l}()})]})]})}),(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"brown",icon:"arrow-up",content:"Move to Top",title:"Tries to place an item on top of the others.",onClick:function(){function l(){return p("move_to_top")}return l}()})}),(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:f?"good":"bad",icon:"power-off",content:f?"Shift Enabled":"Shift Disabled",title:"Enables/Disables item pixel randomization on any drops.",onClick:function(){function l(){return p("toggle")}return l}()})})]})})]})})}return y}()},13618:function(I,r,n){"use strict";r.__esModule=!0,r.KeyComboModal=void 0;var e=n(89005),a=n(70611),t=n(72253),o=n(36036),s=n(98595),y=n(19203),V=n(51057),k=function(u){return u.key!==a.KEY.Alt&&u.key!==a.KEY.Control&&u.key!==a.KEY.Shift&&u.key!==a.KEY.Escape},S={DEL:"Delete",DOWN:"South",END:"Southwest",HOME:"Northwest",INSERT:"Insert",LEFT:"West",PAGEDOWN:"Southeast",PAGEUP:"Northeast",RIGHT:"East",SPACEBAR:"Space",UP:"North"},p=3,i=function(u){var d="";if(u.altKey&&(d+="Alt"),u.ctrlKey&&(d+="Ctrl"),u.shiftKey&&!(u.keyCode>=48&&u.keyCode<=57)&&(d+="Shift"),u.location===p&&(d+="Numpad"),k(u))if(u.shiftKey&&u.keyCode>=48&&u.keyCode<=57){var f=u.keyCode-48;d+="Shift"+f}else{var l=u.key.toUpperCase();d+=S[l]||l}return d},c=r.KeyComboModal=function(){function m(u,d){var f=(0,t.useBackend)(d),l=f.act,v=f.data,b=v.init_value,g=v.large_buttons,h=v.message,C=h===void 0?"":h,N=v.title,x=v.timeout,B=(0,t.useLocalState)(d,"input",b),L=B[0],w=B[1],A=(0,t.useLocalState)(d,"binding",!0),T=A[0],E=A[1],O=function(){function F(j){if(!T){j.key===a.KEY.Enter&&l("submit",{entry:L}),j.key===a.KEY.Escape&&l("cancel");return}if(j.preventDefault(),k(j)){P(i(j)),E(!1);return}else if(j.key===a.KEY.Escape){P(b),E(!1);return}}return F}(),P=function(){function F(j){j!==L&&w(j)}return F}(),R=130+(C.length>30?Math.ceil(C.length/3):0)+(C.length&&g?5:0);return(0,e.createComponentVNode)(2,s.Window,{title:N,width:240,height:R,children:[x&&(0,e.createComponentVNode)(2,V.Loader,{value:x}),(0,e.createComponentVNode)(2,s.Window.Content,{onKeyDown:function(){function F(j){O(j)}return F}(),children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Autofocus),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:C})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:T,content:T&&T!==null?"Awaiting input...":""+L,width:"100%",textAlign:"center",onClick:function(){function F(){P(b),E(!0)}return F}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,y.InputButtons,{input:L})})]})]})})]})}return m}()},35655:function(I,r,n){"use strict";r.__esModule=!0,r.KeycardAuth=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.KeycardAuth=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=(0,e.createComponentVNode)(2,t.Section,{title:"Keycard Authentication Device",children:(0,e.createComponentVNode)(2,t.Box,{children:"This device is used to trigger certain high security events. It requires the simultaneous swipe of two high-level ID cards."})});if(!i.swiping&&!i.busy)return(0,e.createComponentVNode)(2,o.Window,{width:540,height:280,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[c,(0,e.createComponentVNode)(2,t.Section,{title:"Choose Action",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Red Alert",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",disabled:!i.redAvailable,onClick:function(){function u(){return p("triggerevent",{triggerevent:"Red Alert"})}return u}(),content:"Red Alert"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ERT",children:(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Emergency Response Team"})}return u}(),content:"Call ERT"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Maint Access",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"door-open",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Grant Emergency Maintenance Access"})}return u}(),content:"Grant"}),(0,e.createComponentVNode)(2,t.Button,{icon:"door-closed",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Revoke Emergency Maintenance Access"})}return u}(),content:"Revoke"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Station-Wide Access",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"door-open",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Activate Station-Wide Emergency Access"})}return u}(),content:"Grant"}),(0,e.createComponentVNode)(2,t.Button,{icon:"door-closed",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Deactivate Station-Wide Emergency Access"})}return u}(),content:"Revoke"})]})]})})]})});var m=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Waiting for YOU to swipe your ID..."});return!i.hasSwiped&&!i.ertreason&&i.event==="Emergency Response Team"?m=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Fill out the reason for your ERT request."}):i.hasConfirm?m=(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Request Confirmed!"}):i.isRemote?m=(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Swipe your card to CONFIRM the remote request."}):i.hasSwiped&&(m=(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Waiting for second person to confirm..."})),(0,e.createComponentVNode)(2,o.Window,{width:540,height:265,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[c,i.event==="Emergency Response Team"&&(0,e.createComponentVNode)(2,t.Section,{title:"Reason for ERT Call",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{color:i.ertreason?"":"red",icon:i.ertreason?"check":"pencil-alt",content:i.ertreason?i.ertreason:"-----",disabled:i.busy,onClick:function(){function u(){return p("ert")}return u}()})})}),(0,e.createComponentVNode)(2,t.Section,{title:i.event,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back",disabled:i.busy||i.hasConfirm,onClick:function(){function u(){return p("reset")}return u}()}),children:m})]})})}return y}()},40951:function(I,r,n){"use strict";r.__esModule=!0,r.LaborClaimConsole=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),s=n(98595),y=r.LaborClaimConsole=function(){function S(p,i){return(0,e.createComponentVNode)(2,s.Window,{width:315,height:470,children:(0,e.createComponentVNode)(2,s.Window.Content,{children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,k)]})})}return S}(),V=function(p,i){var c=(0,t.useBackend)(i),m=c.act,u=c.data,d=u.can_go_home,f=u.emagged,l=u.id_inserted,v=u.id_name,b=u.id_points,g=u.id_goal,h=u.unclaimed_points,C=f?0:1,N=f?"ERR0R":d?"Completed!":"Insufficient";return(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",children:!!l&&(0,e.createComponentVNode)(2,o.ProgressBar,{value:b/g,ranges:{good:[C,1/0],bad:[-1/0,C]},children:b+" / "+g+" "+N})||!!f&&"ERR0R COMPLETED?!@"||"No ID inserted"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Shuttle controls",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,content:"Move shuttle",disabled:!d,onClick:function(){function x(){return m("move_shuttle")}return x}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Unclaimed points",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,content:"Claim points ("+h+")",disabled:!l||!h,onClick:function(){function x(){return m("claim_points")}return x}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Inserted ID",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,content:l?v:"-------------",onClick:function(){function x(){return m("handle_id")}return x}()})})]})})},k=function(p,i){var c=(0,t.useBackend)(i),m=c.data,u=m.ores;return(0,e.createComponentVNode)(2,o.Section,{title:"Material values",children:(0,e.createComponentVNode)(2,o.Table,{children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Material"}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),u.map(function(d){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,a.toTitleCase)(d.ore)}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:d.value})})]},d.ore)})]})})}},9525:function(I,r,n){"use strict";r.__esModule=!0,r.LawManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.LawManager=function(){function S(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.isAdmin,f=u.isSlaved,l=u.isMalf,v=u.isAIMalf,b=u.view;return(0,e.createComponentVNode)(2,o.Window,{width:800,height:l?620:365,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!(d&&f)&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:["This unit is slaved to ",f,"."]}),!!(l||v)&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Law Management",selected:b===0,onClick:function(){function g(){return m("set_view",{set_view:0})}return g}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Lawsets",selected:b===1,onClick:function(){function g(){return m("set_view",{set_view:1})}return g}()})]}),b===0&&(0,e.createComponentVNode)(2,y),b===1&&(0,e.createComponentVNode)(2,V)]})})}return S}(),y=function(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.has_zeroth_laws,f=u.zeroth_laws,l=u.has_ion_laws,v=u.ion_laws,b=u.ion_law_nr,g=u.has_inherent_laws,h=u.inherent_laws,C=u.has_supplied_laws,N=u.supplied_laws,x=u.channels,B=u.channel,L=u.isMalf,w=u.isAdmin,A=u.zeroth_law,T=u.ion_law,E=u.inherent_law,O=u.supplied_law,P=u.supplied_law_position;return(0,e.createFragment)([!!d&&(0,e.createComponentVNode)(2,k,{title:"ERR_NULL_VALUE",laws:f,ctx:i}),!!l&&(0,e.createComponentVNode)(2,k,{title:b,laws:v,ctx:i}),!!g&&(0,e.createComponentVNode)(2,k,{title:"Inherent",laws:h,ctx:i}),!!C&&(0,e.createComponentVNode)(2,k,{title:"Supplied",laws:N,ctx:i}),(0,e.createComponentVNode)(2,t.Section,{title:"Statement Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Statement Channel",children:x.map(function(R){return(0,e.createComponentVNode)(2,t.Button,{content:R.channel,selected:R.channel===B,onClick:function(){function F(){return m("law_channel",{law_channel:R.channel})}return F}()},R.channel)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"State Laws",children:(0,e.createComponentVNode)(2,t.Button,{content:"State Laws",onClick:function(){function R(){return m("state_laws")}return R}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Law Notification",children:(0,e.createComponentVNode)(2,t.Button,{content:"Notify",onClick:function(){function R(){return m("notify_laws")}return R}()})})]})}),!!L&&(0,e.createComponentVNode)(2,t.Section,{title:"Add Laws",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Type"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"60%",children:"Law"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Index"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"20%",children:"Actions"})]}),!!(w&&!d)&&(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Zero"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:A}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function R(){return m("change_zeroth_law")}return R}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function R(){return m("add_zeroth_law")}return R}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Ion"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:T}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function R(){return m("change_ion_law")}return R}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function R(){return m("add_ion_law")}return R}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Inherent"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:E}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function R(){return m("change_inherent_law")}return R}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function R(){return m("add_inherent_law")}return R}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Supplied"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:O}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:P,onClick:function(){function R(){return m("change_supplied_law_position")}return R}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function R(){return m("change_supplied_law")}return R}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function R(){return m("add_supplied_law")}return R}()})]})]})]})})],0)},V=function(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.law_sets;return(0,e.createComponentVNode)(2,t.Box,{children:d.map(function(f){return(0,e.createComponentVNode)(2,t.Section,{title:f.name+" - "+f.header,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Load Laws",icon:"download",onClick:function(){function l(){return m("transfer_laws",{transfer_laws:f.ref})}return l}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[f.laws.has_ion_laws>0&&f.laws.ion_laws.map(function(l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l.index,children:l.law},l.index)}),f.laws.has_zeroth_laws>0&&f.laws.zeroth_laws.map(function(l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l.index,children:l.law},l.index)}),f.laws.has_inherent_laws>0&&f.laws.inherent_laws.map(function(l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l.index,children:l.law},l.index)}),f.laws.has_supplied_laws>0&&f.laws.inherent_laws.map(function(l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l.index,children:l.law},l.index)})]})},f.name)})})},k=function(p,i){var c=(0,a.useBackend)(p.ctx),m=c.act,u=c.data,d=u.isMalf;return(0,e.createComponentVNode)(2,t.Section,{title:p.title+" Laws",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Index"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"69%",children:"Law"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"21%",children:"State?"})]}),p.laws.map(function(f){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:f.index}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:f.law}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:f.state?"Yes":"No",selected:f.state,onClick:function(){function l(){return m("state_law",{ref:f.ref,state_law:f.state?0:1})}return l}()}),!!d&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function l(){return m("edit_law",{edit_law:f.ref})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Delete",icon:"trash",color:"red",onClick:function(){function l(){return m("delete_law",{delete_law:f.ref})}return l}()})],4)]})]},f.law)})]})})}},90447:function(I,r,n){"use strict";r.__esModule=!0,r.ListInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(36036),s=n(72253),y=n(92986),V=n(98595),k=r.ListInputModal=function(){function i(c,m){var u=(0,s.useBackend)(m),d=u.act,f=u.data,l=f.items,v=l===void 0?[]:l,b=f.message,g=b===void 0?"":b,h=f.init_value,C=f.timeout,N=f.title,x=(0,s.useLocalState)(m,"selected",v.indexOf(h)),B=x[0],L=x[1],w=(0,s.useLocalState)(m,"searchBarVisible",v.length>10),A=w[0],T=w[1],E=(0,s.useLocalState)(m,"searchQuery",""),O=E[0],P=E[1],R=function(){function ne(Q){var he=Y.length-1;if(Q===y.KEY_DOWN)if(B===null||B===he){var Ve;L(0),(Ve=document.getElementById("0"))==null||Ve.scrollIntoView()}else{var Ne;L(B+1),(Ne=document.getElementById((B+1).toString()))==null||Ne.scrollIntoView()}else if(Q===y.KEY_UP)if(B===null||B===0){var Be;L(he),(Be=document.getElementById(he.toString()))==null||Be.scrollIntoView()}else{var Le;L(B-1),(Le=document.getElementById((B-1).toString()))==null||Le.scrollIntoView()}}return ne}(),F=function(){function ne(Q){Q!==B&&L(Q)}return ne}(),j=function(){function ne(){T(!1),T(!0)}return ne}(),W=function(){function ne(Q){var he=String.fromCharCode(Q),Ve=v.find(function(Le){return Le==null?void 0:Le.toLowerCase().startsWith(he==null?void 0:he.toLowerCase())});if(Ve){var Ne,Be=v.indexOf(Ve);L(Be),(Ne=document.getElementById(Be.toString()))==null||Ne.scrollIntoView()}}return ne}(),H=function(){function ne(Q){var he;Q!==O&&(P(Q),L(0),(he=document.getElementById("0"))==null||he.scrollIntoView())}return ne}(),z=function(){function ne(){T(!A),P("")}return ne}(),Y=v.filter(function(ne){return ne==null?void 0:ne.toLowerCase().includes(O.toLowerCase())}),G=330+Math.ceil(g.length/3);return A||setTimeout(function(){var ne;return(ne=document.getElementById(B.toString()))==null?void 0:ne.focus()},1),(0,e.createComponentVNode)(2,V.Window,{title:N,width:325,height:G,children:[C&&(0,e.createComponentVNode)(2,a.Loader,{value:C}),(0,e.createComponentVNode)(2,V.Window.Content,{onKeyDown:function(){function ne(Q){var he=window.event?Q.which:Q.keyCode;(he===y.KEY_DOWN||he===y.KEY_UP)&&(Q.preventDefault(),R(he)),he===y.KEY_ENTER&&(Q.preventDefault(),d("submit",{entry:Y[B]})),!A&&he>=y.KEY_A&&he<=y.KEY_Z&&(Q.preventDefault(),W(he)),he===y.KEY_ESCAPE&&(Q.preventDefault(),d("cancel"))}return ne}(),children:(0,e.createComponentVNode)(2,o.Section,{buttons:(0,e.createComponentVNode)(2,o.Button,{compact:!0,icon:A?"search":"font",selected:!0,tooltip:A?"Search Mode. Type to search or use arrow keys to select manually.":"Hotkey Mode. Type a letter to jump to the first match. Enter to select.",tooltipPosition:"left",onClick:function(){function ne(){return z()}return ne}()}),className:"ListInput__Section",fill:!0,title:g,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,S,{filteredItems:Y,onClick:F,onFocusSearch:j,searchBarVisible:A,selected:B})}),(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:A&&(0,e.createComponentVNode)(2,p,{filteredItems:Y,onSearch:H,searchQuery:O,selected:B})}),(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,children:(0,e.createComponentVNode)(2,t.InputButtons,{input:Y[B]})})]})})})]})}return i}(),S=function(c,m){var u=(0,s.useBackend)(m),d=u.act,f=c.filteredItems,l=c.onClick,v=c.onFocusSearch,b=c.searchBarVisible,g=c.selected;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,tabIndex:0,children:f.map(function(h,C){return(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:"transparent",id:C,onClick:function(){function N(){return l(C)}return N}(),onDblClick:function(){function N(x){x.preventDefault(),d("submit",{entry:f[g]})}return N}(),onKeyDown:function(){function N(x){var B=window.event?x.which:x.keyCode;b&&B>=y.KEY_A&&B<=y.KEY_Z&&(x.preventDefault(),v())}return N}(),selected:C===g,style:{animation:"none",transition:"none"},children:h.replace(/^\w/,function(N){return N.toUpperCase()})},C)})})},p=function(c,m){var u=(0,s.useBackend)(m),d=u.act,f=c.filteredItems,l=c.onSearch,v=c.searchQuery,b=c.selected;return(0,e.createComponentVNode)(2,o.Input,{width:"100%",autoFocus:!0,autoSelect:!0,onEnter:function(){function g(h){h.preventDefault(),d("submit",{entry:f[b]})}return g}(),onInput:function(){function g(h,C){return l(C)}return g}(),placeholder:"Search...",value:v})}},72106:function(I,r,n){"use strict";r.__esModule=!0,r.MechBayConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.MechBayConsole=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.recharge_port,m=c&&c.mech,u=m&&m.cell,d=m&&m.name;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:150,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:d?"Mech status: "+d:"Mech status",textAlign:"center",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Sync",onClick:function(){function f(){return p("reconnect")}return f}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:!c&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No power port detected. Please re-sync."})||!m&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No mech detected."})||(0,e.createComponentVNode)(2,t.ProgressBar,{value:m.health/m.maxhealth,ranges:{good:[.7,1/0],average:[.3,.7],bad:[-1/0,.3]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:!c&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No power port detected. Please re-sync."})||!m&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No mech detected."})||!u&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No cell is installed."})||(0,e.createComponentVNode)(2,t.ProgressBar,{value:u.charge/u.maxcharge,ranges:{good:[.7,1/0],average:[.3,.7],bad:[-1/0,.3]},children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:u.charge})," / "+u.maxcharge]})})]})})})})}return y}()},7466:function(I,r,n){"use strict";r.__esModule=!0,r.MechaControlConsole=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=n(98595),y=n(25328),V=r.MechaControlConsole=function(){function k(S,p){var i=(0,t.useBackend)(p),c=i.act,m=i.data,u=m.beacons,d=m.stored_data;return d.length?(0,e.createComponentVNode)(2,s.Window,{width:420,height:500,children:(0,e.createComponentVNode)(2,s.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"window-close",onClick:function(){function f(){return c("clear_log")}return f}()}),children:d.map(function(f){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",children:["(",f.time,")"]}),(0,e.createComponentVNode)(2,o.Box,{children:(0,y.decodeHtmlEntities)(f.message)})]},f.time)})})})}):(0,e.createComponentVNode)(2,s.Window,{width:420,height:500,children:(0,e.createComponentVNode)(2,s.Window.Content,{scrollable:!0,children:u.length&&u.map(function(f){return(0,e.createComponentVNode)(2,o.Section,{title:f.name,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function l(){return c("send_message",{mt:f.uid})}return l}(),children:"Message"}),(0,e.createComponentVNode)(2,o.Button,{icon:"eye",onClick:function(){function l(){return c("get_log",{mt:f.uid})}return l}(),children:"View Log"}),(0,e.createComponentVNode)(2,o.Button.Confirm,{color:"red",content:"EMP",icon:"bomb",onClick:function(){function l(){return c("shock",{mt:f.uid})}return l}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{good:[f.maxHealth*.75,1/0],average:[f.maxHealth*.5,f.maxHealth*.75],bad:[-1/0,f.maxHealth*.5]},value:f.health,maxValue:f.maxHealth})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cell Charge",children:f.cell&&(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{good:[f.cellMaxCharge*.75,1/0],average:[f.cellMaxCharge*.5,f.cellMaxCharge*.75],bad:[-1/0,f.cellMaxCharge*.5]},value:f.cellCharge,maxValue:f.cellMaxCharge})||(0,e.createComponentVNode)(2,o.NoticeBox,{children:"No Cell Installed"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Air Tank",children:[f.airtank,"kPa"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pilot",children:f.pilot||"Unoccupied"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Location",children:(0,y.toTitleCase)(f.location)||"Unknown"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Active Equipment",children:f.active||"None"}),f.cargoMax&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cargo Space",children:(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{bad:[f.cargoMax*.75,1/0],average:[f.cargoMax*.5,f.cargoMax*.75],good:[-1/0,f.cargoMax*.5]},value:f.cargoUsed,maxValue:f.cargoMax})})||null]})},f.name)})||(0,e.createComponentVNode)(2,o.NoticeBox,{children:"No mecha beacons found."})})})}return k}()},79625:function(I,r,n){"use strict";r.__esModule=!0,r.MedicalRecords=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),s=n(3939),y=n(98595),V=n(321),k=n(5485),S=n(22091),p={Minor:"lightgray",Medium:"good",Harmful:"average","Dangerous!":"bad","BIOHAZARD THREAT!":"darkred"},i={"*Deceased*":"deceased","*SSD*":"ssd","Physically Unfit":"physically_unfit",Disabled:"disabled"},c=function(w,A){(0,s.modalOpen)(w,"edit",{field:A.edit,value:A.value})},m=function(w,A){var T=w.args;return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:T.name||"Virus",children:(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Number of stages",children:T.max_stages}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Spread",children:[T.spread_text," Transmission"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Possible cure",children:T.cure}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Notes",children:T.desc}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Severity",color:p[T.severity],children:T.severity})]})})})},u=r.MedicalRecords=function(){function L(w,A){var T=(0,t.useBackend)(A),E=T.data,O=E.loginState,P=E.screen;if(!O.logged_in)return(0,e.createComponentVNode)(2,y.Window,{width:800,height:900,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,k.LoginScreen)})});var R;return P===2?R=(0,e.createComponentVNode)(2,d):P===3?R=(0,e.createComponentVNode)(2,f):P===4?R=(0,e.createComponentVNode)(2,l):P===5?R=(0,e.createComponentVNode)(2,h):P===6&&(R=(0,e.createComponentVNode)(2,C)),(0,e.createComponentVNode)(2,y.Window,{width:800,height:900,children:[(0,e.createComponentVNode)(2,s.ComplexModal),(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.LoginInfo),(0,e.createComponentVNode)(2,S.TemporaryNotice),(0,e.createComponentVNode)(2,B),R]})})]})}return L}(),d=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.records,R=(0,t.useLocalState)(A,"searchText",""),F=R[0],j=R[1],W=(0,t.useLocalState)(A,"sortId","name"),H=W[0],z=W[1],Y=(0,t.useLocalState)(A,"sortOrder",!0),G=Y[0],ne=Y[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Manage Records",icon:"wrench",ml:"0.25rem",onClick:function(){function Q(){return E("screen",{screen:3})}return Q}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{fluid:!0,placeholder:"Search by Name, ID, Physical Status, or Mental Status",onInput:function(){function Q(he,Ve){return j(Ve)}return Q}()})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,N,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,N,{id:"id",children:"ID"}),(0,e.createComponentVNode)(2,N,{id:"rank",children:"Assignment"}),(0,e.createComponentVNode)(2,N,{id:"p_stat",children:"Patient Status"}),(0,e.createComponentVNode)(2,N,{id:"m_stat",children:"Mental Status"})]}),P.filter((0,a.createSearch)(F,function(Q){return Q.name+"|"+Q.id+"|"+Q.rank+"|"+Q.p_stat+"|"+Q.m_stat})).sort(function(Q,he){var Ve=G?1:-1;return Q[H].localeCompare(he[H])*Ve}).map(function(Q){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listRow--"+i[Q.p_stat],onClick:function(){function he(){return E("view_record",{view_record:Q.ref})}return he}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",Q.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.rank}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.p_stat}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.m_stat})]},Q.id)})]})})})],4)},f=function(w,A){var T=(0,t.useBackend)(A),E=T.act;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,lineHeight:3,color:"translucent",icon:"download",content:"Backup to Disk",disabled:!0})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:[(0,e.createComponentVNode)(2,o.Button,{fluid:!0,lineHeight:3,color:"translucent",icon:"upload",content:"Upload from Disk",my:"0.5rem",disabled:!0})," "]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button.Confirm,{fluid:!0,lineHeight:3,icon:"trash",color:"translucent",content:"Delete All Medical Records",onClick:function(){function O(){return E("del_all")}return O}()})})]})})},l=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.medical,R=O.printing;return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{height:"235px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"General Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:R?"spinner":"print",disabled:R,iconSpin:!!R,content:"Print Record",ml:"0.5rem",onClick:function(){function F(){return E("print_record")}return F}()}),children:(0,e.createComponentVNode)(2,v)})}),!P||!P.fields?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Medical Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"pen",content:"Create New Record",onClick:function(){function F(){return E("new")}return F}()}),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"Medical records lost!"]})})})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Medical Data",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",disabled:!!P.empty,content:"Delete Medical Record",onClick:function(){function F(){return E("del_r")}return F}()}),children:(0,e.createComponentVNode)(2,b)})}),(0,e.createComponentVNode)(2,g)],4)],0)},v=function(w,A){var T=(0,t.useBackend)(A),E=T.data,O=E.general;return!O||!O.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"General records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:O.fields.map(function(P,R){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:P.field,children:[(0,e.createComponentVNode)(2,o.Box,{height:"20px",inline:!0,children:P.value}),!!P.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",onClick:function(){function F(){return c(A,P)}return F}()})]},R)})})}),!!O.has_photos&&O.photos.map(function(P,R){return(0,e.createComponentVNode)(2,o.Stack.Item,{inline:!0,textAlign:"center",color:"label",ml:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:P,style:{width:"96px","margin-top":"2.5rem","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Photo #",R+1]},R)})]})},b=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.medical;return!P||!P.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"Medical records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:P.fields.map(function(R,F){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:R.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(R.value),!!R.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:R.line_break?"1rem":"initial",onClick:function(){function j(){return c(A,R)}return j}()})]},F)})})})})},g=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.medical;return(0,e.createComponentVNode)(2,o.Stack.Item,{height:"150px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Comments/Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"comment",content:"Add Entry",onClick:function(){function R(){return(0,s.modalOpen)(A,"add_comment")}return R}()}),children:P.comments.length===0?(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No comments found."}):P.comments.map(function(R,F){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:R.header}),(0,e.createVNode)(1,"br"),R.text,(0,e.createComponentVNode)(2,o.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){function j(){return E("del_c",{del_c:F+1})}return j}()})]},F)})})})},h=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.virus,R=(0,t.useLocalState)(A,"searchText",""),F=R[0],j=R[1],W=(0,t.useLocalState)(A,"sortId2","name"),H=W[0],z=W[1],Y=(0,t.useLocalState)(A,"sortOrder2",!0),G=Y[0],ne=Y[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{ml:"0.25rem",fluid:!0,placeholder:"Search by Name, Max Stages, or Severity",onInput:function(){function Q(he,Ve){return j(Ve)}return Q}()})}),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,x,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,x,{id:"max_stages",children:"Max Stages"}),(0,e.createComponentVNode)(2,x,{id:"severity",children:"Severity"})]}),P.filter((0,a.createSearch)(F,function(Q){return Q.name+"|"+Q.max_stages+"|"+Q.severity})).sort(function(Q,he){var Ve=G?1:-1;return Q[H].localeCompare(he[H])*Ve}).map(function(Q){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listVirus--"+Q.severity,onClick:function(){function he(){return E("vir",{vir:Q.D})}return he}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"virus"})," ",Q.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.max_stages}),(0,e.createComponentVNode)(2,o.Table.Cell,{color:p[Q.severity],children:Q.severity})]},Q.id)})]})})})})],4)},C=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.medbots;return P.length===0?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"robot",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"There are no Medibots."]})})})}):(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Area"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Chemicals"})]}),P.map(function(R){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listMedbot--"+R.on,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"medical"})," ",R.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:[R.area||"Unknown"," (",R.x,", ",R.y,")"]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:R.on?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Online"}):(0,e.createComponentVNode)(2,o.Box,{color:"average",children:"Offline"})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:R.use_beaker?"Reservoir: "+R.total_volume+"/"+R.maximum_volume:"Using internal synthesizer"})]},R.id)})]})})})},N=function(w,A){var T=(0,t.useLocalState)(A,"sortId","name"),E=T[0],O=T[1],P=(0,t.useLocalState)(A,"sortOrder",!0),R=P[0],F=P[1],j=w.id,W=w.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:E!==j&&"transparent",onClick:function(){function H(){E===j?F(!R):(O(j),F(!0))}return H}(),children:[W,E===j&&(0,e.createComponentVNode)(2,o.Icon,{name:R?"sort-up":"sort-down",ml:"0.25rem;"})]})})},x=function(w,A){var T=(0,t.useLocalState)(A,"sortId2","name"),E=T[0],O=T[1],P=(0,t.useLocalState)(A,"sortOrder2",!0),R=P[0],F=P[1],j=w.id,W=w.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:E!==j&&"transparent",onClick:function(){function H(){E===j?F(!R):(O(j),F(!0))}return H}(),children:[W,E===j&&(0,e.createComponentVNode)(2,o.Icon,{name:R?"sort-up":"sort-down",ml:"0.25rem;"})]})})},B=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.screen,R=O.general;return(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:P===2,onClick:function(){function F(){E("screen",{screen:2})}return F}(),children:"List Records"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"database",selected:P===5,onClick:function(){function F(){E("screen",{screen:5})}return F}(),children:"Virus Database"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"plus-square",selected:P===6,onClick:function(){function F(){return E("screen",{screen:6})}return F}(),children:"Medibot Tracking"}),P===3&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"wrench",selected:P===3,children:"Record Maintenance"}),P===4&&R&&!R.empty&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"file",selected:P===4,children:["Record: ",R.fields[0].value]})]})})};(0,s.modalRegisterBodyOverride)("virus",m)},52306:function(I,r,n){"use strict";r.__esModule=!0,r.Mimicking=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.Mimicking=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.slots||[];return(0,e.createComponentVNode)(2,o.Window,{width:400,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,fill:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:[c.map(function(m){return(0,e.createComponentVNode)(2,t.Section,{mb:.5,title:m.name,level:2,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Choose",selected:m.selected,onClick:function(){function u(){return p("Choose",{id:m.id})}return u}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Delete",color:"bad",onClick:function(){function u(){return p("Delete",{id:m.id})}return u}()})],4),children:(0,e.createComponentVNode)(2,t.Box,{preserveWhitespace:!0,textColor:"#878787",fontSize:"14px",children:["Voice: ",m.voice]})},m.id)}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Add",onClick:function(){function m(){return p("Add")}return m}()})]})})})})}return y}()},66238:function(I,r,n){"use strict";r.__esModule=!0,r.Minesweeper=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.Minesweeper=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.matrix,m=i.showMessage,u=i.tokens,d=i.uiWidth,f={1:"blue",2:"green",3:"red",4:"darkblue",5:"brown",6:"lightblue",7:"black",8:"white"};document.addEventListener("contextmenu",function(C){return C.preventDefault()});var l=function(){function C(N,x,B){N.button!==0&&N.button!==2||p("Square",{X:x,Y:B,mode:N.button===2?h[b]:b})}return C}(),v=(0,a.useLocalState)(k,"mode","bomb"),b=v[0],g=v[1],h={flag:"bomb",bomb:"flag"};return(0,e.createComponentVNode)(2,o.Window,{theme:"ntOS95",width:d+80,height:750,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"\u0418\u0433\u0440\u043E\u0432\u043E\u0435 \u043F\u043E\u043B\u0435",textAlign:"center",fill:!0,fitted:!0,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"bomb",iconColor:"black",selected:b==="bomb",onClick:function(){function C(){return g("bomb")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"flag",iconColor:"red",selected:b==="flag",onClick:function(){function C(){return g("flag")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",onClick:function(){function C(){return p("Mode",{mode:"16x30"})}return C}()})],4),children:[(0,e.createVNode)(1,"p"),Object.keys(c).map(function(C){return(0,e.createComponentVNode)(2,t.Box,{children:Object.keys(c[C]).map(function(N){return(0,e.createComponentVNode)(2,t.Button,{m:"1px",height:"30px",width:"30px",className:c[C][N].open?"Minesweeper__open":"Minesweeper__closed",bold:!0,color:"transparent",icon:c[C][N].open?c[C][N].bomb?"bomb":"":c[C][N].flag?"flag":"",textColor:c[C][N].open?c[C][N].bomb?"black":f[c[C][N].around]:c[C][N].flag?"red":"gray",onMouseDown:function(){function x(B){return l(B,C,N)}return x}(),children:c[C][N].open&&!c[C][N].bomb&&c[C][N].around?c[C][N].around:" "},N)})},C)}),(0,e.createVNode)(1,"p"),(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",className:"Minesweeper__message",children:["\u0414\u043B\u044F \u043F\u043E\u0431\u0435\u0434\u044B \u043D\u0443\u0436\u043D\u043E \u043F\u043E\u043C\u0435\u0442\u0438\u0442\u044C \u0444\u043B\u0430\u0436\u043A\u0430\u043C\u0438 \u0432\u0441\u0435 \u0431\u043E\u043C\u0431\u044B, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0432\u0441\u0435 \u043F\u0443\u0441\u0442\u044B\u0435 \u043A\u043B\u0435\u0442\u043A\u0438.",(0,e.createVNode)(1,"br"),"\u0411\u0430\u043B\u0430\u043D\u0441 \u0442\u043E\u043A\u0435\u043D\u043E\u0432: ",u,(0,e.createVNode)(1,"br"),m]})]})})})})}return y}()},21385:function(I,r,n){"use strict";r.__esModule=!0,r.MiniGamesMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.MiniGamesMenu=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.spawners||[],m=i.thunderdome_eligible,u=i.notifications_enabled;return(0,e.createComponentVNode)(2,o.Window,{width:700,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",tooltip:m?"\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445",tooltipPosition:"bottom",content:m?"\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445",color:m?"good":"bad",onClick:function(){function d(){return p("toggle_minigames")}return d}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",tooltip:u?"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445",tooltipPosition:"bottom",content:u?"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445",color:u?"good":"bad",onClick:function(){function d(){return p("toggle_notifications")}return d}()}),(0,e.createComponentVNode)(2,t.Section,{children:c.map(function(d){return(0,e.createComponentVNode)(2,t.Section,{mb:.5,title:d.name,level:2,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Jump",onClick:function(){function f(){return p("jump",{ID:d.uids})}return f}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Start",onClick:function(){function f(){return p("spawn",{ID:d.uids})}return f}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mb:1,fontSize:"16px",children:d.desc}),!!d.fluff&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},textColor:"#878787",fontSize:"14px",children:d.fluff}),!!d.important_info&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mt:1,bold:!0,color:"red",fontSize:"18px",children:d.important_info})]},d.name)})})]})})}return y}()},87684:function(I,r,n){"use strict";r.__esModule=!0,r.MiningVendor=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),s=n(98595),y=["title","items"];function V(u,d){if(u==null)return{};var f={};for(var l in u)if({}.hasOwnProperty.call(u,l)){if(d.includes(l))continue;f[l]=u[l]}return f}var k={Alphabetical:function(){function u(d,f){return d-f}return u}(),Availability:function(){function u(d,f){return-(d.affordable-f.affordable)}return u}(),Price:function(){function u(d,f){return d.price-f.price}return u}()},S=r.MiningVendor=function(){function u(d,f){return(0,e.createComponentVNode)(2,s.Window,{width:400,height:450,children:(0,e.createComponentVNode)(2,s.Window.Content,{className:"Layout__content--flexColumn",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,i)]})})})}return u}(),p=function(d,f){var l=(0,t.useBackend)(f),v=l.act,b=l.data,g=b.has_id,h=b.id;return(0,e.createComponentVNode)(2,o.NoticeBox,{success:g,children:g?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{inline:!0,verticalAlign:"middle",style:{float:"left"},children:["Logged in as ",h.name,".",(0,e.createVNode)(1,"br"),"You have ",h.points.toLocaleString("en-US")," points."]}),(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject ID",style:{float:"right"},onClick:function(){function C(){return v("logoff")}return C}()}),(0,e.createComponentVNode)(2,o.Box,{style:{clear:"both"}})],4):"Please insert an ID in order to make purchases."})},i=function(d,f){var l=(0,t.useBackend)(f),v=l.act,b=l.data,g=b.has_id,h=b.id,C=b.items,N=(0,t.useLocalState)(f,"search",""),x=N[0],B=N[1],L=(0,t.useLocalState)(f,"sort","Alphabetical"),w=L[0],A=L[1],T=(0,t.useLocalState)(f,"descending",!1),E=T[0],O=T[1],P=(0,a.createSearch)(x,function(j){return j[0]}),R=!1,F=Object.entries(C).map(function(j,W){var H=Object.entries(j[1]).filter(P).map(function(z){return z[1].affordable=g&&h.points>=z[1].price,z[1]}).sort(k[w]);if(H.length!==0)return E&&(H=H.reverse()),R=!0,(0,e.createComponentVNode)(2,m,{title:j[0],items:H},j[0])});return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:R?F:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No items matching your criteria was found!"})})})},c=function(d,f){var l=(0,t.useLocalState)(f,"search",""),v=l[0],b=l[1],g=(0,t.useLocalState)(f,"sort",""),h=g[0],C=g[1],N=(0,t.useLocalState)(f,"descending",!1),x=N[0],B=N[1];return(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(){function L(w,A){return b(A)}return L}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"30%",children:(0,e.createComponentVNode)(2,o.Dropdown,{selected:"Alphabetical",options:Object.keys(k),width:"100%",onSelected:function(){function L(w){return C(w)}return L}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:x?"arrow-down":"arrow-up",height:"21px",tooltip:x?"Descending order":"Ascending order",tooltipPosition:"bottom-start",onClick:function(){function L(){return B(!x)}return L}()})})]})})},m=function(d,f){var l=(0,t.useBackend)(f),v=l.act,b=l.data,g=d.title,h=d.items,C=V(d,y);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Collapsible,Object.assign({open:!0,title:g},C,{children:h.map(function(N){return(0,e.createComponentVNode)(2,o.ImageButton,{bold:!0,asset:!0,color:"brown",imageSize:"64px",image:N.imageId,imageAsset:"mining_vendor64x64",content:N.name,children:(0,e.createComponentVNode)(2,o.ImageButton.Item,{bold:!0,horizontal:!0,width:"64px",fontSize:1,content:N.price,icon:"shopping-cart",iconSize:1,iconColor:!b.has_id||b.id.points"})}),!!O&&(0,e.createComponentVNode)(2,d,{mt:1.1,label:"ID tag",compactLabel:!0,wrapContent:F?(0,e.createComponentVNode)(2,m,{text:R,defaultText:"",color:"silver"}):(0,e.createComponentVNode)(2,o.Box,{as:"span",fontSize:"0.9rem",color:"red",italic:!0,nowrap:!0,children:"Not supported"})})]})})]})})})}return x}(),i=function(B,L){var w=B.iconName,A=B.machineName,T=B.noMachine,E=B.noMachineText,O=B.noMachineElem,P="Unknown machine",R=T?E:A||"Unknown machine",F=R===E,j=R===E||R===P;return T&&O?O:(0,e.createComponentVNode)(2,o.Flex,{mt:.1,mb:1.9,children:[!T&&(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,align:"center",children:(0,e.createComponentVNode)(2,o.Icon,{mr:1,size:1.1,name:w})}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,wordWrap:"break-word",children:(0,e.createComponentVNode)(2,o.Box,{as:"span",wordWrap:"break-word",color:F?"label":"silver",fontSize:"1.1rem",bold:!0,italic:j,children:R})})]})},c=function(B,L){var w=B.text;return(0,e.createComponentVNode)(2,o.Box,{as:"span",fontSize:"0.9rem",color:"yellow",italic:!0,nowrap:!0,children:w})},m=function(B,L){var w=B.text,A=B.defaultText,T=S(B,y);return w?(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({as:"span",wordWrap:"break-word"},T,{children:w}))):(0,e.createComponentVNode)(2,c,{text:A})},u=function(B,L){var w=B.noConfirm,A=w===void 0?!1:w,T=S(B,V);return A?(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Button,Object.assign({},T))):(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Button.Confirm,Object.assign({},T)))},d=function(B,L){var w=B.label,A=B.wrapContent,T=B.noWrapContent,E=B.compactLabel,O=E===void 0?!1:E,P=S(B,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Flex,Object.assign({my:.5,mr:"0.5%",spacing:1,align:"center"},P,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:O?0:1,shrink:0,textOverflow:"ellipsis",overflow:"hidden",basis:O?"auto":0,maxWidth:O?"none":20,color:"label",nowrap:!0,children:w}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,textAlign:"center",wordWrap:"break-word",children:A}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:.1}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,nowrap:!0,children:T})]})))},f=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data;return(0,e.createComponentVNode)(2,o.Box,{mt:1.5,fontSize:"0.9rem",color:"silver",italic:!0,children:"No options"})},l=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data;return(0,e.createComponentVNode)(2,o.Box,{fontSize:"1.1rem",color:"red",bold:!0,italic:!0,children:"ACCESS DENIED"})},v=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.attachedTag;return(0,e.createComponentVNode)(2,d,{label:"ID tag",wrapContent:(0,e.createComponentVNode)(2,m,{text:E,defaultText:"",color:"silver"}),noWrapContent:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Set",icon:"wrench",onClick:function(){function O(){return A("set_tag")}return O}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Clear",icon:"times-circle",color:"red",disabled:!E,onClick:function(){function O(){return A("clear_tag")}return O}()})],4)})},b=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.frequency,O=T.minFrequency,P=T.maxFrequency,R=T.canReset;return(0,e.createComponentVNode)(2,d,{label:"Frequency",noWrapContent:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,unit:"kHz",step:.1,stepPixelSize:10,minValue:O/10,maxValue:P/10,value:E/10,format:function(){function F(j){return(0,a.toFixed)(j,1)}return F}(),onChange:function(){function F(j,W){return A("set_frequency",{frequency:W*10})}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"undo",content:"",disabled:!R,tooltip:"Reset",onClick:function(){function F(){return A("reset_frequency")}return F}()})],4)})},g=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.attachedTags;return(0,e.createComponentVNode)(2,o.Section,{mt:1.7,ml:.5,mr:1,px:.5,title:"Linked tags",buttons:(0,e.createComponentVNode)(2,o.Button,{mr:1,pl:2.1,content:"Add tag",icon:"plus",iconRight:!0,onClick:function(){function O(){return A("add_tag")}return O}()}),children:E.map(function(O,P){return(0,e.createComponentVNode)(2,d,{mr:0,label:(0,e.createComponentVNode)(2,o.Icon,{name:"wave-square"}),compactLabel:!0,wrapContent:(0,e.createComponentVNode)(2,o.Flex,{align:"center",spacing:1,children:(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"silver",wordWrap:"break-word",children:O})}),noWrapContent:(0,e.createComponentVNode)(2,o.Flex,{children:(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,children:(0,e.createComponentVNode)(2,o.Button,{icon:"minus",color:"red",onClick:function(){function R(){return A("remove_tag",{tag_index:P})}return R}()})})})},P)})})},h=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.bolts,O=T.pressureCheck,P=T.temperatureCheck,R=T.oxygenCheck,F=T.toxinsCheck,j=T.nitrogenCheck,W=T.carbonDioxideCheck,H=[{bitflag:1,checked:O,label:"Monitor pressure"},{bitflag:2,checked:P,label:"Monitor temperature"},{bitflag:4,checked:R,label:"Monitor oxygen concentration"},{bitflag:8,checked:F,label:"Monitor plasma concentration"},{bitflag:16,checked:j,label:"Monitor nitrogen concentration"},{bitflag:32,checked:W,label:"Monitor carbon dioxide concentration"}];return(0,e.createFragment)([(0,e.createComponentVNode)(2,d,{label:"Floor bolts",noWrapContent:(0,e.createComponentVNode)(2,o.Button,{icon:E?"check":"times",selected:E,content:E?"YES":"NO",onClick:function(){function z(){return A("toggle_bolts")}return z}()})}),H.map(function(z){return(0,e.createComponentVNode)(2,d,{label:z.label,noWrapContent:(0,e.createComponentVNode)(2,o.Button.Checkbox,{checked:z.checked,onClick:function(){function Y(){return A("toggle_flag",{bitflag:z.bitflag})}return Y}()})},z.bitflag)})],0)},C=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.sensors;return(0,e.createComponentVNode)(2,o.Section,{mt:1.7,ml:.5,mr:1,px:.5,title:"Sensors",buttons:(0,e.createComponentVNode)(2,o.Button,{mr:1,pl:2.1,content:"Add sensor",icon:"plus",iconRight:!0,onClick:function(){function O(){return A("add_sensor")}return O}()}),children:[(0,e.createComponentVNode)(2,d,{mr:0,compactLabel:!0,wrapContent:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{width:1}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"label",nowrap:!0,bold:!0,children:"ID tag"}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"label",nowrap:!0,bold:!0,children:"Label"}),(0,e.createComponentVNode)(2,o.Flex.Item,{width:11.3})]})}),Object.keys(E).map(function(O){return(0,e.createComponentVNode)(2,d,{mr:0,label:(0,e.createComponentVNode)(2,o.Icon,{name:"wave-square"}),compactLabel:!0,wrapContent:(0,e.createComponentVNode)(2,o.Flex,{align:"center",spacing:1,children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"silver",wordWrap:"break-word",children:O}),E[O]?(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"silver",wordWrap:"break-word",children:E[O]}):(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,fontSize:"0.9rem",color:"yellow",italic:!0,nowrap:!0,children:""})]}),noWrapContent:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,children:[(0,e.createComponentVNode)(2,o.Button,{content:"Label",icon:"edit",onClick:function(){function P(){return A("change_label",{sensor_tag:O})}return P}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Label",icon:"times-circle",color:"orange",disabled:!E[O],onClick:function(){function P(){return A("clear_label",{sensor_tag:O})}return P}()})]}),(0,e.createComponentVNode)(2,o.Flex.Item,{width:.5}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,children:(0,e.createComponentVNode)(2,o.Button,{px:1.2,icon:"minus",color:"red",onClick:function(){function P(){return A("del_sensor",{sensor_tag:O})}return P}()})})]})},O)})]})},N=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.inputTag,O=T.outputTag,P=T.bufferTag,R=T.bufferFitsInput,F=T.bufferFitsOutput,j=T.doNotLinkAndNotify;return(0,e.createFragment)([(0,e.createComponentVNode)(2,d,{label:"Input",labelWidth:6,wrapContent:(0,e.createComponentVNode)(2,m,{text:E,defaultText:"",color:"silver"}),noWrapContent:(0,e.createFragment)([(0,e.createComponentVNode)(2,u,{noConfirm:j||!E,confirmContent:"This will change the intput device. Confirm?",confirmColor:"orange",content:"Link buffer",icon:"link",selected:E&&P===E,disabled:!R,onClick:function(){function W(){return A("link_input")}return W}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{confirmContent:"This will unlink the intput device. Confirm?",confirmColor:"orange",content:"Unlink",icon:"unlink",color:"red",disabled:!E,onClick:function(){function W(){return A("unlink_input")}return W}()})],4)}),(0,e.createComponentVNode)(2,d,{label:"Output",labelWidth:6,wrapContent:(0,e.createComponentVNode)(2,m,{text:O,defaultText:"",color:"silver"}),noWrapContent:(0,e.createFragment)([(0,e.createComponentVNode)(2,u,{noConfirm:j||!O,confirmContent:"This will change the output device. Confirm?",confirmColor:"orange",content:"Link buffer",icon:"link",selected:O&&P===O,disabled:!F,onClick:function(){function W(){return A("link_output")}return W}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{confirmContent:"This will unlink the output device. Confirm?",confirmColor:"orange",content:"Unlink",icon:"unlink",color:"red",disabled:!O,onClick:function(){function W(){return A("unlink_output")}return W}()})],4)})],4)}},64713:function(I,r,n){"use strict";r.__esModule=!0,r.Newscaster=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),s=n(76910),y=n(98595),V=n(3939),k=n(22091),S=["icon","iconSpin","selected","security","onClick","title","children"],p=["name"];function i(B,L){if(B==null)return{};var w={};for(var A in B)if({}.hasOwnProperty.call(B,A)){if(L.includes(A))continue;w[A]=B[A]}return w}var c=128,m=["security","engineering","medical","science","service","supply"],u={security:{title:"Security",fluff_text:"Help keep the crew safe"},engineering:{title:"Engineering",fluff_text:"Ensure the station runs smoothly"},medical:{title:"Medical",fluff_text:"Practice medicine and save lives"},science:{title:"Science",fluff_text:"Develop new technologies"},service:{title:"Service",fluff_text:"Provide amenities to the crew"},supply:{title:"Supply",fluff_text:"Keep the station supplied"}},d=r.Newscaster=function(){function B(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.is_security,P=E.is_admin,R=E.is_silent,F=E.is_printing,j=E.screen,W=E.channels,H=E.channel_idx,z=H===void 0?-1:H,Y=(0,t.useLocalState)(w,"menuOpen",!1),G=Y[0],ne=Y[1],Q=(0,t.useLocalState)(w,"viewingPhoto",""),he=Q[0],Ve=Q[1],Ne=(0,t.useLocalState)(w,"censorMode",!1),Be=Ne[0],Le=Ne[1],Ae;j===0||j===2?Ae=(0,e.createComponentVNode)(2,l):j===1&&(Ae=(0,e.createComponentVNode)(2,v));var fe=W.reduce(function(Z,J){return Z+J.unread},0);return(0,e.createComponentVNode)(2,y.Window,{theme:O&&"security",width:800,height:600,children:[he?(0,e.createComponentVNode)(2,h):(0,e.createComponentVNode)(2,V.ComplexModal,{maxWidth:window.innerWidth/1.5+"px",maxHeight:window.innerHeight/1.5+"px"}),(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Section,{fill:!0,className:(0,a.classes)(["Newscaster__menu",G&&"Newscaster__menu--open"]),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,f,{icon:"bars",title:"Toggle Menu",onClick:function(){function Z(){return ne(!G)}return Z}()}),(0,e.createComponentVNode)(2,f,{icon:"newspaper",title:"Headlines",selected:j===0,onClick:function(){function Z(){return T("headlines")}return Z}(),children:fe>0&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--unread",children:fe>=10?"9+":fe})}),(0,e.createComponentVNode)(2,f,{icon:"briefcase",title:"Job Openings",selected:j===1,onClick:function(){function Z(){return T("jobs")}return Z}()}),(0,e.createComponentVNode)(2,o.Divider)]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:W.map(function(Z){return(0,e.createComponentVNode)(2,f,{icon:Z.icon,title:Z.name,selected:j===2&&W[z-1]===Z,onClick:function(){function J(){return T("channel",{uid:Z.uid})}return J}(),children:Z.unread>0&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--unread",children:Z.unread>=10?"9+":Z.unread})},Z)})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Divider),(!!O||!!P)&&(0,e.createFragment)([(0,e.createComponentVNode)(2,f,{security:!0,icon:"exclamation-circle",title:"Edit Wanted Notice",mb:"0.5rem",onClick:function(){function Z(){return(0,V.modalOpen)(w,"wanted_notice")}return Z}()}),(0,e.createComponentVNode)(2,f,{security:!0,icon:Be?"minus-square":"minus-square-o",title:"Censor Mode: "+(Be?"On":"Off"),mb:"0.5rem",onClick:function(){function Z(){return Le(!Be)}return Z}()}),(0,e.createComponentVNode)(2,o.Divider)],4),(0,e.createComponentVNode)(2,f,{icon:"pen-alt",title:"New Story",mb:"0.5rem",onClick:function(){function Z(){return(0,V.modalOpen)(w,"create_story")}return Z}()}),(0,e.createComponentVNode)(2,f,{icon:"plus-circle",title:"New Channel",onClick:function(){function Z(){return(0,V.modalOpen)(w,"create_channel")}return Z}()}),(0,e.createComponentVNode)(2,o.Divider),(0,e.createComponentVNode)(2,f,{icon:F?"spinner":"print",iconSpin:F,title:F?"Printing...":"Print Newspaper",onClick:function(){function Z(){return T("print_newspaper")}return Z}()}),(0,e.createComponentVNode)(2,f,{icon:R?"volume-mute":"volume-up",title:"Mute: "+(R?"On":"Off"),onClick:function(){function Z(){return T("toggle_mute")}return Z}()})]})]})}),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,width:"100%",children:[(0,e.createComponentVNode)(2,k.TemporaryNotice),Ae]})]})})]})}return B}(),f=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=L.icon,O=E===void 0?"":E,P=L.iconSpin,R=L.selected,F=R===void 0?!1:R,j=L.security,W=j===void 0?!1:j,H=L.onClick,z=L.title,Y=L.children,G=i(L,S);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({className:(0,a.classes)(["Newscaster__menuButton",F&&"Newscaster__menuButton--selected",W&&"Newscaster__menuButton--security"]),onClick:H},G,{children:[F&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--selectedBar"}),(0,e.createComponentVNode)(2,o.Icon,{name:O,spin:P,size:"2"}),(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--title",children:z}),Y]})))},l=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.screen,P=E.is_admin,R=E.channel_idx,F=E.channel_can_manage,j=E.channels,W=E.stories,H=E.wanted,z=(0,t.useLocalState)(w,"fullStories",[]),Y=z[0],G=z[1],ne=(0,t.useLocalState)(w,"censorMode",!1),Q=ne[0],he=ne[1],Ve=O===2&&R>-1?j[R-1]:null;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[!!H&&(0,e.createComponentVNode)(2,b,{story:H,wanted:!0}),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:Ve?Ve.icon:"newspaper",mr:"0.5rem"}),Ve?Ve.name:"Headlines"],0),children:W.length>0?W.slice().reverse().map(function(Ne){return!Y.includes(Ne.uid)&&Ne.body.length+3>c?Object.assign({},Ne,{body_short:Ne.body.substr(0,c-4)+"..."}):Ne}).map(function(Ne,Be){return(0,e.createComponentVNode)(2,b,{story:Ne},Be)}):(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__emptyNotice",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"times",size:"3"}),(0,e.createVNode)(1,"br"),"There are no stories at this time."]})}),!!Ve&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,height:"40%",title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"info-circle",mr:"0.5rem"}),(0,e.createTextVNode)("About")],4),buttons:(0,e.createFragment)([Q&&(0,e.createComponentVNode)(2,o.Button,{disabled:!!Ve.admin&&!P,selected:Ve.censored,icon:Ve.censored?"comment-slash":"comment",content:Ve.censored?"Uncensor Channel":"Censor Channel",mr:"0.5rem",onClick:function(){function Ne(){return T("censor_channel",{uid:Ve.uid})}return Ne}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!F,icon:"cog",content:"Manage",onClick:function(){function Ne(){return(0,V.modalOpen)(w,"manage_channel",{uid:Ve.uid})}return Ne}()})],0),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description",children:Ve.description||"N/A"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",children:Ve.author||"N/A"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Public",children:Ve.public?"Yes":"No"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Total Views",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"eye",mr:"0.5rem"}),W.reduce(function(Ne,Be){return Ne+Be.view_count},0).toLocaleString()]})]})})]})},v=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.jobs,P=E.wanted,R=Object.entries(O).reduce(function(F,j){var W=j[0],H=j[1];return F+H.length},0);return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[!!P&&(0,e.createComponentVNode)(2,b,{story:P,wanted:!0}),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"briefcase",mr:"0.5rem"}),(0,e.createTextVNode)("Job Openings")],4),buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",color:"label",children:"Work for a better future at Nanotrasen"}),children:R>0?m.map(function(F){return Object.assign({},u[F],{id:F,jobs:O[F]})}).filter(function(F){return!!F&&F.jobs.length>0}).map(function(F){return(0,e.createComponentVNode)(2,o.Section,{className:(0,a.classes)(["Newscaster__jobCategory","Newscaster__jobCategory--"+F.id]),title:F.title,buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",color:"label",children:F.fluff_text}),children:F.jobs.map(function(j){return(0,e.createComponentVNode)(2,o.Box,{class:(0,a.classes)(["Newscaster__jobOpening",!!j.is_command&&"Newscaster__jobOpening--command"]),children:["\u2022 ",j.title]},j.title)})},F.id)}):(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__emptyNotice",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"times",size:"3"}),(0,e.createVNode)(1,"br"),"There are no openings at this time."]})}),(0,e.createComponentVNode)(2,o.Section,{height:"17%",children:["Interested in serving Nanotrasen?",(0,e.createVNode)(1,"br"),"Sign up for any of the above position now at the"," ",(0,e.createVNode)(1,"b",null,"Head of Personnel's Office!",16),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Box,{as:"small",color:"label",children:"By signing up for a job at Nanotrasen, you agree to transfer your soul to the loyalty department of the omnipresent and helpful watcher of humanity."})]})]})},b=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=L.story,P=L.wanted,R=P===void 0?!1:P,F=(0,t.useLocalState)(w,"fullStories",[]),j=F[0],W=F[1],H=(0,t.useLocalState)(w,"censorMode",!1),z=H[0],Y=H[1];return(0,e.createComponentVNode)(2,o.Section,{className:(0,a.classes)(["Newscaster__story",R&&"Newscaster__story--wanted"]),title:(0,e.createFragment)([R&&(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-circle",mr:"0.5rem"}),O.censor_flags&2&&"[REDACTED]"||O.title||"News from "+O.author],0),buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",children:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:[!R&&z&&(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:(0,e.createComponentVNode)(2,o.Button,{enabled:O.censor_flags&2,icon:O.censor_flags&2?"comment-slash":"comment",content:O.censor_flags&2?"Uncensor":"Censor",mr:"0.5rem",mt:"-0.25rem",onClick:function(){function G(){return T("censor_story",{uid:O.uid})}return G}()})}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",O.author," |\xA0",!R&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"eye"}),(0,e.createTextVNode)(" "),O.view_count.toLocaleString(),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("|\xA0")],0),(0,e.createComponentVNode)(2,o.Icon,{name:"clock"})," ",(0,s.timeAgo)(O.publish_time,E.world_time)]})]})}),children:(0,e.createComponentVNode)(2,o.Box,{children:O.censor_flags&2?"[REDACTED]":(0,e.createFragment)([!!O.has_photo&&(0,e.createComponentVNode)(2,g,{name:"story_photo_"+O.uid+".png",float:"right",ml:"0.5rem"}),(O.body_short||O.body).split("\n").map(function(G,ne){return(0,e.createComponentVNode)(2,o.Box,{children:G||(0,e.createVNode)(1,"br")},ne)}),O.body_short&&(0,e.createComponentVNode)(2,o.Button,{content:"Read more..",mt:"0.5rem",onClick:function(){function G(){return W([].concat(j,[O.uid]))}return G}()}),(0,e.createComponentVNode)(2,o.Box,{clear:"right"})],0)})})},g=function(L,w){var A=L.name,T=i(L,p),E=(0,t.useLocalState)(w,"viewingPhoto",""),O=E[0],P=E[1];return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({as:"img",className:"Newscaster__photo",src:A,onClick:function(){function R(){return P(A)}return R}()},T)))},h=function(L,w){var A=(0,t.useLocalState)(w,"viewingPhoto",""),T=A[0],E=A[1];return(0,e.createComponentVNode)(2,o.Modal,{className:"Newscaster__photoZoom",children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:T}),(0,e.createComponentVNode)(2,o.Button,{icon:"times",content:"Close",color:"grey",mt:"1rem",onClick:function(){function O(){return E("")}return O}()})]})},C=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=!!L.args.uid&&E.channels.filter(function(ee){return ee.uid===L.args.uid}).pop();if(L.id==="manage_channel"&&!O){(0,V.modalClose)(w);return}var P=L.id==="manage_channel",R=!!L.args.is_admin,F=L.args.scanned_user,j=(0,t.useLocalState)(w,"author",(O==null?void 0:O.author)||F||"Unknown"),W=j[0],H=j[1],z=(0,t.useLocalState)(w,"name",(O==null?void 0:O.name)||""),Y=z[0],G=z[1],ne=(0,t.useLocalState)(w,"description",(O==null?void 0:O.description)||""),Q=ne[0],he=ne[1],Ve=(0,t.useLocalState)(w,"icon",(O==null?void 0:O.icon)||"newspaper"),Ne=Ve[0],Be=Ve[1],Le=(0,t.useLocalState)(w,"isPublic",P?!!(O!=null&&O.public):!1),Ae=Le[0],fe=Le[1],Z=(0,t.useLocalState)(w,"adminLocked",(O==null?void 0:O.admin)===1||!1),J=Z[0],te=Z[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:P?"Manage "+O.name:"Create New Channel",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!R,width:"100%",value:W,onInput:function(){function ee(le,ye){return H(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",placeholder:"50 characters max.",maxLength:"50",value:Y,onInput:function(){function ee(le,ye){return G(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description (optional)",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{multiline:!0,width:"100%",placeholder:"128 characters max.",maxLength:"128",value:Q,onInput:function(){function ee(le,ye){return he(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Icon",children:[(0,e.createComponentVNode)(2,o.Input,{disabled:!R,value:Ne,width:"35%",mr:"0.5rem",onInput:function(){function ee(le,ye){return Be(ye)}return ee}()}),(0,e.createComponentVNode)(2,o.Icon,{name:Ne,size:"2",verticalAlign:"middle",mr:"0.5rem"})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Accept Public Stories?",children:(0,e.createComponentVNode)(2,o.Button,{selected:Ae,icon:Ae?"toggle-on":"toggle-off",content:Ae?"Yes":"No",onClick:function(){function ee(){return fe(!Ae)}return ee}()})}),R&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:J,icon:J?"lock":"lock-open",content:J?"On":"Off",tooltip:"Locking this channel will make it editable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function ee(){return te(!J)}return ee}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:W.trim().length===0||Y.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function ee(){(0,V.modalAnswer)(w,L.id,"",{author:W,name:Y.substr(0,49),description:Q.substr(0,128),icon:Ne,public:Ae?1:0,admin_locked:J?1:0})}return ee}()})]})},N=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.photo,P=E.channels,R=E.channel_idx,F=R===void 0?-1:R,j=!!L.args.is_admin,W=L.args.scanned_user,H=P.slice().sort(function(ee,le){if(F<0)return 0;var ye=P[F-1];if(ye.uid===ee.uid)return-1;if(ye.uid===le.uid)return 1}).filter(function(ee){return j||!ee.frozen&&(ee.author===W||!!ee.public)}),z=(0,t.useLocalState)(w,"author",W||"Unknown"),Y=z[0],G=z[1],ne=(0,t.useLocalState)(w,"channel",H.length>0?H[0].name:""),Q=ne[0],he=ne[1],Ve=(0,t.useLocalState)(w,"title",""),Ne=Ve[0],Be=Ve[1],Le=(0,t.useLocalState)(w,"body",""),Ae=Le[0],fe=Le[1],Z=(0,t.useLocalState)(w,"adminLocked",!1),J=Z[0],te=Z[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:"Create New Story",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!j,width:"100%",value:Y,onInput:function(){function ee(le,ye){return G(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Channel",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Dropdown,{selected:Q,options:H.map(function(ee){return ee.name}),mb:"0",width:"100%",onSelected:function(){function ee(le){return he(le)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Divider),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",placeholder:"128 characters max.",maxLength:"128",value:Ne,onInput:function(){function ee(le,ye){return Be(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Story Text",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{fluid:!0,multiline:!0,placeholder:"1024 characters max.",maxLength:"1024",rows:"8",width:"100%",value:Ae,onInput:function(){function ee(le,ye){return fe(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo (optional)",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{icon:"image",selected:O,content:O?"Eject: "+O.name:"Insert Photo",tooltip:!O&&"Attach a photo to this story by holding the photograph in your hand.",onClick:function(){function ee(){return T(O?"eject_photo":"attach_photo")}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Preview",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Section,{noTopPadding:!0,title:Ne,maxHeight:"13.5rem",overflow:"auto",children:(0,e.createComponentVNode)(2,o.Box,{mt:"0.5rem",children:[!!O&&(0,e.createComponentVNode)(2,g,{name:"inserted_photo_"+O.uid+".png",float:"right"}),Ae.split("\n").map(function(ee,le){return(0,e.createComponentVNode)(2,o.Box,{children:ee||(0,e.createVNode)(1,"br")},le)}),(0,e.createComponentVNode)(2,o.Box,{clear:"right"})]})})}),j&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:J,icon:J?"lock":"lock-open",content:J?"On":"Off",tooltip:"Locking this story will make it censorable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function ee(){return te(!J)}return ee}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:Y.trim().length===0||Q.trim().length===0||Ne.trim().length===0||Ae.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function ee(){(0,V.modalAnswer)(w,"create_story","",{author:Y,channel:Q,title:Ne.substr(0,127),body:Ae.substr(0,1023),admin_locked:J?1:0})}return ee}()})]})},x=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.photo,P=E.wanted,R=!!L.args.is_admin,F=L.args.scanned_user,j=(0,t.useLocalState)(w,"author",(P==null?void 0:P.author)||F||"Unknown"),W=j[0],H=j[1],z=(0,t.useLocalState)(w,"name",(P==null?void 0:P.title.substr(8))||""),Y=z[0],G=z[1],ne=(0,t.useLocalState)(w,"description",(P==null?void 0:P.body)||""),Q=ne[0],he=ne[1],Ve=(0,t.useLocalState)(w,"adminLocked",(P==null?void 0:P.admin_locked)===1||!1),Ne=Ve[0],Be=Ve[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:"Manage Wanted Notice",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Authority",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!R,width:"100%",value:W,onInput:function(){function Le(Ae,fe){return H(fe)}return Le}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",value:Y,maxLength:"128",onInput:function(){function Le(Ae,fe){return G(fe)}return Le}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{multiline:!0,width:"100%",value:Q,maxLength:"512",rows:"4",onInput:function(){function Le(Ae,fe){return he(fe)}return Le}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo (optional)",verticalAlign:"top",children:[(0,e.createComponentVNode)(2,o.Button,{icon:"image",selected:O,content:O?"Eject: "+O.name:"Insert Photo",tooltip:!O&&"Attach a photo to this wanted notice by holding the photograph in your hand.",tooltipPosition:"top",onClick:function(){function Le(){return T(O?"eject_photo":"attach_photo")}return Le}()}),!!O&&(0,e.createComponentVNode)(2,g,{name:"inserted_photo_"+O.uid+".png",float:"right"})]}),R&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:Ne,icon:Ne?"lock":"lock-open",content:Ne?"On":"Off",tooltip:"Locking this wanted notice will make it editable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function Le(){return Be(!Ne)}return Le}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!P,icon:"eraser",color:"danger",content:"Clear",position:"absolute",right:"7.25rem",bottom:"-0.75rem",onClick:function(){function Le(){T("clear_wanted_notice"),(0,V.modalClose)(w)}return Le}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:W.trim().length===0||Y.trim().length===0||Q.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function Le(){(0,V.modalAnswer)(w,L.id,"",{author:W,name:Y.substr(0,127),description:Q.substr(0,511),admin_locked:Ne?1:0})}return Le}()})]})};(0,V.modalRegisterBodyOverride)("create_channel",C),(0,V.modalRegisterBodyOverride)("manage_channel",C),(0,V.modalRegisterBodyOverride)("create_story",N),(0,V.modalRegisterBodyOverride)("wanted_notice",x)},97351:function(I,r,n){"use strict";r.__esModule=!0,r.NinjaBloodScan=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(39473),s=n(98595),y=r.NinjaBloodScan=function(){function S(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data;return(0,e.createComponentVNode)(2,s.Window,{width:500,height:400,theme:"spider_clan",children:(0,e.createComponentVNode)(2,s.Window.Content,{className:"Layout__content--flexColumn",children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,k)]})})}return S}(),V=function(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.vialIcons,f=u.noVialIcon,l=u.bloodOwnerNames,v=u.bloodOwnerSpecies,b=u.bloodOwnerTypes,g=u.blockButtons,h=u.scanStates,C={blue:"Button_blue",green:"Button_green",red:"Button_red",disabled:"Button_disabled"},N=["NoticeBox_red","NoticeBox","NoticeBox_blue"],x=[1,2,3];return(0,e.createComponentVNode)(2,t.Flex,{direction:"column",shrink:1,alignContent:"center",children:(0,e.createComponentVNode)(2,t.Section,{title:"\u041E\u0431\u0440\u0430\u0437\u0446\u044B",backgroundColor:"rgba(0, 0, 0, 0.4)",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0442\u0440\u0438 \u043E\u0431\u0440\u0430\u0437\u0446\u0430 \u043A\u0440\u043E\u0432\u0438. \u041C\u0430\u0448\u0438\u043D\u0430 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u0430 \u043D\u0430 \u0440\u0430\u0431\u043E\u0442\u0443 \u0441 \u043A\u0440\u043E\u0432\u044C\u044E \u0441\u0443\u0449\u0435\u0441\u0442\u0432 \u0438 \u0443\u0441\u043B\u043E\u0432\u0438\u044F\u043C\u0438 \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u043B \u0432\u0430\u043C \u043A\u043B\u0430\u043D. \u0420\u0435\u0430\u0433\u0435\u043D\u0442\u044B \u0438\u043C \u043D\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u043D\u0435 \u043F\u0440\u0438\u043C\u0443\u0442\u0441\u044F \u0438\u043B\u0438 \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u043F\u0435\u0448\u043D\u044B\u043C",tooltipPosition:"bottom-start"}),children:[(0,e.createComponentVNode)(2,t.Flex,{direction:"row",shrink:1,alignContent:"center",children:x.map(function(B,L){return(0,e.createComponentVNode)(2,o.FlexItem,{direction:"column",width:"33.3%",ml:L?2:0,children:[(0,e.createComponentVNode)(2,t.Section,{title:l[L]?"\u041A\u0440\u043E\u0432\u044C":"\u041D\u0435\u0442 \u0440\u0435\u0430\u0433\u0435\u043D\u0442\u0430",style:{"text-align":"left",background:"rgba(53, 94, 163, 0.5)"}}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:N[h[L]],success:0,danger:0,align:"center",children:(0,e.createComponentVNode)(2,t.Button,{className:g?C.disabled:C.blue,height:"100%",width:"100%",disabled:g,onClick:function(){function w(){return m("vial_out",{button_num:L+1})}return w}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"128px",width:"128px",src:"data:image/jpeg;base64,"+(d[L]||f),style:{"margin-left":"3px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:l[L]||" - ",content:"\u0420\u0430\u0441\u0430: "+(v[L]||" - ")+"\n"+("\u0422\u0438\u043F \u043A\u0440\u043E\u0432\u0438: "+(b[L]||" - ")),position:"bottom"})]})})]},L)})}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_red",success:0,danger:0,align:"center",children:(0,e.createComponentVNode)(2,t.Button,{className:g===0?"":"Button_disabled",content:"\u041D\u0430\u0447\u0430\u0442\u044C \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",width:"250px",textAlign:"center",disabled:g,tooltip:"\u0421\u043A\u0430\u043D\u0438\u0440\u0443\u0435\u0442 \u043A\u0440\u043E\u0432\u044C \u0438 \u043F\u0435\u0440\u0435\u0441\u044B\u043B\u0430\u0435\u0442 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043A\u043B\u0430\u043D\u0443.",tooltipPosition:"bottom",onClick:function(){function B(){return m("scan_blood")}return B}()})})]})})},k=function(p,i){var c=(0,a.useBackend)(i),m=c.data,u=m.progressBar;return(0,e.createComponentVNode)(2,t.Section,{stretchContents:!0,children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:"green",value:u,minValue:0,maxValue:100,children:(0,e.createVNode)(1,"center",null,(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_green",mt:1,children:u?"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 "+(u+"%"):"\u0420\u0435\u0436\u0438\u043C \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F"}),2)})})}},32989:function(I,r,n){"use strict";r.__esModule=!0,r.NinjaMindScan=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.NinjaMindScan=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,theme:"spider_clan",children:(0,e.createComponentVNode)(2,o.Window.Content,{className:"Layout__content--flexColumn",children:(0,e.createComponentVNode)(2,y)})})}return V}(),y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.occupantIcon,u=c.occupant_name,d=c.occupant_health,f=c.scanned_occupants,l=u==="none"?1:0;return(0,e.createComponentVNode)(2,t.Flex,{direction:"column",shrink:1,alignContent:"left",children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u041F\u0430\u0446\u0438\u0435\u043D\u0442",backgroundColor:"rgba(0, 0, 0, 0.4)",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u0432\u0438\u0434\u0430 \u0438 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430 \u0432 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435.",tooltipPosition:"left"}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",shrink:1,alignContent:"left",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{shrink:1,alignContent:"left",children:(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_blue",success:0,danger:0,width:"90px",align:"left",children:(0,e.createComponentVNode)(2,t.Section,{style:{background:"rgba(4, 74, 27, 0.75)"},align:"left",children:(0,e.createVNode)(1,"img",null,null,1,{height:"128px",width:"128px",src:"data:image/jpeg;base64,"+m,style:{"margin-left":"-28px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,alignContent:"right",children:[(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_green",success:0,danger:0,align:"left",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0418\u043C\u044F",children:u}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0417\u0434\u043E\u0440\u043E\u0432\u044C\u0435",children:d})]})}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_red",mt:2.5,success:0,danger:0,align:"center",children:[(0,e.createComponentVNode)(2,t.Button,{className:l===0?"":"Button_disabled",content:"\u041D\u0430\u0447\u0430\u0442\u044C \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",width:"250px",textAlign:"center",disabled:l,tooltip:"\u0421\u043A\u0430\u043D\u0438\u0440\u0443\u0435\u0442 \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430 \u0438 \u043F\u044B\u0442\u0430\u0435\u0442\u0441\u044F \u0434\u043E\u0431\u044B\u0442\u044C \u0438\u0437 \u0435\u0433\u043E \u0440\u0430\u0437\u0443\u043C\u0430 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0443\u044E \u043A\u043B\u0430\u043D\u0443 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E.",tooltipPosition:"bottom-start",onClick:function(){function v(){return i("scan_occupant")}return v}()}),(0,e.createComponentVNode)(2,t.Button,{className:l===0?"":"Button_disabled",content:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E",width:"250px",textAlign:"center",disabled:l,tooltip:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E, \u0432\u044B\u043F\u0443\u0441\u043A\u0430\u044F \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430 \u0438\u0437 \u043A\u0430\u043F\u0441\u0443\u043B\u044B",tooltipPosition:"bottom-start",onClick:function(){function v(){return i("go_out")}return v}()}),(0,e.createComponentVNode)(2,t.Button,{className:l===0?"":"Button_disabled",content:"\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u044F \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430",width:"250px",textAlign:"center",disabled:l,tooltip:"\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430 \u043E\u0431\u0440\u0430\u0442\u043D\u043E \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442 \u0441 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u043E\u043D \u0431\u044B\u043B \u043F\u043E\u0445\u0438\u0449\u0435\u043D. \u0420\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u043A\u0430\u043A \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0435\u0433\u043E \u0437\u0430\u043F\u0443\u0433\u0430\u0442\u044C \u043F\u0435\u0440\u0435\u0434 \u044D\u0442\u0438\u043C, \u0447\u0442\u043E\u0431\u044B \u043E\u043D \u043D\u0435 \u0440\u0430\u0437\u0431\u043E\u043B\u0442\u0430\u043B \u043E \u0432\u0430\u0441.",tooltipPosition:"bottom-start",onClick:function(){function v(){return i("teleport_out")}return v}()})]})]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u043F\u0438\u0441\u043E\u043A \u0443\u0436\u0435 \u043F\u0440\u043E\u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0432\u0430\u043C\u0438 \u043B\u044E\u0434\u0435\u0439",align:"center",backgroundColor:"rgba(0, 0, 0, 0.4)",children:(0,e.createComponentVNode)(2,t.Box,{maxHeight:15,overflowY:"auto",overflowX:"hidden",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:f.map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Box,{children:v.scanned_occupant})})},v.scanned_occupant)})})})})]})}},41166:function(I,r,n){"use strict";r.__esModule=!0,r.NuclearBomb=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.NuclearBomb=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;return i.extended?(0,e.createComponentVNode)(2,o.Window,{width:450,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auth Disk",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.authdisk?"eject":"id-card",selected:i.authdisk,content:i.diskname?i.diskname:"-----",tooltip:i.authdisk?"Eject Disk":"Insert Disk",onClick:function(){function c(){return p("auth")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auth Code",children:(0,e.createComponentVNode)(2,t.Button,{icon:"key",disabled:!i.authdisk,selected:i.authcode,content:i.codemsg,onClick:function(){function c(){return p("code")}return c}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Arming & Disarming",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Bolted to floor",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.anchored?"check":"times",selected:i.anchored,disabled:!i.authfull,content:i.anchored?"YES":"NO",onClick:function(){function c(){return p("toggle_anchor")}return c}()})}),i.authfull&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Time Left",children:(0,e.createComponentVNode)(2,t.Button,{icon:"stopwatch",content:i.time,disabled:!i.authfull,tooltip:"Set Timer",onClick:function(){function c(){return p("set_time")}return c}()})})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Time Left",color:i.timer?"red":"",children:i.time+"s"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.safety?"check":"times",selected:i.safety,disabled:!i.authfull,content:i.safety?"ON":"OFF",tooltip:i.safety?"Disable Safety":"Enable Safety",onClick:function(){function c(){return p("toggle_safety")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Arm/Disarm",children:(0,e.createComponentVNode)(2,t.Button,{icon:(i.timer,"bomb"),disabled:i.safety||!i.authfull,color:"red",content:i.timer?"DISARM THE NUKE":"ARM THE NUKE",onClick:function(){function c(){return p("toggle_armed")}return c}()})})]})})]})}):(0,e.createComponentVNode)(2,o.Window,{width:450,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Deployment",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",content:"Deploy Nuclear Device (will bolt device to floor)",onClick:function(){function c(){return p("deploy")}return c}()})})})})}return y}()},52416:function(I,r,n){"use strict";r.__esModule=!0,r.NumberInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(92986),s=n(72253),y=n(36036),V=n(98595),k=r.NumberInputModal=function(){function p(i,c){var m=(0,s.useBackend)(c),u=m.act,d=m.data,f=d.init_value,l=d.large_buttons,v=d.message,b=v===void 0?"":v,g=d.timeout,h=d.title,C=(0,s.useLocalState)(c,"input",f),N=C[0],x=C[1],B=function(){function A(T){T!==N&&x(T)}return A}(),L=function(){function A(T){T!==N&&x(T)}return A}(),w=140+Math.max(Math.ceil(b.length/3),b.length>0&&l?5:0);return(0,e.createComponentVNode)(2,V.Window,{title:h,width:270,height:w,children:[g&&(0,e.createComponentVNode)(2,a.Loader,{value:g}),(0,e.createComponentVNode)(2,V.Window.Content,{onKeyDown:function(){function A(T){var E=window.event?T.which:T.keyCode;E===o.KEY_ENTER&&u("submit",{entry:N}),E===o.KEY_ESCAPE&&u("cancel")}return A}(),children:(0,e.createComponentVNode)(2,y.Section,{fill:!0,children:(0,e.createComponentVNode)(2,y.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,y.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,y.Box,{color:"label",children:b})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,S,{input:N,onClick:L,onChange:B})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,t.InputButtons,{input:N})})]})})})]})}return p}(),S=function(i,c){var m=(0,s.useBackend)(c),u=m.act,d=m.data,f=d.min_value,l=d.max_value,v=d.init_value,b=d.round_value,g=i.input,h=i.onClick,C=i.onChange,N=Math.round(g!==f?Math.max(g/2,f):l/2),x=g===f&&f>0||g===1;return(0,e.createComponentVNode)(2,y.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Button,{disabled:g===f,icon:"angle-double-left",onClick:function(){function B(){return h(f)}return B}(),tooltip:g===f?"Min":"Min ("+f+")"})}),(0,e.createComponentVNode)(2,y.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,y.RestrictedInput,{autoFocus:!0,autoSelect:!0,fluid:!0,allowFloats:!b,minValue:f,maxValue:l,onChange:function(){function B(L,w){return C(w)}return B}(),onEnter:function(){function B(L,w){return u("submit",{entry:w})}return B}(),value:g})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Button,{disabled:g===l,icon:"angle-double-right",onClick:function(){function B(){return h(l)}return B}(),tooltip:g===l?"Max":"Max ("+l+")"})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Button,{disabled:x,icon:"divide",onClick:function(){function B(){return h(N)}return B}(),tooltip:x?"Split":"Split ("+N+")"})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Button,{disabled:g===v,icon:"redo",onClick:function(){function B(){return h(v)}return B}(),tooltip:v?"Reset ("+v+")":"Reset"})})]})}},1218:function(I,r,n){"use strict";r.__esModule=!0,r.OperatingComputer=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(98595),s=n(36036),y=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]],V=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],k={average:[.25,.5],bad:[.5,1/0]},S=["bad","average","average","good","average","average","bad"],p=r.OperatingComputer=function(){function u(d,f){var l=(0,t.useBackend)(f),v=l.act,b=l.data,g=b.hasOccupant,h=b.choice,C;return h?C=(0,e.createComponentVNode)(2,m):C=g?(0,e.createComponentVNode)(2,i):(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,o.Window,{width:650,height:455,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,s.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,s.Stack.Item,{children:(0,e.createComponentVNode)(2,s.Tabs,{children:[(0,e.createComponentVNode)(2,s.Tabs.Tab,{selected:!h,icon:"user",onClick:function(){function N(){return v("choiceOff")}return N}(),children:"Patient"}),(0,e.createComponentVNode)(2,s.Tabs.Tab,{selected:!!h,icon:"cog",onClick:function(){function N(){return v("choiceOn")}return N}(),children:"Options"})]})}),(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,s.Section,{fill:!0,scrollable:!0,children:C})})]})})})}return u}(),i=function(d,f){var l=(0,t.useBackend)(f),v=l.data,b=v.occupant;return(0,e.createComponentVNode)(2,s.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,s.Section,{fill:!0,title:"Patient",children:(0,e.createComponentVNode)(2,s.LabeledList,{children:[(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Name",children:b.name}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Status",color:y[b.stat][0],children:y[b.stat][1]}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,s.ProgressBar,{min:"0",max:b.maxHealth,value:b.health/b.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),V.map(function(g,h){return(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:g[0]+" Damage",children:(0,e.createComponentVNode)(2,s.ProgressBar,{min:"0",max:"100",value:b[g[1]]/100,ranges:k,children:(0,a.round)(b[g[1]])},h)},h)}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,s.ProgressBar,{min:"0",max:b.maxTemp,value:b.bodyTemperature/b.maxTemp,color:S[b.temperatureSuitability+3],children:[(0,a.round)(b.btCelsius),"\xB0C, ",(0,a.round)(b.btFaren),"\xB0F"]})}),!!b.hasBlood&&(0,e.createFragment)([(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Blood Level",children:(0,e.createComponentVNode)(2,s.ProgressBar,{min:"0",max:b.bloodMax,value:b.bloodLevel/b.bloodMax,ranges:{bad:[-1/0,.6],average:[.6,.9],good:[.6,1/0]},children:[b.bloodPercent,"%, ",b.bloodLevel,"cl"]})}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Pulse",children:[b.pulse," BPM"]})],4)]})})}),(0,e.createComponentVNode)(2,s.Stack.Item,{children:(0,e.createComponentVNode)(2,s.Section,{title:"Current Procedures",level:"2",children:b.inSurgery?b.surgeries.map(function(g){var h=g.bodypartName,C=g.surgeryName,N=g.stepName;return(0,e.createComponentVNode)(2,s.Section,{title:h,level:"4",children:(0,e.createComponentVNode)(2,s.LabeledList,{children:[(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Procedure",children:C}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Next Step",children:N})]})},h)}):(0,e.createComponentVNode)(2,s.Box,{color:"label",children:"No procedure ongoing."})})})]})},c=function(){return(0,e.createComponentVNode)(2,s.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,s.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,s.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No patient detected."]})})},m=function(d,f){var l=(0,t.useBackend)(f),v=l.act,b=l.data,g=b.verbose,h=b.health,C=b.healthAlarm,N=b.oxy,x=b.oxyAlarm,B=b.crit;return(0,e.createComponentVNode)(2,s.LabeledList,{children:[(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Loudspeaker",children:(0,e.createComponentVNode)(2,s.Button,{selected:g,icon:g?"toggle-on":"toggle-off",content:g?"On":"Off",onClick:function(){function L(){return v(g?"verboseOff":"verboseOn")}return L}()})}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Health Announcer",children:(0,e.createComponentVNode)(2,s.Button,{selected:h,icon:h?"toggle-on":"toggle-off",content:h?"On":"Off",onClick:function(){function L(){return v(h?"healthOff":"healthOn")}return L}()})}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Health Announcer Threshold",children:(0,e.createComponentVNode)(2,s.Knob,{bipolar:!0,minValue:-100,maxValue:100,value:C,stepPixelSize:5,ml:"0",onChange:function(){function L(w,A){return v("health_adj",{new:A})}return L}()})}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Oxygen Alarm",children:(0,e.createComponentVNode)(2,s.Button,{selected:N,icon:N?"toggle-on":"toggle-off",content:N?"On":"Off",onClick:function(){function L(){return v(N?"oxyOff":"oxyOn")}return L}()})}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Oxygen Alarm Threshold",children:(0,e.createComponentVNode)(2,s.Knob,{bipolar:!0,minValue:-100,maxValue:100,value:x,stepPixelSize:5,ml:"0",onChange:function(){function L(w,A){return v("oxy_adj",{new:A})}return L}()})}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Critical Alert",children:(0,e.createComponentVNode)(2,s.Button,{selected:B,icon:B?"toggle-on":"toggle-off",content:B?"On":"Off",onClick:function(){function L(){return v(B?"critOff":"critOn")}return L}()})})]})}},46892:function(I,r,n){"use strict";r.__esModule=!0,r.Orbit=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),s=n(98595);function y(f,l){var v=typeof Symbol!="undefined"&&f[Symbol.iterator]||f["@@iterator"];if(v)return(v=v.call(f)).next.bind(v);if(Array.isArray(f)||(v=V(f))||l&&f&&typeof f.length=="number"){v&&(f=v);var b=0;return function(){return b>=f.length?{done:!0}:{done:!1,value:f[b++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function V(f,l){if(f){if(typeof f=="string")return k(f,l);var v={}.toString.call(f).slice(8,-1);return v==="Object"&&f.constructor&&(v=f.constructor.name),v==="Map"||v==="Set"?Array.from(f):v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v)?k(f,l):void 0}}function k(f,l){(l==null||l>f.length)&&(l=f.length);for(var v=0,b=Array(l);vv},c=function(l,v){var b=l.name,g=v.name;if(!b||!g)return 0;var h=b.match(S),C=g.match(S);if(h&&C&&b.replace(S,"")===g.replace(S,"")){var N=parseInt(h[1],10),x=parseInt(C[1],10);return N-x}return i(b,g)},m=function(l,v){var b=(0,t.useBackend)(v),g=b.act,h=l.searchText,C=l.source,N=l.title,x=C.filter(p(h));return x.sort(c),C.length>0&&(0,e.createComponentVNode)(2,o.Section,{title:N+" - ("+C.length+")",children:x.map(function(B){return(0,e.createComponentVNode)(2,o.Button,{content:B.name,onClick:function(){function L(){return g("orbit",{ref:B.ref})}return L}()},B.name)})})},u=function(l,v){var b=(0,t.useBackend)(v),g=b.act,h=l.color,C=l.thing;return(0,e.createComponentVNode)(2,o.Button,{color:h,onClick:function(){function N(){return g("orbit",{ref:C.ref})}return N}(),children:C.name})},d=r.Orbit=function(){function f(l,v){for(var b=(0,t.useBackend)(v),g=b.act,h=b.data,C=h.alive,N=h.antagonists,x=h.highlights,B=h.auto_observe,L=h.dead,w=h.ghosts,A=h.misc,T=h.npcs,E=(0,t.useLocalState)(v,"searchText",""),O=E[0],P=E[1],R={},F=y(N),j;!(j=F()).done;){var W=j.value;R[W.antag]===void 0&&(R[W.antag]=[]),R[W.antag].push(W)}var H=Object.entries(R);H.sort(function(Y,G){return i(Y[0],G[0])});var z=function(){function Y(G){for(var ne=0,Q=[H.map(function(Ne){var Be=Ne[0],Le=Ne[1];return Le}),x,C,w,L,T,A];ne0&&(0,e.createComponentVNode)(2,o.Section,{title:"Antagonists",children:H.map(function(Y){var G=Y[0],ne=Y[1];return(0,e.createComponentVNode)(2,o.Section,{title:G,level:2,children:ne.filter(p(O)).sort(c).map(function(Q){return(0,e.createComponentVNode)(2,u,{color:"bad",thing:Q},Q.name)})},G)})}),x.length>0&&(0,e.createComponentVNode)(2,m,{title:"Highlights",source:x,searchText:O,color:"teal"}),(0,e.createComponentVNode)(2,o.Section,{title:"Alive - ("+C.length+")",children:C.filter(p(O)).sort(c).map(function(Y){return(0,e.createComponentVNode)(2,u,{color:"good",thing:Y},Y.name)})}),(0,e.createComponentVNode)(2,o.Section,{title:"Ghosts - ("+w.length+")",children:w.filter(p(O)).sort(c).map(function(Y){return(0,e.createComponentVNode)(2,u,{color:"grey",thing:Y},Y.name)})}),(0,e.createComponentVNode)(2,m,{title:"Dead",source:L,searchText:O}),(0,e.createComponentVNode)(2,m,{title:"NPCs",source:T,searchText:O}),(0,e.createComponentVNode)(2,m,{title:"Misc",source:A,searchText:O})]})})}return f}()},15421:function(I,r,n){"use strict";r.__esModule=!0,r.OreRedemption=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),s=n(98595),y=n(9394);function V(l){if(l==null)throw new TypeError("Cannot destructure "+l)}var k=(0,y.createLogger)("OreRedemption"),S=function(v){return v.toLocaleString("en-US")+" pts"},p=r.OreRedemption=function(){function l(v,b){return(0,e.createComponentVNode)(2,s.Window,{width:490,height:750,children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,i,{height:"100%"})}),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,m)]})})})}return l}(),i=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.id,x=C.points,B=C.disk,L=Object.assign({},(V(v),v));return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({},L,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"average",textAlign:"center",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle",mr:"0.5rem"}),"This machine only accepts ore. Gibtonite is not accepted."]}),(0,e.createComponentVNode)(2,o.Divider),(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"ID card",children:N?(0,e.createComponentVNode)(2,o.Button,{selected:!0,bold:!0,verticalAlign:"middle",icon:"eject",content:N.name,tooltip:"Ejects the ID card.",onClick:function(){function w(){return h("eject_id")}return w}(),style:{"white-space":"pre-wrap"}}):(0,e.createComponentVNode)(2,o.Button,{icon:"sign-in-alt",content:"Insert",tooltip:"Hold the ID card in your hand to insert.",onClick:function(){function w(){return h("insert_id")}return w}()})}),N&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Current Mining Points",children:(0,e.createComponentVNode)(2,o.Box,{bold:!0,children:S(N.points)})}),N&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Total Mining Points",children:(0,e.createComponentVNode)(2,o.Box,{bold:!0,children:S(N.total_points)})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Unclaimed Points",color:x>0?"good":"grey",bold:x>0&&"good",children:S(x)}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:!N,icon:"hand-holding-usd",content:"Claim",onClick:function(){function w(){return h("claim")}return w}()})})]}),(0,e.createComponentVNode)(2,o.Divider),B?(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Design disk",children:(0,e.createComponentVNode)(2,o.Button,{selected:!0,bold:!0,icon:"eject",content:B.name,tooltip:"Ejects the design disk.",onClick:function(){function w(){return h("eject_disk")}return w}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Stored design",children:(0,e.createComponentVNode)(2,o.Box,{color:B.design&&(B.compatible?"good":"bad"),children:B.design||"N/A"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:!B.design||!B.compatible,icon:"upload",content:"Download",tooltip:"Downloads the design on the disk into the machine.",onClick:function(){function w(){return h("download")}return w}()})})]}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No design disk inserted."})]})))},c=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.sheets,x=Object.assign({},(V(v),v));return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,height:"20%",children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,className:"OreRedemption__Ores",p:"0"},x,{children:[(0,e.createComponentVNode)(2,u,{title:"Sheets",columns:[["Available","25%"],["Ore Value","15%"],["Smelt","20%"]]}),N.map(function(B){return(0,e.createComponentVNode)(2,d,{ore:B},B.id)})]})))})},m=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.alloys,x=Object.assign({},(V(v),v));return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,className:"OreRedemption__Ores",p:"0"},x,{children:[(0,e.createComponentVNode)(2,u,{title:"Alloys",columns:[["Recipe","50%"],["Available","11%"],["Smelt","20%"]]}),N.map(function(B){return(0,e.createComponentVNode)(2,f,{ore:B},B.id)})]})))})},u=function(v,b){var g;return(0,e.createComponentVNode)(2,o.Box,{className:"OreHeader",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:v.title}),(g=v.columns)==null?void 0:g.map(function(h){return(0,e.createComponentVNode)(2,o.Stack.Item,{basis:h[1],textAlign:"center",color:"label",bold:!0,children:h[0]},h)})]})})},d=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=v.ore;if(!(C.value&&C.amount<=0&&!(["metal","glass"].indexOf(C.id)>-1)))return(0,e.createComponentVNode)(2,o.Box,{className:"SheetLine",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"45%",align:"middle",children:(0,e.createComponentVNode)(2,o.Stack,{align:"center",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{className:(0,a.classes)(["materials32x32",C.id])}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:C.name})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",color:C.amount>=1?"good":"gray",bold:C.amount>=1,align:"center",children:C.amount.toLocaleString("en-US")}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",children:C.value}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",lineHeight:"32px",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"40%",value:0,minValue:0,maxValue:Math.min(C.amount,50),stepPixelSize:6,onChange:function(){function N(x,B){return h(C.value?"sheet":"alloy",{id:C.id,amount:B})}return N}()})})]})})},f=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=v.ore;return(0,e.createComponentVNode)(2,o.Box,{className:"SheetLine",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"7%",align:"middle",children:(0,e.createComponentVNode)(2,o.Box,{className:(0,a.classes)(["alloys32x32",C.id])})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"30%",textAlign:"middle",align:"center",children:C.name}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"35%",textAlign:"middle",color:C.amount>=1?"good":"gray",align:"center",children:C.description}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"10%",textAlign:"center",color:C.amount>=1?"good":"gray",bold:C.amount>=1,align:"center",children:C.amount.toLocaleString("en-US")}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",lineHeight:"32px",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"40%",value:0,minValue:0,maxValue:Math.min(C.amount,50),stepPixelSize:6,onChange:function(){function N(x,B){return h(C.value?"sheet":"alloy",{id:C.id,amount:B})}return N}()})})]})})}},30373:function(I,r,n){"use strict";r.__esModule=!0,r.PAI=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(71253),y=n(70752),V=function(p){var i;try{i=y("./"+p+".js")}catch(m){if(m.code==="MODULE_NOT_FOUND")return(0,s.routingError)("notFound",p);throw m}var c=i[p];return c||(0,s.routingError)("missingExport",p)},k=r.PAI=function(){function S(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.app_template,f=u.app_icon,l=u.app_title,v=V(d);return(0,e.createComponentVNode)(2,o.Window,{width:600,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:f,mr:1}),l,d!=="pai_main_menu"&&(0,e.createComponentVNode)(2,t.Button,{ml:2,content:"Home",icon:"arrow-up",onClick:function(){function b(){return m("MASTER_back")}return b}()})]}),p:1,children:(0,e.createComponentVNode)(2,v)})})})}return S}()},85175:function(I,r,n){"use strict";r.__esModule=!0,r.PDA=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(71253),y=n(59395),V=function(c){var m;try{m=y("./"+c+".js")}catch(d){if(d.code==="MODULE_NOT_FOUND")return(0,s.routingError)("notFound",c);throw d}var u=m[c];return u||(0,s.routingError)("missingExport",c)},k=r.PDA=function(){function i(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.app,v=f.owner;if(!v)return(0,e.createComponentVNode)(2,o.Window,{width:350,height:105,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Error",children:"No user data found. Please swipe an ID card."})})});var b=V(l.template);return(0,e.createComponentVNode)(2,o.Window,{width:600,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,S)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,p:1,pb:0,title:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:l.icon,mr:1}),l.name]}),children:(0,e.createComponentVNode)(2,b)})}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:7.5,children:(0,e.createComponentVNode)(2,p)})]})})})}return i}(),S=function(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.idInserted,v=f.idLink,b=f.stationTime,g=f.cartridge_name;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{ml:.5,children:(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",color:"transparent",onClick:function(){function h(){return d("Authenticate")}return h}(),content:l?v:"No ID Inserted"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"sd-card",color:"transparent",onClick:function(){function h(){return d("Eject")}return h}(),content:g?["Eject "+g]:"No Cartridge Inserted"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"right",bold:!0,mr:1,mt:.5,children:b})]})},p=function(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.app;return(0,e.createComponentVNode)(2,t.Box,{height:"45px",className:"PDA__footer",backgroundColor:"#1b1b1b",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[!!l.has_back&&(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"33%",mr:-.5,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,className:"PDA__footer__button",color:"transparent",iconColor:l.has_back?"white":"disabled",icon:"arrow-alt-circle-left-o",onClick:function(){function v(){return d("Back")}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:l.has_back?"33%":"100%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,className:"PDA__footer__button",color:"transparent",iconColor:l.is_home?"disabled":"white",icon:"home",onClick:function(){function v(){d("Home")}return v}()})})]})})}},38280:function(I,r,n){"use strict";r.__esModule=!0,r.PDAPainter=r.PDAColorRow=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),s=r.PDAPainter=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.statusLabel,u=c.pdaTypes,d=c.hasPDA,f=c.pdaIcon,l=c.pdaOwnerName,v=c.pdaJobName;return(0,e.createComponentVNode)(2,t.Window,{width:545,height:350,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Flex,{spacing:1,direction:"row",height:"100%",flex:"1",children:[(0,e.createComponentVNode)(2,o.Flex.Item,{width:24,shrink:0,children:[(0,e.createComponentVNode)(2,o.Section,{title:"\u041E\u0431\u0449\u0435\u0435",buttons:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:d?"eject":"exclamation-triangle",selected:d,content:d?"\u0418\u0437\u0432\u043B\u0435\u0447\u044C":"-----",tooltip:d?"\u0418\u0437\u0432\u043B\u0435\u0447\u044C PDA":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C PDA",tooltipPosition:"left",onClick:function(){function b(){return i(d?"eject_pda":"insert_pda")}return b}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0418\u043C\u044F",children:l||"\u041D/\u0414"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C",children:v||"\u041D/\u0414"})]})}),(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.Flex,{height:"100%",direction:"column",flex:"1",children:(0,e.createComponentVNode)(2,o.Flex.Item,{children:[(0,e.createComponentVNode)(2,o.Box,{textAlign:"center",children:(0,e.createComponentVNode)(2,o.Box,{as:"img",height:"160px",src:d?"data:image/png;base64,"+f:"",style:{"-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"},align:"middle"})}),(0,e.createComponentVNode)(2,o.LabeledList,{m:"5px",children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0421\u0442\u0430\u0442\u0443\u0441",children:m})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{m:"5px",fluid:!0,disabled:!d,content:"\u0421\u0442\u0435\u0440\u0435\u0442\u044C PDA",confirmContent:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C?",textAlign:"left",color:"red",tooltip:"C\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0442\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u0430 \u0437\u0430\u0432\u043E\u0434\u0441\u043A\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",tooltipPosition:"top",onClick:function(){function b(){return i("erase_pda")}return b}()})]})})})]}),(0,e.createComponentVNode)(2,o.Flex.Item,{width:27,children:(0,e.createComponentVNode)(2,o.Flex,{direction:"column",height:"100%",flex:"1",children:(0,e.createComponentVNode)(2,o.Section,{title:"\u0426\u0432\u0435\u0442 PDA",flexGrow:"1",scrollable:!0,fill:!0,children:(0,e.createComponentVNode)(2,o.Table,{children:Object.keys(u).map(function(b){return(0,e.createComponentVNode)(2,y,{selectedPda:b,selectedPdaImage:u[b][0]},b)})})})})})]})})})}return V}(),y=r.PDAColorRow=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.hasPDA,u=k.selectedPda,d=k.selectedPdaImage;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+d,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})}),(0,e.createComponentVNode)(2,o.Table.Cell,{bold:!0,children:(0,e.createComponentVNode)(2,o.Button.Confirm,{fluid:!0,disabled:!m,icon:d,content:u,confirmContent:"\u041F\u043E\u043A\u0440\u0430\u0441\u0438\u0442\u044C?",textAlign:"left",onClick:function(){function f(){return i("choose_pda",{selectedPda:u,selectedPdaImage:d})}return f}()})})]})}return V}()},68654:function(I,r,n){"use strict";r.__esModule=!0,r.Pacman=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(49968),y=r.Pacman=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.broken,u=c.anchored,d=c.active,f=c.fuel_type,l=c.fuel_usage,v=c.fuel_stored,b=c.fuel_cap,g=c.is_ai,h=c.tmp_current,C=c.tmp_max,N=c.tmp_overheat,x=c.output_max,B=c.power_gen,L=c.output_set,w=c.has_fuel,A=v/b,T=h/C,E=L*B,O=Math.round(v/l),P=Math.round(O/60),R=O>120?P+" minutes":O+" seconds";return(0,e.createComponentVNode)(2,o.Window,{width:500,height:260,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(m||!u)&&(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:[!!m&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"The generator is malfunctioning!"}),!m&&!u&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"The generator needs to be anchored to the floor with a wrench."})]}),!m&&!!u&&(0,e.createVNode)(1,"div",null,[(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:d?"power-off":"times",content:d?"On":"Off",tooltip:"Toggles the generator on/off. Requires fuel.",tooltipPosition:"left",disabled:!w,selected:d,onClick:function(){function F(){return i("toggle_power")}return F}()}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",className:"ml-1",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power setting",children:[(0,e.createComponentVNode)(2,t.NumberInput,{value:L,minValue:1,maxValue:x,step:1,className:"mt-1",onDrag:function(){function F(j,W){return i("change_power",{change_power:W})}return F}()}),"(",(0,s.formatPower)(E),")"]})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:T,ranges:{green:[-1/0,.33],orange:[.33,.66],red:[.66,1/0]},children:[h," \u2103"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[N>50&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"CRITICAL OVERHEAT!"}),N>20&&N<=50&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"WARNING: Overheating!"}),N>1&&N<=20&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Temperature High"}),N===0&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Optimal"})]})]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Fuel",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject Fuel",tooltip:"Ejects fuel. Generator needs to be offline.",tooltipPosition:"left",disabled:d||g||!w,onClick:function(){function F(){return i("eject_fuel")}return F}()}),children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Type",children:f}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel level",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:A,ranges:{red:[-1/0,.33],orange:[.33,.66],green:[.66,1/0]},children:[Math.round(v/1e3)," dm\xB3"]})})]})}),(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel usage",children:[l/1e3," dm\xB3/s"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel depletion",children:[!!w&&(l?R:"N/A"),!w&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Out of fuel"})]})]})})]})})],4)]})})}return V}()},33388:function(I,r,n){"use strict";r.__esModule=!0,r.PersonalCrafting=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.PersonalCrafting=function(){function k(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.busy,d=m.category,f=m.display_craftable_only,l=m.display_compact,v=m.prev_cat,b=m.next_cat,g=m.subcategory,h=m.prev_subcat,C=m.next_subcat;return(0,e.createComponentVNode)(2,o.Window,{width:700,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!u&&(0,e.createComponentVNode)(2,t.Dimmer,{fontSize:"32px",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cog",spin:1})," Crafting..."]}),(0,e.createComponentVNode)(2,t.Section,{title:d,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Show Craftable Only",icon:f?"check-square-o":"square-o",selected:f,onClick:function(){function N(){return c("toggle_recipes")}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Compact Mode",icon:l?"check-square-o":"square-o",selected:l,onClick:function(){function N(){return c("toggle_compact")}return N}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:v,icon:"arrow-left",onClick:function(){function N(){return c("backwardCat")}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:b,icon:"arrow-right",onClick:function(){function N(){return c("forwardCat")}return N}()})]}),g&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:h,icon:"arrow-left",onClick:function(){function N(){return c("backwardSubCat")}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:C,icon:"arrow-right",onClick:function(){function N(){return c("forwardSubCat")}return N}()})]}),l?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,V)]})]})})}return k}(),y=function(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.display_craftable_only,d=m.can_craft,f=m.cant_craft;return(0,e.createComponentVNode)(2,t.Box,{mt:1,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[d.map(function(l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l.name,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",onClick:function(){function v(){return c("make",{make:l.ref})}return v}()}),l.catalyst_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:l.catalyst_text,content:"Catalysts",color:"transparent"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:l.req_text,content:"Requirements",color:"transparent"}),l.tool_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:l.tool_text,content:"Tools",color:"transparent"})]},l.name)}),!u&&f.map(function(l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l.name,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",disabled:!0}),l.catalyst_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:l.catalyst_text,content:"Catalysts",color:"transparent"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:l.req_text,content:"Requirements",color:"transparent"}),l.tool_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:l.tool_text,content:"Tools",color:"transparent"})]},l.name)})]})})},V=function(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.display_craftable_only,d=m.can_craft,f=m.cant_craft;return(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[d.map(function(l){return(0,e.createComponentVNode)(2,t.Section,{title:l.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",onClick:function(){function v(){return c("make",{make:l.ref})}return v}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[l.catalyst_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Catalysts",children:l.catalyst_text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requirements",children:l.req_text}),l.tool_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tools",children:l.tool_text})]})},l.name)}),!u&&f.map(function(l){return(0,e.createComponentVNode)(2,t.Section,{title:l.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",disabled:!0}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[l.catalyst_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Catalysts",children:l.catalyst_text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requirements",children:l.req_text}),l.tool_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tools",children:l.tool_text})]})},l.name)})]})}},56150:function(I,r,n){"use strict";r.__esModule=!0,r.Photocopier=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(88510),y=n(64795),V=n(25328);function k(m,u){var d=typeof Symbol!="undefined"&&m[Symbol.iterator]||m["@@iterator"];if(d)return(d=d.call(m)).next.bind(d);if(Array.isArray(m)||(d=S(m))||u&&m&&typeof m.length=="number"){d&&(m=d);var f=0;return function(){return f>=m.length?{done:!0}:{done:!1,value:m[f++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(m,u){if(m){if(typeof m=="string")return p(m,u);var d={}.toString.call(m).slice(8,-1);return d==="Object"&&m.constructor&&(d=m.constructor.name),d==="Map"||d==="Set"?Array.from(m):d==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d)?p(m,u):void 0}}function p(m,u){(u==null||u>m.length)&&(u=m.length);for(var d=0,f=Array(u);dm?this.substring(0,m)+"...":this};var i=function(u,d){d===void 0&&(d="");var f=(0,V.createSearch)(d,function(l){return l.altername});return(0,y.flow)([(0,s.filter)(function(l){return l==null?void 0:l.altername}),d&&(0,s.filter)(f),(0,s.sortBy)(function(l){return l.id})])(u)},c=r.Photocopier=function(){function m(u,d){for(var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.copies,g=v.maxcopies,h=(0,a.useLocalState)(d,"searchText",""),C=h[0],N=h[1],x=i((0,s.sortBy)(function(R){return R.category})(v.forms||[]),C),B=[],L=k(x),w;!(w=L()).done;){var A=w.value;B.includes(A.category)||B.push(A.category)}var T=(0,a.useLocalState)(d,"number",0),E=T[0],O=T[1],P;return v.category===""?P=x:P=x.filter(function(R){return R.category===v.category}),(0,e.createComponentVNode)(2,o.Window,{width:550,height:575,theme:v.ui_theme,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"40%",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0442\u0430\u0442\u0443\u0441",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",mt:.3,color:"grey",children:"\u0417\u0430\u0440\u044F\u0434 \u0442\u043E\u043D\u0435\u0440\u0430:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{minValue:0,maxValue:30,value:v.toner})})]}),(0,e.createComponentVNode)(2,t.Stack,{mt:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",mb:.3,color:"grey",children:"\u0424\u043E\u0440\u043C\u0430:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",textAlign:"center",bold:!0,children:v.form_id===""?"\u041D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u0430":v.form_id})]}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",mt:1,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!v.copyitem&&!v.mob,icon:v.copyitem||v.mob?"eject":"times",content:v.copyitem?v.copyitem:v.mob?"\u0416\u043E\u043F\u0430 "+v.mob+"!":"\u0421\u043B\u043E\u0442 \u0434\u043B\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430",onClick:function(){function R(){return l("removedocument")}return R}()})})}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!v.folder,icon:v.folder?"eject":"times",content:v.folder?v.folder:"\u0421\u043B\u043E\u0442 \u0434\u043B\u044F \u043F\u0430\u043F\u043A\u0438",onClick:function(){function R(){return l("removefolder")}return R}()})})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"print",disabled:v.toner===0||v.form===null,content:"\u041F\u0435\u0447\u0430\u0442\u044C",onClick:function(){function R(){return l("print_form")}return R}()})}),!!v.isAI&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",ml:"5px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"image",disabled:v.toner<5,content:"\u0424\u043E\u0442\u043E",tooltip:"\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u0444\u043E\u0442\u043E \u0441 \u0411\u0430\u0437\u044B \u0414\u0430\u043D\u043D\u044B\u0445",onClick:function(){function R(){return l("ai_pic")}return R}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"copy",content:"\u041A\u043E\u043F\u0438\u044F",disabled:v.toner===0||!v.copyitem&&!v.mob,onClick:function(){function R(){return l("copy")}return R}()})}),!!v.isAI&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",ml:"5px",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"i-cursor",content:"\u0422\u0435\u043A\u0441\u0442",tooltip:"\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u0441\u0432\u043E\u0439 \u0442\u0435\u043A\u0441\u0442",disabled:v.toner===0,onClick:function(){function R(){return l("ai_text")}return R}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:1.5,mt:1.2,width:"50%",color:"grey",children:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E:"}),(0,e.createComponentVNode)(2,t.Slider,{mt:.75,width:"50%",animated:!0,minValue:1,maxValue:g,value:b,stepPixelSize:10,onChange:function(){function R(F,j){return l("copies",{new:j})}return R}()})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"\u0411\u044E\u0440\u043E\u043A\u0440\u0430\u0442\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mb:-.5,icon:"chevron-right",color:"transparent",content:"\u0412\u0441\u0435 \u0444\u043E\u0440\u043C\u044B",selected:!v.category,onClick:function(){function R(){return l("choose_category",{category:""})}return R}()})}),B.map(function(R){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"chevron-right",mb:-.5,color:"transparent",content:R,selected:v.category===R,onClick:function(){function F(){return l("choose_category",{category:R})}return F}()},R)},R)})]})})})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"60%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:v.category||"\u0412\u0441\u0435 \u0444\u043E\u0440\u043C\u044B",buttons:(0,e.createComponentVNode)(2,t.Input,{mr:18.5,width:"100%",placeholder:"\u041F\u043E\u0438\u0441\u043A \u0444\u043E\u0440\u043C\u044B",onInput:function(){function R(F,j){return N(j)}return R}()}),children:P.map(function(R){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mb:.5,color:"transparent",content:R.altername.trimLongStr(37),tooltip:R.altername,selected:v.form_id===R.id,onClick:function(){function F(){return l("choose_form",{path:R.path,id:R.id})}return F}()})},R.path)})})})]})})})}return m}()},94158:function(I,r,n){"use strict";r.__esModule=!0,r.PodTracking=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.PodTracking=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.pods;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:c.map(function(m){return(0,e.createComponentVNode)(2,t.Section,{title:m.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Position",children:[m.podx,", ",m.pody,", ",m.podz]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pilot",children:m.pilot}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Passengers",children:m.passengers})]})},m.name)})})})}return y}()},84676:function(I,r,n){"use strict";r.__esModule=!0,r.PoolController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=["tempKey"];function y(p,i){if(p==null)return{};var c={};for(var m in p)if({}.hasOwnProperty.call(p,m)){if(i.includes(m))continue;c[m]=p[m]}return c}var V={scalding:{label:"Scalding",color:"#FF0000",icon:"fa fa-arrow-circle-up",requireEmag:!0},warm:{label:"Warm",color:"#990000",icon:"fa fa-arrow-circle-up"},normal:{label:"Normal",color:null,icon:"fa fa-arrow-circle-right"},cool:{label:"Cool",color:"#009999",icon:"fa fa-arrow-circle-down"},frigid:{label:"Frigid",color:"#00CCCC",icon:"fa fa-arrow-circle-down",requireEmag:!0}},k=function(i,c){var m=i.tempKey,u=y(i,s),d=V[m];if(!d)return null;var f=(0,a.useBackend)(c),l=f.data,v=f.act,b=l.currentTemp,g=d.label,h=d.icon,C=m===b,N=function(){v("setTemp",{temp:m})};return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Button,Object.assign({selected:C,onClick:N},u,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:h}),g]})))},S=r.PoolController=function(){function p(i,c){for(var m=(0,a.useBackend)(c),u=m.data,d=u.emagged,f=u.currentTemp,l=V[f]||V.normal,v=l.label,b=l.color,g=[],h=0,C=Object.entries(V);h50?"battery-half":"battery-quarter")||b==="C"&&"bolt"||b==="F"&&"battery-full"||b==="M"&&"slash",color:b==="N"&&(g>50?"yellow":"red")||b==="C"&&"yellow"||b==="F"&&"green"||b==="M"&&"orange"}),(0,e.createComponentVNode)(2,k.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,o.toFixed)(g)+"%"})],4)};d.defaultHooks=s.pureComponentHooks;var f=function(v){var b,g,h=v.status;switch(h){case"AOn":b=!0,g=!0;break;case"AOff":b=!0,g=!1;break;case"On":b=!1,g=!0;break;case"Off":b=!1,g=!1;break}var C=(g?"On":"Off")+(" ["+(b?"auto":"manual")+"]");return(0,e.createComponentVNode)(2,k.ColorBox,{color:g?"good":"bad",content:b?void 0:"M",title:C})};f.defaultHooks=s.pureComponentHooks},50992:function(I,r,n){"use strict";r.__esModule=!0,r.PrisonerImplantManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(29319),s=n(3939),y=n(321),V=n(5485),k=n(98595),S=r.PrisonerImplantManager=function(){function p(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.loginState,l=d.prisonerInfo,v=d.chemicalInfo,b=d.trackingInfo,g;if(!f.logged_in)return(0,e.createComponentVNode)(2,k.Window,{theme:"security",width:500,height:850,children:(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,V.LoginScreen)})});var h=[1,5,10];return(0,e.createComponentVNode)(2,k.Window,{theme:"security",width:500,height:850,children:[(0,e.createComponentVNode)(2,s.ComplexModal),(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,y.LoginInfo),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Prisoner Points Manager System",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Prisoner",children:(0,e.createComponentVNode)(2,t.Button,{icon:l.name?"eject":"id-card",selected:l.name,content:l.name?l.name:"-----",tooltip:l.name?"Eject ID":"Insert ID",onClick:function(){function C(){return u("id_card")}return C}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Points",children:[l.points!==null?l.points:"-/-",(0,e.createComponentVNode)(2,t.Button,{ml:2,icon:"minus-square",disabled:l.points===null,content:"Reset",onClick:function(){function C(){return u("reset_points")}return C}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Point Goal",children:[l.goal!==null?l.goal:"-/-",(0,e.createComponentVNode)(2,t.Button,{ml:2,icon:"pen",disabled:l.goal===null,content:"Edit",onClick:function(){function C(){return(0,s.modalOpen)(c,"set_points")}return C}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{children:(0,e.createVNode)(1,"box",null,[(0,e.createTextVNode)("1 minute of prison time should roughly equate to 150 points."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Sentences should not exceed 5000 points."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Permanent prisoners should not be given a point goal."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Prisoners who meet their point goal will be able to automatically access their locker and return to the station using the shuttle.")],4,{hidden:l.goal===null})})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Tracking Implants",children:b.map(function(C){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{p:1,backgroundColor:"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:["Subject: ",C.subject]}),(0,e.createComponentVNode)(2,t.Box,{children:[" ",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Location",children:C.location}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:C.health}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Prisoner",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",content:"Warn",tooltip:"Broadcast a message to this poor sod",onClick:function(){function N(){return(0,s.modalOpen)(c,"warn",{uid:C.uid})}return N}()})})]})]},C.subject)]}),(0,e.createVNode)(1,"br")],4)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Chemical Implants",children:v.map(function(C){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{p:1,backgroundColor:"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:["Subject: ",C.name]}),(0,e.createComponentVNode)(2,t.Box,{children:[" ",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Remaining Reagents",children:C.volume})}),h.map(function(N){return(0,e.createComponentVNode)(2,t.Button,{mt:2,disabled:C.volume1100?"purple":f>500?"orange":f>250?"yellow":"green"},k=function(f,l){for(var v=[],b=0;b0?"envelope-open-text":"envelope",onClick:function(){function N(){return l("setScreen",{setScreen:6})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Request Assistance",icon:"hand-paper",onClick:function(){function N(){return l("setScreen",{setScreen:1})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Request Supplies",icon:"box",onClick:function(){function N(){return l("setScreen",{setScreen:2})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Relay Anonymous Information",icon:"comment",onClick:function(){function N(){return l("setScreen",{setScreen:3})}return N}()})})]}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Print Shipping Label",icon:"tag",onClick:function(){function N(){return l("setScreen",{setScreen:9})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"View Shipping Logs",icon:"clipboard-list",onClick:function(){function N(){return l("setScreen",{setScreen:10})}return N}()})})]}),!!g&&(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Button,{content:"Send Station-Wide Announcement",icon:"bullhorn",onClick:function(){function N(){return l("setScreen",{setScreen:8})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Button,{content:h?"Speaker Off":"Speaker On",selected:!h,icon:h?"volume-mute":"volume-up",onClick:function(){function N(){return l("toggleSilent")}return N}()})})]})},V=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.department,g,h;switch(u.purpose){case"ASSISTANCE":g=v.assist_dept,h="Request assistance from another department";break;case"SUPPLIES":g=v.supply_dept,h="Request supplies from another department";break;case"INFO":g=v.info_dept,h="Relay information to another department";break}return(0,e.createComponentVNode)(2,t.Section,{title:h,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function C(){return l("setScreen",{setScreen:0})}return C}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:g.filter(function(C){return C!==b}).map(function(C){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:C,children:[(0,e.createComponentVNode)(2,t.Button,{content:"Message",icon:"envelope",onClick:function(){function N(){return l("writeInput",{write:C,priority:1})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"High Priority",icon:"exclamation-circle",onClick:function(){function N(){return l("writeInput",{write:C,priority:2})}return N}()})]},C)})})})},k=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b;switch(u.type){case"SUCCESS":b="Message sent successfully";break;case"FAIL":b="Request supplies from another department";break}return(0,e.createComponentVNode)(2,t.Section,{title:b,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function g(){return l("setScreen",{setScreen:0})}return g}()})})},S=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b,g;switch(u.type){case"MESSAGES":b=v.message_log,g="Message Log";break;case"SHIPPING":b=v.shipping_log,g="Shipping label print log";break}return(0,e.createComponentVNode)(2,t.Section,{title:g,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function h(){return l("setScreen",{setScreen:0})}return h}()}),children:b.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{className:"RequestConsole__message",children:h},h)})})},p=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.recipient,g=v.message,h=v.msgVerified,C=v.msgStamped;return(0,e.createComponentVNode)(2,t.Section,{title:"Message Authentication",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function N(){return l("setScreen",{setScreen:0})}return N}()}),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Recipient",children:b}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message",children:g}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Validated by",color:"green",children:h}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Stamped by",color:"blue",children:C})]}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:1,textAlign:"center",content:"Send Message",icon:"envelope",onClick:function(){function N(){return l("department",{department:b})}return N}()})]})},i=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.message,g=v.announceAuth;return(0,e.createComponentVNode)(2,t.Section,{title:"Station-Wide Announcement",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function h(){return l("setScreen",{setScreen:0})}return h}()}),children:[(0,e.createComponentVNode)(2,t.Button,{content:b||"Edit Message",icon:"edit",onClick:function(){function h(){return l("writeAnnouncement")}return h}()}),g?(0,e.createComponentVNode)(2,t.Box,{mt:1,color:"green",children:"ID verified. Authentication accepted."}):(0,e.createComponentVNode)(2,t.Box,{mt:1,children:"Swipe your ID card to authenticate yourself."}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:1,textAlign:"center",content:"Send Announcement",icon:"bullhorn",disabled:!(g&&b),onClick:function(){function h(){return l("sendAnnouncement")}return h}()})]})},c=function(u,d){var f=(0,a.useBackend)(d),l=f.act,v=f.data,b=v.shipDest,g=v.msgVerified,h=v.ship_dept;return(0,e.createComponentVNode)(2,t.Section,{title:"Print Shipping Label",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function C(){return l("setScreen",{setScreen:0})}return C}()}),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",children:b}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Validated by",children:g})]}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:1,textAlign:"center",content:"Print Label",icon:"print",disabled:!(b&&g),onClick:function(){function C(){return l("printLabel")}return C}()}),(0,e.createComponentVNode)(2,t.Section,{title:"Destinations",mt:1,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:h.map(function(C){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:C,children:(0,e.createComponentVNode)(2,t.Button,{content:b===C?"Selected":"Select",selected:b===C,onClick:function(){function N(){return l("shipSelect",{shipSelect:C})}return N}()})},C)})})})]})}},3786:function(I,r,n){"use strict";r.__esModule=!0,r.RequestManager=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),s=n(98595);/** + */var y=(0,t.createLogger)("hotkeys"),V={},k=[e.KEY_ESCAPE,e.KEY_ENTER,e.KEY_SPACE,e.KEY_TAB,e.KEY_CTRL,e.KEY_SHIFT,e.KEY_UP,e.KEY_DOWN,e.KEY_LEFT,e.KEY_RIGHT],S={},p=function(c){if(c===16)return"Shift";if(c===17)return"Ctrl";if(c===18)return"Alt";if(c===33)return"Northeast";if(c===34)return"Southeast";if(c===35)return"Southwest";if(c===36)return"Northwest";if(c===37)return"West";if(c===38)return"North";if(c===39)return"East";if(c===40)return"South";if(c===45)return"Insert";if(c===46)return"Delete";if(c>=48&&c<=57||c>=65&&c<=90)return String.fromCharCode(c);if(c>=96&&c<=105)return"Numpad"+(c-96);if(c>=112&&c<=123)return"F"+(c-111);if(c===188)return",";if(c===189)return"-";if(c===190)return"."},i=function(c){var v=String(c);if(v==="Ctrl+F5"||v==="Ctrl+R"){location.reload();return}if(v!=="Ctrl+F"&&!(c.event.defaultPrevented||c.isModifierKey()||k.includes(c.code))){v==="F5"&&(c.event.preventDefault(),c.event.returnValue=!1);var b=p(c.code);if(b){var g=V[b];if(g)return y.debug("macro",g),Byond.command(g);if(c.isDown()&&!S[b]){S[b]=!0;var h='KeyDown "'+b+'"';return y.debug(h),Byond.command(h)}if(c.isUp()&&S[b]){S[b]=!1;var C='KeyUp "'+b+'"';return y.debug(C),Byond.command(C)}}}},l=r.acquireHotKey=function(){function m(c){k.push(c)}return m}(),f=r.releaseHotKey=function(){function m(c){var v=k.indexOf(c);v>=0&&k.splice(v,1)}return m}(),u=r.releaseHeldKeys=function(){function m(){for(var c=0,v=Object.keys(S);c=75?l="green":i.integrity>=25?l="yellow":l="red",(0,e.createComponentVNode)(2,o.Window,{width:600,height:420,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:i.name,children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:l,value:i.integrity/100})})}),(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h2",null,i.flushing===1?"Wipe of AI in progress...":"",0)})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Laws",children:!!i.has_laws&&(0,e.createComponentVNode)(2,t.Box,{children:i.laws.map(function(f,u){return(0,e.createComponentVNode)(2,t.Box,{children:f},u)})})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h3",null,"No laws detected.",16)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wireless Activity",children:(0,e.createComponentVNode)(2,t.Button,{width:10,icon:i.wireless?"check":"times",content:i.wireless?"Enabled":"Disabled",color:i.wireless?"green":"red",onClick:function(){function f(){return p("wireless")}return f}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subspace Transceiver",children:(0,e.createComponentVNode)(2,t.Button,{width:10,icon:i.radio?"check":"times",content:i.radio?"Enabled":"Disabled",color:i.radio?"green":"red",onClick:function(){function f(){return p("radio")}return f}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wipe",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{width:10,icon:"trash-alt",confirmIcon:"trash-alt",disabled:i.flushing||i.integrity===0,confirmColor:"red",content:"Wipe AI",onClick:function(){function f(){return p("wipe")}return f}()})})]})})})]})})})}return y}()},39454:function(I,r,n){"use strict";r.__esModule=!0,r.AIFixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.AIFixer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;if(i.occupant===null)return(0,e.createComponentVNode)(2,o.Window,{width:550,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Stored AI",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"robot",size:5,color:"silver"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"h3",null,"No Artificial Intelligence detected.",16)]})})})})});var l=!0;(i.stat===2||i.stat===null)&&(l=!1);var f=null;i.integrity>=75?f="green":i.integrity>=25?f="yellow":f="red";var u=!0;return i.integrity>=100&&i.stat!==2&&(u=!1),(0,e.createComponentVNode)(2,o.Window,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:i.occupant,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:f,value:i.integrity/100})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:l?"green":"red",children:l?"Functional":"Non-Functional"})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Laws",children:!!i.has_laws&&(0,e.createComponentVNode)(2,t.Box,{children:i.laws.map(function(s,m){return(0,e.createComponentVNode)(2,t.Box,{inline:!0,children:s},m)})})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h3",null,"No laws detected.",16)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wireless Activity",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.wireless?"times":"check",content:i.wireless?"Disabled":"Enabled",color:i.wireless?"red":"green",onClick:function(){function s(){return p("wireless")}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subspace Transceiver",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.radio?"times":"check",content:i.radio?"Disabled":"Enabled",color:i.radio?"red":"green",onClick:function(){function s(){return p("radio")}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Start Repairs",children:(0,e.createComponentVNode)(2,t.Button,{icon:"wrench",disabled:!u||i.active,content:!u||i.active?"Already Repaired":"Repair",onClick:function(){function s(){return p("fix")}return s}()})})]}),(0,e.createComponentVNode)(2,t.Box,{color:"green",lineHeight:2,children:i.active?"Reconstruction in progress.":""})]})})]})})})}return y}()},88422:function(I,r,n){"use strict";r.__esModule=!0,r.APC=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(195),y=r.APC=function(){function p(i,l){return(0,e.createComponentVNode)(2,o.Window,{width:510,height:435,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,S)})})}return p}(),V={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"}},k={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=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.locked&&!s.siliconUser,c=s.normallyLocked,v=V[s.externalPower]||V[0],b=V[s.chargingStatus]||V[0],g=s.powerChannels||[],h=k[s.malfStatus]||k[0],C=s.powerCellStatus/100;return(0,e.createFragment)([(0,e.createComponentVNode)(2,d.InterfaceLockNoticeBox),(0,e.createComponentVNode)(2,t.Section,{title:"Power Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Main Breaker",color:v.color,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:s.isOperating?"power-off":"times",content:s.isOperating?"On":"Off",selected:s.isOperating&&!m,color:s.isOperating?"":"bad",disabled:m,onClick:function(){function N(){return u("breaker")}return N}()}),children:["[ ",v.externalPowerText," ]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power Cell",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:"good",value:C})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge Mode",color:b.color,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:s.chargeMode?"sync":"times",content:s.chargeMode?"Auto":"Off",selected:s.chargeMode,disabled:m,onClick:function(){function N(){return u("charge")}return N}()}),children:["[ ",b.chargingText," ]"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Power Channels",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[g.map(function(N){var x=N.topicParams;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:N.title,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,mx:2,color:N.status>=2?"good":"bad",children:N.status>=2?"On":"Off"}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Auto",selected:!m&&(N.status===1||N.status===3),disabled:m,onClick:function(){function B(){return u("channel",x.auto)}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:"On",selected:!m&&N.status===2,disabled:m,onClick:function(){function B(){return u("channel",x.on)}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Off",selected:!m&&N.status===0,disabled:m,onClick:function(){function B(){return u("channel",x.off)}return B}()})],4),children:[N.powerLoad," W"]},N.title)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Load",children:(0,e.createVNode)(1,"b",null,[s.totalLoad,(0,e.createTextVNode)(" W")],0)})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Misc",buttons:!!s.siliconUser&&(0,e.createFragment)([!!s.malfStatus&&(0,e.createComponentVNode)(2,t.Button,{icon:h.icon,content:h.content,color:"bad",onClick:function(){function N(){return u(h.action)}return N}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){function N(){return u("overload")}return N}()})],0),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cover Lock",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.4,icon:s.coverLocked?"lock":"unlock",content:s.coverLocked?"Engaged":"Disengaged",disabled:m,onClick:function(){function N(){return u("cover")}return N}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"lightbulb-o",content:s.nightshiftLights?"Enabled":"Disabled",onClick:function(){function N(){return u("toggle_nightshift")}return N}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Lighting Fallback",buttons:(0,e.createComponentVNode)(2,t.Button,{mt:.4,icon:"lightbulb-o",content:s.emergencyLights?"Engaged":"Disengaged",disabled:m,onClick:function(){function N(){return u("emergency_lighting")}return N}()})})]})})],4)}},99660:function(I,r,n){"use strict";r.__esModule=!0,r.ATM=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.ATM=function(){function u(s,m){var c=(0,a.useBackend)(m),v=c.act,b=c.data,g=b.view_screen,h=b.authenticated_account,C=b.ticks_left_locked_down,N=b.linked_db,x;if(C>0)x=(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle"}),"Maximum number of pin attempts exceeded! Access to this ATM has been temporarily disabled."]});else if(!N)x=(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle"}),"Unable to connect to accounts database, please retry and if the issue persists contact Nanotrasen IT support."]});else if(h)switch(g){case 1:x=(0,e.createComponentVNode)(2,V);break;case 2:x=(0,e.createComponentVNode)(2,k);break;case 3:x=(0,e.createComponentVNode)(2,l);break;case 4:x=(0,e.createComponentVNode)(2,S);break;default:x=(0,e.createComponentVNode)(2,p)}else x=(0,e.createComponentVNode)(2,i);return(0,e.createComponentVNode)(2,o.Window,{width:550,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,y),(0,e.createComponentVNode)(2,t.Section,{children:x})]})})}return u}(),y=function(s,m){var c=(0,a.useBackend)(m),v=c.act,b=c.data,g=b.machine_id,h=b.held_card_name;return(0,e.createComponentVNode)(2,t.Section,{title:"Nanotrasen Automatic Teller Machine",children:[(0,e.createComponentVNode)(2,t.Box,{children:"For all your monetary needs!"}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Card",children:(0,e.createComponentVNode)(2,t.Button,{content:h,icon:"eject",onClick:function(){function C(){return v("insert_card")}return C}()})})})]})},V=function(s,m){var c=(0,a.useBackend)(m),v=c.act,b=c.data,g=b.security_level;return(0,e.createComponentVNode)(2,t.Section,{title:"Select a new security level for this account",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Account Number",icon:"unlock",selected:g===0,onClick:function(){function h(){return v("change_security_level",{new_security_level:0})}return h}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"Either the account number or card is required to access this account. EFTPOS transactions will require a card."}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Account Pin",icon:"unlock",selected:g===1,onClick:function(){function h(){return v("change_security_level",{new_security_level:1})}return h}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"An account number and pin must be manually entered to access this account and process transactions."}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Card and Account Pin",icon:"unlock",selected:g===2,onClick:function(){function h(){return v("change_security_level",{new_security_level:2})}return h}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"An account number, pin and card are required to access this account and process transactions."})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,f)]})},k=function(s,m){var c=(0,a.useBackend)(m),v=c.act,b=c.data,g=(0,a.useLocalState)(m,"targetAccNumber",0),h=g[0],C=g[1],N=(0,a.useLocalState)(m,"fundsAmount",0),x=N[0],B=N[1],L=(0,a.useLocalState)(m,"purpose",0),w=L[0],A=L[1],T=b.money;return(0,e.createComponentVNode)(2,t.Section,{title:"Transfer Fund",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account Balance",children:["$",T]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Account Number",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"7 Digit Number",onInput:function(){function E(O,P){return C(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Funds to Transfer",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function E(O,P){return B(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transaction Purpose",children:(0,e.createComponentVNode)(2,t.Input,{fluid:!0,onInput:function(){function E(O,P){return A(P)}return E}()})})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.Button,{content:"Transfer",icon:"sign-out-alt",onClick:function(){function E(){return v("transfer",{target_acc_number:h,funds_amount:x,purpose:w})}return E}()}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,f)]})},S=function(s,m){var c=(0,a.useBackend)(m),v=c.act,b=c.data,g=b.insurance_type;return(0,e.createComponentVNode)(2,t.Section,{title:"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043D\u043E\u0432\u044B\u0439 \u0442\u0438\u043F \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u043A\u0438",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0422\u0438\u043F",children:[(0,e.createComponentVNode)(2,t.Button,{content:"\u041D\u0435\u0442 (0)",icon:"unlock",selected:g==="None",onClick:function(){function h(){return v("change_insurance_type",{new_insurance_type:"None"})}return h}()}),(0,e.createComponentVNode)(2,t.Button,{content:"\u0411\u044E\u0434\u0436\u0435\u0442\u043D\u0430\u044F (0)",icon:"unlock",selected:g==="Bugetary",onClick:function(){function h(){return v("change_insurance_type",{new_insurance_type:"Bugetary"})}return h}()}),(0,e.createComponentVNode)(2,t.Button,{content:"\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u0430\u044F (500)",icon:"unlock",selected:g==="Standart",onClick:function(){function h(){return v("change_insurance_type",{new_insurance_type:"Standart"})}return h}()}),(0,e.createComponentVNode)(2,t.Button,{content:"\u0414\u0435\u043B\u044E\u043A\u0441 (2000)",icon:"unlock",selected:g==="Deluxe",onClick:function(){function h(){return v("change_insurance_type",{new_insurance_type:"Deluxe"})}return h}()})]})}),(0,e.createComponentVNode)(2,f)]})},p=function(s,m){var c=(0,a.useBackend)(m),v=c.act,b=c.data,g=(0,a.useLocalState)(m,"fundsAmount",0),h=g[0],C=g[1],N=(0,a.useLocalState)(m,"insuranceAmount",0),x=N[0],B=N[1],L=b.owner_name,w=b.money,A=b.insurance;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Welcome, "+L,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Logout",icon:"sign-out-alt",onClick:function(){function T(){return v("logout")}return T}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account Balance",children:["$",w]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Withdrawal Amount",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function T(E,O){return C(O)}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Withdraw Funds",icon:"sign-out-alt",onClick:function(){function T(){return v("withdrawal",{funds_amount:h})}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Insurance Points",children:["$",A]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Adding Insurance",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function T(E,O){return B(O)}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Add insurance points",icon:"sign-out-alt",onClick:function(){function T(){return v("insurance",{insurance_amount:x})}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Toggle auto-replenishment of insurance",icon:"sign-out-alt",onClick:function(){function T(){return v("insurance_replenishment",{})}return T}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Menu",children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Change account security level",icon:"lock",onClick:function(){function T(){return v("view_screen",{view_screen:1})}return T}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Make transfer",icon:"exchange-alt",onClick:function(){function T(){return v("view_screen",{view_screen:2})}return T}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"View transaction log",icon:"list",onClick:function(){function T(){return v("view_screen",{view_screen:3})}return T}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Change type of insurance",icon:"lock",onClick:function(){function T(){return v("view_screen",{view_screen:4})}return T}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Print balance statement",icon:"print",onClick:function(){function T(){return v("balance_statement")}return T}()})})]})],4)},i=function(s,m){var c=(0,a.useBackend)(m),v=c.act,b=c.data,g=(0,a.useLocalState)(m,"accountID",null),h=g[0],C=g[1],N=(0,a.useLocalState)(m,"accountPin",null),x=N[0],B=N[1],L=b.machine_id,w=b.held_card_name;return(0,e.createComponentVNode)(2,t.Section,{title:"Insert card or enter ID and pin to login",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account ID",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"6 Digit Number",onInput:function(){function A(T,E){return C(E)}return A}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pin",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"6 Digit Number",onInput:function(){function A(T,E){return B(E)}return A}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Login",icon:"sign-in-alt",onClick:function(){function A(){return v("attempt_auth",{account_num:h,account_pin:x})}return A}()})})]})})},l=function(s,m){var c=(0,a.useBackend)(m),v=c.act,b=c.data,g=b.transaction_log;return(0,e.createComponentVNode)(2,t.Section,{title:"Transactions",children:[(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Timestamp"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Reason"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Value"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Terminal"})]}),g.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.time}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.purpose}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:h.is_deposit?"green":"red",children:["$",h.amount]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.target_name})]},h)})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,f)]})},f=function(s,m){var c=(0,a.useBackend)(m),v=c.act,b=c.data;return(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"sign-out-alt",onClick:function(){function g(){return v("view_screen",{view_screen:0})}return g}()})}},86423:function(I,r,n){"use strict";r.__esModule=!0,r.AccountsUplinkTerminal=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),d=n(36352),y=n(98595),V=n(321),k=n(5485),S=r.AccountsUplinkTerminal=function(){function s(m,c){var v=(0,t.useBackend)(c),b=v.act,g=v.data,h=g.loginState,C=g.currentPage,N;if(h.logged_in)C===1?N=(0,e.createComponentVNode)(2,p):C===2?N=(0,e.createComponentVNode)(2,f):C===3&&(N=(0,e.createComponentVNode)(2,u));else return(0,e.createComponentVNode)(2,y.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,k.LoginScreen)})})});return(0,e.createComponentVNode)(2,y.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,y.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.LoginInfo),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:N})]})})})}return s}(),p=function(m,c){var v=(0,t.useBackend)(c),b=v.act,g=v.data,h=g.accounts,C=(0,t.useLocalState)(c,"searchText",""),N=C[0],x=C[1],B=(0,t.useLocalState)(c,"sortId","owner_name"),L=B[0],w=B[1],A=(0,t.useLocalState)(c,"sortOrder",!0),T=A[0],E=A[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"AccountsUplinkTerminal__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,i,{id:"owner_name",children:"Account Holder"}),(0,e.createComponentVNode)(2,i,{id:"account_number",children:"Account Number"}),(0,e.createComponentVNode)(2,i,{id:"suspended",children:"Account Status"}),(0,e.createComponentVNode)(2,i,{id:"money",children:"Account Balance"})]}),h.filter((0,a.createSearch)(N,function(O){return O.owner_name+"|"+O.account_number+"|"+O.suspended+"|"+O.money})).sort(function(O,P){var R=T?1:-1;return O[L].localeCompare(P[L])*R}).map(function(O){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"AccountsUplinkTerminal__listRow--"+O.suspended,onClick:function(){function P(){return b("view_account_detail",{index:O.account_index})}return P}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",O.owner_name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:["#",O.account_number]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.suspended}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.money})]},O.account_number)})]})})})]})},i=function(m,c){var v=(0,t.useLocalState)(c,"sortId","name"),b=v[0],g=v[1],h=(0,t.useLocalState)(c,"sortOrder",!0),C=h[0],N=h[1],x=m.id,B=m.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:b!==x&&"transparent",width:"100%",onClick:function(){function L(){b===x?N(!C):(g(x),N(!0))}return L}(),children:[B,b===x&&(0,e.createComponentVNode)(2,o.Icon,{name:C?"sort-up":"sort-down",ml:"0.25rem;"})]})})},l=function(m,c){var v=(0,t.useBackend)(c),b=v.act,g=v.data,h=g.is_printing,C=(0,t.useLocalState)(c,"searchText",""),N=C[0],x=C[1];return(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Button,{content:"New Account",icon:"plus",onClick:function(){function B(){return b("create_new_account")}return B}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"print",content:"Print Account List",disabled:h,ml:"0.25rem",onClick:function(){function B(){return b("print_records")}return B}()})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by account holder, number, status",width:"100%",onInput:function(){function B(L,w){return x(w)}return B}()})})]})},f=function(m,c){var v=(0,t.useBackend)(c),b=v.act,g=v.data,h=g.account_number,C=g.owner_name,N=g.money,x=g.suspended,B=g.transactions;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"#"+h+" / "+C,buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-left",content:"Back",onClick:function(){function L(){return b("back")}return L}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Number",children:["#",h]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Holder",children:C}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Balance",children:N}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Status",color:x?"red":"green",children:[x?"Suspended":"Active",(0,e.createComponentVNode)(2,o.Button,{ml:1,content:x?"Unsuspend":"Suspend",icon:x?"unlock":"lock",onClick:function(){function L(){return b("toggle_suspension")}return L}()})]})]})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Transactions",children:(0,e.createComponentVNode)(2,o.Table,{children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Timestamp"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Reason"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Value"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Terminal"})]}),B.map(function(L){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:L.time}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:L.purpose}),(0,e.createComponentVNode)(2,o.Table.Cell,{color:L.is_deposit?"green":"red",children:["$",L.amount]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:L.target_name})]},L)})]})})})]})},u=function(m,c){var v=(0,t.useBackend)(c),b=v.act,g=v.data,h=(0,t.useLocalState)(c,"accName",""),C=h[0],N=h[1],x=(0,t.useLocalState)(c,"accDeposit",""),B=x[0],L=x[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Create Account",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-left",content:"Back",onClick:function(){function w(){return b("back")}return w}()}),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Holder",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Name Here",onChange:function(){function w(A,T){return N(T)}return w}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Initial Deposit",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"0",onChange:function(){function w(A,T){return L(T)}return w}()})})]}),(0,e.createComponentVNode)(2,o.Button,{mt:1,fluid:!0,content:"Create Account",onClick:function(){function w(){return b("finalise_create_account",{holder_name:C,starting_funds:B})}return w}()})]})}},79571:function(I,r,n){"use strict";r.__esModule=!0,r.AgentCardSLSlots=r.AgentCardInfo=r.AgentCardAppearances=r.AgentCard=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),d=n(98595),y=r.AgentCard=function(){function p(i,l){var f=(0,t.useLocalState)(l,"tabIndex",0),u=f[0],s=f[1],m=function(){function c(v){switch(v){case 0:return(0,e.createComponentVNode)(2,V);case 1:return(0,e.createComponentVNode)(2,k);case 2:return(0,e.createComponentVNode)(2,S);default:return(0,e.createComponentVNode)(2,V)}}return c}();return(0,e.createComponentVNode)(2,d.Window,{width:500,height:475,theme:"syndicate",children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,o.Box,{fillPositionedParent:!0,overflow:"hidden",children:[(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:u===0,onClick:function(){function c(){return s(0)}return c}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"table"})," Card Info"]},"Card Info"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:u===1,onClick:function(){function c(){return s(1)}return c}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"id-card"})," Appearance"]},"Appearance"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:u===2,onClick:function(){function c(){return s(2)}return c}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"arrow-down"})," Save/Load Card Info"]},"Save/Load Card Info")]}),m(u)]})})})}return p}(),V=r.AgentCardInfo=function(){function p(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f.data,m=s.registered_name,c=s.sex,v=s.age,b=s.assignment,g=s.associated_account_number,h=s.blood_type,C=s.dna_hash,N=s.fingerprint_hash,x=s.photo,B=s.ai_tracking;return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Section,{title:"Card Info",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Button,{content:m||"[UNSET]",onClick:function(){function L(){return u("change_name")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sex",children:(0,e.createComponentVNode)(2,o.Button,{iconRight:!1,content:c||"[UNSET]",onClick:function(){function L(){return u("change_sex")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Age",children:(0,e.createComponentVNode)(2,o.Button,{content:v||"[UNSET]",onClick:function(){function L(){return u("change_age")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Rank",children:(0,e.createComponentVNode)(2,o.Button,{content:b||"[UNSET]",onClick:function(){function L(){return u("change_occupation")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Fingerprints",children:(0,e.createComponentVNode)(2,o.Button,{content:N||"[UNSET]",onClick:function(){function L(){return u("change_fingerprints")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Blood Type",children:(0,e.createComponentVNode)(2,o.Button,{content:h||"[UNSET]",onClick:function(){function L(){return u("change_blood_type")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"DNA Hash",children:(0,e.createComponentVNode)(2,o.Button,{content:C||"[UNSET]",onClick:function(){function L(){return u("change_dna_hash")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Money Account",children:(0,e.createComponentVNode)(2,o.Button,{content:g||"[UNSET]",onClick:function(){function L(){return u("change_money_account")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo",children:(0,e.createComponentVNode)(2,o.Button,{content:x?"Update":"[UNSET]",onClick:function(){function L(){return u("change_photo")}return L}()})})]})}),(0,e.createComponentVNode)(2,o.Section,{title:"Card Settings",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Card Info",children:(0,e.createComponentVNode)(2,o.Button,{content:"Delete Card Info",onClick:function(){function L(){return u("delete_info")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Access",children:(0,e.createComponentVNode)(2,o.Button,{content:"Reset Access",onClick:function(){function L(){return u("clear_access")}return L}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"AI Tracking",children:(0,e.createComponentVNode)(2,o.Button,{content:B?"Untrackable":"Trackable",onClick:function(){function L(){return u("change_ai_tracking")}return L}()})})]})})],4)}return p}(),k=r.AgentCardAppearances=function(){function p(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f.data,m=s.appearances;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Card Appearance",children:m.map(function(c){return(0,e.createComponentVNode)(2,o.ImageButton,{tooltip:c,vertical:!0,asset:!0,style:{margin:"1px"},image:c,imageAsset:"id_card64x64",onclick:function(){function v(){return u("change_appearance_new",{new_appearance:c})}return v}()},c)})})}return p}(),S=r.AgentCardSLSlots=function(){function p(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f.data,m=s.saved_info;return(0,e.createComponentVNode)(2,o.Section,{title:"Save/Load Manager",style:{"line-height":"25px"},children:(0,e.createComponentVNode)(2,o.LabeledList,{children:m.map(function(c){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:c.registered_name?c.registered_name+", "+c.assignment:"Slot "+c.id,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Clear",onClick:function(){function v(){return u("clear_slot",{slot:c.id})}return v}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Save",onClick:function(){function v(){return u("save_slot",{slot:c.id})}return v}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Load",disabled:!c.registered_name,onClick:function(){function v(){return u("load_slot",{slot:c.id})}return v}()})],4)},c.id)})})})}return p}()},56793:function(I,r,n){"use strict";r.__esModule=!0,r.AiAirlock=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},y=r.AiAirlock=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=d[l.power.main]||d[0],u=d[l.power.backup]||d[0],s=d[l.shock]||d[0];return(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Power Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Main",color:f.color,buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:"lightbulb-o",disabled:!l.power.main,content:"Disrupt",onClick:function(){function m(){return i("disrupt-main")}return m}()}),children:[l.power.main?"Online":"Offline"," ",!l.wires.main_power&&"[Wires have been cut!]"||l.power.main_timeleft>0&&"["+l.power.main_timeleft+"s]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:"lightbulb-o",disabled:!l.power.backup,content:"Disrupt",onClick:function(){function m(){return i("disrupt-backup")}return m}()}),children:[l.power.backup?"Online":"Offline"," ",!l.wires.backup_power&&"[Wires have been cut!]"||l.power.backup_timeleft>0&&"["+l.power.backup_timeleft+"s]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Electrify",color:s.color,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{mr:.5,icon:"wrench",disabled:!(l.wires.shock&&l.shock!==2),content:"Restore",onClick:function(){function m(){return i("shock-restore")}return m}()}),(0,e.createComponentVNode)(2,t.Button,{mr:.5,icon:"bolt",disabled:!l.wires.shock,content:"Temporary",onClick:function(){function m(){return i("shock-temp")}return m}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"bolt",disabled:!l.wires.shock||l.shock===0,content:"Permanent",onClick:function(){function m(){return i("shock-perm")}return m}()})],4),children:[l.shock===2?"Safe":"Electrified"," ",!l.wires.shock&&"[Wires have been cut!]"||l.shock_timeleft>0&&"["+l.shock_timeleft+"s]"||l.shock_timeleft===-1&&"[Permanent]"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Access and Door Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:l.id_scanner?"power-off":"times",content:l.id_scanner?"Enabled":"Disabled",selected:l.id_scanner,disabled:!l.wires.id_scanner,onClick:function(){function m(){return i("idscan-toggle")}return m}()}),children:!l.wires.id_scanner&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Access",buttons:(0,e.createComponentVNode)(2,t.Button,{width:6.5,icon:l.emergency?"power-off":"times",content:l.emergency?"Enabled":"Disabled",selected:l.emergency,onClick:function(){function m(){return i("emergency-toggle")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:l.locked?"lock":"unlock",content:l.locked?"Lowered":"Raised",selected:l.locked,disabled:!l.wires.bolts,onClick:function(){function m(){return i("bolt-toggle")}return m}()}),children:!l.wires.bolts&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:l.lights?"power-off":"times",content:l.lights?"Enabled":"Disabled",selected:l.lights,disabled:!l.wires.lights,onClick:function(){function m(){return i("light-toggle")}return m}()}),children:!l.wires.lights&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:l.safe?"power-off":"times",content:l.safe?"Enabled":"Disabled",selected:l.safe,disabled:!l.wires.safe,onClick:function(){function m(){return i("safe-toggle")}return m}()}),children:!l.wires.safe&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:l.speed?"power-off":"times",content:l.speed?"Enabled":"Disabled",selected:l.speed,disabled:!l.wires.timing,onClick:function(){function m(){return i("speed-toggle")}return m}()}),children:!l.wires.timing&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:l.opened?"sign-out-alt":"sign-in-alt",content:l.opened?"Open":"Closed",selected:l.opened,disabled:l.locked||l.welded,onClick:function(){function m(){return i("open-close")}return m}()}),children:!!(l.locked||l.welded)&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("[Door is "),l.locked?"bolted":"",l.locked&&l.welded?" and ":"",l.welded?"welded":"",(0,e.createTextVNode)("!]")],0)})]})})]})})}return V}()},72475:function(I,r,n){"use strict";r.__esModule=!0,r.AirAlarm=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(195),y=r.AirAlarm=function(){function s(m,c){var v=(0,a.useBackend)(c),b=v.act,g=v.data,h=g.locked;return(0,e.createComponentVNode)(2,o.Window,{width:570,height:h?310:755,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,d.InterfaceLockNoticeBox),(0,e.createComponentVNode)(2,k),!h&&(0,e.createFragment)([(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p)],4)]})})}return s}(),V=function(m){return m===0?"green":m===1?"orange":"red"},k=function(m,c){var v=(0,a.useBackend)(c),b=v.act,g=v.data,h=g.air,C=g.mode,N=g.atmos_alarm,x=g.locked,B=g.alarmActivated,L=g.rcon,w=g.target_temp,A;return h.danger.overall===0?N===0?A="Optimal":A="Caution: Atmos alert in area":h.danger.overall===1?A="Caution":A="DANGER: Internals Required",(0,e.createComponentVNode)(2,t.Section,{title:"Air Status",children:h?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:(0,e.createComponentVNode)(2,t.Box,{color:V(h.danger.pressure),children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:h.pressure})," kPa",!x&&(0,e.createFragment)([(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,t.Button,{content:C===3?"Deactivate Panic Siphon":"Activate Panic Siphon",selected:C===3,icon:"exclamation-triangle",onClick:function(){function T(){return b("mode",{mode:C===3?1:3})}return T}()})],4)]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.oxygen/100,fractionDigits:"1",color:V(h.danger.oxygen)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrogen",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.nitrogen/100,fractionDigits:"1",color:V(h.danger.nitrogen)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Carbon Dioxide",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.co2/100,fractionDigits:"1",color:V(h.danger.co2)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Toxins",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.plasma/100,fractionDigits:"1",color:V(h.danger.plasma)})}),h.contents.n2o>.1&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrous Oxide",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.n2o/100,fractionDigits:"1",color:V(h.danger.n2o)})}),h.contents.other>.1&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Other",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:h.contents.other/100,fractionDigits:"1",color:V(h.danger.other)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.Box,{color:V(h.danger.temperature),children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:h.temperature})," K /"," ",(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:h.temperature_c})," C\xA0",(0,e.createComponentVNode)(2,t.Button,{icon:"thermometer-full",content:w+" C",onClick:function(){function T(){return b("temperature")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:h.thermostat_state?"On":"Off",selected:h.thermostat_state,icon:"power-off",onClick:function(){function T(){return b("thermostat_state")}return T}()})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Local Status",children:(0,e.createComponentVNode)(2,t.Box,{color:V(h.danger.overall),children:[A,!x&&(0,e.createFragment)([(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,t.Button,{content:B?"Reset Alarm":"Activate Alarm",selected:B,onClick:function(){function T(){return b(B?"atmos_reset":"atmos_alarm")}return T}()})],4)]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remote Control Settings",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Off",selected:L===1,onClick:function(){function T(){return b("set_rcon",{rcon:1})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Auto",selected:L===2,onClick:function(){function T(){return b("set_rcon",{rcon:2})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"On",selected:L===3,onClick:function(){function T(){return b("set_rcon",{rcon:3})}return T}()})]})]}):(0,e.createComponentVNode)(2,t.Box,{children:"Unable to acquire air sample!"})})},S=function(m,c){var v=(0,a.useLocalState)(c,"tabIndex",0),b=v[0],g=v[1];return(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:b===0,onClick:function(){function h(){return g(0)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"sign-out-alt"})," Vent Control"]},"Vents"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:b===1,onClick:function(){function h(){return g(1)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"sign-in-alt"})," Scrubber Control"]},"Scrubbers"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:b===2,onClick:function(){function h(){return g(2)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cog"})," Mode"]},"Mode"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:b===3,onClick:function(){function h(){return g(3)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"tachometer-alt"})," Thresholds"]},"Thresholds")]})},p=function(m,c){var v=(0,a.useLocalState)(c,"tabIndex",0),b=v[0],g=v[1];switch(b){case 0:return(0,e.createComponentVNode)(2,i);case 1:return(0,e.createComponentVNode)(2,l);case 2:return(0,e.createComponentVNode)(2,f);case 3:return(0,e.createComponentVNode)(2,u);default:return"WE SHOULDN'T BE HERE!"}},i=function(m,c){var v=(0,a.useBackend)(c),b=v.act,g=v.data,h=g.vents;return h.map(function(C){return(0,e.createComponentVNode)(2,t.Section,{title:C.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{content:C.power?"On":"Off",selected:C.power,icon:"power-off",onClick:function(){function N(){return b("command",{cmd:"power",val:C.power===1?0:1,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:C.direction==="release"?"Blowing":"Siphoning",icon:C.direction==="release"?"sign-out-alt":"sign-in-alt",onClick:function(){function N(){return b("command",{cmd:"direction",val:C.direction==="release"?0:1,id_tag:C.id_tag})}return N}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure Checks",children:[(0,e.createComponentVNode)(2,t.Button,{content:"External",selected:C.checks===1,onClick:function(){function N(){return b("command",{cmd:"checks",val:1,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Internal",selected:C.checks===2,onClick:function(){function N(){return b("command",{cmd:"checks",val:2,id_tag:C.id_tag})}return N}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"External Pressure Target",children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:C.external})," kPa\xA0",(0,e.createComponentVNode)(2,t.Button,{content:"Set",icon:"cog",onClick:function(){function N(){return b("command",{cmd:"set_external_pressure",id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Reset",icon:"redo-alt",onClick:function(){function N(){return b("command",{cmd:"set_external_pressure",val:101.325,id_tag:C.id_tag})}return N}()})]})]})},C.name)})},l=function(m,c){var v=(0,a.useBackend)(c),b=v.act,g=v.data,h=g.scrubbers;return h.map(function(C){return(0,e.createComponentVNode)(2,t.Section,{title:C.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{content:C.power?"On":"Off",selected:C.power,icon:"power-off",onClick:function(){function N(){return b("command",{cmd:"power",val:C.power===1?0:1,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:C.scrubbing?"Scrubbing":"Siphoning",icon:C.scrubbing?"filter":"sign-in-alt",onClick:function(){function N(){return b("command",{cmd:"scrubbing",val:C.scrubbing===0?1:0,id_tag:C.id_tag})}return N}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Range",children:(0,e.createComponentVNode)(2,t.Button,{content:C.widenet?"Extended":"Normal",selected:C.widenet,icon:"expand-arrows-alt",onClick:function(){function N(){return b("command",{cmd:"widenet",val:C.widenet===0?1:0,id_tag:C.id_tag})}return N}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Filtering",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Carbon Dioxide",selected:C.filter_co2,onClick:function(){function N(){return b("command",{cmd:"co2_scrub",val:C.filter_co2===0?1:0,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Plasma",selected:C.filter_toxins,onClick:function(){function N(){return b("command",{cmd:"tox_scrub",val:C.filter_toxins===0?1:0,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Nitrous Oxide",selected:C.filter_n2o,onClick:function(){function N(){return b("command",{cmd:"n2o_scrub",val:C.filter_n2o===0?1:0,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Oxygen",selected:C.filter_o2,onClick:function(){function N(){return b("command",{cmd:"o2_scrub",val:C.filter_o2===0?1:0,id_tag:C.id_tag})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Nitrogen",selected:C.filter_n2,onClick:function(){function N(){return b("command",{cmd:"n2_scrub",val:C.filter_n2===0?1:0,id_tag:C.id_tag})}return N}()})]})]})},C.name)})},f=function(m,c){var v=(0,a.useBackend)(c),b=v.act,g=v.data,h=g.modes,C=g.presets,N=g.emagged,x=g.mode,B=g.preset;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"System Mode",children:(0,e.createComponentVNode)(2,t.Table,{children:h.map(function(L){return(!L.emagonly||L.emagonly&&!!N)&&(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",width:1,children:(0,e.createComponentVNode)(2,t.Button,{content:L.name,icon:"cog",selected:L.id===x,onClick:function(){function w(){return b("mode",{mode:L.id})}return w}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.desc})]},L.name)})})}),(0,e.createComponentVNode)(2,t.Section,{title:"System Presets",children:[(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"After making a selection, the system will automatically cycle in order to remove contaminants."}),(0,e.createComponentVNode)(2,t.Table,{mt:1,children:C.map(function(L){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",width:1,children:(0,e.createComponentVNode)(2,t.Button,{content:L.name,icon:"cog",selected:L.id===B,onClick:function(){function w(){return b("preset",{preset:L.id})}return w}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.desc})]},L.name)})})]})],4)},u=function(m,c){var v=(0,a.useBackend)(c),b=v.act,g=v.data,h=g.thresholds;return(0,e.createComponentVNode)(2,t.Section,{title:"Alarm Thresholds",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"20%",children:"Value"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"red",width:"20%",children:"Danger Min"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"orange",width:"20%",children:"Warning Min"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"orange",width:"20%",children:"Warning Max"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"red",width:"20%",children:"Danger Max"})]}),h.map(function(C){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:C.name}),C.settings.map(function(N){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:N.selected===-1?"Off":N.selected,onClick:function(){function x(){return b("command",{cmd:"set_threshold",env:N.env,var:N.val})}return x}()})},N.val)})]},C.name)})]})})}},12333:function(I,r,n){"use strict";r.__esModule=!0,r.AirlockAccessController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.AirlockAccessController=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.exterior_status,f=i.interior_status,u=i.processing,s,m;return l==="open"?s=(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Lock Exterior Door",icon:"exclamation-triangle",disabled:u,onClick:function(){function c(){return p("force_ext")}return c}()}):s=(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Cycle to Exterior",icon:"arrow-circle-left",disabled:u,onClick:function(){function c(){return p("cycle_ext_door")}return c}()}),f==="open"?m=(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Lock Interior Door",icon:"exclamation-triangle",disabled:u,color:f==="open"?"red":u?"yellow":null,onClick:function(){function c(){return p("force_int")}return c}()}):m=(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Cycle to Interior",icon:"arrow-circle-right",disabled:u,onClick:function(){function c(){return p("cycle_int_door")}return c}()}),(0,e.createComponentVNode)(2,o.Window,{width:330,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Information",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"External Door Status",children:l==="closed"?"Locked":"Open"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Internal Door Status",children:f==="closed"?"Locked":"Open"})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:(0,e.createComponentVNode)(2,t.Box,{children:[s,m]})})]})})}return y}()},28736:function(I,r,n){"use strict";r.__esModule=!0,r.AirlockElectronics=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(49148),y=1,V=2,k=4,S=8,p=r.AirlockElectronics=function(){function f(u,s){return(0,e.createComponentVNode)(2,o.Window,{width:450,height:565,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,l)]})})})}return f}(),i=function(u,s){var m=(0,a.useBackend)(s),c=m.act,v=m.data,b=v.unrestricted_dir;return(0,e.createComponentVNode)(2,t.Section,{title:"Access Control",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,mb:1,children:"Unrestricted Access From:"}),(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-left",content:"East",selected:b&k?"selected":null,onClick:function(){function g(){return c("unrestricted_access",{unres_dir:k})}return g}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-up",content:"South",selected:b&V?"selected":null,onClick:function(){function g(){return c("unrestricted_access",{unres_dir:V})}return g}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-right",content:"West",selected:b&S?"selected":null,onClick:function(){function g(){return c("unrestricted_access",{unres_dir:S})}return g}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-down",content:"North",selected:b&y?"selected":null,onClick:function(){function g(){return c("unrestricted_access",{unres_dir:y})}return g}()})})]})]})})},l=function(u,s){var m=(0,a.useBackend)(s),c=m.act,v=m.data,b=v.selected_accesses,g=v.one_access,h=v.regions;return(0,e.createComponentVNode)(2,d.AccessList,{usedByRcd:1,rcdButtons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:g,content:"One",onClick:function(){function C(){return c("set_one_access",{access:"one"})}return C}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!g,content:"All",onClick:function(){function C(){return c("set_one_access",{access:"all"})}return C}()})],4),accesses:h,selectedList:b,accessMod:function(){function C(N){return c("set",{access:N})}return C}(),grantAll:function(){function C(){return c("grant_all")}return C}(),denyAll:function(){function C(){return c("clear_all")}return C}(),grantDep:function(){function C(N){return c("grant_region",{region:N})}return C}(),denyDep:function(){function C(N){return c("deny_region",{region:N})}return C}()})}},47365:function(I,r,n){"use strict";r.__esModule=!0,r.AlertModal=void 0;var e=n(89005),a=n(51057),t=n(72253),o=n(92986),d=n(36036),y=n(98595),V=-1,k=1,S=r.AlertModal=function(){function l(f,u){var s=(0,t.useBackend)(u),m=s.act,c=s.data,v=c.autofocus,b=c.buttons,g=b===void 0?[]:b,h=c.large_buttons,C=c.message,N=C===void 0?"":C,x=c.timeout,B=c.title,L=(0,t.useLocalState)(u,"selected",0),w=L[0],A=L[1],T=110+(N.length>30?Math.ceil(N.length/4):0)+(N.length&&h?5:0),E=325+(g.length>2?100:0),O=function(){function P(R){w===0&&R===V?A(g.length-1):w===g.length-1&&R===k?A(0):A(w+R)}return P}();return(0,e.createComponentVNode)(2,y.Window,{title:B,height:T,width:E,children:[!!x&&(0,e.createComponentVNode)(2,a.Loader,{value:x}),(0,e.createComponentVNode)(2,y.Window.Content,{onKeyDown:function(){function P(R){var F=window.event?R.which:R.keyCode;F===o.KEY_SPACE||F===o.KEY_ENTER?m("choose",{choice:g[w]}):F===o.KEY_ESCAPE?m("cancel"):F===o.KEY_LEFT?(R.preventDefault(),O(V)):(F===o.KEY_TAB||F===o.KEY_RIGHT)&&(R.preventDefault(),O(k))}return P}(),children:(0,e.createComponentVNode)(2,d.Section,{fill:!0,children:(0,e.createComponentVNode)(2,d.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,m:1,children:(0,e.createComponentVNode)(2,d.Box,{color:"label",overflow:"hidden",children:N})}),(0,e.createComponentVNode)(2,d.Stack.Item,{children:[!!v&&(0,e.createComponentVNode)(2,d.Autofocus),(0,e.createComponentVNode)(2,p,{selected:w})]})]})})})]})}return l}(),p=function(f,u){var s=(0,t.useBackend)(u),m=s.data,c=m.buttons,v=c===void 0?[]:c,b=m.large_buttons,g=m.swapped_buttons,h=f.selected;return(0,e.createComponentVNode)(2,d.Flex,{fill:!0,align:"center",direction:g?"row":"row-reverse",justify:"space-around",wrap:!0,children:v==null?void 0:v.map(function(C,N){return b&&v.length<3?(0,e.createComponentVNode)(2,d.Flex.Item,{grow:!0,children:(0,e.createComponentVNode)(2,i,{button:C,id:N.toString(),selected:h===N})},N):(0,e.createComponentVNode)(2,d.Flex.Item,{grow:b?1:0,children:(0,e.createComponentVNode)(2,i,{button:C,id:N.toString(),selected:h===N})},N)})})},i=function(f,u){var s=(0,t.useBackend)(u),m=s.act,c=s.data,v=c.large_buttons,b=f.button,g=f.selected,h=b.length>7?"100%":7;return(0,e.createComponentVNode)(2,d.Button,{mx:v?1:0,pt:v?.33:0,content:b,fluid:!!v,onClick:function(){function C(){return m("choose",{choice:b})}return C}(),selected:g,textAlign:"center",height:!!v&&2,width:!v&&h})}},71824:function(I,r,n){"use strict";r.__esModule=!0,r.AppearanceChanger=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.AppearanceChanger=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.change_race,u=l.species,s=l.specimen,m=l.change_gender,c=l.gender,v=l.has_gender,b=l.change_eye_color,g=l.change_skin_tone,h=l.change_skin_color,C=l.change_head_accessory_color,N=l.change_hair_color,x=l.change_secondary_hair_color,B=l.change_facial_hair_color,L=l.change_secondary_facial_hair_color,w=l.change_head_marking_color,A=l.change_body_marking_color,T=l.change_tail_marking_color,E=l.change_head_accessory,O=l.head_accessory_styles,P=l.head_accessory_style,R=l.change_hair,F=l.hair_styles,j=l.hair_style,W=l.change_hair_gradient,z=l.change_facial_hair,H=l.facial_hair_styles,$=l.facial_hair_style,G=l.change_head_markings,ne=l.head_marking_styles,Q=l.head_marking_style,he=l.change_body_markings,Ve=l.body_marking_styles,Ne=l.body_marking_style,Be=l.change_tail_markings,Le=l.tail_marking_styles,Ae=l.tail_marking_style,fe=l.change_body_accessory,Z=l.body_accessory_styles,J=l.body_accessory_style,te=l.change_alt_head,ee=l.alt_head_styles,le=l.alt_head_style,ye=!1;return(b||g||h||C||N||x||B||L||w||A||T)&&(ye=!0),(0,e.createComponentVNode)(2,o.Window,{width:800,height:450,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!f&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Species",children:u.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.specimen,selected:me.specimen===s,onClick:function(){function Te(){return i("race",{race:me.specimen})}return Te}()},me.specimen)})}),!!m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gender",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Male",selected:c==="male",onClick:function(){function me(){return i("gender",{gender:"male"})}return me}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Female",selected:c==="female",onClick:function(){function me(){return i("gender",{gender:"female"})}return me}()}),!v&&(0,e.createComponentVNode)(2,t.Button,{content:"Genderless",selected:c==="plural",onClick:function(){function me(){return i("gender",{gender:"plural"})}return me}()})]}),!!ye&&(0,e.createComponentVNode)(2,y),!!E&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Head accessory",children:O.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.headaccessorystyle,selected:me.headaccessorystyle===P,onClick:function(){function Te(){return i("head_accessory",{head_accessory:me.headaccessorystyle})}return Te}()},me.headaccessorystyle)})}),!!R&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hair",children:F.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.hairstyle,selected:me.hairstyle===j,onClick:function(){function Te(){return i("hair",{hair:me.hairstyle})}return Te}()},me.hairstyle)})}),!!W&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hair Gradient",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Change Style",onClick:function(){function me(){return i("hair_gradient")}return me}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Offset",onClick:function(){function me(){return i("hair_gradient_offset")}return me}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Color",onClick:function(){function me(){return i("hair_gradient_colour")}return me}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Alpha",onClick:function(){function me(){return i("hair_gradient_alpha")}return me}()})]}),!!z&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Facial hair",children:H.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.facialhairstyle,selected:me.facialhairstyle===$,onClick:function(){function Te(){return i("facial_hair",{facial_hair:me.facialhairstyle})}return Te}()},me.facialhairstyle)})}),!!G&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Head markings",children:ne.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.headmarkingstyle,selected:me.headmarkingstyle===Q,onClick:function(){function Te(){return i("head_marking",{head_marking:me.headmarkingstyle})}return Te}()},me.headmarkingstyle)})}),!!he&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Body markings",children:Ve.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.bodymarkingstyle,selected:me.bodymarkingstyle===Ne,onClick:function(){function Te(){return i("body_marking",{body_marking:me.bodymarkingstyle})}return Te}()},me.bodymarkingstyle)})}),!!Be&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tail markings",children:Le.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.tailmarkingstyle,selected:me.tailmarkingstyle===Ae,onClick:function(){function Te(){return i("tail_marking",{tail_marking:me.tailmarkingstyle})}return Te}()},me.tailmarkingstyle)})}),!!fe&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Body accessory",children:Z.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.bodyaccessorystyle,selected:me.bodyaccessorystyle===J,onClick:function(){function Te(){return i("body_accessory",{body_accessory:me.bodyaccessorystyle})}return Te}()},me.bodyaccessorystyle)})}),!!te&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alternate head",children:ee.map(function(me){return(0,e.createComponentVNode)(2,t.Button,{content:me.altheadstyle,selected:me.altheadstyle===le,onClick:function(){function Te(){return i("alt_head",{alt_head:me.altheadstyle})}return Te}()},me.altheadstyle)})})]})})})}return V}(),y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=[{key:"change_eye_color",text:"Change eye color",action:"eye_color"},{key:"change_skin_tone",text:"Change skin tone",action:"skin_tone"},{key:"change_skin_color",text:"Change skin color",action:"skin_color"},{key:"change_head_accessory_color",text:"Change head accessory color",action:"head_accessory_color"},{key:"change_hair_color",text:"Change hair color",action:"hair_color"},{key:"change_secondary_hair_color",text:"Change secondary hair color",action:"secondary_hair_color"},{key:"change_facial_hair_color",text:"Change facial hair color",action:"facial_hair_color"},{key:"change_secondary_facial_hair_color",text:"Change secondary facial hair color",action:"secondary_facial_hair_color"},{key:"change_head_marking_color",text:"Change head marking color",action:"head_marking_color"},{key:"change_body_marking_color",text:"Change body marking color",action:"body_marking_color"},{key:"change_tail_marking_color",text:"Change tail marking color",action:"tail_marking_color"}];return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Colors",children:f.map(function(u){return!!l[u.key]&&(0,e.createComponentVNode)(2,t.Button,{content:u.text,onClick:function(){function s(){return i(u.action)}return s}()},u.key)})})}},72285:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosAlertConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.AtmosAlertConsole=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.priority||[],f=i.minor||[];return(0,e.createComponentVNode)(2,o.Window,{width:350,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Alarms",children:(0,e.createVNode)(1,"ul",null,[l.length===0&&(0,e.createVNode)(1,"li","color-good","No Priority Alerts",16),l.map(function(u){return(0,e.createVNode)(1,"li",null,(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:u,color:"bad",onClick:function(){function s(){return p("clear",{zone:u})}return s}()}),2,null,u)}),f.length===0&&(0,e.createVNode)(1,"li","color-good","No Minor Alerts",16),f.map(function(u){return(0,e.createVNode)(1,"li",null,(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:u,color:"average",onClick:function(){function s(){return p("clear",{zone:u})}return s}()}),2,null,u)})],0)})})})}return y}()},65805:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(36352),d=n(98595),y=function(l){if(l===0)return(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Good"});if(l===1)return(0,e.createComponentVNode)(2,t.Box,{color:"orange",bold:!0,children:"Warning"});if(l===2)return(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"DANGER"})},V=function(l){if(l===0)return"green";if(l===1)return"orange";if(l===2)return"red"},k=r.AtmosControl=function(){function i(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=(0,a.useLocalState)(f,"tabIndex",0),v=c[0],b=c[1],g=function(){function h(C){switch(C){case 0:return(0,e.createComponentVNode)(2,S);case 1:return(0,e.createComponentVNode)(2,p);default:return"WE SHOULDN'T BE HERE!"}}return h}();return(0,e.createComponentVNode)(2,d.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,d.Window.Content,{scrollable:v===0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===0,onClick:function(){function h(){return b(0)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"table"})," Data View"]},"DataView"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===1,onClick:function(){function h(){return b(1)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),g(v)]})})})}return i}(),S=function(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.alarms;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Access"})]}),c.map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,o.TableCell,{children:v.name}),(0,e.createComponentVNode)(2,o.TableCell,{children:y(v.danger)}),(0,e.createComponentVNode)(2,o.TableCell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Access",onClick:function(){function b(){return s("open_alarm",{aref:v.ref})}return b}()})})]},v.name)})]})})},p=function(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.alarms,v=m.stationLevelNum,b=m.stationLevelName,g=(0,a.useLocalState)(f,"zoom",1),h=g[0],C=g[1],N=(0,a.useLocalState)(f,"z_current",v[0]),x=N[0],B=N[1];return(0,e.createComponentVNode)(2,t.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,e.createComponentVNode)(2,t.NanoMap,{onZoom:function(){function L(w){return C(w)}return L}(),zLevels:v,zNames:b,z_current:x,setZCurrent:B,children:c.map(function(L){return(0,e.createComponentVNode)(2,t.NanoMap.Marker,{x:L.x,y:L.y,z:L.z,z_current:x,zoom:h,icon:"circle",tooltip:L.name,color:V(L.danger),onClick:function(){function w(){return s("open_alarm",{aref:L.ref})}return w}()},L.ref)})})})}},87816:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosFilter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.AtmosFilter=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.on,f=i.pressure,u=i.max_pressure,s=i.filter_type,m=i.filter_type_list;return(0,e.createComponentVNode)(2,o.Window,{width:380,height:140,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:l?"On":"Off",color:l?null:"red",selected:l,onClick:function(){function c(){return p("power")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:f===0,width:2.2,onClick:function(){function c(){return p("min_pressure")}return c}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:u,value:f,onDrag:function(){function c(v,b){return p("custom_pressure",{pressure:b})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:f===u,width:2.2,onClick:function(){function c(){return p("max_pressure")}return c}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Filter",children:m.map(function(c){return(0,e.createComponentVNode)(2,t.Button,{selected:c.gas_type===s,content:c.label,onClick:function(){function v(){return p("set_filter",{filter:c.gas_type})}return v}()},c.label)})})]})})})})}return y}()},52977:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosMixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.AtmosMixer=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.on,u=l.pressure,s=l.max_pressure,m=l.node1_concentration,c=l.node2_concentration;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:165,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:f?"On":"Off",color:f?null:"red",selected:f,onClick:function(){function v(){return i("power")}return v}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:u===0,width:2.2,onClick:function(){function v(){return i("min_pressure")}return v}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:s,value:u,onDrag:function(){function v(b,g){return i("custom_pressure",{pressure:g})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:u===s,width:2.2,onClick:function(){function v(){return i("max_pressure")}return v}()})]}),(0,e.createComponentVNode)(2,y,{node_name:"Node 1",node_ref:m}),(0,e.createComponentVNode)(2,y,{node_name:"Node 2",node_ref:c})]})})})})}return V}(),y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=k.node_name,u=k.node_ref;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:f,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",width:2.2,disabled:u===0,onClick:function(){function s(){return i("set_node",{node_name:f,concentration:(u-10)/100})}return s}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"%",width:6.1,lineHeight:1.5,stepPixelSize:10,minValue:0,maxValue:100,value:u,onChange:function(){function s(m,c){return i("set_node",{node_name:f,concentration:c/100})}return s}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",width:2.2,disabled:u===100,onClick:function(){function s(){return i("set_node",{node_name:f,concentration:(u+10)/100})}return s}()})]})}},11748:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosPump=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.AtmosPump=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.on,f=i.rate,u=i.max_rate,s=i.gas_unit,m=i.step;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:110,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:l?"On":"Off",color:l?null:"red",selected:l,onClick:function(){function c(){return p("power")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:f===0,width:2.2,onClick:function(){function c(){return p("min_rate")}return c}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:s,width:6.1,lineHeight:1.5,step:m,minValue:0,maxValue:u,value:f,onDrag:function(){function c(v,b){return p("custom_rate",{rate:b})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:f===u,width:2.2,onClick:function(){function c(){return p("max_rate")}return c}()})]})]})})})})}return y}()},76511:function(I,r,n){"use strict";r.__esModule=!0,r.AutoDoc=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(39473),y=r.AutoDoc=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.HasTray,u=l.TguiIcons,s=l.occupant,m=l.isHealing,c=l.fixtimer,v=l.healtimer,b=(0,a.useLocalState)(S,"ChoosePart","chest"),g=b[0],h=b[1];return(0,e.createComponentVNode)(2,o.Window,{theme:"ntOS95",resizable:!0,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Flex,{width:"100%",children:[(0,e.createComponentVNode)(2,d.FlexItem,{basis:"30%",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"256px",width:"256px",src:"data:image/jpeg;base64,"+u.human,style:{position:"absolute","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"img",null,null,1,{height:"256px",width:"256px",src:"data:image/jpeg;base64,"+u[g],style:{position:"absolute","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})]}),(0,e.createComponentVNode)(2,d.FlexItem,{basis:"70%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Info",buttons:(0,e.createFragment)([Object.keys(u).map(function(C){return C!=="human"&&(0,e.createComponentVNode)(2,t.Button,{content:C,selected:C===g,onClick:function(){function N(){return h(C)}return N}(),z:!0},C)}),(0,e.createComponentVNode)(2,t.Button,{style:{"margin-left":"30px"},content:f?"Eject Tray":"Reject Tray",locked:m,onClick:function(){function C(){return i("ChangeTrayState")}return C}()})],0),children:(0,e.createComponentVNode)(2,t.Box,{children:[!!(s[g]&&s[g].extOrgan)&&s[g].extOrgan.map(function(C){return(0,e.createFragment)([(0,e.createVNode)(1,"b",null,C.name,0),(0,e.createVNode)(1,"br"),C.open?"opened":"",C.broken?"broken":"",!!C.broken&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Fix",style:{"margin-left":"30px"},locked:m,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"fracture"})}return N}()}),(0,e.createVNode)(1,"br")],4),C.internalBleeding?"bleeding":"",!!C.internalBleeding&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Fix",style:{"margin-left":"30px"},locked:m,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"bleeding"})}return N}()}),(0,e.createVNode)(1,"br")],4),(0,e.createTextVNode)("Internals:"),(0,e.createComponentVNode)(2,t.Button,{content:"Complete",style:{"margin-left":"10px"},locked:m,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"completeInternal"})}return N}()}),(0,e.createVNode)(1,"br"),C.dead?"dead":"",!!C.dead&&(0,e.createVNode)(1,"br"),C.germ_level?"Germ level is "+C.germ_level:"",!!C.germ_level&&(0,e.createVNode)(1,"br"),C.totalLoss?"Total damage is "+C.totalLoss:"",(0,e.createVNode)(1,"br")],0,C.name)}),!!(s[g]&&s[g].intOrgan)&&s[g].intOrgan.map(function(C){return(0,e.createFragment)([(0,e.createVNode)(1,"b",null,C.name,0),(0,e.createComponentVNode)(2,t.Button,{content:"Remove",style:{"margin-left":"1.5rem"},locked:m,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"remove"})}return N}()}),(0,e.createVNode)(1,"br"),C.dead?"dead":"",!!C.dead&&(0,e.createVNode)(1,"br"),C.germ_level?"Germ level is "+C.germ_level:"",!!C.germ_level&&(0,e.createVNode)(1,"br"),C.totalLoss?"Total damage is "+C.damage:"",!!C.totalLoss&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Heal",style:{"margin-left":"30px"},locked:m,onClick:function(){function N(){return i("FixOrgan",{organ:C.name,type:"damage"})}return N}()}),(0,e.createVNode)(1,"br")],4)],0,C.name)}),!!s.TotalBruteBurn&&(0,e.createFragment)([(0,e.createTextVNode)("Total external damage is "),s.TotalBruteBurn,(0,e.createComponentVNode)(2,t.Button,{style:{"margin-left":"30px"},content:"Start Healing",onClick:function(){function C(){return i("HealBruteBurn")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{style:{"margin-left":"30px"},content:"Reattach externals",onClick:function(){function C(){return i("CompleteExternal")}return C}()})],0),(0,e.createVNode)(1,"br"),!!c&&(0,e.createVNode)(1,"b",null,[(0,e.createTextVNode)("Fixing organ: "),c],0),!!v&&(0,e.createVNode)(1,"b",null,[(0,e.createTextVNode)("Healing external damage: "),v],0)]})})})]})})})}return V}()},59179:function(I,r,n){"use strict";r.__esModule=!0,r.Autolathe=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),d=n(36036),y=n(98595),V=n(25328),k=function(i,l,f,u){return i.requirements===null?!0:!(i.requirements.metal*u>l||i.requirements.glass*u>f)},S=r.Autolathe=function(){function p(i,l){var f=(0,o.useBackend)(l),u=f.act,s=f.data,m=s.total_amount,c=s.max_amount,v=s.metal_amount,b=s.glass_amount,g=s.busyname,h=s.busyamt,C=s.showhacked,N=s.buildQueue,x=s.buildQueueLen,B=s.recipes,L=s.categories,w=(0,o.useSharedState)(l,"category",0),A=w[0],T=w[1];A===0&&(A="Tools");var E=v.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),O=b.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),P=m.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),R=(0,o.useSharedState)(l,"search_text",""),F=R[0],j=R[1],W=(0,V.createSearch)(F,function(G){return G.name}),z="";x>0&&(z=N.map(function(G,ne){return(0,e.createComponentVNode)(2,d.Box,{children:(0,e.createComponentVNode)(2,d.Button,{fluid:!0,icon:"times",color:"transparent",content:N[ne][0],onClick:function(){function Q(){return u("remove_from_queue",{remove_from_queue:N.indexOf(G)+1})}return Q}()},G)},ne)}));var H=(0,a.flow)([(0,t.filter)(function(G){return(G.category.indexOf(A)>-1||F)&&(s.showhacked||!G.hacked)}),F&&(0,t.filter)(W),(0,t.sortBy)(function(G){return G.name.toLowerCase()})])(B),$="Build";return F?$="Results for: '"+F+"':":A&&($="Build ("+A+")"),(0,e.createComponentVNode)(2,y.Window,{width:750,height:525,children:(0,e.createComponentVNode)(2,y.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,d.Stack,{fill:!0,horizontal:!0,children:[(0,e.createComponentVNode)(2,d.Stack.Item,{width:"70%",children:(0,e.createComponentVNode)(2,d.Section,{fill:!0,scrollable:!0,title:$,buttons:(0,e.createComponentVNode)(2,d.Dropdown,{width:"150px",options:L,selected:A,onSelected:function(){function G(ne){return T(ne)}return G}()}),children:[(0,e.createComponentVNode)(2,d.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function G(ne,Q){return j(Q)}return G}(),mb:1}),H.map(function(G){return(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+G.image,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}}),(0,e.createComponentVNode)(2,d.Button,{mr:1,icon:"hammer",selected:s.busyname===G.name&&s.busyamt===1,disabled:!k(G,s.metal_amount,s.glass_amount,1),onClick:function(){function ne(){return u("make",{make:G.uid,multiplier:1})}return ne}(),children:(0,V.toTitleCase)(G.name)}),G.max_multiplier>=10&&(0,e.createComponentVNode)(2,d.Button,{mr:1,icon:"hammer",selected:s.busyname===G.name&&s.busyamt===10,disabled:!k(G,s.metal_amount,s.glass_amount,10),onClick:function(){function ne(){return u("make",{make:G.uid,multiplier:10})}return ne}(),children:"10x"}),G.max_multiplier>=25&&(0,e.createComponentVNode)(2,d.Button,{mr:1,icon:"hammer",selected:s.busyname===G.name&&s.busyamt===25,disabled:!k(G,s.metal_amount,s.glass_amount,25),onClick:function(){function ne(){return u("make",{make:G.uid,multiplier:25})}return ne}(),children:"25x"}),G.max_multiplier>25&&(0,e.createComponentVNode)(2,d.Button,{mr:1,icon:"hammer",selected:s.busyname===G.name&&s.busyamt===G.max_multiplier,disabled:!k(G,s.metal_amount,s.glass_amount,G.max_multiplier),onClick:function(){function ne(){return u("make",{make:G.uid,multiplier:G.max_multiplier})}return ne}(),children:[G.max_multiplier,"x"]}),G.requirements&&Object.keys(G.requirements).map(function(ne){return(0,V.toTitleCase)(ne)+": "+G.requirements[ne]}).join(", ")||(0,e.createComponentVNode)(2,d.Box,{children:"No resources required."})]},G.ref)})]})}),(0,e.createComponentVNode)(2,d.Stack.Item,{width:"30%",children:[(0,e.createComponentVNode)(2,d.Section,{title:"Materials",children:(0,e.createComponentVNode)(2,d.LabeledList,{children:[(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Metal",children:E}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Glass",children:O}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Total",children:P}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Storage",children:[s.fill_percent,"% Full"]})]})}),(0,e.createComponentVNode)(2,d.Section,{title:"Building",children:(0,e.createComponentVNode)(2,d.Box,{color:g?"green":"",children:g||"Nothing"})}),(0,e.createComponentVNode)(2,d.Section,{title:"Build Queue",height:23.7,children:[z,(0,e.createComponentVNode)(2,d.Button,{mt:.5,fluid:!0,icon:"times",content:"Clear All",color:"red",disabled:!s.buildQueueLen,onClick:function(){function G(){return u("clear_queue")}return G}()})]})]})]})})})}return p}()},64273:function(I,r,n){"use strict";r.__esModule=!0,r.Biogenerator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(62411),y=r.Biogenerator=function(){function p(i,l){var f=(0,a.useBackend)(l),u=f.data,s=f.config,m=u.container,c=u.processing,v=s.title;return(0,e.createComponentVNode)(2,o.Window,{width:390,height:595,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d.Operating,{operating:c,name:v}),(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,S)]})})})}return p}(),V=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.biomass,c=s.container,v=s.container_curr_reagents,b=s.container_max_reagents;return(0,e.createComponentVNode)(2,t.Section,{title:"Storage",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"20px",color:"silver",children:"Biomass:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"5px",children:m}),(0,e.createComponentVNode)(2,t.Icon,{name:"leaf",size:1.2,color:"#3d8c40"})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"21px",mt:"8px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"10px",color:"silver",children:"Container:"}),c?(0,e.createComponentVNode)(2,t.ProgressBar,{value:v,maxValue:b,children:(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:v+" / "+b+" units"})}):(0,e.createComponentVNode)(2,t.Stack.Item,{children:"None"})]})]})},k=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.has_plants,c=s.container;return(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",disabled:!m,tooltip:m?"":"There are no plants in the biogenerator.",tooltipPosition:"top-start",content:"Activate",onClick:function(){function v(){return u("activate")}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"40%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"flask",disabled:!c,tooltip:c?"":"The biogenerator does not have a container.",tooltipPosition:"top",content:"Detach Container",onClick:function(){function v(){return u("detach_container")}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"eject",disabled:!m,tooltip:m?"":"There are no stored plants to eject.",tooltipPosition:"top-end",content:"Eject Plants",onClick:function(){function v(){return u("eject_plants")}return v}()})})]})})},S=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.biomass,c=s.product_list,v=s.container,b=(0,a.useSharedState)(l,"vendAmount",1),g=b[0],h=b[1],C=Object.entries(c).map(function(N,x){var B=Object.entries(N[1]).map(function(L){return L[1]});return(0,e.createComponentVNode)(2,t.Collapsible,{title:N[0],open:!0,children:B.map(function(L){return(0,e.createComponentVNode)(2,t.Stack,{py:"2px",className:"candystripe",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",ml:"2px",children:L.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"right",width:"20%",children:[L.cost*g,(0,e.createComponentVNode)(2,t.Icon,{ml:"5px",name:"leaf",size:1.2,color:"#3d8c40"})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"right",width:"40%",children:L.needs_container&&!v?(0,e.createComponentVNode)(2,t.Button,{content:"No container",disabled:!0,icon:"flask",tooltip:"\u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043B\u044E\u0431\u043E\u0439 \u043A\u043E\u043D\u0442\u0435\u0439\u043D\u0435\u0440 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u044D\u0442\u043E\u0439 \u043E\u043F\u0446\u0438\u0438"}):(0,e.createComponentVNode)(2,t.Button,{content:"Vend",disabled:m0?Math.floor(A/u):0,P=f?"@?%%!\u2116@"+u:u,R=A>=u,F=s-s%5+(s%5>0?5:0);return(0,e.createComponentVNode)(2,t.Section,{title:"\u0418\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u0435 \u0420\u0430\u0437\u043B\u043E\u043C\u0430",children:[(0,e.createComponentVNode)(2,t.Box,{color:"silver",bold:!0,children:B}),(0,e.createComponentVNode)(2,t.ProgressBar,{color:E===0?"bad":E<100?"average":"good",value:w,maxValue:L,mt:1,mb:2,children:[E<=100?E:100," %"]}),(0,e.createComponentVNode)(2,t.Box,{children:["\u0414\u0430\u043D\u043D\u044B\u0435 \u0434\u043B\u044F \u0437\u043E\u043D\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F: ",(0,e.createComponentVNode)(2,t.Box,{color:A?R?"good":"average":"bad",as:"span",children:Math.floor(A)}),(0,e.createComponentVNode)(2,t.Button,{icon:"atom",tooltip:"\u0414\u043B\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043E\u0434\u043D\u043E\u0433\u043E \u0437\u043E\u043D\u0434\u0438\u0440\u0443\u044E\u0449\u0435\u0433\u043E \u0438\u043C\u043F\u0443\u043B\u044C\u0441\u0430 \u043D\u0443\u0436\u043D\u043E \u0441\u043E\u0431\u0440\u0430\u0442\u044C "+P+" \u0434\u0430\u043D\u043D\u044B\u0445.",content:s>0?"\u041F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0430 "+F+" \u0441\u0435\u043A\u0443\u043D\u0434":"\u0417\u043E\u043D\u0434\u0438\u0440\u043E\u0432\u0430\u0442\u044C ("+O+")",disabled:!R||s>0,onClick:function(){function j(){return i("probe",{rift_id:x})}return j}(),mx:2}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",content:T?"\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E\u043B\u0443\u0447\u0435\u043D":"\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0438\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u0439",disabled:T||E<100,onClick:function(){function j(){return i("reward",{rift_id:x})}return j}(),mt:1.4})]})]})}return C}(),g=function(){function C(N){var x=N.servName,B=N.servData;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:x,children:B.length?B.map(function(L,w){return(0,e.createComponentVNode)(2,t.Box,{children:[L.riftName," \u2014 ",Math.floor(L.probePoints)," ","\u0434\u0430\u043D\u043D\u044B\u0445."]},w)}):(0,e.createComponentVNode)(2,t.Box,{children:"\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445"})})}return C}(),h=function(){function C(N){var x=N.scannerId,B=N.scannerName,L=N.scanStatus,w=N.canSwitch,A=N.switching,T=d[L],E=function(){function P(){if(T==="OFF")return[" ","silver"];if(T==="NO_RIFTS")return["\u041D\u0435\u0442 \u0440\u0430\u0437\u043B\u043E\u043C\u043E\u0432","silver"];if(T==="SOME_RIFTS")return["\u0421\u043A\u0430\u043D\u0438\u0440\u0443\u0435\u0442","good"];if(T==="DANGER")return["\u041E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u044C! \u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u0435 \u0441\u043A\u0430\u043D\u0435\u0440!","bad"]}return P}(),O=E();return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:B,py:0,children:[A?(0,e.createComponentVNode)(2,t.Icon,{name:"circle-notch",color:"silver",spin:!0,ml:1.85,mr:1.79,my:.84}):w?(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",color:T==="OFF"?"bad":"good",onClick:function(){function P(){return i("toggle_scanner",{scanner_id:x})}return P}(),ml:1,mr:1}):(0,e.createComponentVNode)(2,t.Icon,{name:"power-off",color:T==="OFF"?"bad":"good",ml:1.85,mr:1.79,my:.84}),T!=="OFF"&&(0,e.createComponentVNode)(2,t.Box,{as:"span",color:O[1],children:O[0]})]})}return C}();return(0,e.createComponentVNode)(2,o.Window,{width:570,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[m&&m.map(function(C){return b(C)}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u043A\u0430\u043D\u0435\u0440\u044B \u0432 \u0441\u0435\u0442\u0438",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:v&&v.map(function(C){return h(C)})})}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0435\u0440\u0432\u0435\u0440\u044B \u0432 \u0441\u0435\u0442\u0438",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:c&&c.map(function(C){return g(C)})})})]})})}return V}()},27629:function(I,r,n){"use strict";r.__esModule=!0,r.BluespaceTap=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(49968),y=r.BluespaceTap=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.product||[],u=l.desiredLevel,s=l.inputLevel,m=l.points,c=l.totalPoints,v=l.powerUse,b=l.availablePower,g=l.maxLevel,h=l.emagged,C=l.safeLevels,N=l.nextLevelPower,x=u>s&&"bad"||"good";return(0,e.createComponentVNode)(2,o.Window,{width:650,height:450,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[!!h&&(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"Safety Protocols disabled"}),s>C&&(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"High Power, Instability likely"}),(0,e.createComponentVNode)(2,t.Collapsible,{title:"Input Management",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Input",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Level",children:s}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Desired Level",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:u===0,tooltip:"Set to 0",onClick:function(){function B(){return i("set",{set_level:0})}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"step-backward",tooltip:"Decrease to actual input level",disabled:u===0,onClick:function(){function B(){return i("set",{set_level:s})}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:u===0,tooltip:"Decrease one step",onClick:function(){function B(){return i("decrease")}return B}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1,mx:1,children:(0,e.createComponentVNode)(2,t.Slider,{value:u,fillValue:s,minValue:0,color:x,maxValue:g,stepPixelSize:20,step:1,onChange:function(){function B(L,w){return i("set",{set_level:w})}return B}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:u===g,tooltip:"Increase one step",tooltipPosition:"left",onClick:function(){function B(){return i("increase")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:u===g,tooltip:"Set to max",tooltipPosition:"left",onClick:function(){function B(){return i("set",{set_level:g})}return B}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Power Use",children:(0,d.formatPower)(v)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power for next level",children:(0,d.formatPower)(N)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Surplus Power",children:(0,d.formatPower)(b)})]})})}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Output",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available Points",children:m}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Points",children:c})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{align:"end",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:f.map(function(B){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:B.name,children:(0,e.createComponentVNode)(2,t.Button,{disabled:B.price>=m,onClick:function(){function L(){return i("vend",{target:B.key})}return L}(),content:B.price})},B.key)})})})})]})})]})})})}return V}()},33758:function(I,r,n){"use strict";r.__esModule=!0,r.BodyScanner=void 0;var e=n(89005),a=n(44879),t=n(25328),o=n(72253),d=n(36036),y=n(98595),V=[["good","Alive"],["average","Critical"],["bad","DEAD"]],k=[["hasBorer","bad","Large growth detected in frontal lobe, possibly cancerous. Surgical removal is recommended."],["hasVirus","bad","Viral pathogen detected in blood stream."],["blind","average","Cataracts detected."],["colourblind","average","Photoreceptor abnormalities detected."],["nearsighted","average","Retinal misalignment detected."]],S=[["Respiratory","oxyLoss"],["Brain","brainLoss"],["Toxin","toxLoss"],["Radioactive","radLoss"],["Brute","bruteLoss"],["Genetic","cloneLoss"],["Burn","fireLoss"],["Paralysis","paralysis"]],p={average:[.25,.5],bad:[.5,1/0]},i=function(x,B){for(var L=[],w=0;w0?x.filter(function(B){return!!B}).reduce(function(B,L){return(0,e.createFragment)([B,(0,e.createComponentVNode)(2,d.Box,{children:L},L)],0)},null):null},f=function(x){if(x>100){if(x<300)return"mild infection";if(x<400)return"mild infection+";if(x<500)return"mild infection++";if(x<700)return"acute infection";if(x<800)return"acute infection+";if(x<900)return"acute infection++";if(x>=900)return"septic"}return""},u=r.BodyScanner=function(){function N(x,B){var L=(0,o.useBackend)(B),w=L.data,A=w.occupied,T=w.occupant,E=T===void 0?{}:T,O=A?(0,e.createComponentVNode)(2,s,{occupant:E}):(0,e.createComponentVNode)(2,C);return(0,e.createComponentVNode)(2,y.Window,{width:700,height:600,title:"Body Scanner",children:(0,e.createComponentVNode)(2,y.Window.Content,{scrollable:!0,children:O})})}return N}(),s=function(x){var B=x.occupant;return(0,e.createComponentVNode)(2,d.Box,{children:[(0,e.createComponentVNode)(2,m,{occupant:B}),(0,e.createComponentVNode)(2,c,{occupant:B}),(0,e.createComponentVNode)(2,v,{occupant:B}),(0,e.createComponentVNode)(2,g,{organs:B.extOrgan}),(0,e.createComponentVNode)(2,h,{organs:B.intOrgan})]})},m=function(x,B){var L=(0,o.useBackend)(B),w=L.act,A=L.data,T=A.occupant;return(0,e.createComponentVNode)(2,d.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,d.Button,{icon:"print",onClick:function(){function E(){return w("print_p")}return E}(),children:"\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u043E\u0442\u0447\u0435\u0442"}),(0,e.createComponentVNode)(2,d.Button,{icon:"print",onClick:function(){function E(){return w("insurance")}return E}(),children:"\u0421\u043F\u0438\u0441\u0430\u0442\u044C \u0441\u0442\u0440\u0430\u0445\u043E\u0432\u043A\u0443"}),(0,e.createComponentVNode)(2,d.Button,{icon:"user-slash",onClick:function(){function E(){return w("eject_id")}return E}(),children:"\u0418\u0437\u0432\u043B\u0435\u0447\u044C \u043A\u0430\u0440\u0442\u0443"}),(0,e.createComponentVNode)(2,d.Button,{icon:"user-slash",onClick:function(){function E(){return w("ejectify")}return E}(),children:"\u0418\u0437\u0432\u043B\u0435\u0447\u044C \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430"})],4),children:(0,e.createComponentVNode)(2,d.LabeledList,{children:[(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Name",children:T.name}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,d.ProgressBar,{min:"0",max:T.maxHealth,value:T.health/T.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Status",color:V[T.stat][0],children:V[T.stat][1]}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Temperature",children:[(0,e.createComponentVNode)(2,d.AnimatedNumber,{value:(0,a.round)(T.bodyTempC)}),"\xB0C,\xA0",(0,e.createComponentVNode)(2,d.AnimatedNumber,{value:(0,a.round)(T.bodyTempF)}),"\xB0F"]}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Implants",children:T.implant_len?(0,e.createComponentVNode)(2,d.Box,{children:T.implant.map(function(E){return E.name}).join(", ")}):(0,e.createComponentVNode)(2,d.Box,{color:"label",children:"None"})})]})})},c=function(x){var B=x.occupant;return B.hasBorer||B.blind||B.colourblind||B.nearsighted||B.hasVirus?(0,e.createComponentVNode)(2,d.Section,{title:"Abnormalities",children:k.map(function(L,w){if(B[L[0]])return(0,e.createComponentVNode)(2,d.Box,{color:L[1],bold:L[1]==="bad",children:L[2]},L[2])})}):(0,e.createComponentVNode)(2,d.Section,{title:"Abnormalities",children:(0,e.createComponentVNode)(2,d.Box,{color:"label",children:"No abnormalities found."})})},v=function(x){var B=x.occupant;return(0,e.createComponentVNode)(2,d.Section,{title:"Damage",children:(0,e.createComponentVNode)(2,d.Table,{children:i(S,function(L,w,A){return(0,e.createFragment)([(0,e.createComponentVNode)(2,d.Table.Row,{color:"label",children:[(0,e.createComponentVNode)(2,d.Table.Cell,{children:[L[0],":"]}),(0,e.createComponentVNode)(2,d.Table.Cell,{children:!!w&&w[0]+":"})]}),(0,e.createComponentVNode)(2,d.Table.Row,{children:[(0,e.createComponentVNode)(2,d.Table.Cell,{children:(0,e.createComponentVNode)(2,b,{value:B[L[1]],marginBottom:A100)&&"average"||!!B.status.robotic&&"label",width:"33%",children:(0,t.capitalize)(B.name)}),(0,e.createComponentVNode)(2,d.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,d.ProgressBar,{m:-.5,min:"0",max:B.maxHealth,mt:L>0&&"0.5rem",value:B.totalLoss/B.maxHealth,ranges:p,children:(0,e.createComponentVNode)(2,d.Stack,{children:[(0,e.createComponentVNode)(2,d.Tooltip,{content:"Total damage",children:(0,e.createComponentVNode)(2,d.Stack.Item,{children:[(0,e.createComponentVNode)(2,d.Icon,{name:"heartbeat",mr:.5}),(0,a.round)(B.totalLoss)]})}),!!B.bruteLoss&&(0,e.createComponentVNode)(2,d.Tooltip,{content:"Brute damage",children:(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,children:[(0,e.createComponentVNode)(2,d.Icon,{name:"bone",mr:.5}),(0,a.round)(B.bruteLoss)]})}),!!B.fireLoss&&(0,e.createComponentVNode)(2,d.Tooltip,{content:"Burn damage",children:(0,e.createComponentVNode)(2,d.Stack.Item,{children:[(0,e.createComponentVNode)(2,d.Icon,{name:"fire",mr:.5}),(0,a.round)(B.fireLoss)]})})]})})}),(0,e.createComponentVNode)(2,d.Table.Cell,{textAlign:"right",verticalAlign:"top",width:"33%",pt:L>0&&"calc(0.5rem + 2px)",children:[(0,e.createComponentVNode)(2,d.Box,{color:"average",inline:!0,children:l([!!B.internalBleeding&&"Internal bleeding",!!B.burnWound&&"Critical tissue burns",!!B.lungRuptured&&"Ruptured lung",!!B.status.broken&&B.status.broken,f(B.germ_level),!!B.open&&"Open incision"])}),(0,e.createComponentVNode)(2,d.Box,{inline:!0,children:[l([!!B.status.splinted&&(0,e.createComponentVNode)(2,d.Box,{color:"good",children:"Splinted"}),!!B.status.robotic&&(0,e.createComponentVNode)(2,d.Box,{color:"label",children:"Robotic"}),!!B.status.dead&&(0,e.createComponentVNode)(2,d.Box,{color:"bad",bold:!0,children:"DEAD"})]),l(B.shrapnel.map(function(w){return w.known?w.name:"Unknown object"}))]})]})]},L)})]})})},h=function(x){return x.organs.length===0?(0,e.createComponentVNode)(2,d.Section,{title:"Internal Organs",children:(0,e.createComponentVNode)(2,d.Box,{color:"label",children:"N/A"})}):(0,e.createComponentVNode)(2,d.Section,{title:"Internal Organs",children:(0,e.createComponentVNode)(2,d.Table,{children:[(0,e.createComponentVNode)(2,d.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,d.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,d.Table.Cell,{textAlign:"center",children:"Damage"}),(0,e.createComponentVNode)(2,d.Table.Cell,{textAlign:"right",children:"Injuries"})]}),x.organs.map(function(B,L){return(0,e.createComponentVNode)(2,d.Table.Row,{children:[(0,e.createComponentVNode)(2,d.Table.Cell,{color:!!B.dead&&"bad"||B.germ_level>100&&"average"||B.robotic>0&&"label",width:"33%",children:(0,t.capitalize)(B.name)}),(0,e.createComponentVNode)(2,d.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,d.ProgressBar,{min:"0",max:B.maxHealth,value:B.damage/B.maxHealth,mt:L>0&&"0.5rem",ranges:p,children:(0,a.round)(B.damage)})}),(0,e.createComponentVNode)(2,d.Table.Cell,{textAlign:"right",verticalAlign:"top",width:"33%",pt:L>0&&"calc(0.5rem + 2px)",children:[(0,e.createComponentVNode)(2,d.Box,{color:"average",inline:!0,children:l([f(B.germ_level)])}),(0,e.createComponentVNode)(2,d.Box,{inline:!0,children:l([B.robotic===1&&(0,e.createComponentVNode)(2,d.Box,{color:"label",children:"Robotic"}),B.robotic===2&&(0,e.createComponentVNode)(2,d.Box,{color:"label",children:"Assisted"}),!!B.dead&&(0,e.createComponentVNode)(2,d.Box,{color:"bad",bold:!0,children:"DEAD"})])})]})]},L)})]})})},C=function(){return(0,e.createComponentVNode)(2,d.Section,{fill:!0,children:(0,e.createComponentVNode)(2,d.Stack,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,d.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}},42570:function(I,r,n){"use strict";r.__esModule=!0,r.BorgPanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.BorgPanel=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.borg||{},f=i.cell||{},u=f.charge/f.maxcharge,s=i.channels||[],m=i.modules||[],c=i.upgrades||[],v=i.ais||[],b=i.laws||[];return(0,e.createComponentVNode)(2,o.Window,{title:"Borg Panel",width:700,height:700,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:l.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){function g(){return p("rename")}return g}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{icon:l.emagged?"check-square-o":"square-o",content:"Emagged",selected:l.emagged,onClick:function(){function g(){return p("toggle_emagged")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:l.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:l.lockdown,onClick:function(){function g(){return p("toggle_lockdown")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:l.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:l.scrambledcodes,onClick:function(){function g(){return p("toggle_scrambledcodes")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Reset Module",onClick:function(){function g(){return p("reset_module")}return g}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge",children:[f.missing?(0,e.createVNode)(1,"span","color-bad","No cell installed",16):(0,e.createComponentVNode)(2,t.ProgressBar,{value:u,children:f.charge+" / "+f.maxcharge}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Set",onClick:function(){function g(){return p("set_charge")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Change",onClick:function(){function g(){return p("change_cell")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){function g(){return p("remove_cell")}return g}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Radio Channels",children:s.map(function(g){return(0,e.createComponentVNode)(2,t.Button,{icon:g.installed?"check-square-o":"square-o",content:g.name,selected:g.installed,onClick:function(){function h(){return p("toggle_radio",{channel:g.name})}return h}()},g.name)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Model",children:m.map(function(g){return(0,e.createComponentVNode)(2,t.Button,{icon:l.active_module===g.name?"check-square-o":"square-o",content:g.name+" module",selected:l.active_module===g.name,onClick:function(){function h(){return p("setmodule",{module:g.name})}return h}()},g.type)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Upgrades",children:c.map(function(g){return(0,e.createComponentVNode)(2,t.Button,{icon:g.installed?"check-square-o":"square-o",content:g.name,selected:g.installed,onClick:function(){function h(){return p("toggle_upgrade",{upgrade:g.type})}return h}()},g.type)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Master AI",children:v.map(function(g){return(0,e.createComponentVNode)(2,t.Button,{icon:g.connected?"check-square-o":"square-o",content:g.name,selected:g.connected,onClick:function(){function h(){return p("slavetoai",{slavetoai:g.ref})}return h}()},g.ref)})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Laws",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Law Manager",selected:l.lawmanager,onClick:function(){function g(){return p("lawmanager")}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:l.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:l.lawupdate,onClick:function(){function g(){return p("toggle_lawupdate")}return g}()})],4),children:b.map(function(g){return(0,e.createComponentVNode)(2,t.Box,{children:g},g)})})]})})}return y}()},20464:function(I,r,n){"use strict";r.__esModule=!0,r.BotClean=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.BotClean=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.locked,f=i.noaccess,u=i.maintpanel,s=i.on,m=i.autopatrol,c=i.canhack,v=i.emagged,b=i.remote_disabled,g=i.painame,h=i.cleanblood;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.NoticeBox,{children:["\u041F\u0440\u043E\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043E\u0435\u0439 ID-\u043A\u0430\u0440\u0442\u043E\u0439, \u0447\u0442\u043E\u0431\u044B",l?"\u0440\u0430\u0437\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C":"\u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C"," \u044D\u0442\u043E\u0442 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441."]}),(0,e.createComponentVNode)(2,t.Section,{title:"\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",children:(0,e.createComponentVNode)(2,t.Button,{icon:s?"power-off":"times",content:s?"\u0412\u043A\u043B\u044E\u0447\u0451\u043D":"\u0412\u044B\u043A\u043B\u044E\u0447\u0435\u043D",selected:s,disabled:f,onClick:function(){function C(){return p("power")}return C}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0420\u0435\u0436\u0438\u043C \u043F\u0430\u0442\u0440\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:m,content:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043F\u0430\u0442\u0440\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",disabled:f,onClick:function(){function C(){return p("autopatrol")}return C}()})}),!!u&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u0430\u043D\u0435\u043B\u044C \u0442\u0435\u0445\u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"\u041F\u0430\u043D\u0435\u043B\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u0430"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u0440\u043E\u0442\u043E\u043A\u043E\u043B\u044B \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",children:(0,e.createComponentVNode)(2,t.Box,{color:v?"bad":"good",children:v?"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u044B":"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u044B"})}),!!c&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0412\u0437\u043B\u043E\u043C",children:(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:v?"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u0440\u043E\u0442\u043E\u043A\u043E\u043B\u044B \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438":"\u0412\u0437\u043B\u043E\u043C\u0430\u0442\u044C",disabled:f,color:"bad",onClick:function(){function C(){return p("hack")}return C}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0423\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0439 \u0434\u043E\u0441\u0442\u0443\u043F",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:!b,content:"\u0423\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0439 \u0434\u043E\u0441\u0442\u0443\u043F \u0441\u043E \u0441\u0442\u043E\u0440\u043E\u043D\u044B \u0418\u0418",disabled:f,onClick:function(){function C(){return p("disableremote")}return C}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0430 \u0443\u0431\u043E\u0440\u043A\u0438",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:h,content:"\u0423\u0431\u0438\u0440\u0430\u0442\u044C \u043A\u0440\u043E\u0432\u044C",disabled:f,onClick:function(){function C(){return p("blood")}return C}()})}),g&&(0,e.createComponentVNode)(2,t.Section,{title:"\u041F\u0418\u0418",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:g,disabled:f,onClick:function(){function C(){return p("ejectpai")}return C}()})})]})})}return y}()},74439:function(I,r,n){"use strict";r.__esModule=!0,r.BotSecurity=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.BotSecurity=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.locked,f=i.noaccess,u=i.maintpanel,s=i.on,m=i.autopatrol,c=i.canhack,v=i.emagged,b=i.remote_disabled,g=i.painame,h=i.check_id,C=i.check_weapons,N=i.check_warrant,x=i.arrest_mode,B=i.arrest_declare;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.NoticeBox,{children:["\u041F\u0440\u043E\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0432\u043E\u0435\u0439 ID-\u043A\u0430\u0440\u0442\u043E\u0439, \u0447\u0442\u043E\u0431\u044B",l?"\u0440\u0430\u0437\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C":"\u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C"," \u044D\u0442\u043E\u0442 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441."]}),(0,e.createComponentVNode)(2,t.Section,{title:"\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0421\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435",children:(0,e.createComponentVNode)(2,t.Button,{icon:s?"power-off":"times",content:s?"\u0412\u043A\u043B\u044E\u0447\u0451\u043D":"\u0412\u044B\u043A\u043B\u044E\u0447\u0435\u043D",selected:s,disabled:f,onClick:function(){function L(){return p("power")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0420\u0435\u0436\u0438\u043C \u043F\u0430\u0442\u0440\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:m,content:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043F\u0430\u0442\u0440\u0443\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",disabled:f,onClick:function(){function L(){return p("autopatrol")}return L}()})}),!!u&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u0430\u043D\u0435\u043B\u044C \u0442\u0435\u0445\u043E\u0431\u0441\u043B\u0443\u0436\u0438\u0432\u0430\u043D\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"\u041F\u0430\u043D\u0435\u043B\u044C \u043E\u0442\u043A\u0440\u044B\u0442\u0430"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u0440\u043E\u0442\u043E\u043A\u043E\u043B\u044B \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438",children:(0,e.createComponentVNode)(2,t.Box,{color:v?"bad":"good",children:v?"\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u044B":"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u044B"})}),!!c&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0412\u0437\u043B\u043E\u043C",children:(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:v?"\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u043F\u0440\u043E\u0442\u043E\u043A\u043E\u043B\u044B \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438":"\u0412\u0437\u043B\u043E\u043C\u0430\u0442\u044C",disabled:f,color:"bad",onClick:function(){function L(){return p("hack")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0423\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0439 \u0434\u043E\u0441\u0442\u0443\u043F",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:!b,content:"\u0423\u0434\u0430\u043B\u0451\u043D\u043D\u044B\u0439 \u0434\u043E\u0441\u0442\u0443\u043F \u0441\u043E \u0441\u0442\u043E\u0440\u043E\u043D\u044B \u0418\u0418",disabled:f,onClick:function(){function L(){return p("disableremote")}return L}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0417\u0430\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0446\u0435\u043B\u0438",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:h,content:"\u041D\u0435\u043E\u043F\u043E\u0437\u043D\u0430\u043D\u043D\u044B\u0435 \u043B\u0438\u0447\u043D\u043E\u0441\u0442\u0438",disabled:f,onClick:function(){function L(){return p("authid")}return L}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:C,content:"\u0418\u043C\u0435\u044E\u0449\u0438\u0435 \u043D\u0435\u0430\u0432\u0442\u043E\u0440\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u043E\u0440\u0443\u0436\u0438\u0435",disabled:f,onClick:function(){function L(){return p("authweapon")}return L}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:N,content:"\u0420\u0430\u0437\u044B\u0441\u043A\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u043F\u0440\u0435\u0441\u0442\u0443\u043F\u043D\u0438\u043A\u0438",disabled:f,onClick:function(){function L(){return p("authwarrant")}return L}()})]}),(0,e.createComponentVNode)(2,t.Section,{title:"\u041F\u0440\u043E\u0446\u0435\u0434\u0443\u0440\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044F",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:x,content:"\u0411\u0435\u0441\u0441\u0440\u043E\u0447\u043D\u043E\u0435 \u043E\u0433\u043B\u0443\u0448\u0435\u043D\u0438\u0435 \u0446\u0435\u043B\u0435\u0439 \u0432\u043C\u0435\u0441\u0442\u043E \u0437\u0430\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044F",disabled:f,onClick:function(){function L(){return p("arrtype")}return L}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:B,content:"\u0421\u043E\u043E\u0431\u0449\u0430\u0442\u044C \u043E \u0437\u0430\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u0438 \u043F\u043E \u0440\u0430\u0434\u0438\u043E\u0441\u0432\u044F\u0437\u0438",disabled:f,onClick:function(){function L(){return p("arrdeclare")}return L}()})]}),g&&(0,e.createComponentVNode)(2,t.Section,{title:"\u041F\u0418\u0418",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:g,disabled:f,onClick:function(){function L(){return p("ejectpai")}return L}()})})]})})}return y}()},10833:function(I,r,n){"use strict";r.__esModule=!0,r.BrigCells=void 0;var e=n(89005),a=n(98595),t=n(36036),o=n(72253),d=function(S,p){var i=S.cell,l=(0,o.useBackend)(p),f=l.act,u=i.cell_id,s=i.occupant,m=i.crimes,c=i.brigged_by,v=i.time_left_seconds,b=i.time_set_seconds,g=i.ref,h="";v>0&&(h+=" BrigCells__listRow--active");var C=function(){f("release",{ref:g})};return(0,e.createComponentVNode)(2,t.Table.Row,{className:h,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:u}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:m}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:c}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.TimeDisplay,{totalSeconds:b})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.TimeDisplay,{totalSeconds:v})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{type:"button",onClick:C,children:"Release"})})]})},y=function(S){var p=S.cells;return(0,e.createComponentVNode)(2,t.Table,{className:"BrigCells__list",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Cell"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Occupant"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Crimes"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Brigged By"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Time Brigged For"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Time Left"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Release"})]}),p.map(function(i){return(0,e.createComponentVNode)(2,d,{cell:i},i.ref)})]})},V=r.BrigCells=function(){function k(S,p){var i=(0,o.useBackend)(p),l=i.act,f=i.data,u=f.cells;return(0,e.createComponentVNode)(2,a.Window,{theme:"security",width:800,height:400,children:(0,e.createComponentVNode)(2,a.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,y,{cells:u})})})})})}return k}()},45761:function(I,r,n){"use strict";r.__esModule=!0,r.BrigTimer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.BrigTimer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;i.nameText=i.occupant,i.timing&&(i.prisoner_hasrec?i.nameText=(0,e.createComponentVNode)(2,t.Box,{color:"green",children:i.occupant}):i.nameText=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:i.occupant}));var l="pencil-alt";i.prisoner_name&&(i.prisoner_hasrec||(l="exclamation-triangle"));var f=[],u=0;for(u=0;u60||!i.isAllowed,onClick:function(){function s(){return p("start")}return s}()})})]})})]})})}return y}()},26300:function(I,r,n){"use strict";r.__esModule=!0,r.CameraConsoleOldContent=r.CameraConsoleMapContent=r.CameraConsoleListContent=r.CameraConsole=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(35840),d=n(25328),y=n(72253),V=n(36036),k=n(98595);String.prototype.trimLongStr=function(s){return this.length>s?this.substring(0,s)+"...":this};var S=function(m,c){var v,b;if(!c)return[];var g=m.findIndex(function(h){return h.name===c.name});return[(v=m[g-1])==null?void 0:v.name,(b=m[g+1])==null?void 0:b.name]},p=function(m,c){c===void 0&&(c="");var v=(0,d.createSearch)(c,function(b){return b.name});return(0,t.flow)([(0,a.filter)(function(b){return b==null?void 0:b.name}),c&&(0,a.filter)(v),(0,a.sortBy)(function(b){return b.name})])(m)},i=r.CameraConsole=function(){function s(m,c){var v=(0,y.useLocalState)(c,"tabIndex",0),b=v[0],g=v[1],h=function(){function C(N){switch(N){case 0:return(0,e.createComponentVNode)(2,l);case 1:return(0,e.createComponentVNode)(2,f);default:return"WE SHOULDN'T BE HERE!"}}return C}();return(0,e.createComponentVNode)(2,k.Window,{width:1250,height:600,children:(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,V.Box,{fillPositionedParent:!0,overflow:"hidden",children:[(0,e.createComponentVNode)(2,V.Tabs,{children:[(0,e.createComponentVNode)(2,V.Tabs.Tab,{selected:b===0,onClick:function(){function C(){return g(0)}return C}(),children:[(0,e.createComponentVNode)(2,V.Icon,{name:"map-marked-alt"})," Map"]},"Map"),(0,e.createComponentVNode)(2,V.Tabs.Tab,{selected:b===1,onClick:function(){function C(){return g(1)}return C}(),children:[(0,e.createComponentVNode)(2,V.Icon,{name:"table"})," List"]},"List")]}),h(b)]})})})}return s}(),l=r.CameraConsoleMapContent=function(){function s(m,c){var v=(0,y.useBackend)(c),b=v.act,g=v.data,h=p(g.cameras),C=(0,y.useLocalState)(c,"zoom",1),N=C[0],x=C[1],B=g.mapRef,L=g.activeCamera,w=g.stationLevelNum,A=g.stationLevelName,T=(0,y.useLocalState)(c,"z_current",w[0]),E=T[0],O=T[1],P=S(h,L),R=P[0],F=P[1];return(0,e.createComponentVNode)(2,V.Box,{height:"100%",display:"flex",children:[(0,e.createVNode)(1,"div","CameraConsole__left",(0,e.createComponentVNode)(2,V.Box,{height:"100%",display:"flex",children:(0,e.createComponentVNode)(2,V.NanoMap,{onZoom:function(){function j(W){return x(W)}return j}(),zLevels:w,zNames:A,z_current:E,setZCurrent:O,children:h.map(function(j){return(0,e.createComponentVNode)(2,V.NanoMap.Marker,{x:j.x,y:j.y,z:j.z,z_current:E,zoom:N,icon:"box",tooltip:j.name,color:j.status?"blue":"red",bordered:!0,onClick:function(){function W(){return b("switch_camera",{name:j.name})}return W}()},j.ref)})})}),2),(0,e.createVNode)(1,"div","CameraConsole__right",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"Camera: ",16),L&&L.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,V.Button,{icon:"chevron-left",disabled:!R,onClick:function(){function j(){return b("switch_camera",{name:R})}return j}()}),(0,e.createComponentVNode)(2,V.Button,{icon:"chevron-right",disabled:!F,onClick:function(){function j(){return b("switch_camera",{name:F})}return j}()})],4),(0,e.createComponentVNode)(2,V.ByondUi,{className:"CameraConsole__map",params:{id:B,type:"map"}})],4)]})}return s}(),f=r.CameraConsoleOldContent=function(){function s(m,c){var v=(0,y.useBackend)(c),b=v.act,g=v.data,h=v.config,C=g.mapRef,N=g.activeCamera,x=(0,y.useLocalState)(c,"searchText",""),B=x[0],L=p(g.cameras,B),w=S(L,N),A=w[0],T=w[1];return(0,e.createComponentVNode)(2,V.Box,{children:[(0,e.createVNode)(1,"div","CameraConsole__left",(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,V.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,u)})}),2),(0,e.createVNode)(1,"div","CameraConsole__right",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"Camera: ",16),N&&N.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,V.Button,{icon:"chevron-left",disabled:!A,onClick:function(){function E(){return b("switch_camera",{name:A})}return E}()}),(0,e.createComponentVNode)(2,V.Button,{icon:"chevron-right",disabled:!T,onClick:function(){function E(){return b("switch_camera",{name:T})}return E}()})],4),(0,e.createComponentVNode)(2,V.ByondUi,{className:"CameraConsole__map",params:{id:C,type:"map"}})],4)]})}return s}(),u=r.CameraConsoleListContent=function(){function s(m,c){var v=(0,y.useBackend)(c),b=v.act,g=v.data,h=(0,y.useLocalState)(c,"searchText",""),C=h[0],N=h[1],x=g.activeCamera,B=p(g.cameras,C);return(0,e.createComponentVNode)(2,V.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.Stack.Item,{children:(0,e.createComponentVNode)(2,V.Input,{fluid:!0,placeholder:"Search for a camera",onInput:function(){function L(w,A){return N(A)}return L}()})}),(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,m:0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,children:B.map(function(L){return(0,e.createVNode)(1,"div",(0,o.classes)(["Button","Button--fluid","Button--color--transparent",x&&L.name===x.name&&"Button--selected"]),L.name,0,{title:L.name,onClick:function(){function w(){return b("switch_camera",{name:L.name})}return w}()},L.name)})})})]})}return s}()},52927:function(I,r,n){"use strict";r.__esModule=!0,r.Canister=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=n(49968),y=n(98595),V=r.Canister=function(){function k(S,p){var i=(0,t.useBackend)(p),l=i.act,f=i.data,u=f.portConnected,s=f.tankPressure,m=f.releasePressure,c=f.defaultReleasePressure,v=f.minReleasePressure,b=f.maxReleasePressure,g=f.valveOpen,h=f.name,C=f.canLabel,N=f.colorContainer,x=f.color_index,B=f.hasHoldingTank,L=f.holdingTank,w="";x.prim&&(w=N.prim.options[x.prim].name);var A="";x.sec&&(A=N.sec.options[x.sec].name);var T="";x.ter&&(T=N.ter.options[x.ter].name);var E="";x.quart&&(E=N.quart.options[x.quart].name);var O=[],P=[],R=[],F=[],j=0;for(j=0;jh.current_positions&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:h.total_positions-h.current_positions})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"0"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{content:"-",disabled:c.cooldown_time||!h.can_close,onClick:function(){function C(){return m("make_job_unavailable",{job:h.title})}return C}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{content:"+",disabled:c.cooldown_time||!h.can_open,onClick:function(){function C(){return m("make_job_available",{job:h.title})}return C}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:c.target_dept&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:c.priority_jobs.indexOf(h.title)>-1?"Yes":""})||(0,e.createComponentVNode)(2,t.Button,{content:h.is_priority?"Yes":"No",selected:h.is_priority,disabled:c.cooldown_time||!h.can_prioritize,onClick:function(){function C(){return m("prioritize_job",{job:h.title})}return C}()})})]},h.title)})]})})]}):g=(0,e.createComponentVNode)(2,k);break;case 2:!c.authenticated||!c.scan_name?g=(0,e.createComponentVNode)(2,k):c.modify_name?g=(0,e.createComponentVNode)(2,d.AccessList,{accesses:c.regions,selectedList:c.selectedAccess,accessMod:function(){function h(C){return m("set",{access:C})}return h}(),grantAll:function(){function h(){return m("grant_all")}return h}(),denyAll:function(){function h(){return m("clear_all")}return h}(),grantDep:function(){function h(C){return m("grant_region",{region:C})}return h}(),denyDep:function(){function h(C){return m("deny_region",{region:C})}return h}()}):g=(0,e.createComponentVNode)(2,S);break;case 3:c.authenticated?c.records.length?g=(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Records",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Delete All Records",disabled:!c.authenticated||c.records.length===0||c.target_dept,onClick:function(){function h(){return m("wipe_all_logs")}return h}()}),children:[(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Crewman"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Old Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"New Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Authorized By"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Time"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Reason"}),!!c.iscentcom&&(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Deleted By"})]}),c.records.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.transferee}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.oldvalue}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.newvalue}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.whodidit}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.timestamp}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.reason}),!!c.iscentcom&&(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.deletedby})]},h.timestamp)})]}),!!c.iscentcom&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Delete MY Records",color:"purple",disabled:!c.authenticated||c.records.length===0,onClick:function(){function h(){return m("wipe_my_logs")}return h}()})})]}):g=(0,e.createComponentVNode)(2,p):g=(0,e.createComponentVNode)(2,k);break;case 4:!c.authenticated||!c.scan_name?g=(0,e.createComponentVNode)(2,k):g=(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Your Team",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Sec Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Actions"})]}),c.people_dept.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.title}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.crimstat}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:h.buttontext,disabled:!h.demotable,onClick:function(){function C(){return m("remote_demote",{remote_demote:h.name})}return C}()})})]},h.title)})]})});break;default:g=(0,e.createComponentVNode)(2,t.Section,{title:"Warning",color:"red",children:"ERROR: Unknown Mode."})}return(0,e.createComponentVNode)(2,o.Window,{width:800,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:b}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:v}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:g})]})})})}return l}()},64083:function(I,r,n){"use strict";r.__esModule=!0,r.CargoConsole=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),d=n(36036),y=n(98595),V=n(25328),k=r.CargoConsole=function(){function f(u,s){return(0,e.createComponentVNode)(2,y.Window,{width:900,height:800,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,d.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,l)]})})})}return f}(),S=function(u,s){var m=(0,o.useLocalState)(s,"contentsModal",null),c=m[0],v=m[1],b=(0,o.useLocalState)(s,"contentsModalTitle",null),g=b[0],h=b[1];if(c!==null&&g!==null)return(0,e.createComponentVNode)(2,d.Modal,{maxWidth:"75%",width:window.innerWidth+"px",maxHeight:window.innerHeight*.75+"px",mx:"auto",children:[(0,e.createComponentVNode)(2,d.Box,{width:"100%",bold:!0,children:(0,e.createVNode)(1,"h1",null,[g,(0,e.createTextVNode)(" contents:")],0)}),(0,e.createComponentVNode)(2,d.Box,{children:c.map(function(C){return(0,e.createComponentVNode)(2,d.Box,{children:["- ",C]},C)})}),(0,e.createComponentVNode)(2,d.Box,{m:2,children:(0,e.createComponentVNode)(2,d.Button,{content:"Close",onClick:function(){function C(){v(null),h(null)}return C}()})})]})},p=function(u,s){var m=(0,o.useBackend)(s),c=m.act,v=m.data,b=v.is_public,g=v.points,h=v.credits,C=v.timeleft,N=v.moving,x=v.at_station,B,L;return!N&&!x?(B="Docked off-station",L="Call Shuttle"):!N&&x?(B="Docked at the station",L="Return Shuttle"):N&&(L="In Transit...",C!==1?B="Shuttle is en route (ETA: "+C+" minutes)":B="Shuttle is en route (ETA: "+C+" minute)"),(0,e.createComponentVNode)(2,d.Stack.Item,{children:(0,e.createComponentVNode)(2,d.Section,{title:"Status",children:(0,e.createComponentVNode)(2,d.LabeledList,{children:[(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Points Available",children:g}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Credits Available",children:h}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Shuttle Status",children:B}),b===0&&(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,d.Button,{content:L,disabled:N,onClick:function(){function w(){return c("moveShuttle")}return w}()}),(0,e.createComponentVNode)(2,d.Button,{content:"View Central Command Messages",onClick:function(){function w(){return c("showMessages")}return w}()})]})]})})})},i=function(u,s){var m=(0,o.useBackend)(s),c=m.act,v=m.data,b=v.categories,g=v.supply_packs,h=(0,o.useSharedState)(s,"category","Emergency"),C=h[0],N=h[1],x=(0,o.useSharedState)(s,"search_text",""),B=x[0],L=x[1],w=(0,o.useLocalState)(s,"contentsModal",null),A=w[0],T=w[1],E=(0,o.useLocalState)(s,"contentsModalTitle",null),O=E[0],P=E[1],R=(0,V.createSearch)(B,function(W){return W.name}),F=(0,a.flow)([(0,t.filter)(function(W){return W.cat===b.filter(function(z){return z.name===C})[0].category||B}),B&&(0,t.filter)(R),(0,t.sortBy)(function(W){return W.name.toLowerCase()})])(g),j="Crate Catalogue";return B?j="Results for '"+B+"':":C&&(j="Browsing "+C),(0,e.createComponentVNode)(2,d.Stack.Item,{children:(0,e.createComponentVNode)(2,d.Section,{title:j,buttons:(0,e.createComponentVNode)(2,d.Dropdown,{width:"190px",options:b.map(function(W){return W.name}),selected:C,onSelected:function(){function W(z){return N(z)}return W}()}),children:[(0,e.createComponentVNode)(2,d.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function W(z,H){return L(H)}return W}(),mb:1}),(0,e.createComponentVNode)(2,d.Box,{maxHeight:25,overflowY:"auto",overflowX:"hidden",children:(0,e.createComponentVNode)(2,d.Table,{m:"0.5rem",children:F.map(function(W){return(0,e.createComponentVNode)(2,d.Table.Row,{children:[(0,e.createComponentVNode)(2,d.Table.Cell,{bold:!0,children:(0,e.createComponentVNode)(2,d.Box,{color:W.has_sale?"good":"default",children:[W.name," (",W.cost?W.cost+" Points":"",W.creditsCost&&W.cost?" ":"",W.creditsCost?W.creditsCost+" Credits":"",")"]})}),(0,e.createComponentVNode)(2,d.Table.Cell,{textAlign:"right",pr:1,children:[(0,e.createComponentVNode)(2,d.Button,{content:"Order 1",icon:"shopping-cart",onClick:function(){function z(){return c("order",{crate:W.ref,multiple:0})}return z}()}),(0,e.createComponentVNode)(2,d.Button,{content:"Order Multiple",icon:"cart-plus",onClick:function(){function z(){return c("order",{crate:W.ref,multiple:1})}return z}()}),(0,e.createComponentVNode)(2,d.Button,{content:"View Contents",icon:"search",onClick:function(){function z(){T(W.contents),P(W.name)}return z}()})]})]},W.name)})})})]})})},l=function(u,s){var m=(0,o.useBackend)(s),c=m.act,v=m.data,b=v.requests,g=v.canapprove,h=v.orders;return(0,e.createComponentVNode)(2,d.Section,{fill:!0,scrollable:!0,title:"Details",children:[(0,e.createComponentVNode)(2,d.Box,{bold:!0,children:"Requests"}),(0,e.createComponentVNode)(2,d.Table,{m:"0.5rem",children:b.map(function(C){return(0,e.createComponentVNode)(2,d.Table.Row,{children:[(0,e.createComponentVNode)(2,d.Table.Cell,{children:[(0,e.createComponentVNode)(2,d.Box,{children:["- #",C.ordernum,": ",C.supply_type," for ",(0,e.createVNode)(1,"b",null,C.orderedby,0)]}),(0,e.createComponentVNode)(2,d.Box,{italic:!0,children:["Reason: ",C.comment]}),(0,e.createComponentVNode)(2,d.Box,{italic:!0,children:["Required Techs: ",C.pack_techs]})]}),(0,e.createComponentVNode)(2,d.Stack.Item,{textAlign:"right",children:[(0,e.createComponentVNode)(2,d.Button,{content:"Approve",color:"green",disabled:!g,onClick:function(){function N(){return c("approve",{ordernum:C.ordernum})}return N}()}),(0,e.createComponentVNode)(2,d.Button,{content:"Deny",color:"red",onClick:function(){function N(){return c("deny",{ordernum:C.ordernum})}return N}()})]})]},C.ordernum)})}),(0,e.createComponentVNode)(2,d.Box,{bold:!0,children:"Confirmed Orders"}),(0,e.createComponentVNode)(2,d.Table,{m:"0.5rem",children:h.map(function(C){return(0,e.createComponentVNode)(2,d.Table.Row,{children:(0,e.createComponentVNode)(2,d.Table.Cell,{children:[(0,e.createComponentVNode)(2,d.Box,{children:["- #",C.ordernum,": ",C.supply_type," for ",(0,e.createVNode)(1,"b",null,C.orderedby,0)]}),(0,e.createComponentVNode)(2,d.Box,{italic:!0,children:["Reason: ",C.comment]})]})},C.ordernum)})})]})}},12226:function(I,r,n){"use strict";r.__esModule=!0,r.Changelog=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),d=n(98595),y=n(79140),V=S(n(83331)),k=S(n(52754));function S(c){return c&&c.__esModule?c:{default:c}}function p(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */p=function(){return v};var c,v={},b=Object.prototype,g=b.hasOwnProperty,h=Object.defineProperty||function(fe,Z,J){fe[Z]=J.value},C=typeof Symbol=="function"?Symbol:{},N=C.iterator||"@@iterator",x=C.asyncIterator||"@@asyncIterator",B=C.toStringTag||"@@toStringTag";function L(fe,Z,J){return Object.defineProperty(fe,Z,{value:J,enumerable:!0,configurable:!0,writable:!0}),fe[Z]}try{L({},"")}catch(fe){L=function(J,te,ee){return J[te]=ee}}function w(fe,Z,J,te){var ee=Z&&Z.prototype instanceof F?Z:F,le=Object.create(ee.prototype),ye=new Le(te||[]);return h(le,"_invoke",{value:he(fe,J,ye)}),le}function A(fe,Z,J){try{return{type:"normal",arg:fe.call(Z,J)}}catch(te){return{type:"throw",arg:te}}}v.wrap=w;var T="suspendedStart",E="suspendedYield",O="executing",P="completed",R={};function F(){}function j(){}function W(){}var z={};L(z,N,function(){return this});var H=Object.getPrototypeOf,$=H&&H(H(Ae([])));$&&$!==b&&g.call($,N)&&(z=$);var G=W.prototype=F.prototype=Object.create(z);function ne(fe){["next","throw","return"].forEach(function(Z){L(fe,Z,function(J){return this._invoke(Z,J)})})}function Q(fe,Z){function J(ee,le,ye,me){var Te=A(fe[ee],fe,le);if(Te.type!=="throw"){var M=Te.arg,X=M.value;return X&&typeof X=="object"&&g.call(X,"__await")?Z.resolve(X.__await).then(function(ae){J("next",ae,ye,me)},function(ae){J("throw",ae,ye,me)}):Z.resolve(X).then(function(ae){M.value=ae,ye(M)},function(ae){return J("throw",ae,ye,me)})}me(Te.arg)}var te;h(this,"_invoke",{value:function(){function ee(le,ye){function me(){return new Z(function(Te,M){J(le,ye,Te,M)})}return te=te?te.then(me,me):me()}return ee}()})}function he(fe,Z,J){var te=T;return function(ee,le){if(te===O)throw Error("Generator is already running");if(te===P){if(ee==="throw")throw le;return{value:c,done:!0}}for(J.method=ee,J.arg=le;;){var ye=J.delegate;if(ye){var me=Ve(ye,J);if(me){if(me===R)continue;return me}}if(J.method==="next")J.sent=J._sent=J.arg;else if(J.method==="throw"){if(te===T)throw te=P,J.arg;J.dispatchException(J.arg)}else J.method==="return"&&J.abrupt("return",J.arg);te=O;var Te=A(fe,Z,J);if(Te.type==="normal"){if(te=J.done?P:E,Te.arg===R)continue;return{value:Te.arg,done:J.done}}Te.type==="throw"&&(te=P,J.method="throw",J.arg=Te.arg)}}}function Ve(fe,Z){var J=Z.method,te=fe.iterator[J];if(te===c)return Z.delegate=null,J==="throw"&&fe.iterator.return&&(Z.method="return",Z.arg=c,Ve(fe,Z),Z.method==="throw")||J!=="return"&&(Z.method="throw",Z.arg=new TypeError("The iterator does not provide a '"+J+"' method")),R;var ee=A(te,fe.iterator,Z.arg);if(ee.type==="throw")return Z.method="throw",Z.arg=ee.arg,Z.delegate=null,R;var le=ee.arg;return le?le.done?(Z[fe.resultName]=le.value,Z.next=fe.nextLoc,Z.method!=="return"&&(Z.method="next",Z.arg=c),Z.delegate=null,R):le:(Z.method="throw",Z.arg=new TypeError("iterator result is not an object"),Z.delegate=null,R)}function Ne(fe){var Z={tryLoc:fe[0]};1 in fe&&(Z.catchLoc=fe[1]),2 in fe&&(Z.finallyLoc=fe[2],Z.afterLoc=fe[3]),this.tryEntries.push(Z)}function Be(fe){var Z=fe.completion||{};Z.type="normal",delete Z.arg,fe.completion=Z}function Le(fe){this.tryEntries=[{tryLoc:"root"}],fe.forEach(Ne,this),this.reset(!0)}function Ae(fe){if(fe||fe===""){var Z=fe[N];if(Z)return Z.call(fe);if(typeof fe.next=="function")return fe;if(!isNaN(fe.length)){var J=-1,te=function(){function ee(){for(;++J=0;--ee){var le=this.tryEntries[ee],ye=le.completion;if(le.tryLoc==="root")return te("end");if(le.tryLoc<=this.prev){var me=g.call(le,"catchLoc"),Te=g.call(le,"finallyLoc");if(me&&Te){if(this.prev=0;--te){var ee=this.tryEntries[te];if(ee.tryLoc<=this.prev&&g.call(ee,"finallyLoc")&&this.prev=0;--J){var te=this.tryEntries[J];if(te.finallyLoc===Z)return this.complete(te.completion,te.afterLoc),Be(te),R}}return fe}(),catch:function(){function fe(Z){for(var J=this.tryEntries.length-1;J>=0;--J){var te=this.tryEntries[J];if(te.tryLoc===Z){var ee=te.completion;if(ee.type==="throw"){var le=ee.arg;Be(te)}return le}}throw Error("illegal catch attempt")}return fe}(),delegateYield:function(){function fe(Z,J,te){return this.delegate={iterator:Ae(Z),resultName:J,nextLoc:te},this.method==="next"&&(this.arg=c),R}return fe}()},v}function i(c,v,b,g,h,C,N){try{var x=c[C](N),B=x.value}catch(L){return void b(L)}x.done?v(B):Promise.resolve(B).then(g,h)}function l(c){return function(){var v=this,b=arguments;return new Promise(function(g,h){var C=c.apply(v,b);function N(B){i(C,g,h,N,x,"next",B)}function x(B){i(C,g,h,N,x,"throw",B)}N(void 0)})}}function f(c,v){c.prototype=Object.create(v.prototype),c.prototype.constructor=c,u(c,v)}function u(c,v){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(b,g){return b.__proto__=g,b},u(c,v)}var s={add:{icon:"check-circle",color:"green"},admin:{icon:"user-shield",color:"purple"},balance:{icon:"balance-scale-right",color:"yellow"},bugfix:{icon:"bug",color:"green"},code_imp:{icon:"code",color:"green"},config:{icon:"cogs",color:"purple"},del:{icon:"minus",color:"red"},expansion:{icon:"check-circle",color:"green"},experiment:{icon:"radiation",color:"yellow"},image:{icon:"image",color:"green"},imageadd:{icon:"tg-image-plus",color:"green"},imagedel:{icon:"tg-image-minus",color:"red"},qol:{icon:"hand-holding-heart",color:"green"},refactor:{icon:"tools",color:"green"},rscadd:{icon:"check-circle",color:"green"},rscdel:{icon:"times-circle",color:"red"},server:{icon:"server",color:"purple"},sound:{icon:"volume-high",color:"green"},soundadd:{icon:"tg-sound-plus",color:"green"},sounddel:{icon:"tg-sound-minus",color:"red"},spellcheck:{icon:"spell-check",color:"green"},tgs:{icon:"toolbox",color:"purple"},tweak:{icon:"wrench",color:"green"},unknown:{icon:"info-circle",color:"label"},wip:{icon:"hammer",color:"orange"}},m=r.Changelog=function(c){function v(){var g;return g=c.call(this)||this,g.getData=function(h,C){C===void 0&&(C=1);var N=(0,t.useBackend)(g.context),x=N.act,B=g,L=6;if(C>L)return g.setData("Failed to load data after "+L+" attempts");x("get_month",{date:h}),fetch((0,y.resolveAsset)(h+".yml")).then(function(){var w=l(p().mark(function(){function A(T){var E,O,P;return p().wrap(function(){function R(F){for(;;)switch(F.prev=F.next){case 0:return F.next=2,T.text();case 2:E=F.sent,O=/^Cannot find/,O.test(E)?(P=50+C*50,B.setData("Loading changelog data"+".".repeat(C+3)),setTimeout(function(){B.getData(h,C+1)},P)):B.setData(k.default.load(E,{schema:k.default.CORE_SCHEMA}));case 5:case"end":return F.stop()}}return R}(),A)}return A}()));return function(A){return w.apply(this,arguments)}}())},g.state={data:"Loading changelog data...",selectedDate:"",selectedIndex:0},g.dateChoices=[],g}f(v,c);var b=v.prototype;return b.setData=function(){function g(h){this.setState({data:h})}return g}(),b.setSelectedDate=function(){function g(h){this.setState({selectedDate:h})}return g}(),b.setSelectedIndex=function(){function g(h){this.setState({selectedIndex:h})}return g}(),b.componentDidMount=function(){function g(){var h=this,C=(0,t.useBackend)(this.context),N=C.data.dates,x=N===void 0?[]:N;x&&(x.forEach(function(B){return h.dateChoices.push((0,V.default)(B,"mmmm yyyy",!0))}),this.setSelectedDate(this.dateChoices[0]),this.getData(x[0]))}return g}(),b.render=function(){function g(){var h=this,C=this.state,N=C.data,x=C.selectedDate,B=C.selectedIndex,L=(0,t.useBackend)(this.context),w=L.data.dates,A=this.dateChoices,T=A.length>0&&(0,e.createComponentVNode)(2,o.Stack,{mb:1,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{className:"Changelog__Button",disabled:B===0,icon:"chevron-left",onClick:function(){function F(){var j=B-1;return h.setData("Loading changelog data..."),h.setSelectedIndex(j),h.setSelectedDate(A[j]),window.scrollTo(0,document.body.scrollHeight||document.documentElement.scrollHeight),h.getData(w[j])}return F}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Dropdown,{displayText:x,options:A,onSelected:function(){function F(j){var W=A.indexOf(j);return h.setData("Loading changelog data..."),h.setSelectedIndex(W),h.setSelectedDate(j),window.scrollTo(0,document.body.scrollHeight||document.documentElement.scrollHeight),h.getData(w[W])}return F}(),selected:x,width:"150px"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{className:"Changelog__Button",disabled:B===A.length-1,icon:"chevron-right",onClick:function(){function F(){var j=B+1;return h.setData("Loading changelog data..."),h.setSelectedIndex(j),h.setSelectedDate(A[j]),window.scrollTo(0,document.body.scrollHeight||document.documentElement.scrollHeight),h.getData(w[j])}return F}()})})]}),E=(0,e.createComponentVNode)(2,o.Section,{children:[(0,e.createVNode)(1,"h1",null,"Paradise Station",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thanks to: ",16),(0,e.createTextVNode)("Baystation 12, /tg/station, /vg/station, NTstation, CDK Station devs, FacepunchStation, GoonStation devs, the original SpaceStation developers and Radithor for the title image. Also a thanks to anybody who has contributed who is not listed here :( Ask to be added here on irc.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Recent GitHub contributors can be found "),(0,e.createVNode)(1,"a",null,"here",16,{href:"https://github.com/ss220-space/Paradise/pulse/monthly"}),(0,e.createTextVNode)(".")],0),T]}),O=(0,e.createComponentVNode)(2,o.Section,{children:[T,(0,e.createVNode)(1,"h3",null,"GoonStation 13 Development Team",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Coders: ",16),(0,e.createTextVNode)("Stuntwaffle, Showtime, Pantaloons, Nannek, Keelin, Exadv1, hobnob, Justicefries, 0staf, sniperchance, AngriestIBM, BrianOBlivion")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Spriters: ",16),(0,e.createTextVNode)("Supernorn, Haruhi, Stuntwaffle, Pantaloons, Rho, SynthOrange, I Said No")],4),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Traditional Games Space Station 13 is thankful to the GoonStation 13 Development Team for its work on the game up to the"),(0,e.createTextVNode)(" r4407 release. The changelog for changes up to r4407 can be seen "),(0,e.createVNode)(1,"a",null,"here",16,{href:"https://wiki.ss13.co/Pre-2016_Changelog#April_2010"}),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,["Except where otherwise noted, Goon Station 13 is licensed under a ",(0,e.createVNode)(1,"a",null,"Creative Commons Attribution-Noncommercial-Share Alike 3.0 License",16,{href:"https://creativecommons.org/licenses/by-nc-sa/3.0/"}),". Rights are currently extended to ",(0,e.createVNode)(1,"a",null,"SomethingAwful Goons",16,{href:"http://forums.somethingawful.com/"})," only."],0),(0,e.createVNode)(1,"h3",null,"Traditional Games Space Station 13 License",16),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Some icons by"),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"a",null,"Yusuke Kamiyamane",16,{href:"http://p.yusukekamiyamane.com/"}),(0,e.createTextVNode)(". All rights reserved. Licensed under a"),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"a",null,"Creative Commons Attribution 3.0 License",16,{href:"http://creativecommons.org/licenses/by/3.0/"}),(0,e.createTextVNode)(".")],0)]}),P=/#\d+/,R=typeof N=="object"&&Object.keys(N).length>0&&Object.entries(N).reverse().map(function(F){var j=F[0],W=F[1];return(0,e.createComponentVNode)(2,o.Section,{title:(0,V.default)(j,"d mmmm yyyy",!0),children:(0,e.createComponentVNode)(2,o.Box,{ml:3,children:Object.entries(W).map(function(z){var H=z[0],$=z[1];return(0,e.createFragment)([(0,e.createVNode)(1,"h4",null,[H,(0,e.createTextVNode)(" changed:")],0),(0,e.createComponentVNode)(2,o.Box,{ml:3,children:(0,e.createComponentVNode)(2,o.Table,{children:$.map(function(G){var ne=Object.keys(G)[0],Q=G[ne],he=Q.match(P),Ve=(0,e.createComponentVNode)(2,o.Table.Cell,{className:(0,a.classes)(["Changelog__Cell","Changelog__Cell--Icon"]),children:(0,e.createComponentVNode)(2,o.Icon,{color:s[ne]?s[ne].color:s.unknown.color,name:s[ne]?s[ne].icon:s.unknown.icon})});return he!==null&&(0,e.createComponentVNode)(2,o.Table.Row,{children:[Ve,(0,e.createComponentVNode)(2,o.Table.Cell,{className:"Changelog__Cell",children:(0,e.createVNode)(1,"a",null,[" ",Q.charAt(0).toUpperCase()+Q.slice(1)," "],0,{href:"https://github.com/ss220-space/Paradise/pull/"+he[0].substring(1)})})]},ne+Q)||(0,e.createComponentVNode)(2,o.Table.Row,{children:[Ve,(0,e.createComponentVNode)(2,o.Table.Cell,{className:"Changelog__Cell",children:Q})]},ne+Q)})})})],4,H)})})},j)});return(0,e.createComponentVNode)(2,d.Window,{title:"Changelog",width:675,height:650,children:(0,e.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:[E,R,typeof N=="string"&&(0,e.createVNode)(1,"p",null,N,0),O]})})}return g}(),v}(e.Component)},36108:function(I,r,n){"use strict";r.__esModule=!0,r.ChemDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(85870),d=n(98595),y=[1,5,10,20,30,50,100],V=[1,5,10],k=r.ChemDispenser=function(){function l(f,u){var s=(0,a.useBackend)(u),m=s.act,c=s.data,v=c.chemicals;return(0,e.createComponentVNode)(2,d.Window,{width:460,height:400+v.length*8,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,i)]})})})}return l}(),S=function(f,u){var s=(0,a.useBackend)(u),m=s.act,c=s.data,v=c.amount,b=c.energy,g=c.maxEnergy;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:b,minValue:0,maxValue:g,ranges:{good:[g*.5,1/0],average:[g*.25,g*.5],bad:[-1/0,g*.25]},children:[b," / ",g," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dispense",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{children:y.map(function(h,C){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"15%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"cog",selected:v===h,content:h,onClick:function(){function N(){return m("amount",{amount:h})}return N}()})},C)})})})]})})})},p=function(f,u){for(var s=(0,a.useBackend)(u),m=s.act,c=s.data,v=c.chemicals,b=v===void 0?[]:v,g=[],h=0;h<(b.length+1)%3;h++)g.push(!0);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:c.glass?"Drink Dispenser":"Chemical Dispenser",children:[b.map(function(C,N){return(0,e.createComponentVNode)(2,t.Button,{m:.1,width:"32.5%",icon:"arrow-circle-down",overflow:"hidden",textOverflow:"ellipsis",content:C.title,style:{"margin-left":"2px"},onClick:function(){function x(){return m("dispense",{reagent:C.id})}return x}()},N)}),g.map(function(C,N){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%"},N)})]})})},i=function(f,u){var s=(0,a.useBackend)(u),m=s.act,c=s.data,v=c.isBeakerLoaded,b=c.beakerCurrentVolume,g=c.beakerMaxVolume,h=c.beakerContents,C=h===void 0?[]:h;return(0,e.createComponentVNode)(2,t.Stack.Item,{height:16,children:(0,e.createComponentVNode)(2,t.Section,{title:c.glass?"Glass":"Beaker",fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,t.Box,{children:[!!v&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"label",mr:2,children:[b," / ",g," units"]}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject",disabled:!v,onClick:function(){function N(){return m("ejectBeaker")}return N}()})]}),children:(0,e.createComponentVNode)(2,o.BeakerContents,{beakerLoaded:v,beakerContents:C,buttons:function(){function N(x){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Isolate",icon:"compress-arrows-alt",onClick:function(){function B(){return m("remove",{reagent:x.id,amount:-1})}return B}()}),V.map(function(B,L){return(0,e.createComponentVNode)(2,t.Button,{content:B,onClick:function(){function w(){return m("remove",{reagent:x.id,amount:B})}return w}()},L)}),(0,e.createComponentVNode)(2,t.Button,{content:"ALL",onClick:function(){function B(){return m("remove",{reagent:x.id,amount:x.volume})}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Floor",tooltip:"Set to "+Math.trunc(x.volume),icon:"arrow-circle-down",onClick:function(){function B(){return m("remove",{reagent:x.id,amount:-2})}return B}()})],0)}return N}()})})})}},13146:function(I,r,n){"use strict";r.__esModule=!0,r.ChemHeater=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=n(85870),y=n(98595),V=r.ChemHeater=function(){function p(i,l){return(0,e.createComponentVNode)(2,y.Window,{width:350,height:275,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,S)]})})})}return p}(),k=function(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f.data,m=s.targetTemp,c=s.targetTempReached,v=s.autoEject,b=s.isActive,g=s.currentTemp,h=s.isBeakerLoaded;return(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Settings",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Auto-eject",icon:v?"toggle-on":"toggle-off",selected:v,onClick:function(){function C(){return u("toggle_autoeject")}return C}()}),(0,e.createComponentVNode)(2,o.Button,{content:b?"On":"Off",icon:"power-off",selected:b,disabled:!h,onClick:function(){function C(){return u("toggle_on")}return C}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Target",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"65px",unit:"K",step:10,stepPixelSize:3,value:(0,a.round)(m,0),minValue:0,maxValue:1e3,onDrag:function(){function C(N,x){return u("adjust_temperature",{target:x})}return C}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Reading",color:c?"good":"average",children:h&&(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:g,format:function(){function C(N){return(0,a.toFixed)(N)+" K"}return C}()})||"\u2014"})]})})})},S=function(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f.data,m=s.isBeakerLoaded,c=s.beakerCurrentVolume,v=s.beakerMaxVolume,b=s.beakerContents;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Beaker",fill:!0,scrollable:!0,buttons:!!m&&(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"label",mr:2,children:[c," / ",v," units"]}),(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject",onClick:function(){function g(){return u("eject_beaker")}return g}()})]}),children:(0,e.createComponentVNode)(2,d.BeakerContents,{beakerLoaded:m,beakerContents:b})})})}},56541:function(I,r,n){"use strict";r.__esModule=!0,r.ChemMaster=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(85870),y=n(3939),V=n(35840),k=["icon"];function S(B,L){if(B==null)return{};var w={};for(var A in B)if({}.hasOwnProperty.call(B,A)){if(L.includes(A))continue;w[A]=B[A]}return w}function p(B,L){B.prototype=Object.create(L.prototype),B.prototype.constructor=B,i(B,L)}function i(B,L){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(w,A){return w.__proto__=A,w},i(B,L)}var l=[1,5,10],f=function(L,w){var A=(0,a.useBackend)(w),T=A.act,E=A.data,O=L.args.analysis;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:E.condi?"Condiment Analysis":"Reagent Analysis",children:(0,e.createComponentVNode)(2,t.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:O.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:(O.desc||"").length>0?O.desc:"N/A"}),O.blood_type&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood type",children:O.blood_type}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood DNA",className:"LabeledList__breakContents",children:O.blood_dna})],4),!E.condi&&(0,e.createComponentVNode)(2,t.Button,{icon:E.printing?"spinner":"print",disabled:E.printing,iconSpin:!!E.printing,ml:"0.5rem",content:"Print",onClick:function(){function P(){return T("print",{idx:O.idx,beaker:L.args.beaker})}return P}()})]})})})})},u=function(B){return B[B.ToDisposals=0]="ToDisposals",B[B.ToBeaker=1]="ToBeaker",B}(u||{}),s=r.ChemMaster=function(){function B(L,w){return(0,e.createComponentVNode)(2,o.Window,{width:575,height:650,children:[(0,e.createComponentVNode)(2,y.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,v),(0,e.createComponentVNode)(2,x)]})})]})}return B}(),m=function(L,w){var A=(0,a.useBackend)(w),T=A.act,E=A.data,O=E.beaker,P=E.beaker_reagents,R=E.buffer_reagents,F=R.length>0;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Beaker",fill:!0,scrollable:!0,buttons:F?(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"eject",disabled:!O,content:"Eject and Clear Buffer",onClick:function(){function j(){return T("eject")}return j}()}):(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!O,content:"Eject and Clear Buffer",onClick:function(){function j(){return T("eject")}return j}()}),children:O?(0,e.createComponentVNode)(2,d.BeakerContents,{beakerLoaded:!0,beakerContents:P,buttons:function(){function j(W,z){return(0,e.createComponentVNode)(2,t.Box,{mb:z0?(0,e.createComponentVNode)(2,d.BeakerContents,{beakerLoaded:!0,beakerContents:P,buttons:function(){function R(F,j){return(0,e.createComponentVNode)(2,t.Box,{mb:j0&&(F=R.map(function(j){var W=j.id,z=j.sprite;return(0,e.createComponentVNode)(2,C,{icon:z,color:"translucent",onClick:function(){function H(){return T("set_sprite_style",{production_mode:O,style:W})}return H}(),selected:P===W},W)})),(0,e.createComponentVNode)(2,h,{productionData:L.productionData,children:F&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Style",children:F})})},x=function(L,w){var A=(0,a.useBackend)(w),T=A.act,E=A.data,O=E.loaded_pill_bottle_style,P=E.containerstyles,R=E.loaded_pill_bottle,F={width:"20px",height:"20px"},j=P.map(function(W){var z=W.color,H=W.name,$=O===z;return(0,e.createComponentVNode)(2,t.Button,{style:{position:"relative",width:F.width,height:F.height},onClick:function(){function G(){return T("set_container_style",{style:z})}return G}(),icon:$&&"check",iconStyle:{position:"relative","z-index":1},tooltip:H,tooltipPosition:"top",children:[!$&&(0,e.createVNode)(1,"div",null,null,1,{style:{display:"inline-block"}}),(0,e.createVNode)(1,"span","Button",null,1,{style:{display:"inline-block",position:"absolute",top:0,left:0,margin:0,padding:0,width:F.width,height:F.height,"background-color":z,opacity:.6,filter:"alpha(opacity=60)"}})]},z)});return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Container Customization",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!R,content:"Eject Container",onClick:function(){function W(){return T("ejectp")}return W}()}),children:R?(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Style",children:[(0,e.createComponentVNode)(2,t.Button,{style:{width:F.width,height:F.height},icon:"tint-slash",onClick:function(){function W(){return T("clear_container_style")}return W}(),selected:!O,tooltip:"Default",tooltipPosition:"top"}),j]})}):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"No pill bottle or patch pack loaded."})})})};(0,y.modalRegisterBodyOverride)("analyze",f)},37173:function(I,r,n){"use strict";r.__esModule=!0,r.CloningConsole=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=n(76910),y=n(3939),V=n(98595),k=n(79140),S=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=v.args,x=N.activerecord,B=N.realname,L=N.health,w=N.unidentity,A=N.strucenzymes,T=L.split(" - ");return(0,e.createComponentVNode)(2,o.Section,{level:2,m:"-1rem",pb:"1rem",title:"Records of "+B,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:B}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Damage",children:T.length>1?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{color:d.COLORS.damageType.oxy,inline:!0,children:T[0]}),(0,e.createTextVNode)("\xA0|\xA0"),(0,e.createComponentVNode)(2,o.Box,{color:d.COLORS.damageType.toxin,inline:!0,children:T[2]}),(0,e.createTextVNode)("\xA0|\xA0"),(0,e.createComponentVNode)(2,o.Box,{color:d.COLORS.damageType.brute,inline:!0,children:T[3]}),(0,e.createTextVNode)("\xA0|\xA0"),(0,e.createComponentVNode)(2,o.Box,{color:d.COLORS.damageType.burn,inline:!0,children:T[1]})],4):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Unknown"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"UI",className:"LabeledList__breakContents",children:w}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"SE",className:"LabeledList__breakContents",children:A}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Disk",children:[(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!C.disk,icon:"arrow-circle-down",content:"Import",onClick:function(){function E(){return h("disk",{option:"load"})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!C.disk,icon:"arrow-circle-up",content:"Export UI",onClick:function(){function E(){return h("disk",{option:"save",savetype:"ui"})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!C.disk,icon:"arrow-circle-up",content:"Export UI and UE",onClick:function(){function E(){return h("disk",{option:"save",savetype:"ue"})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!C.disk,icon:"arrow-circle-up",content:"Export SE",onClick:function(){function E(){return h("disk",{option:"save",savetype:"se"})}return E}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,o.Button,{disabled:!C.podready,icon:"user-plus",content:"Clone",onClick:function(){function E(){return h("clone",{ref:x})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"trash",content:"Delete",onClick:function(){function E(){return h("del_rec")}return E}()})]})]})})},p=r.CloningConsole=function(){function c(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.menu;return(0,y.modalRegisterBodyOverride)("view_rec",S),(0,e.createComponentVNode)(2,V.Window,{width:640,height:520,children:[(0,e.createComponentVNode)(2,y.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),(0,e.createComponentVNode)(2,V.Window.Content,{className:"Layout__content--flexColumn",children:[(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,o.Section,{noTopPadding:!0,flexGrow:"1",children:(0,e.createComponentVNode)(2,l)})]})]})}return c}(),i=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.menu;return(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:N===1,icon:"home",onClick:function(){function x(){return h("menu",{num:1})}return x}(),children:"Main"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:N===2,icon:"folder",onClick:function(){function x(){return h("menu",{num:2})}return x}(),children:"Records"})]})},l=function(v,b){var g=(0,t.useBackend)(b),h=g.data,C=h.menu,N;return C===1?N=(0,e.createComponentVNode)(2,f):C===2&&(N=(0,e.createComponentVNode)(2,u)),N},f=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.loading,x=C.scantemp,B=C.occupant,L=C.locked,w=C.can_brainscan,A=C.scan_mode,T=C.numberofpods,E=C.pods,O=C.selected_pod,P=L&&!!B;return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Section,{title:"Scanner",level:"2",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"label",children:"Scanner Lock:\xA0"}),(0,e.createComponentVNode)(2,o.Button,{disabled:!B,selected:P,icon:P?"toggle-on":"toggle-off",content:P?"Engaged":"Disengaged",onClick:function(){function R(){return h("lock")}return R}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:P||!B,icon:"user-slash",content:"Eject Occupant",onClick:function(){function R(){return h("eject")}return R}()})],4),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",children:N?(0,e.createComponentVNode)(2,o.Box,{color:"average",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"spinner",spin:!0}),"\xA0 Scanning..."]}):(0,e.createComponentVNode)(2,o.Box,{color:x.color,children:x.text})}),!!w&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Scan Mode",children:(0,e.createComponentVNode)(2,o.Button,{icon:A?"brain":"male",content:A?"Brain":"Body",onClick:function(){function R(){return h("toggle_mode")}return R}()})})]}),(0,e.createComponentVNode)(2,o.Button,{disabled:!B||N,icon:"user",content:"Scan Occupant",mt:"0.5rem",mb:"0",onClick:function(){function R(){return h("scan")}return R}()})]}),(0,e.createComponentVNode)(2,o.Section,{title:"Pods",level:"2",children:T?E.map(function(R,F){var j;return R.status==="cloning"?j=(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:"100",value:R.progress/100,ranges:{good:[.75,1/0],average:[.25,.75],bad:[-1/0,.25]},mt:"0.5rem",children:(0,e.createComponentVNode)(2,o.Box,{textAlign:"center",children:(0,a.round)(R.progress,0)+"%"})}):R.status==="mess"?j=(0,e.createComponentVNode)(2,o.Box,{bold:!0,color:"bad",mt:"0.5rem",children:"ERROR"}):j=(0,e.createComponentVNode)(2,o.Button,{selected:O===R.pod,icon:O===R.pod&&"check",content:"Select",mt:"0.5rem",onClick:function(){function W(){return h("selectpod",{ref:R.pod})}return W}()}),(0,e.createComponentVNode)(2,o.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,e.createVNode)(1,"img",null,null,1,{src:(0,k.resolveAsset)("pod_"+R.status+".gif"),style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,o.Box,{color:"label",children:["Pod #",F+1]}),(0,e.createComponentVNode)(2,o.Box,{bold:!0,color:R.biomass>=150?"good":"bad",inline:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:R.biomass>=150?"circle":"circle-o"}),"\xA0",R.biomass]}),j]},F)}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"No pods detected. Unable to clone."})})],4)},u=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.records;return N.length?(0,e.createComponentVNode)(2,o.Box,{mt:"0.5rem",children:N.map(function(x,B){return(0,e.createComponentVNode)(2,o.Button,{icon:"user",mb:"0.5rem",content:x.realname,onClick:function(){function L(){return h("view_rec",{ref:x.record})}return L}()},B)})}):(0,e.createComponentVNode)(2,o.Flex,{height:"100%",children:(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No records found."]})})},s=function(v,b){var g,h=(0,t.useBackend)(b),C=h.act,N=h.data,x=N.temp;if(!(!x||!x.text||x.text.length<=0)){var B=(g={},g[x.style]=!0,g);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.NoticeBox,Object.assign({},B,{children:[(0,e.createComponentVNode)(2,o.Box,{display:"inline-block",verticalAlign:"middle",children:x.text}),(0,e.createComponentVNode)(2,o.Button,{icon:"times-circle",float:"right",onClick:function(){function L(){return C("cleartemp")}return L}()}),(0,e.createComponentVNode)(2,o.Box,{clear:"both"})]})))}},m=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.scanner,x=C.numberofpods,B=C.autoallowed,L=C.autoprocess,w=C.disk;return(0,e.createComponentVNode)(2,o.Section,{title:"Status",buttons:(0,e.createFragment)([!!B&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"label",children:"Auto-processing:\xA0"}),(0,e.createComponentVNode)(2,o.Button,{selected:L,icon:L?"toggle-on":"toggle-off",content:L?"Enabled":"Disabled",onClick:function(){function A(){return h("autoprocess",{on:L?0:1})}return A}()})],4),(0,e.createComponentVNode)(2,o.Button,{disabled:!w,icon:"eject",content:"Eject Disk",onClick:function(){function A(){return h("disk",{option:"eject"})}return A}()})],0),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Scanner",children:N?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Connected"}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Not connected!"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pods",children:x?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:[x," connected"]}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"None connected!"})})]})})}},63818:function(I,r,n){"use strict";r.__esModule=!0,r.CommunicationsComputer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.CommunicationsComputer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l;i.authenticated?i.is_ai?l="AI":i.authenticated===1?l="Command":i.authenticated===2?l="Captain":l="ERROR: Report This Bug!":l="Not Logged In";var f="View ("+i.messages.length+")",u=(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Authentication",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:i.is_ai&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Access Level",children:"AI"})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.authenticated?"sign-out-alt":"id-card",selected:i.authenticated,content:i.authenticated?"Log Out ("+l+")":"Log In",onClick:function(){function x(){return p("auth")}return x}()})})})}),!!i.esc_section&&(0,e.createComponentVNode)(2,t.Section,{title:"Escape Shuttle",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!i.esc_status&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:i.esc_status}),!!i.esc_callable&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Options",children:(0,e.createComponentVNode)(2,t.Button,{icon:"rocket",content:"Call Shuttle",disabled:!i.authenticated,onClick:function(){function x(){return p("callshuttle")}return x}()})}),!!i.esc_recallable&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Options",children:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Recall Shuttle",disabled:!i.authenticated||i.is_ai,onClick:function(){function x(){return p("cancelshuttle")}return x}()})}),!!i.lastCallLoc&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Last Call/Recall From",children:i.lastCallLoc})]})})],0),s="Make Priority Announcement";i.msg_cooldown>0&&(s+=" ("+i.msg_cooldown+"s)");var m=i.emagged?"Message [UNKNOWN]":"Message CentComm",c="Request Authentication Codes";i.cc_cooldown>0&&(m+=" ("+i.cc_cooldown+"s)",c+=" ("+i.cc_cooldown+"s)");var v=i.str_security_level,b=i.levels.map(function(x){return(0,e.createComponentVNode)(2,t.Button,{icon:x.icon,content:x.name,disabled:!i.authmax||x.id===i.security_level,onClick:function(){function B(){return p("newalertlevel",{level:x.id})}return B}()},x.name)}),g=i.stat_display.presets.map(function(x){return(0,e.createComponentVNode)(2,t.Button,{content:x.label,selected:x.name===i.stat_display.type,disabled:!i.authenticated,onClick:function(){function B(){return p("setstat",{statdisp:x.name})}return B}()},x.name)}),h=i.stat_display.alerts.map(function(x){return(0,e.createComponentVNode)(2,t.Button,{content:x.label,selected:x.alert===i.stat_display.icon,disabled:!i.authenticated,onClick:function(){function B(){return p("setstat",{statdisp:"alert",alert:x.alert})}return B}()},x.alert)}),C;if(i.current_message_title)C=(0,e.createComponentVNode)(2,t.Section,{title:i.current_message_title,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Return To Message List",disabled:!i.authenticated,onClick:function(){function x(){return p("messagelist")}return x}()}),children:(0,e.createComponentVNode)(2,t.Box,{children:i.current_message})});else{var N=i.messages.map(function(x){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:x.title,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"eye",content:"View",disabled:!i.authenticated||i.current_message_title===x.title,onClick:function(){function B(){return p("messagelist",{msgid:x.id})}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Delete",disabled:!i.authenticated,onClick:function(){function B(){return p("delmessage",{msgid:x.id})}return B}()})]},x.id)});C=(0,e.createComponentVNode)(2,t.Section,{title:"Messages Received",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function x(){return p("main")}return x}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:N})})}switch(i.menu_state){case 1:return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[u,(0,e.createComponentVNode)(2,t.Section,{title:"Captain-Only Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Alert",color:i.security_level_color,children:v}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Change Alert",children:b}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Announcement",children:(0,e.createComponentVNode)(2,t.Button,{icon:"bullhorn",content:s,disabled:!i.authmax||i.msg_cooldown>0,onClick:function(){function x(){return p("announce")}return x}()})}),!!i.emagged&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transmit",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",color:"red",content:m,disabled:!i.authmax||i.cc_cooldown>0,onClick:function(){function x(){return p("MessageSyndicate")}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync-alt",content:"Reset Relays",disabled:!i.authmax,onClick:function(){function x(){return p("RestoreBackup")}return x}()})]})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transmit",children:(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",content:m,disabled:!i.authmax||i.cc_cooldown>0,onClick:function(){function x(){return p("MessageCentcomm")}return x}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nuclear Device",children:(0,e.createComponentVNode)(2,t.Button,{icon:"bomb",content:c,disabled:!i.authmax||i.cc_cooldown>0,onClick:function(){function x(){return p("nukerequest")}return x}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Command Staff Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Displays",children:(0,e.createComponentVNode)(2,t.Button,{icon:"tv",content:"Change Status Displays",disabled:!i.authenticated,onClick:function(){function x(){return p("status")}return x}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Incoming Messages",children:(0,e.createComponentVNode)(2,t.Button,{icon:"folder-open",content:f,disabled:!i.authenticated,onClick:function(){function x(){return p("messagelist")}return x}()})})]})})]})});case 2:return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[u,(0,e.createComponentVNode)(2,t.Section,{title:"Modify Status Screens",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function x(){return p("main")}return x}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Presets",children:g}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alerts",children:h}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message Line 1",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:i.stat_display.line_1,disabled:!i.authenticated,onClick:function(){function x(){return p("setmsg1")}return x}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message Line 2",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:i.stat_display.line_2,disabled:!i.authenticated,onClick:function(){function x(){return p("setmsg2")}return x}()})})]})})]})});case 3:return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[u,C]})});default:return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[u,"ERRROR. Unknown menu_state: ",i.menu_state,"Please report this to NT Technical Support."]})})}}return y}()},21813:function(I,r,n){"use strict";r.__esModule=!0,r.Contractor=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=n(73379),y=n(98595);function V(b,g){b.prototype=Object.create(g.prototype),b.prototype.constructor=b,k(b,g)}function k(b,g){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(h,C){return h.__proto__=C,h},k(b,g)}var S={1:["ACTIVE","good"],2:["COMPLETED","good"],3:["FAILED","bad"]},p=["Recording biometric data...","Analyzing embedded syndicate info...","STATUS CONFIRMED","Contacting Syndicate database...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Response received, ack 4851234...","CONFIRM ACC "+Math.round(Math.random()*2e4),"Setting up private accounts...","CONTRACTOR ACCOUNT CREATED","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","CONTRACTS FOUND","WELCOME, AGENT"],i=r.Contractor=function(){function b(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B;x.unauthorized?B=(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,c,{height:"100%",allMessages:["ERROR: UNAUTHORIZED USER"],finishedTimeout:100,onFinished:function(){function T(){}return T}()})}):x.load_animation_completed?B=(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",children:(0,e.createComponentVNode)(2,l)}),(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",mt:"0.5rem",children:(0,e.createComponentVNode)(2,f)}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",overflow:"hidden",children:x.page===1?(0,e.createComponentVNode)(2,u,{height:"100%"}):(0,e.createComponentVNode)(2,m,{height:"100%"})})],4):B=(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,c,{height:"100%",allMessages:p,finishedTimeout:3e3,onFinished:function(){function T(){return N("complete_load_animation")}return T}()})});var L=(0,t.useLocalState)(h,"viewingPhoto",""),w=L[0],A=L[1];return(0,e.createComponentVNode)(2,y.Window,{width:500,height:600,theme:"syndicate",children:[w&&(0,e.createComponentVNode)(2,v),(0,e.createComponentVNode)(2,y.Window.Content,{className:"Contractor",children:(0,e.createComponentVNode)(2,o.Flex,{direction:"column",height:"100%",children:B})})]})}return b}(),l=function(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B=x.tc_available,L=x.tc_paid_out,w=x.completed_contracts,A=x.rep;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Summary",buttons:(0,e.createComponentVNode)(2,o.Box,{verticalAlign:"middle",mt:"0.25rem",children:[A," Rep"]})},g,{children:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Box,{flexBasis:"50%",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"TC Available",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,o.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",children:[B," TC"]}),(0,e.createComponentVNode)(2,o.Button,{disabled:B<=0,content:"Claim",mx:"0.75rem",mb:"0",flexBasis:"content",onClick:function(){function T(){return N("claim")}return T}()})]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"TC Earned",children:[L," TC"]})]})}),(0,e.createComponentVNode)(2,o.Box,{flexBasis:"50%",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Contracts Completed",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,o.Box,{height:"20px",lineHeight:"20px",display:"inline-block",children:w})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Contractor Status",verticalAlign:"middle",children:"ACTIVE"})]})})]})})))},f=function(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B=x.page;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Tabs,Object.assign({},g,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===1,onClick:function(){function L(){return N("page",{page:1})}return L}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"suitcase"}),"Contracts"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===2,onClick:function(){function L(){return N("page",{page:2})}return L}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"shopping-cart"}),"Hub"]})]})))},u=function(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B=x.contracts,L=x.contract_active,w=x.can_extract,A=!!L&&B.filter(function(R){return R.status===1})[0],T=A&&A.time_left>0,E=(0,t.useLocalState)(h,"viewingPhoto",""),O=E[0],P=E[1];return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Available Contracts",overflow:"auto",buttons:(0,e.createComponentVNode)(2,o.Button,{disabled:!w||T,icon:"parachute-box",content:["Call Extraction",T&&(0,e.createComponentVNode)(2,d.Countdown,{timeLeft:A.time_left,format:function(){function R(F,j){return" ("+j.substr(3)+")"}return R}()})],onClick:function(){function R(){return N("extract")}return R}()})},g,{children:B.slice().sort(function(R,F){return R.status===1?-1:F.status===1?1:R.status-F.status}).map(function(R){var F;return(0,e.createComponentVNode)(2,o.Section,{title:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",color:R.status===1&&"good",children:R.target_name}),(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",children:R.has_photo&&(0,e.createComponentVNode)(2,o.Button,{icon:"camera",mb:"-0.5rem",ml:"0.5rem",onClick:function(){function j(){return P("target_photo_"+R.uid+".png")}return j}()})})]}),className:"Contractor__Contract",buttons:(0,e.createComponentVNode)(2,o.Box,{width:"100%",children:[!!S[R.status]&&(0,e.createComponentVNode)(2,o.Box,{color:S[R.status][1],display:"inline-block",mt:R.status!==1&&"0.125rem",mr:"0.25rem",lineHeight:"20px",children:S[R.status][0]}),R.status===1&&(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"ban",color:"bad",content:"Abort",ml:"0.5rem",onClick:function(){function j(){return N("abort")}return j}()})]}),children:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"2",mr:"0.5rem",children:[R.fluff_message,!!R.completed_time&&(0,e.createComponentVNode)(2,o.Box,{color:"good",children:[(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Icon,{name:"check",mr:"0.5rem"}),"Contract completed at ",R.completed_time]}),!!R.dead_extraction&&(0,e.createComponentVNode)(2,o.Box,{color:"bad",mt:"0.5rem",bold:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle",mr:"0.5rem"}),"Telecrystals reward reduced drastically as the target was dead during extraction."]}),!!R.fail_reason&&(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:[(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Icon,{name:"times",mr:"0.5rem"}),"Contract failed: ",R.fail_reason]})]}),(0,e.createComponentVNode)(2,o.Flex.Item,{flexBasis:"100%",children:[(0,e.createComponentVNode)(2,o.Flex,{mb:"0.5rem",color:"label",children:["Extraction Zone:\xA0",s(R)]}),(F=R.difficulties)==null?void 0:F.map(function(j,W){return(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!!L,content:j.name+" ("+j.reward+" TC)",onClick:function(){function z(){return N("activate",{uid:R.uid,difficulty:W+1})}return z}()},W)}),!!R.objective&&(0,e.createComponentVNode)(2,o.Box,{color:"white",bold:!0,children:[R.objective.extraction_name,(0,e.createVNode)(1,"br"),"(",(R.objective.rewards.tc||0)+" TC",",\xA0",(R.objective.rewards.credits||0)+" Credits",")"]})]})]})},R.uid)})})))},s=function(g){if(!(!g.objective||g.status>1)){var h=g.objective.locs.user_area_id,C=g.objective.locs.user_coords,N=g.objective.locs.target_area_id,x=g.objective.locs.target_coords,B=h===N;return(0,e.createComponentVNode)(2,o.Flex.Item,{children:(0,e.createComponentVNode)(2,o.Icon,{name:B?"dot-circle-o":"arrow-alt-circle-right-o",color:B?"green":"yellow",rotation:B?null:-(0,a.rad2deg)(Math.atan2(x[1]-C[1],x[0]-C[0])),lineHeight:B?null:"0.85",size:"1.5"})})}},m=function(g,h){var C=(0,t.useBackend)(h),N=C.act,x=C.data,B=x.rep,L=x.buyables;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Available Purchases",overflow:"auto"},g,{children:L.map(function(w){return(0,e.createComponentVNode)(2,o.Section,{title:w.name,buttons:w.refundable&&(0,e.createComponentVNode)(2,o.Button.Confirm,{content:"Refund ("+w.cost+" Rep)",onClick:function(){function A(){return N("refund",{uid:w.uid})}return A}()}),children:[w.description,(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:B-1&&(0,e.createComponentVNode)(2,o.Box,{as:"span",color:w.stock===0?"bad":"good",ml:"0.5rem",children:[w.stock," in stock"]})]},w.uid)})})))},c=function(b){function g(C){var N;return N=b.call(this,C)||this,N.timer=null,N.state={currentIndex:0,currentDisplay:[]},N}V(g,b);var h=g.prototype;return h.tick=function(){function C(){var N=this.props,x=this.state;if(x.currentIndex<=N.allMessages.length){this.setState(function(L){return{currentIndex:L.currentIndex+1}});var B=x.currentDisplay;B.push(N.allMessages[x.currentIndex])}else clearTimeout(this.timer),setTimeout(N.onFinished,N.finishedTimeout)}return C}(),h.componentDidMount=function(){function C(){var N=this,x=this.props.linesPerSecond,B=x===void 0?2.5:x;this.timer=setInterval(function(){return N.tick()},1e3/B)}return C}(),h.componentWillUnmount=function(){function C(){clearTimeout(this.timer)}return C}(),h.render=function(){function C(){return(0,e.createComponentVNode)(2,o.Box,{m:1,children:this.state.currentDisplay.map(function(N){return(0,e.createFragment)([N,(0,e.createVNode)(1,"br")],0,N)})})}return C}(),g}(e.Component),v=function(g,h){var C=(0,t.useLocalState)(h,"viewingPhoto",""),N=C[0],x=C[1];return(0,e.createComponentVNode)(2,o.Modal,{className:"Contractor__photoZoom",children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:N}),(0,e.createComponentVNode)(2,o.Button,{icon:"times",content:"Close",color:"grey",mt:"1rem",onClick:function(){function B(){return x("")}return B}()})]})}},54151:function(I,r,n){"use strict";r.__esModule=!0,r.ConveyorSwitch=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.ConveyorSwitch=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.slowFactor,f=i.minSpeed,u=i.maxSpeed,s=i.oneWay,m=i.position;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:150,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lever position",children:m>0?"forward":m<0?"reverse":"neutral"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Allow reverse",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!s,onClick:function(){function c(){return p("toggleOneWay")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slowdown factor",children:(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-left",onClick:function(){function c(){return p("slowFactor",{value:l-.5})}return c}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-left",onClick:function(){function c(){return p("slowFactor",{value:l-.1})}return c}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Slider,{width:"100px",mx:"1px",value:l,fillValue:l,minValue:f,maxValue:u,step:.1,format:function(){function c(v){return v+"s."}return c}(),onChange:function(){function c(v,b){return p("slowFactor",{value:b})}return c}()})}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-right",onClick:function(){function c(){return p("slowFactor",{value:l+.1})}return c}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-right",onClick:function(){function c(){return p("slowFactor",{value:l+.5})}return c}()})," "]})]})})]})})})})}return y}()},73169:function(I,r,n){"use strict";r.__esModule=!0,r.CrewMonitor=void 0;var e=n(89005),a=n(88510),t=n(25328),o=n(72253),d=n(36036),y=n(36352),V=n(76910),k=n(98595),S=function(v,b){return v.dead?"Deceased":parseInt(v.health,10)<=b?"Critical":parseInt(v.stat,10)===1?"Unconscious":"Living"},p=function(v,b){return v.dead?"red":parseInt(v.health,10)<=b?"orange":parseInt(v.stat,10)===1?"blue":"green"},i=r.CrewMonitor=function(){function c(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=(0,o.useLocalState)(b,"tabIndex",C.IndexToggler),x=N[0],B=N[1],L=function(){function w(A){switch(A){case 0:return(0,e.createComponentVNode)(2,u);case 1:return(0,e.createComponentVNode)(2,s);case 2:return(0,e.createComponentVNode)(2,f);case 3:return(0,e.createComponentVNode)(2,m);default:return"WE SHOULDN'T BE HERE!"}}return w}();return(0,e.createComponentVNode)(2,k.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,d.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,d.Tabs,{children:[C.isBS?(0,e.createComponentVNode)(2,d.Tabs.Tab,{selected:x===0,onClick:function(){function w(){return B(0)}return w}(),children:[(0,e.createComponentVNode)(2,d.Icon,{name:"table"})," Command Data View"]},"ComDataView"):null,C.isBP?(0,e.createComponentVNode)(2,d.Tabs.Tab,{selected:x===1,onClick:function(){function w(){return B(1)}return w}(),children:[(0,e.createComponentVNode)(2,d.Icon,{name:"table"})," Security Data View"]},"SecDataView"):null,(0,e.createComponentVNode)(2,d.Tabs.Tab,{selected:x===2,onClick:function(){function w(){return B(2)}return w}(),children:[(0,e.createComponentVNode)(2,d.Icon,{name:"table"})," Data View"]},"DataView"),(0,e.createComponentVNode)(2,d.Tabs.Tab,{selected:x===3,onClick:function(){function w(){return B(3)}return w}(),children:[(0,e.createComponentVNode)(2,d.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),L(x)]})})})}return c}(),l=function(v){var b=v.crewData,g=v.context,h=(0,o.useBackend)(g),C=h.act,N=h.data,x=(0,a.sortBy)(function(T){return T.name})(b||[]),B=(0,o.useLocalState)(g,"search",""),L=B[0],w=B[1],A=(0,t.createSearch)(L,function(T){return T.name+"|"+T.assignment+"|"+T.area});return(0,e.createComponentVNode)(2,d.Box,{children:[(0,e.createComponentVNode)(2,d.Input,{placeholder:"Search by name, assignment or location..",width:"100%",onInput:function(){function T(E,O){return w(O)}return T}()}),(0,e.createComponentVNode)(2,d.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,d.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,d.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,d.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,d.Table.Cell,{children:"Location"})]}),x.filter(A).map(function(T){return(0,e.createComponentVNode)(2,d.Table.Row,{bold:!!T.is_command,children:[(0,e.createComponentVNode)(2,y.TableCell,{children:[T.name," (",T.assignment,")"]}),(0,e.createComponentVNode)(2,y.TableCell,{children:[(0,e.createComponentVNode)(2,d.Box,{inline:!0,color:p(T,N.critThreshold),children:S(T,N.critThreshold)}),T.sensor_type>=2?(0,e.createComponentVNode)(2,d.Box,{inline:!0,children:["(",(0,e.createComponentVNode)(2,d.Box,{inline:!0,color:V.COLORS.damageType.oxy,children:T.oxy}),"|",(0,e.createComponentVNode)(2,d.Box,{inline:!0,color:V.COLORS.damageType.toxin,children:T.tox}),"|",(0,e.createComponentVNode)(2,d.Box,{inline:!0,color:V.COLORS.damageType.burn,children:T.fire}),"|",(0,e.createComponentVNode)(2,d.Box,{inline:!0,color:V.COLORS.damageType.brute,children:T.brute}),")"]}):null]}),(0,e.createComponentVNode)(2,y.TableCell,{children:T.sensor_type===3?N.isAI?(0,e.createComponentVNode)(2,d.Button,{fluid:!0,icon:"location-arrow",content:T.area+" ("+T.x+", "+T.y+")",onClick:function(){function E(){return C("track",{track:T.ref})}return E}()}):T.area+" ("+T.x+", "+T.y+")":"Not Available"})]},T.ref)})]})]})},f=function(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=C.crewmembers||[];return(0,e.createComponentVNode)(2,l,{crewData:N,context:b})},u=function(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=C.crewmembers.filter(function(x){return x.is_command})||[];return(0,e.createComponentVNode)(2,l,{crewData:N,context:b})},s=function(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=C.crewmembers.filter(function(x){return x.is_security})||[];return(0,e.createComponentVNode)(2,l,{crewData:N,context:b})},m=function(v,b){var g=(0,o.useBackend)(b),h=g.act,C=g.data,N=C.stationLevelNum,x=C.stationLevelName,B=(0,o.useLocalState)(b,"zoom",1),L=B[0],w=B[1],A=(0,o.useLocalState)(b,"z_current",N[0]),T=A[0],E=A[1],O=function(j){return j.is_command&&C.isBS||j.is_security&&C.isBP?"square":"circle"},P=function(j){return j.is_command&&C.isBS||j.is_security&&C.isBP?10:6},R=function(j,W){return j.is_command&&C.isBS||j.is_security&&C.isBP?j.dead?"red":parseInt(j.health,10)<=W?"orange":parseInt(j.stat,10)===1?"blue":"violet":p(j,W)};return(0,e.createComponentVNode)(2,d.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,e.createComponentVNode)(2,d.NanoMap,{onZoom:function(){function F(j){return w(j)}return F}(),zLevels:N,zNames:x,z_current:T,setZCurrent:E,children:C.crewmembers.filter(function(F){return F.sensor_type===3}).map(function(F){return(0,e.createComponentVNode)(2,d.NanoMap.Marker,{x:F.x,y:F.y,z:F.z,z_current:T,zoom:L,icon:O(F),size:P(F),tooltip:F.name+" ("+F.assignment+")",color:R(F,C.critThreshold),onClick:function(){function j(){C.isAI&&h("track",{track:F.ref})}return j}()},F.ref)})})})}},63987:function(I,r,n){"use strict";r.__esModule=!0,r.Cryo=void 0;var e=n(89005),a=n(41260),t=n(72253),o=n(36036),d=n(98595),y=[{label:"\u0410\u0441\u0444\u0438\u043A\u0441\u0438\u044F",type:"oxyLoss"},{label:"\u0418\u043D\u0442\u043E\u043A\u0441\u0438\u043A\u0430\u0446\u0438\u044F",type:"toxLoss"},{label:"\u0420\u0430\u043D\u044B",type:"bruteLoss"},{label:"\u041E\u0436\u043E\u0433\u0438",type:"fireLoss"}],V=[["good","\u0412 \u0441\u043E\u0437\u043D\u0430\u043D\u0438\u0438"],["average","\u0411\u0435\u0437 \u0441\u043E\u0437\u043D\u0430\u043D\u0438\u044F"],["bad","\u0422\u0420\u0423\u041F"]],k=r.Cryo=function(){function i(l,f){return(0,e.createComponentVNode)(2,d.Window,{width:520,height:490,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,S)})})}return i}(),S=function(l,f){var u=(0,t.useBackend)(f),s=u.act,m=u.data,c=m.isOperating,v=m.hasOccupant,b=m.occupant,g=b===void 0?[]:b,h=m.cellTemperature,C=m.cellTemperatureStatus,N=m.isBeakerLoaded,x=m.auto_eject_healthy,B=m.auto_eject_dead;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:2,children:(0,e.createComponentVNode)(2,o.Section,{title:"\u041F\u0430\u0446\u0438\u0435\u043D\u0442",fill:!0,buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"user-slash",onClick:function(){function L(){return s("ejectOccupant")}return L}(),disabled:!v,children:"\u0418\u0437\u0432\u043B\u0435\u0447\u044C"}),children:v?(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u041F\u0430\u0446\u0438\u0435\u043D\u0442",children:g.name||"\u0418\u043C\u044F \u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0417\u0434\u043E\u0440\u043E\u0432\u044C\u0435",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:g.health,max:g.maxHealth,value:g.health/g.maxHealth,color:g.health>0?"good":"average",children:(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:Math.round(g.health)})})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0421\u0442\u0430\u0442\u0443\u0441",color:V[g.stat][0],children:V[g.stat][1]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0422\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:Math.round(g.bodyTemperature)})," ","K"]}),(0,e.createComponentVNode)(2,o.LabeledList.Divider),y.map(function(L){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:L.label,children:(0,e.createComponentVNode)(2,o.ProgressBar,{value:g[L.type]/100,ranges:{bad:[.01,1/0]},children:(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:Math.round(g[L.type])})})},L.id)})]}):(0,e.createComponentVNode)(2,o.Stack,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:"1",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"\u041F\u0430\u0446\u0438\u0435\u043D\u0442 \u043D\u0435 \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D."]})})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"\u041A\u0440\u0438\u043E\u043A\u0430\u043F\u0441\u0443\u043B\u0430",fill:!0,buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"eject",onClick:function(){function L(){return s("ejectBeaker")}return L}(),disabled:!N,children:"\u0418\u0437\u0432\u043B\u0435\u0447\u044C \u0451\u043C\u043A\u043E\u0441\u0442\u044C"}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u041F\u0438\u0442\u0430\u043D\u0438\u0435",children:(0,e.createComponentVNode)(2,o.Button,{icon:"power-off",onClick:function(){function L(){return s(c?"switchOff":"switchOn")}return L}(),selected:c,children:c?"\u0412\u043A\u043B":"\u0412\u044B\u043A\u043B"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0422\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",color:C,children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:h})," K"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0401\u043C\u043A\u043E\u0441\u0442\u044C",children:(0,e.createComponentVNode)(2,p)}),(0,e.createComponentVNode)(2,o.LabeledList.Divider),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0410\u0432\u0442\u043E\u0438\u0437\u0432\u043B\u0435\u0447\u0435\u043D\u0438\u0435 \u0437\u0434\u043E\u0440\u043E\u0432\u044B\u0445 \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u043E\u0432",children:(0,e.createComponentVNode)(2,o.Button,{icon:x?"toggle-on":"toggle-off",selected:x,onClick:function(){function L(){return s(x?"auto_eject_healthy_off":"auto_eject_healthy_on")}return L}(),children:x?"\u0412\u043A\u043B":"\u0412\u044B\u043A\u043B"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0410\u0432\u0442\u043E\u0438\u0437\u0432\u043B\u0435\u0447\u0435\u043D\u0438\u0435 \u043C\u0451\u0440\u0442\u0432\u044B\u0445 \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u043E\u0432",children:(0,e.createComponentVNode)(2,o.Button,{icon:B?"toggle-on":"toggle-off",selected:B,onClick:function(){function L(){return s(B?"auto_eject_dead_off":"auto_eject_dead_on")}return L}(),children:B?"\u0412\u043A\u043B":"\u0412\u044B\u043A\u043B"})})]})})})]})},p=function(l,f){var u=(0,t.useBackend)(f),s=u.act,m=u.data,c=m.isBeakerLoaded,v=m.beakerLabel,b=m.beakerVolume;return c?(0,e.createFragment)([v?"\xAB"+v+"\xBB":(0,e.createComponentVNode)(2,o.Box,{color:"average",children:"\u0401\u043C\u043A\u043E\u0441\u0442\u044C \u043D\u0435 \u043F\u043E\u0434\u043F\u0438\u0441\u0430\u043D\u0430"}),(0,e.createComponentVNode)(2,o.Box,{color:!b&&"bad",children:b?(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:b,format:function(){function g(h){var C=Math.round(h),N=(0,a.declensionRu)(C,"\u041E\u0441\u0442\u0430\u043B\u0430\u0441\u044C","\u041E\u0441\u0442\u0430\u043B\u0438\u0441\u044C","\u041E\u0441\u0442\u0430\u043B\u043E\u0441\u044C"),x=(0,a.declensionRu)(C,"\u0435\u0434\u0438\u043D\u0438\u0446\u0430","\u0435\u0434\u0438\u043D\u0438\u0446\u044B","\u0435\u0434\u0438\u043D\u0438\u0446");return N+" "+C+" "+x}return g}()}):"\u0401\u043C\u043A\u043E\u0441\u0442\u044C \u043F\u0443\u0441\u0442\u0430"})],0):(0,e.createComponentVNode)(2,o.Box,{color:"average",children:"\u0401\u043C\u043A\u043E\u0441\u0442\u044C \u043D\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u0430"})}},86099:function(I,r,n){"use strict";r.__esModule=!0,r.CryopodConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(25328),y=r.CryopodConsole=function(){function S(p,i){var l=(0,a.useBackend)(i),f=l.data,u=f.account_name,s=f.allow_items;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:480,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Hello, "+(u||"[REDACTED]")+"!",children:"This automated cryogenic freezing unit will safely store your corporeal form until your next assignment."}),(0,e.createComponentVNode)(2,V),!!s&&(0,e.createComponentVNode)(2,k)]})})}return S}(),V=function(p,i){var l=(0,a.useBackend)(i),f=l.data,u=f.frozen_crew;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Stored Crew",children:u.length?(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:u.map(function(s,m){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:s.name,children:s.rank},m)})})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No stored crew!"})})},k=function(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.frozen_items,m=function(v){var b=v.toString();return b.startsWith("the ")&&(b=b.slice(4,b.length)),(0,d.toTitleCase)(b)};return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Stored Items",children:s.length?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:s.map(function(c){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:m(c.name),buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Drop",mr:1,onClick:function(){function v(){return f("one_item",{item:c.uid})}return v}()})},c)})})}),(0,e.createComponentVNode)(2,t.Button,{content:"Drop All Items",color:"red",onClick:function(){function c(){return f("all_items")}return c}()})],4):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No stored items!"})})}},94848:function(I,r,n){"use strict";r.__esModule=!0,r.Customat=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),d=n(98595),y=function(S,p){var i=(0,t.useBackend)(p),l=i.act,f=i.data,u=S.product,s=f.user,m=f.userMoney,c=f.vend_ready,v=u.price===0,b="ERROR!",g="";v?(b="FREE",g="arrow-circle-down"):(b=u.price,g="shopping-cart");var h=!c||u.stock===0||!v&&u.price>m;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+u.icon,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})}),(0,e.createComponentVNode)(2,o.Table.Cell,{bold:!0,children:u.name}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Box,{color:u.stock<=0&&"bad"||"good",children:[u.stock," in stock"]})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,disabled:h,icon:g,content:b,textAlign:"left",onClick:function(){function C(){return l("vend",{Key:u.Key})}return C}()})})]})},V=r.Customat=function(){function k(S,p){var i=(0,t.useBackend)(p),l=i.act,f=i.data,u=f.guestNotice,s=f.userMoney,m=f.user,c=f.products,v=f.vend_ready,b=f.panel_open,g=f.speaker;return(0,e.createComponentVNode)(2,d.Window,{width:470,height:600,title:"Customat",children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Section,{title:"User",children:m&&(0,e.createComponentVNode)(2,o.Box,{children:["Welcome, ",(0,e.createVNode)(1,"b",null,m.name,0),", ",(0,e.createVNode)(1,"b",null,m.job||"Unemployed",0),"!",(0,e.createVNode)(1,"br"),"Your balance is ",(0,e.createVNode)(1,"b",null,[s,(0,e.createTextVNode)(" credits")],0),"."]})||(0,e.createComponentVNode)(2,o.Box,{color:"light-grey",children:u})}),!!b&&(0,e.createComponentVNode)(2,o.Section,{title:"Maintenance",children:(0,e.createComponentVNode)(2,o.Button,{icon:g?"check":"volume-mute",selected:g,content:"Speaker",textAlign:"left",onClick:function(){function h(){return l("toggle_voice",{})}return h}()})})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Products",fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{children:c.map(function(h){return(0,e.createComponentVNode)(2,y,{product:h,productStock:h.stock},h.name)})})})})]})})})}return k}()},12692:function(I,r,n){"use strict";r.__esModule=!0,r.DNAModifier=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(3939),y=[["good","Alive"],["average","Critical"],["bad","DEAD"]],V=[["ui","Modify U.I.","dna"],["se","Modify S.E.","dna"],["buffer","Transfer Buffers","syringe"],["rejuvenators","Rejuvenators","flask"]],k=[5,10,20,30,50],S=r.DNAModifier=function(){function h(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.irradiating,A=L.dnaBlockSize,T=L.occupant;N.dnaBlockSize=A,N.isDNAInvalid=!T.isViableSubject||!T.uniqueIdentity||!T.structuralEnzymes;var E;return w&&(E=(0,e.createComponentVNode)(2,b,{duration:w})),(0,e.createComponentVNode)(2,o.Window,{width:660,height:775,children:[(0,e.createComponentVNode)(2,d.ComplexModal),E,(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,p)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,i)})]})})]})}return h}(),p=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.locked,A=L.hasOccupant,T=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{color:"label",inline:!0,mr:"0.5rem",children:"Door Lock:"}),(0,e.createComponentVNode)(2,t.Button,{disabled:!A,selected:w,icon:w?"toggle-on":"toggle-off",content:w?"Engaged":"Disengaged",onClick:function(){function E(){return B("toggleLock")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!A||w,icon:"user-slash",content:"Eject",onClick:function(){function E(){return B("ejectOccupant")}return E}()})],4),children:A?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:T.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:T.minHealth,max:T.maxHealth,value:T.health/T.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:y[T.stat][0],children:y[T.stat][1]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider)]})}),N.isDNAInvalid?(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-circle"}),"\xA0 The occupant's DNA structure is ruined beyond recognition, please insert a subject with an intact DNA structure."]}):(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Radiation",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:"0",max:"100",value:T.radiationLevel/100,color:"average"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unique Enzymes",children:L.occupant.uniqueEnzymes?L.occupant.uniqueEnzymes:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-circle"}),"\xA0 Unknown"]})})]})],0):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"Cell unoccupied."})})},i=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.selectedMenuKey,A=L.hasOccupant,T=L.occupant;if(A){if(N.isDNAInvalid)return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No operation possible on this subject."]})})})}else return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant in DNA modifier."]})})});var E;return w==="ui"?E=(0,e.createFragment)([(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,u)],4):w==="se"?E=(0,e.createFragment)([(0,e.createComponentVNode)(2,f),(0,e.createComponentVNode)(2,u)],4):w==="buffer"?E=(0,e.createComponentVNode)(2,s):w==="rejuvenators"&&(E=(0,e.createComponentVNode)(2,v)),(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:V.map(function(O,P){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:O[2],selected:w===O[0],onClick:function(){function R(){return B("selectMenuKey",{key:O[0]})}return R}(),children:O[1]},P)})}),E]})},l=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.selectedUIBlock,A=L.selectedUISubBlock,T=L.selectedUITarget,E=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Modify Unique Identifier",children:[(0,e.createComponentVNode)(2,g,{dnaString:E.uniqueIdentity,selectedBlock:w,selectedSubblock:A,blockSize:N.dnaBlockSize,action:"selectUIBlock"}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:15,stepPixelSize:"20",value:T,format:function(){function O(P){return P.toString(16).toUpperCase()}return O}(),ml:"0",onChange:function(){function O(P,R){return B("changeUITarget",{value:R})}return O}()})})}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Irradiate Block",mt:"0.5rem",onClick:function(){function O(){return B("pulseUIRadiation")}return O}()})]})},f=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.selectedSEBlock,A=L.selectedSESubBlock,T=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Modify Structural Enzymes",children:[(0,e.createComponentVNode)(2,g,{dnaString:T.structuralEnzymes,selectedBlock:w,selectedSubblock:A,blockSize:N.dnaBlockSize,action:"selectSEBlock"}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Irradiate Block",onClick:function(){function E(){return B("pulseSERadiation")}return E}()})]})},u=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.radiationIntensity,A=L.radiationDuration;return(0,e.createComponentVNode)(2,t.Section,{title:"Radiation Emitter",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Intensity",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:10,stepPixelSize:20,value:w,popUpPosition:"right",ml:"0",onChange:function(){function T(E,O){return B("radiationIntensity",{value:O})}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Duration",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:20,stepPixelSize:10,unit:"s",value:A,popUpPosition:"right",ml:"0",onChange:function(){function T(E,O){return B("radiationDuration",{value:O})}return T}()})})]}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Pulse Radiation",tooltip:"Mutates a random block of either the occupant's UI or SE.",tooltipPosition:"top-start",mt:"0.5rem",onClick:function(){function T(){return B("pulseRadiation")}return T}()})]})},s=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.buffers,A=w.map(function(T,E){return(0,e.createComponentVNode)(2,m,{id:E+1,name:"Buffer "+(E+1),buffer:T},E)});return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{height:"75%",mt:1,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Buffers",children:A})}),(0,e.createComponentVNode)(2,t.Stack.Item,{height:"25%",children:(0,e.createComponentVNode)(2,c)})]})},m=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=C.id,A=C.name,T=C.buffer,E=L.isInjectorReady,O=A+(T.data?" - "+T.label:"");return(0,e.createComponentVNode)(2,t.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,e.createComponentVNode)(2,t.Section,{title:O,mx:"0",lineHeight:"18px",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{disabled:!T.data,icon:"trash",content:"Clear",onClick:function(){function P(){return B("bufferOption",{option:"clear",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!T.data,icon:"pen",content:"Rename",onClick:function(){function P(){return B("bufferOption",{option:"changeLabel",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!T.data||!L.hasDisk,icon:"save",content:"Export",tooltip:"Exports this buffer to the currently loaded data disk.",tooltipPosition:"bottom-start",onClick:function(){function P(){return B("bufferOption",{option:"saveDisk",id:w})}return P}()})],4),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Write",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject U.I",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"saveUI",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject U.I and U.E.",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"saveUIAndUE",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject S.E.",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"saveSE",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!L.hasDisk||!L.disk.data,icon:"arrow-circle-down",content:"From Disk",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"loadDisk",id:w})}return P}()})]}),!!T.data&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subject",children:T.owner||(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Unknown"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Type",children:[T.type==="ui"?"Unique Identifiers":"Structural Enzymes",!!T.ue&&" and Unique Enzymes"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transfer to",children:[(0,e.createComponentVNode)(2,t.Button,{disabled:!E,icon:E?"syringe":"spinner",iconSpin:!E,content:"Injector",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"createInjector",id:w})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!E,icon:E?"syringe":"spinner",iconSpin:!E,content:"Block Injector",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"createInjector",id:w,block:1})}return P}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"user",content:"Subject",mb:"0",onClick:function(){function P(){return B("bufferOption",{option:"transfer",id:w})}return P}()})]})],4)]}),!T.data&&(0,e.createComponentVNode)(2,t.Box,{color:"label",mt:"0.5rem",children:"This buffer is empty."})]})})},c=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.hasDisk,A=L.disk;return(0,e.createComponentVNode)(2,t.Section,{title:"Data Disk",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{disabled:!w||!A.data,icon:"trash",content:"Wipe",onClick:function(){function T(){return B("wipeDisk")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!w,icon:"eject",content:"Eject",onClick:function(){function T(){return B("ejectDisk")}return T}()})],4),children:w?A.data?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Label",children:A.label?A.label:"No label"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subject",children:A.owner?A.owner:(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Unknown"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Type",children:[A.type==="ui"?"Unique Identifiers":"Structural Enzymes",!!A.ue&&" and Unique Enzymes"]})]}):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"Disk is blank."}):(0,e.createComponentVNode)(2,t.Box,{color:"label",textAlign:"center",my:"1rem",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"save-o",size:"4"}),(0,e.createVNode)(1,"br"),"No disk inserted."]})})},v=function(C,N){var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=L.isBeakerLoaded,A=L.beakerVolume,T=L.beakerLabel;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Rejuvenators and Beaker",buttons:(0,e.createComponentVNode)(2,t.Button,{disabled:!w,icon:"eject",content:"Eject",onClick:function(){function E(){return B("ejectBeaker")}return E}()}),children:w?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Inject",children:[k.map(function(E,O){return(0,e.createComponentVNode)(2,t.Button,{disabled:E>A,icon:"syringe",content:E,onClick:function(){function P(){return B("injectRejuvenators",{amount:E})}return P}()},O)}),(0,e.createComponentVNode)(2,t.Button,{disabled:A<=0,icon:"syringe",content:"All",onClick:function(){function E(){return B("injectRejuvenators",{amount:A})}return E}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Beaker",children:[(0,e.createComponentVNode)(2,t.Box,{mb:"0.5rem",children:T||"No label"}),A?(0,e.createComponentVNode)(2,t.Box,{color:"good",children:[A," unit",A===1?"":"s"," remaining"]}):(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Empty"})]})]}):(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"flask",size:5,color:"silver"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"h3",null,"No beaker loaded.",16)]})})})},b=function(C,N){return(0,e.createComponentVNode)(2,t.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"spinner",size:"5",spin:!0}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{color:"average",children:(0,e.createVNode)(1,"h1",null,[(0,e.createComponentVNode)(2,t.Icon,{name:"radiation"}),(0,e.createTextVNode)("\xA0Irradiating occupant\xA0"),(0,e.createComponentVNode)(2,t.Icon,{name:"radiation"})],4)}),(0,e.createComponentVNode)(2,t.Box,{color:"label",children:(0,e.createVNode)(1,"h3",null,[(0,e.createTextVNode)("For "),C.duration,(0,e.createTextVNode)(" second"),C.duration===1?"":"s"],0)})]})},g=function(C,N){for(var x=(0,a.useBackend)(N),B=x.act,L=x.data,w=C.dnaString,A=C.selectedBlock,T=C.selectedSubblock,E=C.blockSize,O=C.action,P=w.split(""),R=0,F=[],j=function(){for(var H=W/E+1,$=[],G=function(){var he=ne+1;$.push((0,e.createComponentVNode)(2,t.Button,{selected:A===H&&T===he,content:P[W+ne],mb:"0",onClick:function(){function Ve(){return B(O,{block:H,subblock:he})}return Ve}()}))},ne=0;ne0?"Yes":"No",selected:i.com>0,onClick:function(){function f(){return p("toggle_com")}return f}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Security",children:l.map(function(f,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.sec===f,content:f,onClick:function(){function s(){return p("set_sec",{set_sec:f})}return s}()},"sec"+f)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Medical",children:l.map(function(f,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.med===f,content:f,onClick:function(){function s(){return p("set_med",{set_med:f})}return s}()},"med"+f)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Engineering",children:l.map(function(f,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.eng===f,content:f,onClick:function(){function s(){return p("set_eng",{set_eng:f})}return s}()},"eng"+f)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Paranormal",children:l.map(function(f,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.par===f,content:f,onClick:function(){function s(){return p("set_par",{set_par:f})}return s}()},"par"+f)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Janitor",children:l.map(function(f,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.jan===f,content:f,onClick:function(){function s(){return p("set_jan",{set_jan:f})}return s}()},"jan"+f)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cyborg",children:l.map(function(f,u){return(0,e.createComponentVNode)(2,t.Button,{selected:i.cyb===f,content:f,onClick:function(){function s(){return p("set_cyb",{set_cyb:f})}return s}()},"cyb"+f)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Slots",children:(0,e.createComponentVNode)(2,t.Box,{color:i.total>i.spawnpoints?"red":"green",children:[i.total," total, versus ",i.spawnpoints," spawnpoints"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dispatch",children:(0,e.createComponentVNode)(2,t.Button,{icon:"ambulance",content:"Send ERT",onClick:function(){function f(){return p("dispatch_ert")}return f}()})})]})})]})})}return y}()},82565:function(I,r,n){"use strict";r.__esModule=!0,r.Electropack=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=n(98595),y=r.Electropack=function(){function V(k,S){var p=(0,t.useBackend)(S),i=p.act,l=p.data,f=l.power,u=l.code,s=l.frequency,m=l.minFrequency,c=l.maxFrequency;return(0,e.createComponentVNode)(2,d.Window,{width:360,height:150,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,o.Button,{icon:f?"power-off":"times",content:f?"On":"Off",selected:f,onClick:function(){function v(){return i("power")}return v}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Reset",onClick:function(){function v(){return i("reset",{reset:"freq"})}return v}()}),children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:m/10,maxValue:c/10,value:s/10,format:function(){function v(b){return(0,a.toFixed)(b,1)}return v}(),width:"80px",onChange:function(){function v(b,g){return i("freq",{freq:g})}return v}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Reset",onClick:function(){function v(){return i("reset",{reset:"code"})}return v}()}),children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:u,width:"80px",onChange:function(){function v(b,g){return i("code",{code:g})}return v}()})})]})})})})}return V}()},36730:function(I,r,n){"use strict";r.__esModule=!0,r.EvolutionMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.EvolutionMenu=function(){function k(S,p){return(0,e.createComponentVNode)(2,o.Window,{width:480,height:574,theme:"changeling",children:(0,e.createComponentVNode)(2,o.Window.Content,{className:"Layout__content--flexColumn",children:[(0,e.createComponentVNode)(2,y),(0,e.createComponentVNode)(2,V)]})})}return k}(),y=function(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.evo_points,s=f.can_respec;return(0,e.createComponentVNode)(2,t.Section,{title:"Evolution Points",height:5.5,children:(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mt:.5,color:"label",children:"Points remaining:"}),(0,e.createComponentVNode)(2,t.Flex.Item,{mt:.5,ml:2,bold:!0,color:"#1b945c",children:u}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{ml:2.5,disabled:!s,content:"Readapt",icon:"sync",onClick:function(){function m(){return l("readapt")}return m}()}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"By transforming a humanoid into a husk, we gain the ability to readapt our chosen evolutions.",tooltipPosition:"bottom",icon:"question-circle"})]})]})})},V=function(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.evo_points,s=f.ability_list,m=f.purchased_abilities,c=f.view_mode;return(0,e.createComponentVNode)(2,t.Section,{title:"Abilities",flexGrow:"1",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:c?"square-o":"check-square-o",selected:!c,content:"Compact",onClick:function(){function v(){return l("set_view_mode",{mode:0})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:c?"check-square-o":"square-o",selected:c,content:"Expanded",onClick:function(){function v(){return l("set_view_mode",{mode:1})}return v}()})],4),children:s.map(function(v,b){return(0,e.createComponentVNode)(2,t.Box,{p:.5,mx:-1,className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{ml:.5,color:"#dedede",children:v.name}),m.includes(v.power_path)&&(0,e.createComponentVNode)(2,t.Flex.Item,{ml:2,bold:!0,color:"#1b945c",children:"(Purchased)"}),(0,e.createComponentVNode)(2,t.Flex.Item,{mr:3,textAlign:"right",grow:1,children:[(0,e.createComponentVNode)(2,t.Box,{as:"span",color:"label",children:["Cost:"," "]}),(0,e.createComponentVNode)(2,t.Box,{as:"span",bold:!0,color:"#1b945c",children:v.cost})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{textAlign:"right",children:(0,e.createComponentVNode)(2,t.Button,{mr:.5,disabled:v.cost>u||m.includes(v.power_path),content:"Evolve",onClick:function(){function g(){return l("purchase",{power_path:v.power_path})}return g}()})})]}),!!c&&(0,e.createComponentVNode)(2,t.Flex,{color:"#8a8a8a",my:1,ml:1.5,width:"95%",children:v.description+" "+v.helptext})]},b)})})}},17370:function(I,r,n){"use strict";r.__esModule=!0,r.ExosuitFabricator=void 0;var e=n(89005),a=n(35840),t=n(25328),o=n(72253),d=n(36036),y=n(73379),V=n(98595),k=["id","amount","lineDisplay","onClick"];function S(b,g){if(b==null)return{};var h={};for(var C in b)if({}.hasOwnProperty.call(b,C)){if(g.includes(C))continue;h[C]=b[C]}return h}var p=2e3,i={bananium:"clown",tranquillite:"mime"},l=r.ExosuitFabricator=function(){function b(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.building;return(0,e.createComponentVNode)(2,V.Window,{width:950,height:625,children:(0,e.createComponentVNode)(2,V.Window.Content,{className:"Exofab",children:(0,e.createComponentVNode)(2,d.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,d.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,u)}),B&&(0,e.createComponentVNode)(2,d.Stack.Item,{children:(0,e.createComponentVNode)(2,s)})]})}),(0,e.createComponentVNode)(2,d.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,d.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f)}),(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,m)})]})})]})})})}return b}(),f=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.materials,L=x.capacity,w=Object.values(B).reduce(function(A,T){return A+T},0);return(0,e.createComponentVNode)(2,d.Section,{fill:!0,scrollable:!0,title:"Materials",className:"Exofab__materials",buttons:(0,e.createComponentVNode)(2,d.Box,{color:"label",mt:"0.25rem",children:[(w/L*100).toPrecision(3),"% full"]}),children:["metal","glass","silver","gold","uranium","titanium","plasma","diamond","bluespace","bananium","tranquillite","plastic"].map(function(A){return(0,e.createComponentVNode)(2,c,{mt:-2,id:A,bold:A==="metal"||A==="glass",onClick:function(){function T(){return N("withdraw",{id:A})}return T}()},A)})})},u=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.curCategory,L=x.categories,w=x.designs,A=x.syncing,T=(0,o.useLocalState)(h,"searchText",""),E=T[0],O=T[1],P=(0,t.createSearch)(E,function(F){return F.name}),R=w.filter(P);return(0,e.createComponentVNode)(2,d.Section,{fill:!0,scrollable:!0,className:"Exofab__designs",title:(0,e.createComponentVNode)(2,d.Dropdown,{className:"Exofab__dropdown",selected:B,options:L,onSelected:function(){function F(j){return N("category",{cat:j})}return F}()}),buttons:(0,e.createComponentVNode)(2,d.Box,{mt:"2px",children:[(0,e.createComponentVNode)(2,d.Button,{icon:"plus",content:"Queue all",onClick:function(){function F(){return N("queueall")}return F}()}),(0,e.createComponentVNode)(2,d.Button,{disabled:A,iconSpin:A,icon:"sync-alt",content:A?"Synchronizing...":"Synchronize with R&D servers",onClick:function(){function F(){return N("sync")}return F}()})]}),children:[(0,e.createComponentVNode)(2,d.Input,{placeholder:"Search by name...",mb:"0.5rem",width:"100%",onInput:function(){function F(j,W){return O(W)}return F}()}),R.map(function(F){return(0,e.createComponentVNode)(2,v,{design:F},F.id)}),R.length===0&&(0,e.createComponentVNode)(2,d.Box,{color:"label",children:"No designs found."})]})},s=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.building,L=x.buildStart,w=x.buildEnd,A=x.worldTime;return(0,e.createComponentVNode)(2,d.Section,{className:"Exofab__building",stretchContents:!0,children:(0,e.createComponentVNode)(2,d.ProgressBar.Countdown,{start:L,current:A,end:w,children:(0,e.createComponentVNode)(2,d.Stack,{children:[(0,e.createComponentVNode)(2,d.Stack.Item,{children:(0,e.createComponentVNode)(2,d.Icon,{name:"cog",spin:!0})}),(0,e.createComponentVNode)(2,d.Stack.Item,{children:["Building ",B,"\xA0(",(0,e.createComponentVNode)(2,y.Countdown,{current:A,timeLeft:w-A,format:function(){function T(E,O){return O.substr(3)}return T}()}),")"]})]})})})},m=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=x.queue,L=x.processingQueue,w=Object.entries(x.queueDeficit).filter(function(T){return T[1]<0}),A=B.reduce(function(T,E){return T+E.time},0);return(0,e.createComponentVNode)(2,d.Section,{fill:!0,scrollable:!0,className:"Exofab__queue",title:"Queue",buttons:(0,e.createComponentVNode)(2,d.Box,{children:[(0,e.createComponentVNode)(2,d.Button,{selected:L,icon:L?"toggle-on":"toggle-off",content:"Process",onClick:function(){function T(){return N("process")}return T}()}),(0,e.createComponentVNode)(2,d.Button,{disabled:B.length===0,icon:"eraser",content:"Clear",onClick:function(){function T(){return N("unqueueall")}return T}()})]}),children:(0,e.createComponentVNode)(2,d.Stack,{fill:!0,vertical:!0,children:B.length===0?(0,e.createComponentVNode)(2,d.Box,{color:"label",children:"The queue is empty."}):(0,e.createFragment)([(0,e.createComponentVNode)(2,d.Stack.Item,{className:"Exofab__queue--queue",grow:!0,overflow:"auto",children:B.map(function(T,E){return(0,e.createComponentVNode)(2,d.Box,{color:T.notEnough&&"bad",children:[E+1,". ",T.name,E>0&&(0,e.createComponentVNode)(2,d.Button,{icon:"arrow-up",onClick:function(){function O(){return N("queueswap",{from:E+1,to:E})}return O}()}),E0&&(0,e.createComponentVNode)(2,d.Stack.Item,{className:"Exofab__queue--time",children:[(0,e.createComponentVNode)(2,d.Divider),"Processing time:",(0,e.createComponentVNode)(2,d.Icon,{name:"clock",mx:"0.5rem"}),(0,e.createComponentVNode)(2,d.Box,{inline:!0,bold:!0,children:new Date(A/10*1e3).toISOString().substr(14,5)})]}),Object.keys(w).length>0&&(0,e.createComponentVNode)(2,d.Stack.Item,{className:"Exofab__queue--deficit",shrink:"0",children:[(0,e.createComponentVNode)(2,d.Divider),"Lacking materials to complete:",w.map(function(T){return(0,e.createComponentVNode)(2,d.Box,{children:(0,e.createComponentVNode)(2,c,{id:T[0],amount:-T[1],lineDisplay:!0})},T[0])})]})],0)})})},c=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=g.id,L=g.amount,w=g.lineDisplay,A=g.onClick,T=S(g,k),E=x.materials[B]||0,O=L||E;if(!(O<=0&&!(B==="metal"||B==="glass"))){var P=L&&L>E;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,d.Stack,Object.assign({align:"center",className:(0,a.classes)(["Exofab__material",w&&"Exofab__material--line"])},T,{children:w?(0,e.createFragment)([(0,e.createComponentVNode)(2,d.Stack.Item,{className:(0,a.classes)(["materials32x32",B])}),(0,e.createComponentVNode)(2,d.Stack.Item,{className:"Exofab__material--amount",color:P&&"bad",ml:0,mr:1,children:O.toLocaleString("en-US")})],4):(0,e.createFragment)([(0,e.createComponentVNode)(2,d.Stack.Item,{basis:"content",children:(0,e.createComponentVNode)(2,d.Button,{width:"85%",color:"transparent",onClick:A,children:(0,e.createComponentVNode)(2,d.Box,{mt:1,className:(0,a.classes)(["materials32x32",B])})})}),(0,e.createComponentVNode)(2,d.Stack.Item,{grow:"1",children:[(0,e.createComponentVNode)(2,d.Box,{className:"Exofab__material--name",children:B}),(0,e.createComponentVNode)(2,d.Box,{className:"Exofab__material--amount",children:[O.toLocaleString("en-US")," cm\xB3 (",Math.round(O/p*10)/10," ","sheets)"]})]})],4)})))}},v=function(g,h){var C=(0,o.useBackend)(h),N=C.act,x=C.data,B=g.design;return(0,e.createComponentVNode)(2,d.Box,{className:"Exofab__design",children:[(0,e.createComponentVNode)(2,d.Button,{disabled:B.notEnough||x.building,icon:"cog",content:B.name,onClick:function(){function L(){return N("build",{id:B.id})}return L}()}),(0,e.createComponentVNode)(2,d.Button,{icon:"plus-circle",onClick:function(){function L(){return N("queue",{id:B.id})}return L}()}),(0,e.createComponentVNode)(2,d.Box,{className:"Exofab__design--cost",children:Object.entries(B.cost).map(function(L){return(0,e.createComponentVNode)(2,d.Box,{children:(0,e.createComponentVNode)(2,c,{id:L[0],amount:L[1],lineDisplay:!0})},L[0])})}),(0,e.createComponentVNode)(2,d.Stack,{className:"Exofab__design--time",children:(0,e.createComponentVNode)(2,d.Stack.Item,{children:[(0,e.createComponentVNode)(2,d.Icon,{name:"clock"}),B.time>0?(0,e.createFragment)([B.time/10,(0,e.createTextVNode)(" seconds")],0):"Instant"]})})]})}},97086:function(I,r,n){"use strict";r.__esModule=!0,r.ExternalAirlockController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=0,y=1013,V=function(p){var i="good",l=80,f=95,u=110,s=120;return pu?i="average":p>s&&(i="bad"),i},k=r.ExternalAirlockController=function(){function S(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.chamber_pressure,m=u.exterior_status,c=u.interior_status,v=u.processing;return(0,e.createComponentVNode)(2,o.Window,{width:470,height:290,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Information",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Chamber Pressure",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:V(s),value:s,minValue:d,maxValue:y,children:[s," kPa"]})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Cycle to Exterior",icon:"arrow-circle-left",disabled:v,onClick:function(){function b(){return f("cycle_ext")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Cycle to Interior",icon:"arrow-circle-right",disabled:v,onClick:function(){function b(){return f("cycle_int")}return b}()})]}),(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Force Exterior Door",icon:"exclamation-triangle",color:c==="open"?"red":v?"yellow":null,onClick:function(){function b(){return f("force_ext")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Force Interior Door",icon:"exclamation-triangle",color:c==="open"?"red":v?"yellow":null,onClick:function(){function b(){return f("force_int")}return b}()})]}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Abort",icon:"ban",color:"red",disabled:!v,onClick:function(){function b(){return f("abort")}return b}()})})]})]})})}return S}()},96142:function(I,r,n){"use strict";r.__esModule=!0,r.FaxMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.FaxMachine=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;return(0,e.createComponentVNode)(2,o.Window,{width:540,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Card",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.scan_name?"eject":"id-card",selected:i.scan_name,content:i.scan_name?i.scan_name:"-----",tooltip:i.scan_name?"Eject ID":"Insert ID",onClick:function(){function l(){return p("scan")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Authorize",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.authenticated?"sign-out-alt":"id-card",selected:i.authenticated,disabled:!i.scan_name&&!i.authenticated,content:i.authenticated?"Log Out":"Log In",onClick:function(){function l(){return p("auth")}return l}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Fax Menu",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network",children:i.network}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Document",children:[(0,e.createComponentVNode)(2,t.Button,{icon:i.paper?"eject":"paperclip",disabled:!i.authenticated&&!i.paper,content:i.paper?i.paper:"-----",onClick:function(){function l(){return p("paper")}return l}()}),!!i.paper&&(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){function l(){return p("rename")}return l}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sending To",children:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:i.destination?i.destination:"-----",disabled:!i.authenticated,onClick:function(){function l(){return p("dept")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Action",children:(0,e.createComponentVNode)(2,t.Button,{icon:"envelope",content:i.sendError?i.sendError:"Send",disabled:!i.paper||!i.destination||!i.authenticated||i.sendError,onClick:function(){function l(){return p("send")}return l}()})})]})})]})})}return y}()},83767:function(I,r,n){"use strict";r.__esModule=!0,r.FloorPainter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=function(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=k.image,u=k.isSelected,s=k.onSelect;return(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+f,style:{"border-style":u&&"solid"||"none","border-width":"2px","border-color":"orange",padding:u&&"2px"||"4px"},onClick:s})},y=r.FloorPainter=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.availableStyles,u=l.selectedStyle,s=l.selectedDir,m=l.directionsPreview,c=l.allStylesPreview;return(0,e.createComponentVNode)(2,o.Window,{width:405,height:475,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Decal setup",children:[(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-left",onClick:function(){function v(){return i("cycle_style",{offset:-1})}return v}()})}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Dropdown,{options:f,selected:u,width:"150px",height:"20px",ml:"2px",mr:"2px",nochevron:!0,onSelected:function(){function v(b){return i("select_style",{style:b})}return v}()})}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",onClick:function(){function v(){return i("cycle_style",{offset:1})}return v}()})})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"5px",mb:"5px",children:(0,e.createComponentVNode)(2,t.Flex,{overflowY:"auto",maxHeight:"220px",wrap:"wrap",children:f.map(function(v){return(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,d,{image:c[v],isSelected:u===v,onSelect:function(){function b(){return i("select_style",{style:v})}return b}()})},"{style}")})})}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Direction",children:(0,e.createComponentVNode)(2,t.Table,{style:{display:"inline"},children:["north","","south"].map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[v+"west",v,v+"east"].map(function(b){return(0,e.createComponentVNode)(2,t.Table.Cell,{style:{"vertical-align":"middle","text-align":"center"},children:b===""?(0,e.createComponentVNode)(2,t.Icon,{name:"arrows-alt",size:3}):(0,e.createComponentVNode)(2,d,{image:m[b],isSelected:b===s,onSelect:function(){function g(){return i("select_direction",{direction:b})}return g}()})},b)})},v)})})})})]})})})}return V}()},53424:function(I,r,n){"use strict";r.__esModule=!0,r.GPS=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=n(98595),y=function(u){return u?"("+u.join(", ")+")":"ERROR"},V=function(u,s,m){if(!(!u||!s)){if(u[2]!==s[2]||m!==1)return null;var c=Math.atan2(s[1]-u[1],s[0]-u[0]),v=Math.sqrt(Math.pow(s[1]-u[1],2)+Math.pow(s[0]-u[0],2));return{angle:(0,a.rad2deg)(c),distance:v}}},k=r.GPS=function(){function f(u,s){var m=(0,t.useBackend)(s),c=m.data,v=c.emped,b=c.active,g=c.area,h=c.position,C=c.saved;return(0,e.createComponentVNode)(2,d.Window,{width:450,height:700,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,o.Flex,{direction:"column",height:"100%",children:v?(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",basis:"0",children:(0,e.createComponentVNode)(2,S,{emp:!0})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Flex.Item,{children:(0,e.createComponentVNode)(2,p)}),b?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Flex.Item,{mt:"0.5rem",children:(0,e.createComponentVNode)(2,i,{area:g,position:h})}),C&&(0,e.createComponentVNode)(2,o.Flex.Item,{mt:"0.5rem",children:(0,e.createComponentVNode)(2,i,{title:"Saved Position",position:C})}),(0,e.createComponentVNode)(2,o.Flex.Item,{mt:"0.5rem",grow:"1",basis:"0",children:(0,e.createComponentVNode)(2,l,{height:"100%"})})],0):(0,e.createComponentVNode)(2,S)],0)})})})}return f}(),S=function(u,s){var m=u.emp;return(0,e.createComponentVNode)(2,o.Section,{mt:"0.5rem",width:"100%",height:"100%",stretchContents:!0,children:(0,e.createComponentVNode)(2,o.Box,{width:"100%",height:"100%",color:"label",textAlign:"center",children:(0,e.createComponentVNode)(2,o.Flex,{height:"100%",children:(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:m?"ban":"power-off",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),m?"ERROR: Device temporarily lost signal.":"Device is disabled."]})})})})},p=function(u,s){var m=(0,t.useBackend)(s),c=m.act,v=m.data,b=v.active,g=v.tag,h=v.same_z,C=(0,t.useLocalState)(s,"newTag",g),N=C[0],x=C[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Settings",buttons:(0,e.createComponentVNode)(2,o.Button,{selected:b,icon:b?"toggle-on":"toggle-off",content:b?"On":"Off",onClick:function(){function B(){return c("toggle")}return B}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Tag",children:[(0,e.createComponentVNode)(2,o.Input,{width:"5rem",value:g,onEnter:function(){function B(){return c("tag",{newtag:N})}return B}(),onInput:function(){function B(L,w){return x(w)}return B}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:g===N,width:"20px",mb:"0",ml:"0.25rem",onClick:function(){function B(){return c("tag",{newtag:N})}return B}(),children:(0,e.createComponentVNode)(2,o.Icon,{name:"pen"})})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Range",children:(0,e.createComponentVNode)(2,o.Button,{selected:!h,icon:h?"compress":"expand",content:h?"Local Sector":"Global",onClick:function(){function B(){return c("same_z")}return B}()})})]})})},i=function(u,s){var m=u.title,c=u.area,v=u.position;return(0,e.createComponentVNode)(2,o.Section,{title:m||"Position",children:(0,e.createComponentVNode)(2,o.Box,{fontSize:"1.5rem",children:[c&&(0,e.createFragment)([c,(0,e.createVNode)(1,"br")],0),y(v)]})})},l=function(u,s){var m=(0,t.useBackend)(s),c=m.data,v=c.position,b=c.signals,g=c.upgraded;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Signals",overflow:"auto"},u,{children:(0,e.createComponentVNode)(2,o.Table,{children:b.map(function(h){return Object.assign({},h,V(v,h.position,g))}).map(function(h,C){return(0,e.createComponentVNode)(2,o.Table.Row,{backgroundColor:C%2===0&&"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,o.Table.Cell,{width:"30%",verticalAlign:"middle",color:"label",p:"0.25rem",bold:!0,children:h.tag}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",color:"grey",children:h.area}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",collapsing:!0,children:h.distance!==void 0&&(0,e.createComponentVNode)(2,o.Box,{opacity:Math.max(1-Math.min(h.distance,100)/100,.5),children:[(0,e.createComponentVNode)(2,o.Icon,{name:h.distance>0?"arrow-right":"circle",rotation:-h.angle}),"\xA0",Math.floor(h.distance)+"m"]})}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",pr:"0.25rem",collapsing:!0,children:y(h.position)})]},C)})})})))}},68703:function(I,r,n){"use strict";r.__esModule=!0,r.GasAnalyzerHistory=r.GasAnalyzerContent=r.GasAnalyzer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.GasAnalyzerContent=function(){function k(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.gasmixes,s=f.autoUpdating;return(0,e.createComponentVNode)(2,t.Section,{title:u[0].name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:s?"unlock":"lock",onClick:function(){function m(){return l("autoscantoggle")}return m}(),tooltip:s?"Auto-Update Enabled":"Auto-Update Disabled",fluid:!0,textAlign:"center",selected:s}),children:u[0].total_moles?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Moles",children:(u[0].total_moles?u[0].total_moles:"-")+" mol"}),u[0].oxygen?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen",children:u[0].oxygen.toFixed(2)+" mol ("+(u[0].oxygen/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].nitrogen?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrogen",children:u[0].nitrogen.toFixed(2)+" mol ("+(u[0].nitrogen/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].carbon_dioxide?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Carbon Dioxide",children:u[0].carbon_dioxide.toFixed(2)+" mol ("+(u[0].carbon_dioxide/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].toxins?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Plasma",children:u[0].toxins.toFixed(2)+" mol ("+(u[0].toxins/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].sleeping_agent?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrous Oxide",children:u[0].sleeping_agent.toFixed(2)+" mol ("+(u[0].sleeping_agent/u[0].total_moles).toFixed(2)*100+" %)"}):"",u[0].agent_b?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Agent B",children:u[0].agent_b.toFixed(2)+" mol ("+(u[0].agent_b/u[0].total_moles).toFixed(2)*100+" %)"}):"",(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(u[0].total_moles?(u[0].temperature-273.15).toFixed(2):"-")+" \xB0C ("+(u[0].total_moles?u[0].temperature.toFixed(2):"-")+" K)"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Volume",children:(u[0].total_moles?u[0].volume:"-")+" L"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:(u[0].total_moles?u[0].pressure.toFixed(2):"-")+" kPa"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Heat Capacity",children:u[0].heat_capacity+" / K"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Thermal Energy",children:u[0].thermal_energy})]}):(0,e.createComponentVNode)(2,t.Box,{nowrap:!0,italic:!0,mb:"10px",children:"No Gas Detected!"})},u[0])}return k}(),y=r.GasAnalyzerHistory=function(){function k(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.historyGasmixes,s=f.historyViewMode,m=f.historyIndex;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Scan History",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"trash",tooltip:"Clear History",onClick:function(){function c(){return l("clearhistory")}return c}(),textAlign:"center",disabled:u.length===0}),children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mode",children:(0,e.createComponentVNode)(2,t.Flex,{inline:!0,width:"50%",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"kPa",onClick:function(){function c(){return l("modekpa")}return c}(),textAlign:"center",selected:s==="kpa"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"mol",onClick:function(){function c(){return l("modemol")}return c}(),textAlign:"center",selected:s==="mol"})})]})}),(0,e.createComponentVNode)(2,t.LabeledList,{children:u.map(function(c,v){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:v+1+". "+(s==="mol"?c[0].total_moles.toFixed(2):c[0].pressure.toFixed(2)),onClick:function(){function b(){return l("input",{target:v+1})}return b}(),textAlign:"left",selected:v+1===m,fluid:!0})},c[0])})})]})}return k}(),V=r.GasAnalyzer=function(){function k(S,p){var i={float:"left",width:"67%"},l={float:"right",width:"33%"};return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createVNode)(1,"div",null,(0,e.createComponentVNode)(2,t.Section,{grow:!0,children:(0,e.createComponentVNode)(2,d)}),2,{style:i}),(0,e.createVNode)(1,"div",null,(0,e.createComponentVNode)(2,t.Section,{width:"160px",children:(0,e.createComponentVNode)(2,y)}),2,{style:l})]})})}return k}()},27546:function(I,r,n){"use strict";r.__esModule=!0,r.GasFreezer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.GasFreezer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.on,f=i.pressure,u=i.temperature,s=i.temperatureCelsius,m=i.min,c=i.max,v=i.target,b=i.targetCelsius,g=(u-m)/(c-m);return(0,e.createComponentVNode)(2,o.Window,{width:560,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0442\u0430\u0442\u0443\u0441",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:l?"power-off":"times",content:l?"\u0412\u043A\u043B":"\u0412\u044B\u043A\u043B",selected:l,onClick:function(){function h(){return p("power")}return h}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0414\u0430\u0432\u043B\u0435\u043D\u0438\u0435",children:[f," \u043A\u041F\u0430"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0422\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",justify:"space-between",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"65%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:g,ranges:{blue:[-1/0,.5],red:[.5,1/0]},children:"\xA0"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"35%",children:[g<.5&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"blue",ml:1,children:[u," \xB0K (",s," \xB0C)"]}),g>=.5&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"red",ml:1,children:[u," \xB0K (",s," \xB0C)"]})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0426\u0435\u043B\u0435\u0432\u0430\u044F \u0442\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"65%",justify:"end",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:(v-m)/(c-m),children:"\xA0"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"35%",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,ml:1,children:[v," \xB0K (",b," \xB0C)"]})})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0417\u0430\u0434\u0430\u0442\u044C \u0446\u0435\u043B\u0435\u0432\u0443\u044E \u0442\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0443",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",title:"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",onClick:function(){function h(){return p("temp",{temp:m})}return h}()}),(0,e.createComponentVNode)(2,t.NumberInput,{value:Math.round(v),unit:"\xB0K",minValue:Math.round(m),maxValue:Math.round(c),step:5,stepPixelSize:3,onDrag:function(){function h(C,N){return p("temp",{temp:N})}return h}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",title:"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430",onClick:function(){function h(){return p("temp",{temp:c})}return h}()})]})]})})})})}return y}()},89124:function(I,r,n){"use strict";r.__esModule=!0,r.GeneModder=void 0;var e=n(89005),a=n(72253),t=n(35840),o=n(36036),d=n(3939),y=n(98595),V=r.GeneModder=function(){function s(m,c){var v=(0,a.useBackend)(c),b=v.data,g=b.has_seed;return(0,e.createComponentVNode)(2,y.Window,{width:500,height:650,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,d.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),g===0?(0,e.createComponentVNode)(2,S):(0,e.createComponentVNode)(2,k)]})})})}return s}(),k=function(m,c){var v=(0,a.useBackend)(c),b=v.act,g=v.data,h=g.disk;return(0,e.createComponentVNode)(2,o.Section,{title:"Genes",fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,o.Button,{content:"Insert Gene from Disk",disabled:!h||!h.can_insert||h.is_core,icon:"arrow-circle-down",onClick:function(){function C(){return b("insert")}return C}()}),children:[(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,f)]})},S=function(m,c){return(0,e.createComponentVNode)(2,o.Section,{fill:!0,height:"85%",children:(0,e.createComponentVNode)(2,o.Stack,{height:"100%",children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:"1",textAlign:"center",align:"center",color:"green",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"leaf",size:5,mb:"10px"}),(0,e.createVNode)(1,"br"),"The plant DNA manipulator is missing a seed."]})})})},p=function(m,c){var v=(0,a.useBackend)(c),b=v.act,g=v.data,h=g.has_seed,C=g.seed,N=g.has_disk,x=g.disk,B,L;return h?B=(0,e.createComponentVNode)(2,o.Stack.Item,{mb:"-6px",mt:"-4px",children:[(0,e.createVNode)(1,"img",(0,t.classes)(["seeds32x32",C.image]),null,1,{style:{"vertical-align":"middle",width:"32px",margin:"-1px","margin-left":"-11px"}}),(0,e.createComponentVNode)(2,o.Button,{content:C.name,onClick:function(){function w(){return b("eject_seed")}return w}()}),(0,e.createComponentVNode)(2,o.Button,{ml:"3px",icon:"pen",tooltip:"Name Variant",onClick:function(){function w(){return b("variant_name")}return w}()})]}):B=(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{ml:3.3,content:"None",onClick:function(){function w(){return b("eject_seed")}return w}()})}),N?L=x.name:L="None",(0,e.createComponentVNode)(2,o.Section,{title:"Storage",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Plant Sample",children:B}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Data Disk",children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{ml:3.3,content:L,onClick:function(){function w(){return b("eject_disk")}return w}()})})})]})})},i=function(m,c){var v=(0,a.useBackend)(c),b=v.act,g=v.data,h=g.disk,C=g.core_genes;return(0,e.createComponentVNode)(2,o.Collapsible,{title:"Core Genes",open:!0,children:[C.map(function(N){return(0,e.createComponentVNode)(2,o.Stack,{py:"2px",className:"candystripe",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"100%",ml:"2px",children:N.name}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Extract",disabled:!(h!=null&&h.can_extract),icon:"save",onClick:function(){function x(){return b("extract",{id:N.id})}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Replace",disabled:!N.is_type||!h.can_insert,icon:"arrow-circle-down",onClick:function(){function x(){return b("replace",{id:N.id})}return x}()})})]},N)})," ",(0,e.createComponentVNode)(2,o.Stack,{children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Replace All",disabled:!(h!=null&&h.is_bulk_core),icon:"arrow-circle-down",onClick:function(){function N(){return b("bulk_replace_core")}return N}()})})})]},"Core Genes")},l=function(m,c){var v=(0,a.useBackend)(c),b=v.data,g=b.reagent_genes,h=b.has_reagent;return(0,e.createComponentVNode)(2,u,{title:"Reagent Genes",gene_set:g,do_we_show:h})},f=function(m,c){var v=(0,a.useBackend)(c),b=v.data,g=b.trait_genes,h=b.has_trait;return(0,e.createComponentVNode)(2,u,{title:"Trait Genes",gene_set:g,do_we_show:h})},u=function(m,c){var v=m.title,b=m.gene_set,g=m.do_we_show,h=(0,a.useBackend)(c),C=h.act,N=h.data,x=N.disk;return(0,e.createComponentVNode)(2,o.Collapsible,{title:v,open:!0,children:g?b.map(function(B){return(0,e.createComponentVNode)(2,o.Stack,{py:"2px",className:"candystripe",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"100%",ml:"2px",children:B.name}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Extract",disabled:!(x!=null&&x.can_extract),icon:"save",onClick:function(){function L(){return C("extract",{id:B.id})}return L}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Remove",icon:"times",onClick:function(){function L(){return C("remove",{id:B.id})}return L}()})})]},B)}):(0,e.createComponentVNode)(2,o.Stack.Item,{children:"No Genes Detected"})},v)}},73053:function(I,r,n){"use strict";r.__esModule=!0,r.GenericCrewManifest=void 0;var e=n(89005),a=n(36036),t=n(98595),o=n(41874),d=r.GenericCrewManifest=function(){function y(V,k){return(0,e.createComponentVNode)(2,t.Window,{width:588,height:510,theme:"nologo",children:(0,e.createComponentVNode)(2,t.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,a.Section,{noTopPadding:!0,children:(0,e.createComponentVNode)(2,o.CrewManifest)})})})}return y}()},42914:function(I,r,n){"use strict";r.__esModule=!0,r.GhostHudPanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.GhostHudPanel=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.data,l=i.security,f=i.medical,u=i.diagnostic,s=i.ahud;return(0,e.createComponentVNode)(2,o.Window,{width:250,height:207,theme:"nologo",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,y,{label:"Medical",type:"medical",is_active:f}),(0,e.createComponentVNode)(2,y,{label:"Security",type:"security",is_active:l}),(0,e.createComponentVNode)(2,y,{label:"Diagnostic",type:"diagnostic",is_active:u}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,y,{label:"Antag HUD",is_active:s,act_on:"ahud_on",act_off:"ahud_off"})]})})})}return V}(),y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,l=k.label,f=k.type,u=f===void 0?null:f,s=k.is_active,m=k.act_on,c=m===void 0?"hud_on":m,v=k.act_off,b=v===void 0?"hud_off":v;return(0,e.createComponentVNode)(2,t.Flex,{pt:.3,color:"label",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{pl:.5,align:"center",width:"80%",children:l}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{mr:.6,content:s?"On":"Off",icon:s?"toggle-on":"toggle-off",selected:s,onClick:function(){function g(){return i(s?b:c,{hud_type:u})}return g}()})})]})}},25825:function(I,r,n){"use strict";r.__esModule=!0,r.GlandDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.GlandDispenser=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.glands,f=l===void 0?[]:l;return(0,e.createComponentVNode)(2,o.Window,{width:300,height:338,theme:"abductor",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:f.map(function(u){return(0,e.createComponentVNode)(2,t.Button,{width:"60px",height:"60px",m:.75,textAlign:"center",fontSize:"17px",lineHeight:"55px",icon:"eject",backgroundColor:u.color,content:u.amount||"0",disabled:!u.amount,onClick:function(){function s(){return p("dispense",{gland_id:u.id})}return s}()},u.id)})})})})}return y}()},67834:function(I,r,n){"use strict";r.__esModule=!0,r.HandheldChemDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=[1,5,10,20,30,50],y=null,V=r.HandheldChemDispenser=function(){function p(i,l){return(0,e.createComponentVNode)(2,o.Window,{width:450,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,S)]})})})}return p}(),k=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.amount,c=s.energy,v=s.maxEnergy,b=s.mode;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:c,minValue:0,maxValue:v,ranges:{good:[v*.5,1/0],average:[v*.25,v*.5],bad:[-1/0,v*.25]},children:[c," / ",v," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Amount",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{children:d.map(function(g,h){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"15%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"cog",selected:m===g,content:g,onClick:function(){function C(){return u("amount",{amount:g})}return C}()})},h)})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mode",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{justify:"space-between",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:b==="dispense",content:"Dispense",m:"0",width:"32%",onClick:function(){function g(){return u("mode",{mode:"dispense"})}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:b==="remove",content:"Remove",m:"0",width:"32%",onClick:function(){function g(){return u("mode",{mode:"remove"})}return g}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:b==="isolate",content:"Isolate",m:"0",width:"32%",onClick:function(){function g(){return u("mode",{mode:"isolate"})}return g}()})]})})]})})})},S=function(i,l){for(var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.chemicals,c=m===void 0?[]:m,v=s.current_reagent,b=[],g=0;g<(c.length+1)%3;g++)b.push(!0);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,height:"18%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:s.glass?"Drink Selector":"Chemical Selector",children:[c.map(function(h,C){return(0,e.createComponentVNode)(2,t.Button,{width:"32%",icon:"arrow-circle-down",overflow:"hidden",textOverflow:"ellipsis",selected:v===h.id,content:h.title,style:{"margin-left":"2px"},onClick:function(){function N(){return u("dispense",{reagent:h.id})}return N}()},C)}),b.map(function(h,C){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:"1",basis:"25%"},C)})]})})}},75926:function(I,r,n){"use strict";r.__esModule=!0,r.ImplantPad=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.ImplantPad=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.implant,f=i.contains_case,u=i.tag,s=(0,a.useLocalState)(k,"newTag",u),m=s[0],c=s[1];return(0,e.createComponentVNode)(2,o.Window,{width:410,height:325,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Bio-chip Mini-Computer",buttons:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Eject Case",icon:"eject",disabled:!f,onClick:function(){function v(){return p("eject_case")}return v}()})}),children:l&&f?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{bold:!0,mb:2,children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+l.image,ml:0,mr:2,style:{"vertical-align":"middle",width:"32px"}}),l.name]}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Life",children:l.life}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Notes",children:l.notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Function",children:l.function}),!!u&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tag",children:[(0,e.createComponentVNode)(2,t.Input,{width:"5.5rem",value:u,onEnter:function(){function v(){return p("tag",{newtag:m})}return v}(),onInput:function(){function v(b,g){return c(g)}return v}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:u===m,width:"20px",mb:"0",ml:"0.25rem",onClick:function(){function v(){return p("tag",{newtag:m})}return v}(),children:(0,e.createComponentVNode)(2,t.Icon,{name:"pen"})})]})]})],4):f?(0,e.createComponentVNode)(2,t.Box,{children:"This bio-chip case has no implant!"}):(0,e.createComponentVNode)(2,t.Box,{children:"Please insert a bio-chip casing!"})})})})}return y}()},25471:function(I,r,n){"use strict";r.__esModule=!0,r.Instrument=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=n(98595),y=r.Instrument=function(){function i(l,f){var u=(0,t.useBackend)(f),s=u.act,m=u.data;return(0,e.createComponentVNode)(2,d.Window,{width:600,height:505,children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,p)]})})]})}return i}(),V=function(l,f){var u=(0,t.useBackend)(f),s=u.act,m=u.data,c=m.help;if(c)return(0,e.createComponentVNode)(2,o.Modal,{maxWidth:"75%",height:window.innerHeight*.75+"px",mx:"auto",py:"0",px:"0.5rem",children:(0,e.createComponentVNode)(2,o.Section,{height:"100%",title:"Help",level:"2",overflow:"auto",children:(0,e.createComponentVNode)(2,o.Box,{px:"0.5rem",mt:"-0.5rem",children:[(0,e.createVNode)(1,"h1",null,"Making a Song",16),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Lines are a series of chords, separated by commas\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(,)"}),(0,e.createTextVNode)(", each with notes separated by hyphens\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(-)"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Every note in a chord will play together, with the chord timed by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("as defined above.")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Notes are played by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"names of the note"}),(0,e.createTextVNode)(", and optionally, the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(", and/or the"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave number"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("By default, every note is\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"natural"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("and in\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave 3"}),(0,e.createTextVNode)(". Defining a different state for either is remembered for each"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"note"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Example:"}),(0,e.createTextVNode)("\xA0"),(0,e.createVNode)(1,"i",null,"C,D,E,F,G,A,B",16),(0,e.createTextVNode)(" will play a\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"C"}),(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"major"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("scale.")],0),(0,e.createVNode)(1,"li",null,[(0,e.createTextVNode)("After a note has an\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("or\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("placed, it will be remembered:\xA0"),(0,e.createVNode)(1,"i",null,"C,C4,C#,C3",16),(0,e.createTextVNode)(" is "),(0,e.createVNode)(1,"i",null,"C3,C4,C4#,C3#",16)],0)],4)],0),(0,e.createVNode)(1,"p",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Chords"}),(0,e.createTextVNode)("\xA0can be played simply by seperating each note with a hyphen:"),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"A-C#,Cn-E,E-G#,Gn-B",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("A"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"pause"}),(0,e.createTextVNode)("\xA0may be denoted by an empty chord: "),(0,e.createVNode)(1,"i",null,"C,E,,C,G",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("To make a chord be a different time, end it with /x, where the chord length will be length defined by\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo / x"}),(0,e.createTextVNode)(",\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"eg:"}),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"C,G/2,E/4",16),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Combined, an example line is: "),(0,e.createVNode)(1,"i",null,"E-E4/4,F#/2,G#/8,B/8,E3-E4/4",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,"Lines may be up to 300 characters.",16),(0,e.createVNode)(1,"li",null,"A song may only contain up to 1,000 lines.",16)],4)],4),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Lines are a series of chords, separated by commas\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(,)"}),(0,e.createTextVNode)(", each with notes separated by hyphens\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(-)"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Every note in a chord will play together, with the chord timed by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("as defined above.")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Notes are played by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"names of the note"}),(0,e.createTextVNode)(", and optionally, the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(", and/or the"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave number"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("By default, every note is\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"natural"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("and in\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave 3"}),(0,e.createTextVNode)(". Defining a different state for either is remembered for each"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"note"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Example:"}),(0,e.createTextVNode)("\xA0"),(0,e.createVNode)(1,"i",null,"C,D,E,F,G,A,B",16),(0,e.createTextVNode)(" will play a\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"C"}),(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"major"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("scale.")],0),(0,e.createVNode)(1,"li",null,[(0,e.createTextVNode)("After a note has an\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("or\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("placed, it will be remembered:\xA0"),(0,e.createVNode)(1,"i",null,"C,C4,C#,C3",16),(0,e.createTextVNode)(" is "),(0,e.createVNode)(1,"i",null,"C3,C4,C4#,C3#",16)],0)],4)],0),(0,e.createVNode)(1,"p",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Chords"}),(0,e.createTextVNode)("\xA0can be played simply by seperating each note with a hyphen:"),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"A-C#,Cn-E,E-G#,Gn-B",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("A"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"pause"}),(0,e.createTextVNode)("\xA0may be denoted by an empty chord: "),(0,e.createVNode)(1,"i",null,"C,E,,C,G",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("To make a chord be a different time, end it with /x, where the chord length will be length defined by\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo / x"}),(0,e.createTextVNode)(",\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"eg:"}),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"C,G/2,E/4",16),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Combined, an example line is: "),(0,e.createVNode)(1,"i",null,"E-E4/4,F#/2,G#/8,B/8,E3-E4/4",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,"Lines may be up to 300 characters.",16),(0,e.createVNode)(1,"li",null,"A song may only contain up to 1,000 lines.",16)],4)],4),(0,e.createVNode)(1,"h1",null,"Instrument Advanced Settings",16),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Type:"}),(0,e.createTextVNode)("\xA0Whether the instrument is legacy or synthesized."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Legacy instruments have a collection of sounds that are selectively used depending on the note to play."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Synthesized instruments use a base sound and change its pitch to match the note to play.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Current:"}),(0,e.createTextVNode)("\xA0Which instrument sample to play. Some instruments can be tuned to play different samples. Experiment!")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Note Shift/Note Transpose:"}),(0,e.createTextVNode)("\xA0The pitch to apply to all notes of the song.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Sustain Mode:"}),(0,e.createTextVNode)("\xA0How a played note fades out."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Linear sustain means a note will fade out at a constant rate."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Exponential sustain means a note will fade out at an exponential rate, sounding smoother.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Volume Dropoff Threshold:"}),(0,e.createTextVNode)("\xA0The volume threshold at which a note is fully stopped.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Sustain indefinitely last held note:"}),(0,e.createTextVNode)("\xA0Whether the last note should be sustained indefinitely.")],4)],4),(0,e.createComponentVNode)(2,o.Button,{color:"grey",content:"Close",onClick:function(){function v(){return s("help")}return v}()})]})})})},k=function(l,f){var u=(0,t.useBackend)(f),s=u.act,m=u.data,c=m.lines,v=m.playing,b=m.repeat,g=m.maxRepeats,h=m.tempo,C=m.minTempo,N=m.maxTempo,x=m.tickLag,B=m.volume,L=m.minVolume,w=m.maxVolume,A=m.ready;return(0,e.createComponentVNode)(2,o.Section,{title:"Instrument",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"info",content:"Help",onClick:function(){function T(){return s("help")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"file",content:"New",onClick:function(){function T(){return s("newsong")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"upload",content:"Import",onClick:function(){function T(){return s("import")}return T}()})],4),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Playback",children:[(0,e.createComponentVNode)(2,o.Button,{selected:v,disabled:c.length===0||b<0,icon:"play",content:"Play",onClick:function(){function T(){return s("play")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!v,icon:"stop",content:"Stop",onClick:function(){function T(){return s("stop")}return T}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Repeat",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:0,maxValue:g,value:b,stepPixelSize:59,onChange:function(){function T(E,O){return s("repeat",{new:O})}return T}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Tempo",children:(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Button,{disabled:h>=N,content:"-",as:"span",mr:"0.5rem",onClick:function(){function T(){return s("tempo",{new:h+x})}return T}()}),(0,a.round)(600/h)," BPM",(0,e.createComponentVNode)(2,o.Button,{disabled:h<=C,content:"+",as:"span",ml:"0.5rem",onClick:function(){function T(){return s("tempo",{new:h-x})}return T}()})]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Volume",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:L,maxValue:w,value:B,stepPixelSize:6,onDrag:function(){function T(E,O){return s("setvolume",{new:O})}return T}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",children:A?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Ready"}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Instrument Definition Error!"})})]}),(0,e.createComponentVNode)(2,S)]})},S=function(l,f){var u=(0,t.useBackend)(f),s=u.act,m=u.data,c=m.allowedInstrumentNames,v=m.instrumentLoaded,b=m.instrument,g=m.canNoteShift,h=m.noteShift,C=m.noteShiftMin,N=m.noteShiftMax,x=m.sustainMode,B=m.sustainLinearDuration,L=m.sustainExponentialDropoff,w=m.legacy,A=m.sustainDropoffVolume,T=m.sustainHeldNote,E,O;return x===1?(E="Linear",O=(0,e.createComponentVNode)(2,o.Slider,{minValue:.1,maxValue:5,value:B,step:.5,stepPixelSize:85,format:function(){function P(R){return(0,a.round)(R*100)/100+" seconds"}return P}(),onChange:function(){function P(R,F){return s("setlinearfalloff",{new:F/10})}return P}()})):x===2&&(E="Exponential",O=(0,e.createComponentVNode)(2,o.Slider,{minValue:1.025,maxValue:10,value:L,step:.01,format:function(){function P(R){return(0,a.round)(R*1e3)/1e3+"% per decisecond"}return P}(),onChange:function(){function P(R,F){return s("setexpfalloff",{new:F})}return P}()})),c.sort(),(0,e.createComponentVNode)(2,o.Box,{my:-1,children:(0,e.createComponentVNode)(2,o.Collapsible,{mt:"1rem",mb:"0",title:"Advanced",children:(0,e.createComponentVNode)(2,o.Section,{mt:-1,children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Type",children:w?"Legacy":"Synthesized"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Current",children:v?(0,e.createComponentVNode)(2,o.Dropdown,{options:c,selected:b,width:"50%",onSelected:function(){function P(R){return s("switchinstrument",{name:R})}return P}()}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"None!"})}),!!(!w&&g)&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Note Shift/Note Transpose",children:(0,e.createComponentVNode)(2,o.Slider,{minValue:C,maxValue:N,value:h,stepPixelSize:2,format:function(){function P(R){return R+" keys / "+(0,a.round)(R/12*100)/100+" octaves"}return P}(),onChange:function(){function P(R,F){return s("setnoteshift",{new:F})}return P}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sustain Mode",children:[(0,e.createComponentVNode)(2,o.Dropdown,{options:["Linear","Exponential"],selected:E,onSelected:function(){function P(R){return s("setsustainmode",{new:R})}return P}()}),O]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Volume Dropoff Threshold",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:.01,maxValue:100,value:A,stepPixelSize:6,onChange:function(){function P(R,F){return s("setdropoffvolume",{new:F})}return P}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sustain indefinitely last held note",children:(0,e.createComponentVNode)(2,o.Button,{selected:T,icon:T?"toggle-on":"toggle-off",content:T?"Yes":"No",onClick:function(){function P(){return s("togglesustainhold")}return P}()})})],4)]}),(0,e.createComponentVNode)(2,o.Button,{icon:"redo",content:"Reset to Default",mt:"0.5rem",onClick:function(){function P(){return s("reset")}return P}()})]})})})},p=function(l,f){var u=(0,t.useBackend)(f),s=u.act,m=u.data,c=m.playing,v=m.lines,b=m.editing;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Editor",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:!b||c,icon:"plus",content:"Add Line",onClick:function(){function g(){return s("newline",{line:v.length+1})}return g}()}),(0,e.createComponentVNode)(2,o.Button,{selected:!b,icon:b?"chevron-up":"chevron-down",onClick:function(){function g(){return s("edit")}return g}()})],4),children:!!b&&(v.length>0?(0,e.createComponentVNode)(2,o.LabeledList,{children:v.map(function(g,h){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:h+1,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:c,icon:"pen",onClick:function(){function C(){return s("modifyline",{line:h+1})}return C}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:c,icon:"trash",onClick:function(){function C(){return s("deleteline",{line:h+1})}return C}()})],4),children:g},h)})}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"Song is empty."}))})}},65021:function(I,r,n){"use strict";r.__esModule=!0,r.ItemPixelShift=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.ItemPixelShift=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.pixel_x,f=i.pixel_y,u=i.max_shift_x,s=i.max_shift_y,m=i.random_drop_on;return(0,e.createComponentVNode)(2,o.Window,{width:250,height:160,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"X-coordinates",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-left",title:"Shifts item leftwards.",disabled:l===-u,onClick:function(){function c(){return p("shift_left")}return c}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,lineHeight:1.7,width:"75px",unit:"pixels",stepPixelSize:6,value:l,minValue:-u,maxValue:u,onChange:function(){function c(v,b){return p("custom_x",{pixel_x:b})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-right",title:"Shifts item rightwards.",disabled:l===u,onClick:function(){function c(){return p("shift_right")}return c}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Y-coordinates",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-up",title:"Shifts item upwards.",disabled:f===s,onClick:function(){function c(){return p("shift_up")}return c}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,lineHeight:1.7,width:"75px",unit:"pixels",stepPixelSize:6,value:f,minValue:-s,maxValue:s,onChange:function(){function c(v,b){return p("custom_y",{pixel_y:b})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",title:"Shifts item downwards.",disabled:f===-s,onClick:function(){function c(){return p("shift_down")}return c}()})]})]})}),(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"brown",icon:"arrow-up",content:"Move to Top",title:"Tries to place an item on top of the others.",onClick:function(){function c(){return p("move_to_top")}return c}()})}),(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:m?"good":"bad",icon:"power-off",content:m?"Shift Enabled":"Shift Disabled",title:"Enables/Disables item pixel randomization on any drops.",onClick:function(){function c(){return p("toggle")}return c}()})})]})})]})})}return y}()},13618:function(I,r,n){"use strict";r.__esModule=!0,r.KeyComboModal=void 0;var e=n(89005),a=n(70611),t=n(72253),o=n(36036),d=n(98595),y=n(19203),V=n(51057),k=function(u){return u.key!==a.KEY.Alt&&u.key!==a.KEY.Control&&u.key!==a.KEY.Shift&&u.key!==a.KEY.Escape},S={DEL:"Delete",DOWN:"South",END:"Southwest",HOME:"Northwest",INSERT:"Insert",LEFT:"West",PAGEDOWN:"Southeast",PAGEUP:"Northeast",RIGHT:"East",SPACEBAR:"Space",UP:"North"},p=3,i=function(u){var s="";if(u.altKey&&(s+="Alt"),u.ctrlKey&&(s+="Ctrl"),u.shiftKey&&!(u.keyCode>=48&&u.keyCode<=57)&&(s+="Shift"),u.location===p&&(s+="Numpad"),k(u))if(u.shiftKey&&u.keyCode>=48&&u.keyCode<=57){var m=u.keyCode-48;s+="Shift"+m}else{var c=u.key.toUpperCase();s+=S[c]||c}return s},l=r.KeyComboModal=function(){function f(u,s){var m=(0,t.useBackend)(s),c=m.act,v=m.data,b=v.init_value,g=v.large_buttons,h=v.message,C=h===void 0?"":h,N=v.title,x=v.timeout,B=(0,t.useLocalState)(s,"input",b),L=B[0],w=B[1],A=(0,t.useLocalState)(s,"binding",!0),T=A[0],E=A[1],O=function(){function F(j){if(!T){j.key===a.KEY.Enter&&c("submit",{entry:L}),j.key===a.KEY.Escape&&c("cancel");return}if(j.preventDefault(),k(j)){P(i(j)),E(!1);return}else if(j.key===a.KEY.Escape){P(b),E(!1);return}}return F}(),P=function(){function F(j){j!==L&&w(j)}return F}(),R=130+(C.length>30?Math.ceil(C.length/3):0)+(C.length&&g?5:0);return(0,e.createComponentVNode)(2,d.Window,{title:N,width:240,height:R,children:[x&&(0,e.createComponentVNode)(2,V.Loader,{value:x}),(0,e.createComponentVNode)(2,d.Window.Content,{onKeyDown:function(){function F(j){O(j)}return F}(),children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Autofocus),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:C})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:T,content:T&&T!==null?"Awaiting input...":""+L,width:"100%",textAlign:"center",onClick:function(){function F(){P(b),E(!0)}return F}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,y.InputButtons,{input:L})})]})]})})]})}return f}()},35655:function(I,r,n){"use strict";r.__esModule=!0,r.KeycardAuth=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.KeycardAuth=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=(0,e.createComponentVNode)(2,t.Section,{title:"Keycard Authentication Device",children:(0,e.createComponentVNode)(2,t.Box,{children:"This device is used to trigger certain high security events. It requires the simultaneous swipe of two high-level ID cards."})});if(!i.swiping&&!i.busy)return(0,e.createComponentVNode)(2,o.Window,{width:540,height:280,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[l,(0,e.createComponentVNode)(2,t.Section,{title:"Choose Action",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Red Alert",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",disabled:!i.redAvailable,onClick:function(){function u(){return p("triggerevent",{triggerevent:"Red Alert"})}return u}(),content:"Red Alert"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ERT",children:(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Emergency Response Team"})}return u}(),content:"Call ERT"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Maint Access",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"door-open",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Grant Emergency Maintenance Access"})}return u}(),content:"Grant"}),(0,e.createComponentVNode)(2,t.Button,{icon:"door-closed",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Revoke Emergency Maintenance Access"})}return u}(),content:"Revoke"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Station-Wide Access",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"door-open",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Activate Station-Wide Emergency Access"})}return u}(),content:"Grant"}),(0,e.createComponentVNode)(2,t.Button,{icon:"door-closed",onClick:function(){function u(){return p("triggerevent",{triggerevent:"Deactivate Station-Wide Emergency Access"})}return u}(),content:"Revoke"})]})]})})]})});var f=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Waiting for YOU to swipe your ID..."});return!i.hasSwiped&&!i.ertreason&&i.event==="Emergency Response Team"?f=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Fill out the reason for your ERT request."}):i.hasConfirm?f=(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Request Confirmed!"}):i.isRemote?f=(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Swipe your card to CONFIRM the remote request."}):i.hasSwiped&&(f=(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Waiting for second person to confirm..."})),(0,e.createComponentVNode)(2,o.Window,{width:540,height:265,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[l,i.event==="Emergency Response Team"&&(0,e.createComponentVNode)(2,t.Section,{title:"Reason for ERT Call",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{color:i.ertreason?"":"red",icon:i.ertreason?"check":"pencil-alt",content:i.ertreason?i.ertreason:"-----",disabled:i.busy,onClick:function(){function u(){return p("ert")}return u}()})})}),(0,e.createComponentVNode)(2,t.Section,{title:i.event,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back",disabled:i.busy||i.hasConfirm,onClick:function(){function u(){return p("reset")}return u}()}),children:f})]})})}return y}()},40951:function(I,r,n){"use strict";r.__esModule=!0,r.LaborClaimConsole=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),d=n(98595),y=r.LaborClaimConsole=function(){function S(p,i){return(0,e.createComponentVNode)(2,d.Window,{width:315,height:470,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,k)]})})}return S}(),V=function(p,i){var l=(0,t.useBackend)(i),f=l.act,u=l.data,s=u.can_go_home,m=u.emagged,c=u.id_inserted,v=u.id_name,b=u.id_points,g=u.id_goal,h=u.unclaimed_points,C=m?0:1,N=m?"ERR0R":s?"Completed!":"Insufficient";return(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",children:!!c&&(0,e.createComponentVNode)(2,o.ProgressBar,{value:b/g,ranges:{good:[C,1/0],bad:[-1/0,C]},children:b+" / "+g+" "+N})||!!m&&"ERR0R COMPLETED?!@"||"No ID inserted"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Shuttle controls",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,content:"Move shuttle",disabled:!s,onClick:function(){function x(){return f("move_shuttle")}return x}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Unclaimed points",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,content:"Claim points ("+h+")",disabled:!c||!h,onClick:function(){function x(){return f("claim_points")}return x}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Inserted ID",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,content:c?v:"-------------",onClick:function(){function x(){return f("handle_id")}return x}()})})]})})},k=function(p,i){var l=(0,t.useBackend)(i),f=l.data,u=f.ores;return(0,e.createComponentVNode)(2,o.Section,{title:"Material values",children:(0,e.createComponentVNode)(2,o.Table,{children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Material"}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),u.map(function(s){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,a.toTitleCase)(s.ore)}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:s.value})})]},s.ore)})]})})}},9525:function(I,r,n){"use strict";r.__esModule=!0,r.LawManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.LawManager=function(){function S(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.isAdmin,m=u.isSlaved,c=u.isMalf,v=u.isAIMalf,b=u.view;return(0,e.createComponentVNode)(2,o.Window,{width:800,height:c?620:365,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!(s&&m)&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:["This unit is slaved to ",m,"."]}),!!(c||v)&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Law Management",selected:b===0,onClick:function(){function g(){return f("set_view",{set_view:0})}return g}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Lawsets",selected:b===1,onClick:function(){function g(){return f("set_view",{set_view:1})}return g}()})]}),b===0&&(0,e.createComponentVNode)(2,y),b===1&&(0,e.createComponentVNode)(2,V)]})})}return S}(),y=function(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.has_zeroth_laws,m=u.zeroth_laws,c=u.has_ion_laws,v=u.ion_laws,b=u.ion_law_nr,g=u.has_inherent_laws,h=u.inherent_laws,C=u.has_supplied_laws,N=u.supplied_laws,x=u.channels,B=u.channel,L=u.isMalf,w=u.isAdmin,A=u.zeroth_law,T=u.ion_law,E=u.inherent_law,O=u.supplied_law,P=u.supplied_law_position;return(0,e.createFragment)([!!s&&(0,e.createComponentVNode)(2,k,{title:"ERR_NULL_VALUE",laws:m,ctx:i}),!!c&&(0,e.createComponentVNode)(2,k,{title:b,laws:v,ctx:i}),!!g&&(0,e.createComponentVNode)(2,k,{title:"Inherent",laws:h,ctx:i}),!!C&&(0,e.createComponentVNode)(2,k,{title:"Supplied",laws:N,ctx:i}),(0,e.createComponentVNode)(2,t.Section,{title:"Statement Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Statement Channel",children:x.map(function(R){return(0,e.createComponentVNode)(2,t.Button,{content:R.channel,selected:R.channel===B,onClick:function(){function F(){return f("law_channel",{law_channel:R.channel})}return F}()},R.channel)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"State Laws",children:(0,e.createComponentVNode)(2,t.Button,{content:"State Laws",onClick:function(){function R(){return f("state_laws")}return R}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Law Notification",children:(0,e.createComponentVNode)(2,t.Button,{content:"Notify",onClick:function(){function R(){return f("notify_laws")}return R}()})})]})}),!!L&&(0,e.createComponentVNode)(2,t.Section,{title:"Add Laws",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Type"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"60%",children:"Law"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Index"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"20%",children:"Actions"})]}),!!(w&&!s)&&(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Zero"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:A}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function R(){return f("change_zeroth_law")}return R}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function R(){return f("add_zeroth_law")}return R}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Ion"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:T}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function R(){return f("change_ion_law")}return R}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function R(){return f("add_ion_law")}return R}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Inherent"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:E}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function R(){return f("change_inherent_law")}return R}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function R(){return f("add_inherent_law")}return R}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Supplied"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:O}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:P,onClick:function(){function R(){return f("change_supplied_law_position")}return R}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function R(){return f("change_supplied_law")}return R}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function R(){return f("add_supplied_law")}return R}()})]})]})]})})],0)},V=function(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.law_sets;return(0,e.createComponentVNode)(2,t.Box,{children:s.map(function(m){return(0,e.createComponentVNode)(2,t.Section,{title:m.name+" - "+m.header,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Load Laws",icon:"download",onClick:function(){function c(){return f("transfer_laws",{transfer_laws:m.ref})}return c}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[m.laws.has_ion_laws>0&&m.laws.ion_laws.map(function(c){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:c.index,children:c.law},c.index)}),m.laws.has_zeroth_laws>0&&m.laws.zeroth_laws.map(function(c){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:c.index,children:c.law},c.index)}),m.laws.has_inherent_laws>0&&m.laws.inherent_laws.map(function(c){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:c.index,children:c.law},c.index)}),m.laws.has_supplied_laws>0&&m.laws.inherent_laws.map(function(c){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:c.index,children:c.law},c.index)})]})},m.name)})})},k=function(p,i){var l=(0,a.useBackend)(p.ctx),f=l.act,u=l.data,s=u.isMalf;return(0,e.createComponentVNode)(2,t.Section,{title:p.title+" Laws",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Index"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"69%",children:"Law"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"21%",children:"State?"})]}),p.laws.map(function(m){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:m.index}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:m.law}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:m.state?"Yes":"No",selected:m.state,onClick:function(){function c(){return f("state_law",{ref:m.ref,state_law:m.state?0:1})}return c}()}),!!s&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function c(){return f("edit_law",{edit_law:m.ref})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Delete",icon:"trash",color:"red",onClick:function(){function c(){return f("delete_law",{delete_law:m.ref})}return c}()})],4)]})]},m.law)})]})})}},90447:function(I,r,n){"use strict";r.__esModule=!0,r.ListInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(36036),d=n(72253),y=n(92986),V=n(98595),k=r.ListInputModal=function(){function i(l,f){var u=(0,d.useBackend)(f),s=u.act,m=u.data,c=m.items,v=c===void 0?[]:c,b=m.message,g=b===void 0?"":b,h=m.init_value,C=m.timeout,N=m.title,x=(0,d.useLocalState)(f,"selected",v.indexOf(h)),B=x[0],L=x[1],w=(0,d.useLocalState)(f,"searchBarVisible",v.length>10),A=w[0],T=w[1],E=(0,d.useLocalState)(f,"searchQuery",""),O=E[0],P=E[1],R=function(){function ne(Q){var he=$.length-1;if(Q===y.KEY_DOWN)if(B===null||B===he){var Ve;L(0),(Ve=document.getElementById("0"))==null||Ve.scrollIntoView()}else{var Ne;L(B+1),(Ne=document.getElementById((B+1).toString()))==null||Ne.scrollIntoView()}else if(Q===y.KEY_UP)if(B===null||B===0){var Be;L(he),(Be=document.getElementById(he.toString()))==null||Be.scrollIntoView()}else{var Le;L(B-1),(Le=document.getElementById((B-1).toString()))==null||Le.scrollIntoView()}}return ne}(),F=function(){function ne(Q){Q!==B&&L(Q)}return ne}(),j=function(){function ne(){T(!1),T(!0)}return ne}(),W=function(){function ne(Q){var he=String.fromCharCode(Q),Ve=v.find(function(Le){return Le==null?void 0:Le.toLowerCase().startsWith(he==null?void 0:he.toLowerCase())});if(Ve){var Ne,Be=v.indexOf(Ve);L(Be),(Ne=document.getElementById(Be.toString()))==null||Ne.scrollIntoView()}}return ne}(),z=function(){function ne(Q){var he;Q!==O&&(P(Q),L(0),(he=document.getElementById("0"))==null||he.scrollIntoView())}return ne}(),H=function(){function ne(){T(!A),P("")}return ne}(),$=v.filter(function(ne){return ne==null?void 0:ne.toLowerCase().includes(O.toLowerCase())}),G=330+Math.ceil(g.length/3);return A||setTimeout(function(){var ne;return(ne=document.getElementById(B.toString()))==null?void 0:ne.focus()},1),(0,e.createComponentVNode)(2,V.Window,{title:N,width:325,height:G,children:[C&&(0,e.createComponentVNode)(2,a.Loader,{value:C}),(0,e.createComponentVNode)(2,V.Window.Content,{onKeyDown:function(){function ne(Q){var he=window.event?Q.which:Q.keyCode;(he===y.KEY_DOWN||he===y.KEY_UP)&&(Q.preventDefault(),R(he)),he===y.KEY_ENTER&&(Q.preventDefault(),s("submit",{entry:$[B]})),!A&&he>=y.KEY_A&&he<=y.KEY_Z&&(Q.preventDefault(),W(he)),he===y.KEY_ESCAPE&&(Q.preventDefault(),s("cancel"))}return ne}(),children:(0,e.createComponentVNode)(2,o.Section,{buttons:(0,e.createComponentVNode)(2,o.Button,{compact:!0,icon:A?"search":"font",selected:!0,tooltip:A?"Search Mode. Type to search or use arrow keys to select manually.":"Hotkey Mode. Type a letter to jump to the first match. Enter to select.",tooltipPosition:"left",onClick:function(){function ne(){return H()}return ne}()}),className:"ListInput__Section",fill:!0,title:g,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,S,{filteredItems:$,onClick:F,onFocusSearch:j,searchBarVisible:A,selected:B})}),(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:A&&(0,e.createComponentVNode)(2,p,{filteredItems:$,onSearch:z,searchQuery:O,selected:B})}),(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,children:(0,e.createComponentVNode)(2,t.InputButtons,{input:$[B]})})]})})})]})}return i}(),S=function(l,f){var u=(0,d.useBackend)(f),s=u.act,m=l.filteredItems,c=l.onClick,v=l.onFocusSearch,b=l.searchBarVisible,g=l.selected;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,tabIndex:0,children:m.map(function(h,C){return(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:"transparent",id:C,onClick:function(){function N(){return c(C)}return N}(),onDblClick:function(){function N(x){x.preventDefault(),s("submit",{entry:m[g]})}return N}(),onKeyDown:function(){function N(x){var B=window.event?x.which:x.keyCode;b&&B>=y.KEY_A&&B<=y.KEY_Z&&(x.preventDefault(),v())}return N}(),selected:C===g,style:{animation:"none",transition:"none"},children:h.replace(/^\w/,function(N){return N.toUpperCase()})},C)})})},p=function(l,f){var u=(0,d.useBackend)(f),s=u.act,m=l.filteredItems,c=l.onSearch,v=l.searchQuery,b=l.selected;return(0,e.createComponentVNode)(2,o.Input,{width:"100%",autoFocus:!0,autoSelect:!0,onEnter:function(){function g(h){h.preventDefault(),s("submit",{entry:m[b]})}return g}(),onInput:function(){function g(h,C){return c(C)}return g}(),placeholder:"Search...",value:v})}},72106:function(I,r,n){"use strict";r.__esModule=!0,r.MechBayConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.MechBayConsole=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.recharge_port,f=l&&l.mech,u=f&&f.cell,s=f&&f.name;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:150,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:s?"Mech status: "+s:"Mech status",textAlign:"center",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Sync",onClick:function(){function m(){return p("reconnect")}return m}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:!l&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No power port detected. Please re-sync."})||!f&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No mech detected."})||(0,e.createComponentVNode)(2,t.ProgressBar,{value:f.health/f.maxhealth,ranges:{good:[.7,1/0],average:[.3,.7],bad:[-1/0,.3]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:!l&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No power port detected. Please re-sync."})||!f&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No mech detected."})||!u&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No cell is installed."})||(0,e.createComponentVNode)(2,t.ProgressBar,{value:u.charge/u.maxcharge,ranges:{good:[.7,1/0],average:[.3,.7],bad:[-1/0,.3]},children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:u.charge})," / "+u.maxcharge]})})]})})})})}return y}()},7466:function(I,r,n){"use strict";r.__esModule=!0,r.MechaControlConsole=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=n(98595),y=n(25328),V=r.MechaControlConsole=function(){function k(S,p){var i=(0,t.useBackend)(p),l=i.act,f=i.data,u=f.beacons,s=f.stored_data;return s.length?(0,e.createComponentVNode)(2,d.Window,{width:420,height:500,children:(0,e.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"window-close",onClick:function(){function m(){return l("clear_log")}return m}()}),children:s.map(function(m){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",children:["(",m.time,")"]}),(0,e.createComponentVNode)(2,o.Box,{children:(0,y.decodeHtmlEntities)(m.message)})]},m.time)})})})}):(0,e.createComponentVNode)(2,d.Window,{width:420,height:500,children:(0,e.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:u.length&&u.map(function(m){return(0,e.createComponentVNode)(2,o.Section,{title:m.name,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function c(){return l("send_message",{mt:m.uid})}return c}(),children:"Message"}),(0,e.createComponentVNode)(2,o.Button,{icon:"eye",onClick:function(){function c(){return l("get_log",{mt:m.uid})}return c}(),children:"View Log"}),(0,e.createComponentVNode)(2,o.Button.Confirm,{color:"red",content:"EMP",icon:"bomb",onClick:function(){function c(){return l("shock",{mt:m.uid})}return c}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{good:[m.maxHealth*.75,1/0],average:[m.maxHealth*.5,m.maxHealth*.75],bad:[-1/0,m.maxHealth*.5]},value:m.health,maxValue:m.maxHealth})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cell Charge",children:m.cell&&(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{good:[m.cellMaxCharge*.75,1/0],average:[m.cellMaxCharge*.5,m.cellMaxCharge*.75],bad:[-1/0,m.cellMaxCharge*.5]},value:m.cellCharge,maxValue:m.cellMaxCharge})||(0,e.createComponentVNode)(2,o.NoticeBox,{children:"No Cell Installed"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Air Tank",children:[m.airtank,"kPa"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pilot",children:m.pilot||"Unoccupied"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Location",children:(0,y.toTitleCase)(m.location)||"Unknown"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Active Equipment",children:m.active||"None"}),m.cargoMax&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cargo Space",children:(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{bad:[m.cargoMax*.75,1/0],average:[m.cargoMax*.5,m.cargoMax*.75],good:[-1/0,m.cargoMax*.5]},value:m.cargoUsed,maxValue:m.cargoMax})})||null]})},m.name)})||(0,e.createComponentVNode)(2,o.NoticeBox,{children:"No mecha beacons found."})})})}return k}()},79625:function(I,r,n){"use strict";r.__esModule=!0,r.MedicalRecords=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),d=n(3939),y=n(98595),V=n(321),k=n(5485),S=n(22091),p={Minor:"lightgray",Medium:"good",Harmful:"average","Dangerous!":"bad","BIOHAZARD THREAT!":"darkred"},i={"*Deceased*":"deceased","*SSD*":"ssd","Physically Unfit":"physically_unfit",Disabled:"disabled"},l=function(w,A){(0,d.modalOpen)(w,"edit",{field:A.edit,value:A.value})},f=function(w,A){var T=w.args;return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:T.name||"Virus",children:(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Number of stages",children:T.max_stages}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Spread",children:[T.spread_text," Transmission"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Possible cure",children:T.cure}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Notes",children:T.desc}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Severity",color:p[T.severity],children:T.severity})]})})})},u=r.MedicalRecords=function(){function L(w,A){var T=(0,t.useBackend)(A),E=T.data,O=E.loginState,P=E.screen;if(!O.logged_in)return(0,e.createComponentVNode)(2,y.Window,{width:800,height:900,children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,k.LoginScreen)})});var R;return P===2?R=(0,e.createComponentVNode)(2,s):P===3?R=(0,e.createComponentVNode)(2,m):P===4?R=(0,e.createComponentVNode)(2,c):P===5?R=(0,e.createComponentVNode)(2,h):P===6&&(R=(0,e.createComponentVNode)(2,C)),(0,e.createComponentVNode)(2,y.Window,{width:800,height:900,children:[(0,e.createComponentVNode)(2,d.ComplexModal),(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.LoginInfo),(0,e.createComponentVNode)(2,S.TemporaryNotice),(0,e.createComponentVNode)(2,B),R]})})]})}return L}(),s=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.records,R=(0,t.useLocalState)(A,"searchText",""),F=R[0],j=R[1],W=(0,t.useLocalState)(A,"sortId","name"),z=W[0],H=W[1],$=(0,t.useLocalState)(A,"sortOrder",!0),G=$[0],ne=$[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Manage Records",icon:"wrench",ml:"0.25rem",onClick:function(){function Q(){return E("screen",{screen:3})}return Q}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{fluid:!0,placeholder:"Search by Name, ID, Physical Status, or Mental Status",onInput:function(){function Q(he,Ve){return j(Ve)}return Q}()})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,N,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,N,{id:"id",children:"ID"}),(0,e.createComponentVNode)(2,N,{id:"rank",children:"Assignment"}),(0,e.createComponentVNode)(2,N,{id:"p_stat",children:"Patient Status"}),(0,e.createComponentVNode)(2,N,{id:"m_stat",children:"Mental Status"})]}),P.filter((0,a.createSearch)(F,function(Q){return Q.name+"|"+Q.id+"|"+Q.rank+"|"+Q.p_stat+"|"+Q.m_stat})).sort(function(Q,he){var Ve=G?1:-1;return Q[z].localeCompare(he[z])*Ve}).map(function(Q){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listRow--"+i[Q.p_stat],onClick:function(){function he(){return E("view_record",{view_record:Q.ref})}return he}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",Q.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.rank}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.p_stat}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.m_stat})]},Q.id)})]})})})],4)},m=function(w,A){var T=(0,t.useBackend)(A),E=T.act;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,lineHeight:3,color:"translucent",icon:"download",content:"Backup to Disk",disabled:!0})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:[(0,e.createComponentVNode)(2,o.Button,{fluid:!0,lineHeight:3,color:"translucent",icon:"upload",content:"Upload from Disk",my:"0.5rem",disabled:!0})," "]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button.Confirm,{fluid:!0,lineHeight:3,icon:"trash",color:"translucent",content:"Delete All Medical Records",onClick:function(){function O(){return E("del_all")}return O}()})})]})})},c=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.medical,R=O.printing;return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{height:"235px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"General Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:R?"spinner":"print",disabled:R,iconSpin:!!R,content:"Print Record",ml:"0.5rem",onClick:function(){function F(){return E("print_record")}return F}()}),children:(0,e.createComponentVNode)(2,v)})}),!P||!P.fields?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Medical Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"pen",content:"Create New Record",onClick:function(){function F(){return E("new")}return F}()}),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"Medical records lost!"]})})})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Medical Data",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",disabled:!!P.empty,content:"Delete Medical Record",onClick:function(){function F(){return E("del_r")}return F}()}),children:(0,e.createComponentVNode)(2,b)})}),(0,e.createComponentVNode)(2,g)],4)],0)},v=function(w,A){var T=(0,t.useBackend)(A),E=T.data,O=E.general;return!O||!O.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"General records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:O.fields.map(function(P,R){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:P.field,children:[(0,e.createComponentVNode)(2,o.Box,{height:"20px",inline:!0,children:P.value}),!!P.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",onClick:function(){function F(){return l(A,P)}return F}()})]},R)})})}),!!O.has_photos&&O.photos.map(function(P,R){return(0,e.createComponentVNode)(2,o.Stack.Item,{inline:!0,textAlign:"center",color:"label",ml:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:P,style:{width:"96px","margin-top":"2.5rem","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Photo #",R+1]},R)})]})},b=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.medical;return!P||!P.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"Medical records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:P.fields.map(function(R,F){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:R.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(R.value),!!R.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:R.line_break?"1rem":"initial",onClick:function(){function j(){return l(A,R)}return j}()})]},F)})})})})},g=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.medical;return(0,e.createComponentVNode)(2,o.Stack.Item,{height:"150px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Comments/Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"comment",content:"Add Entry",onClick:function(){function R(){return(0,d.modalOpen)(A,"add_comment")}return R}()}),children:P.comments.length===0?(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No comments found."}):P.comments.map(function(R,F){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:R.header}),(0,e.createVNode)(1,"br"),R.text,(0,e.createComponentVNode)(2,o.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){function j(){return E("del_c",{del_c:F+1})}return j}()})]},F)})})})},h=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.virus,R=(0,t.useLocalState)(A,"searchText",""),F=R[0],j=R[1],W=(0,t.useLocalState)(A,"sortId2","name"),z=W[0],H=W[1],$=(0,t.useLocalState)(A,"sortOrder2",!0),G=$[0],ne=$[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{ml:"0.25rem",fluid:!0,placeholder:"Search by Name, Max Stages, or Severity",onInput:function(){function Q(he,Ve){return j(Ve)}return Q}()})}),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,x,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,x,{id:"max_stages",children:"Max Stages"}),(0,e.createComponentVNode)(2,x,{id:"severity",children:"Severity"})]}),P.filter((0,a.createSearch)(F,function(Q){return Q.name+"|"+Q.max_stages+"|"+Q.severity})).sort(function(Q,he){var Ve=G?1:-1;return Q[z].localeCompare(he[z])*Ve}).map(function(Q){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listVirus--"+Q.severity,onClick:function(){function he(){return E("vir",{vir:Q.D})}return he}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"virus"})," ",Q.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.max_stages}),(0,e.createComponentVNode)(2,o.Table.Cell,{color:p[Q.severity],children:Q.severity})]},Q.id)})]})})})})],4)},C=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.medbots;return P.length===0?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"robot",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"There are no Medibots."]})})})}):(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Area"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Chemicals"})]}),P.map(function(R){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listMedbot--"+R.on,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"medical"})," ",R.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:[R.area||"Unknown"," (",R.x,", ",R.y,")"]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:R.on?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Online"}):(0,e.createComponentVNode)(2,o.Box,{color:"average",children:"Offline"})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:R.use_beaker?"Reservoir: "+R.total_volume+"/"+R.maximum_volume:"Using internal synthesizer"})]},R.id)})]})})})},N=function(w,A){var T=(0,t.useLocalState)(A,"sortId","name"),E=T[0],O=T[1],P=(0,t.useLocalState)(A,"sortOrder",!0),R=P[0],F=P[1],j=w.id,W=w.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:E!==j&&"transparent",onClick:function(){function z(){E===j?F(!R):(O(j),F(!0))}return z}(),children:[W,E===j&&(0,e.createComponentVNode)(2,o.Icon,{name:R?"sort-up":"sort-down",ml:"0.25rem;"})]})})},x=function(w,A){var T=(0,t.useLocalState)(A,"sortId2","name"),E=T[0],O=T[1],P=(0,t.useLocalState)(A,"sortOrder2",!0),R=P[0],F=P[1],j=w.id,W=w.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:E!==j&&"transparent",onClick:function(){function z(){E===j?F(!R):(O(j),F(!0))}return z}(),children:[W,E===j&&(0,e.createComponentVNode)(2,o.Icon,{name:R?"sort-up":"sort-down",ml:"0.25rem;"})]})})},B=function(w,A){var T=(0,t.useBackend)(A),E=T.act,O=T.data,P=O.screen,R=O.general;return(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:P===2,onClick:function(){function F(){E("screen",{screen:2})}return F}(),children:"List Records"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"database",selected:P===5,onClick:function(){function F(){E("screen",{screen:5})}return F}(),children:"Virus Database"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"plus-square",selected:P===6,onClick:function(){function F(){return E("screen",{screen:6})}return F}(),children:"Medibot Tracking"}),P===3&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"wrench",selected:P===3,children:"Record Maintenance"}),P===4&&R&&!R.empty&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"file",selected:P===4,children:["Record: ",R.fields[0].value]})]})})};(0,d.modalRegisterBodyOverride)("virus",f)},52306:function(I,r,n){"use strict";r.__esModule=!0,r.Mimicking=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.Mimicking=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.slots||[];return(0,e.createComponentVNode)(2,o.Window,{width:400,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,fill:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:[l.map(function(f){return(0,e.createComponentVNode)(2,t.Section,{mb:.5,title:f.name,level:2,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Choose",selected:f.selected,onClick:function(){function u(){return p("Choose",{id:f.id})}return u}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Delete",color:"bad",onClick:function(){function u(){return p("Delete",{id:f.id})}return u}()})],4),children:(0,e.createComponentVNode)(2,t.Box,{preserveWhitespace:!0,textColor:"#878787",fontSize:"14px",children:["Voice: ",f.voice]})},f.id)}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Add",onClick:function(){function f(){return p("Add")}return f}()})]})})})})}return y}()},66238:function(I,r,n){"use strict";r.__esModule=!0,r.Minesweeper=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.Minesweeper=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.matrix,f=i.showMessage,u=i.tokens,s=i.uiWidth,m={1:"blue",2:"green",3:"red",4:"darkblue",5:"brown",6:"lightblue",7:"black",8:"white"};document.addEventListener("contextmenu",function(C){return C.preventDefault()});var c=function(){function C(N,x,B){N.button!==0&&N.button!==2||p("Square",{X:x,Y:B,mode:N.button===2?h[b]:b})}return C}(),v=(0,a.useLocalState)(k,"mode","bomb"),b=v[0],g=v[1],h={flag:"bomb",bomb:"flag"};return(0,e.createComponentVNode)(2,o.Window,{theme:"ntOS95",width:s+80,height:750,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"\u0418\u0433\u0440\u043E\u0432\u043E\u0435 \u043F\u043E\u043B\u0435",textAlign:"center",fill:!0,fitted:!0,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"bomb",iconColor:"black",selected:b==="bomb",onClick:function(){function C(){return g("bomb")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"flag",iconColor:"red",selected:b==="flag",onClick:function(){function C(){return g("flag")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",onClick:function(){function C(){return p("Mode",{mode:"16x30"})}return C}()})],4),children:[(0,e.createVNode)(1,"p"),Object.keys(l).map(function(C){return(0,e.createComponentVNode)(2,t.Box,{children:Object.keys(l[C]).map(function(N){return(0,e.createComponentVNode)(2,t.Button,{m:"1px",height:"30px",width:"30px",className:l[C][N].open?"Minesweeper__open":"Minesweeper__closed",bold:!0,color:"transparent",icon:l[C][N].open?l[C][N].bomb?"bomb":"":l[C][N].flag?"flag":"",textColor:l[C][N].open?l[C][N].bomb?"black":m[l[C][N].around]:l[C][N].flag?"red":"gray",onMouseDown:function(){function x(B){return c(B,C,N)}return x}(),children:l[C][N].open&&!l[C][N].bomb&&l[C][N].around?l[C][N].around:" "},N)})},C)}),(0,e.createVNode)(1,"p"),(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",className:"Minesweeper__message",children:["\u0414\u043B\u044F \u043F\u043E\u0431\u0435\u0434\u044B \u043D\u0443\u0436\u043D\u043E \u043F\u043E\u043C\u0435\u0442\u0438\u0442\u044C \u0444\u043B\u0430\u0436\u043A\u0430\u043C\u0438 \u0432\u0441\u0435 \u0431\u043E\u043C\u0431\u044B, \u0430 \u0442\u0430\u043A\u0436\u0435 \u043E\u0442\u043A\u0440\u044B\u0442\u044C \u0432\u0441\u0435 \u043F\u0443\u0441\u0442\u044B\u0435 \u043A\u043B\u0435\u0442\u043A\u0438.",(0,e.createVNode)(1,"br"),"\u0411\u0430\u043B\u0430\u043D\u0441 \u0442\u043E\u043A\u0435\u043D\u043E\u0432: ",u,(0,e.createVNode)(1,"br"),f]})]})})})})}return y}()},21385:function(I,r,n){"use strict";r.__esModule=!0,r.MiniGamesMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.MiniGamesMenu=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.spawners||[],f=i.thunderdome_eligible,u=i.notifications_enabled;return(0,e.createComponentVNode)(2,o.Window,{width:700,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",tooltip:f?"\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445",tooltipPosition:"bottom",content:f?"\u0412\u044B\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445",color:f?"good":"bad",onClick:function(){function s(){return p("toggle_minigames")}return s}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",tooltip:u?"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445",tooltipPosition:"bottom",content:u?"\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445":"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043E \u0431\u043E\u0435\u0432\u044B\u0445 \u043C\u0438\u043D\u0438-\u0438\u0433\u0440\u0430\u0445",color:u?"good":"bad",onClick:function(){function s(){return p("toggle_notifications")}return s}()}),(0,e.createComponentVNode)(2,t.Section,{children:l.map(function(s){return(0,e.createComponentVNode)(2,t.Section,{mb:.5,title:s.name,level:2,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Jump",onClick:function(){function m(){return p("jump",{ID:s.uids})}return m}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Start",onClick:function(){function m(){return p("spawn",{ID:s.uids})}return m}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mb:1,fontSize:"16px",children:s.desc}),!!s.fluff&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},textColor:"#878787",fontSize:"14px",children:s.fluff}),!!s.important_info&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mt:1,bold:!0,color:"red",fontSize:"18px",children:s.important_info})]},s.name)})})]})})}return y}()},87684:function(I,r,n){"use strict";r.__esModule=!0,r.MiningVendor=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),d=n(98595),y=["title","items"];function V(u,s){if(u==null)return{};var m={};for(var c in u)if({}.hasOwnProperty.call(u,c)){if(s.includes(c))continue;m[c]=u[c]}return m}var k={Alphabetical:function(){function u(s,m){return s-m}return u}(),Availability:function(){function u(s,m){return-(s.affordable-m.affordable)}return u}(),Price:function(){function u(s,m){return s.price-m.price}return u}()},S=r.MiningVendor=function(){function u(s,m){return(0,e.createComponentVNode)(2,d.Window,{width:400,height:450,children:(0,e.createComponentVNode)(2,d.Window.Content,{className:"Layout__content--flexColumn",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,i)]})})})}return u}(),p=function(s,m){var c=(0,t.useBackend)(m),v=c.act,b=c.data,g=b.has_id,h=b.id;return(0,e.createComponentVNode)(2,o.NoticeBox,{success:g,children:g?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{inline:!0,verticalAlign:"middle",style:{float:"left"},children:["Logged in as ",h.name,".",(0,e.createVNode)(1,"br"),"You have ",h.points.toLocaleString("en-US")," points."]}),(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject ID",style:{float:"right"},onClick:function(){function C(){return v("logoff")}return C}()}),(0,e.createComponentVNode)(2,o.Box,{style:{clear:"both"}})],4):"Please insert an ID in order to make purchases."})},i=function(s,m){var c=(0,t.useBackend)(m),v=c.act,b=c.data,g=b.has_id,h=b.id,C=b.items,N=(0,t.useLocalState)(m,"search",""),x=N[0],B=N[1],L=(0,t.useLocalState)(m,"sort","Alphabetical"),w=L[0],A=L[1],T=(0,t.useLocalState)(m,"descending",!1),E=T[0],O=T[1],P=(0,a.createSearch)(x,function(j){return j[0]}),R=!1,F=Object.entries(C).map(function(j,W){var z=Object.entries(j[1]).filter(P).map(function(H){return H[1].affordable=g&&h.points>=H[1].price,H[1]}).sort(k[w]);if(z.length!==0)return E&&(z=z.reverse()),R=!0,(0,e.createComponentVNode)(2,f,{title:j[0],items:z},j[0])});return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:R?F:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No items matching your criteria was found!"})})})},l=function(s,m){var c=(0,t.useLocalState)(m,"search",""),v=c[0],b=c[1],g=(0,t.useLocalState)(m,"sort",""),h=g[0],C=g[1],N=(0,t.useLocalState)(m,"descending",!1),x=N[0],B=N[1];return(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(){function L(w,A){return b(A)}return L}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"30%",children:(0,e.createComponentVNode)(2,o.Dropdown,{selected:"Alphabetical",options:Object.keys(k),width:"100%",onSelected:function(){function L(w){return C(w)}return L}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:x?"arrow-down":"arrow-up",height:"21px",tooltip:x?"Descending order":"Ascending order",tooltipPosition:"bottom-start",onClick:function(){function L(){return B(!x)}return L}()})})]})})},f=function(s,m){var c=(0,t.useBackend)(m),v=c.act,b=c.data,g=s.title,h=s.items,C=V(s,y);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Collapsible,Object.assign({open:!0,title:g},C,{children:h.map(function(N){return(0,e.createComponentVNode)(2,o.ImageButton,{bold:!0,asset:!0,color:"brown",imageSize:"64px",image:N.imageId,imageAsset:"mining_vendor64x64",content:N.name,children:(0,e.createComponentVNode)(2,o.ImageButton.Item,{bold:!0,horizontal:!0,width:"64px",fontSize:1,content:N.price,icon:"shopping-cart",iconSize:1,iconColor:!b.has_id||b.id.points"})}),!!O&&(0,e.createComponentVNode)(2,s,{mt:1.1,label:"ID tag",compactLabel:!0,wrapContent:F?(0,e.createComponentVNode)(2,f,{text:R,defaultText:"",color:"silver"}):(0,e.createComponentVNode)(2,o.Box,{as:"span",fontSize:"0.9rem",color:"red",italic:!0,nowrap:!0,children:"Not supported"})})]})})]})})})}return x}(),i=function(B,L){var w=B.iconName,A=B.machineName,T=B.noMachine,E=B.noMachineText,O=B.noMachineElem,P="Unknown machine",R=T?E:A||"Unknown machine",F=R===E,j=R===E||R===P;return T&&O?O:(0,e.createComponentVNode)(2,o.Flex,{mt:.1,mb:1.9,children:[!T&&(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,align:"center",children:(0,e.createComponentVNode)(2,o.Icon,{mr:1,size:1.1,name:w})}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,wordWrap:"break-word",children:(0,e.createComponentVNode)(2,o.Box,{as:"span",wordWrap:"break-word",color:F?"label":"silver",fontSize:"1.1rem",bold:!0,italic:j,children:R})})]})},l=function(B,L){var w=B.text;return(0,e.createComponentVNode)(2,o.Box,{as:"span",fontSize:"0.9rem",color:"yellow",italic:!0,nowrap:!0,children:w})},f=function(B,L){var w=B.text,A=B.defaultText,T=S(B,y);return w?(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({as:"span",wordWrap:"break-word"},T,{children:w}))):(0,e.createComponentVNode)(2,l,{text:A})},u=function(B,L){var w=B.noConfirm,A=w===void 0?!1:w,T=S(B,V);return A?(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Button,Object.assign({},T))):(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Button.Confirm,Object.assign({},T)))},s=function(B,L){var w=B.label,A=B.wrapContent,T=B.noWrapContent,E=B.compactLabel,O=E===void 0?!1:E,P=S(B,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Flex,Object.assign({my:.5,mr:"0.5%",spacing:1,align:"center"},P,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:O?0:1,shrink:0,textOverflow:"ellipsis",overflow:"hidden",basis:O?"auto":0,maxWidth:O?"none":20,color:"label",nowrap:!0,children:w}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,textAlign:"center",wordWrap:"break-word",children:A}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:.1}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,nowrap:!0,children:T})]})))},m=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data;return(0,e.createComponentVNode)(2,o.Box,{mt:1.5,fontSize:"0.9rem",color:"silver",italic:!0,children:"No options"})},c=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data;return(0,e.createComponentVNode)(2,o.Box,{fontSize:"1.1rem",color:"red",bold:!0,italic:!0,children:"ACCESS DENIED"})},v=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.attachedTag;return(0,e.createComponentVNode)(2,s,{label:"ID tag",wrapContent:(0,e.createComponentVNode)(2,f,{text:E,defaultText:"",color:"silver"}),noWrapContent:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Set",icon:"wrench",onClick:function(){function O(){return A("set_tag")}return O}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Clear",icon:"times-circle",color:"red",disabled:!E,onClick:function(){function O(){return A("clear_tag")}return O}()})],4)})},b=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.frequency,O=T.minFrequency,P=T.maxFrequency,R=T.canReset;return(0,e.createComponentVNode)(2,s,{label:"Frequency",noWrapContent:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,unit:"kHz",step:.1,stepPixelSize:10,minValue:O/10,maxValue:P/10,value:E/10,format:function(){function F(j){return(0,a.toFixed)(j,1)}return F}(),onChange:function(){function F(j,W){return A("set_frequency",{frequency:W*10})}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"undo",content:"",disabled:!R,tooltip:"Reset",onClick:function(){function F(){return A("reset_frequency")}return F}()})],4)})},g=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.attachedTags;return(0,e.createComponentVNode)(2,o.Section,{mt:1.7,ml:.5,mr:1,px:.5,title:"Linked tags",buttons:(0,e.createComponentVNode)(2,o.Button,{mr:1,pl:2.1,content:"Add tag",icon:"plus",iconRight:!0,onClick:function(){function O(){return A("add_tag")}return O}()}),children:E.map(function(O,P){return(0,e.createComponentVNode)(2,s,{mr:0,label:(0,e.createComponentVNode)(2,o.Icon,{name:"wave-square"}),compactLabel:!0,wrapContent:(0,e.createComponentVNode)(2,o.Flex,{align:"center",spacing:1,children:(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"silver",wordWrap:"break-word",children:O})}),noWrapContent:(0,e.createComponentVNode)(2,o.Flex,{children:(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,children:(0,e.createComponentVNode)(2,o.Button,{icon:"minus",color:"red",onClick:function(){function R(){return A("remove_tag",{tag_index:P})}return R}()})})})},P)})})},h=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.bolts,O=T.pressureCheck,P=T.temperatureCheck,R=T.oxygenCheck,F=T.toxinsCheck,j=T.nitrogenCheck,W=T.carbonDioxideCheck,z=[{bitflag:1,checked:O,label:"Monitor pressure"},{bitflag:2,checked:P,label:"Monitor temperature"},{bitflag:4,checked:R,label:"Monitor oxygen concentration"},{bitflag:8,checked:F,label:"Monitor plasma concentration"},{bitflag:16,checked:j,label:"Monitor nitrogen concentration"},{bitflag:32,checked:W,label:"Monitor carbon dioxide concentration"}];return(0,e.createFragment)([(0,e.createComponentVNode)(2,s,{label:"Floor bolts",noWrapContent:(0,e.createComponentVNode)(2,o.Button,{icon:E?"check":"times",selected:E,content:E?"YES":"NO",onClick:function(){function H(){return A("toggle_bolts")}return H}()})}),z.map(function(H){return(0,e.createComponentVNode)(2,s,{label:H.label,noWrapContent:(0,e.createComponentVNode)(2,o.Button.Checkbox,{checked:H.checked,onClick:function(){function $(){return A("toggle_flag",{bitflag:H.bitflag})}return $}()})},H.bitflag)})],0)},C=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.sensors;return(0,e.createComponentVNode)(2,o.Section,{mt:1.7,ml:.5,mr:1,px:.5,title:"Sensors",buttons:(0,e.createComponentVNode)(2,o.Button,{mr:1,pl:2.1,content:"Add sensor",icon:"plus",iconRight:!0,onClick:function(){function O(){return A("add_sensor")}return O}()}),children:[(0,e.createComponentVNode)(2,s,{mr:0,compactLabel:!0,wrapContent:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{width:1}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"label",nowrap:!0,bold:!0,children:"ID tag"}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"label",nowrap:!0,bold:!0,children:"Label"}),(0,e.createComponentVNode)(2,o.Flex.Item,{width:11.3})]})}),Object.keys(E).map(function(O){return(0,e.createComponentVNode)(2,s,{mr:0,label:(0,e.createComponentVNode)(2,o.Icon,{name:"wave-square"}),compactLabel:!0,wrapContent:(0,e.createComponentVNode)(2,o.Flex,{align:"center",spacing:1,children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"silver",wordWrap:"break-word",children:O}),E[O]?(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,color:"silver",wordWrap:"break-word",children:E[O]}):(0,e.createComponentVNode)(2,o.Flex.Item,{grow:1,shrink:1,basis:0,fontSize:"0.9rem",color:"yellow",italic:!0,nowrap:!0,children:""})]}),noWrapContent:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,children:[(0,e.createComponentVNode)(2,o.Button,{content:"Label",icon:"edit",onClick:function(){function P(){return A("change_label",{sensor_tag:O})}return P}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Label",icon:"times-circle",color:"orange",disabled:!E[O],onClick:function(){function P(){return A("clear_label",{sensor_tag:O})}return P}()})]}),(0,e.createComponentVNode)(2,o.Flex.Item,{width:.5}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:0,shrink:0,children:(0,e.createComponentVNode)(2,o.Button,{px:1.2,icon:"minus",color:"red",onClick:function(){function P(){return A("del_sensor",{sensor_tag:O})}return P}()})})]})},O)})]})},N=function(B,L){var w=(0,t.useBackend)(L),A=w.act,T=w.data,E=T.inputTag,O=T.outputTag,P=T.bufferTag,R=T.bufferFitsInput,F=T.bufferFitsOutput,j=T.doNotLinkAndNotify;return(0,e.createFragment)([(0,e.createComponentVNode)(2,s,{label:"Input",labelWidth:6,wrapContent:(0,e.createComponentVNode)(2,f,{text:E,defaultText:"",color:"silver"}),noWrapContent:(0,e.createFragment)([(0,e.createComponentVNode)(2,u,{noConfirm:j||!E,confirmContent:"This will change the intput device. Confirm?",confirmColor:"orange",content:"Link buffer",icon:"link",selected:E&&P===E,disabled:!R,onClick:function(){function W(){return A("link_input")}return W}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{confirmContent:"This will unlink the intput device. Confirm?",confirmColor:"orange",content:"Unlink",icon:"unlink",color:"red",disabled:!E,onClick:function(){function W(){return A("unlink_input")}return W}()})],4)}),(0,e.createComponentVNode)(2,s,{label:"Output",labelWidth:6,wrapContent:(0,e.createComponentVNode)(2,f,{text:O,defaultText:"",color:"silver"}),noWrapContent:(0,e.createFragment)([(0,e.createComponentVNode)(2,u,{noConfirm:j||!O,confirmContent:"This will change the output device. Confirm?",confirmColor:"orange",content:"Link buffer",icon:"link",selected:O&&P===O,disabled:!F,onClick:function(){function W(){return A("link_output")}return W}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{confirmContent:"This will unlink the output device. Confirm?",confirmColor:"orange",content:"Unlink",icon:"unlink",color:"red",disabled:!O,onClick:function(){function W(){return A("unlink_output")}return W}()})],4)})],4)}},64713:function(I,r,n){"use strict";r.__esModule=!0,r.Newscaster=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),d=n(76910),y=n(98595),V=n(3939),k=n(22091),S=["icon","iconSpin","selected","security","onClick","title","children"],p=["name"];function i(B,L){if(B==null)return{};var w={};for(var A in B)if({}.hasOwnProperty.call(B,A)){if(L.includes(A))continue;w[A]=B[A]}return w}var l=128,f=["security","engineering","medical","science","service","supply"],u={security:{title:"Security",fluff_text:"Help keep the crew safe"},engineering:{title:"Engineering",fluff_text:"Ensure the station runs smoothly"},medical:{title:"Medical",fluff_text:"Practice medicine and save lives"},science:{title:"Science",fluff_text:"Develop new technologies"},service:{title:"Service",fluff_text:"Provide amenities to the crew"},supply:{title:"Supply",fluff_text:"Keep the station supplied"}},s=r.Newscaster=function(){function B(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.is_security,P=E.is_admin,R=E.is_silent,F=E.is_printing,j=E.screen,W=E.channels,z=E.channel_idx,H=z===void 0?-1:z,$=(0,t.useLocalState)(w,"menuOpen",!1),G=$[0],ne=$[1],Q=(0,t.useLocalState)(w,"viewingPhoto",""),he=Q[0],Ve=Q[1],Ne=(0,t.useLocalState)(w,"censorMode",!1),Be=Ne[0],Le=Ne[1],Ae;j===0||j===2?Ae=(0,e.createComponentVNode)(2,c):j===1&&(Ae=(0,e.createComponentVNode)(2,v));var fe=W.reduce(function(Z,J){return Z+J.unread},0);return(0,e.createComponentVNode)(2,y.Window,{theme:O&&"security",width:800,height:600,children:[he?(0,e.createComponentVNode)(2,h):(0,e.createComponentVNode)(2,V.ComplexModal,{maxWidth:window.innerWidth/1.5+"px",maxHeight:window.innerHeight/1.5+"px"}),(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Section,{fill:!0,className:(0,a.classes)(["Newscaster__menu",G&&"Newscaster__menu--open"]),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,m,{icon:"bars",title:"Toggle Menu",onClick:function(){function Z(){return ne(!G)}return Z}()}),(0,e.createComponentVNode)(2,m,{icon:"newspaper",title:"Headlines",selected:j===0,onClick:function(){function Z(){return T("headlines")}return Z}(),children:fe>0&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--unread",children:fe>=10?"9+":fe})}),(0,e.createComponentVNode)(2,m,{icon:"briefcase",title:"Job Openings",selected:j===1,onClick:function(){function Z(){return T("jobs")}return Z}()}),(0,e.createComponentVNode)(2,o.Divider)]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:W.map(function(Z){return(0,e.createComponentVNode)(2,m,{icon:Z.icon,title:Z.name,selected:j===2&&W[H-1]===Z,onClick:function(){function J(){return T("channel",{uid:Z.uid})}return J}(),children:Z.unread>0&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--unread",children:Z.unread>=10?"9+":Z.unread})},Z)})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Divider),(!!O||!!P)&&(0,e.createFragment)([(0,e.createComponentVNode)(2,m,{security:!0,icon:"exclamation-circle",title:"Edit Wanted Notice",mb:"0.5rem",onClick:function(){function Z(){return(0,V.modalOpen)(w,"wanted_notice")}return Z}()}),(0,e.createComponentVNode)(2,m,{security:!0,icon:Be?"minus-square":"minus-square-o",title:"Censor Mode: "+(Be?"On":"Off"),mb:"0.5rem",onClick:function(){function Z(){return Le(!Be)}return Z}()}),(0,e.createComponentVNode)(2,o.Divider)],4),(0,e.createComponentVNode)(2,m,{icon:"pen-alt",title:"New Story",mb:"0.5rem",onClick:function(){function Z(){return(0,V.modalOpen)(w,"create_story")}return Z}()}),(0,e.createComponentVNode)(2,m,{icon:"plus-circle",title:"New Channel",onClick:function(){function Z(){return(0,V.modalOpen)(w,"create_channel")}return Z}()}),(0,e.createComponentVNode)(2,o.Divider),(0,e.createComponentVNode)(2,m,{icon:F?"spinner":"print",iconSpin:F,title:F?"Printing...":"Print Newspaper",onClick:function(){function Z(){return T("print_newspaper")}return Z}()}),(0,e.createComponentVNode)(2,m,{icon:R?"volume-mute":"volume-up",title:"Mute: "+(R?"On":"Off"),onClick:function(){function Z(){return T("toggle_mute")}return Z}()})]})]})}),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,width:"100%",children:[(0,e.createComponentVNode)(2,k.TemporaryNotice),Ae]})]})})]})}return B}(),m=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=L.icon,O=E===void 0?"":E,P=L.iconSpin,R=L.selected,F=R===void 0?!1:R,j=L.security,W=j===void 0?!1:j,z=L.onClick,H=L.title,$=L.children,G=i(L,S);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({className:(0,a.classes)(["Newscaster__menuButton",F&&"Newscaster__menuButton--selected",W&&"Newscaster__menuButton--security"]),onClick:z},G,{children:[F&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--selectedBar"}),(0,e.createComponentVNode)(2,o.Icon,{name:O,spin:P,size:"2"}),(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--title",children:H}),$]})))},c=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.screen,P=E.is_admin,R=E.channel_idx,F=E.channel_can_manage,j=E.channels,W=E.stories,z=E.wanted,H=(0,t.useLocalState)(w,"fullStories",[]),$=H[0],G=H[1],ne=(0,t.useLocalState)(w,"censorMode",!1),Q=ne[0],he=ne[1],Ve=O===2&&R>-1?j[R-1]:null;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[!!z&&(0,e.createComponentVNode)(2,b,{story:z,wanted:!0}),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:Ve?Ve.icon:"newspaper",mr:"0.5rem"}),Ve?Ve.name:"Headlines"],0),children:W.length>0?W.slice().reverse().map(function(Ne){return!$.includes(Ne.uid)&&Ne.body.length+3>l?Object.assign({},Ne,{body_short:Ne.body.substr(0,l-4)+"..."}):Ne}).map(function(Ne,Be){return(0,e.createComponentVNode)(2,b,{story:Ne},Be)}):(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__emptyNotice",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"times",size:"3"}),(0,e.createVNode)(1,"br"),"There are no stories at this time."]})}),!!Ve&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,height:"40%",title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"info-circle",mr:"0.5rem"}),(0,e.createTextVNode)("About")],4),buttons:(0,e.createFragment)([Q&&(0,e.createComponentVNode)(2,o.Button,{disabled:!!Ve.admin&&!P,selected:Ve.censored,icon:Ve.censored?"comment-slash":"comment",content:Ve.censored?"Uncensor Channel":"Censor Channel",mr:"0.5rem",onClick:function(){function Ne(){return T("censor_channel",{uid:Ve.uid})}return Ne}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!F,icon:"cog",content:"Manage",onClick:function(){function Ne(){return(0,V.modalOpen)(w,"manage_channel",{uid:Ve.uid})}return Ne}()})],0),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description",children:Ve.description||"N/A"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",children:Ve.author||"N/A"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Public",children:Ve.public?"Yes":"No"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Total Views",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"eye",mr:"0.5rem"}),W.reduce(function(Ne,Be){return Ne+Be.view_count},0).toLocaleString()]})]})})]})},v=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.jobs,P=E.wanted,R=Object.entries(O).reduce(function(F,j){var W=j[0],z=j[1];return F+z.length},0);return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[!!P&&(0,e.createComponentVNode)(2,b,{story:P,wanted:!0}),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"briefcase",mr:"0.5rem"}),(0,e.createTextVNode)("Job Openings")],4),buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",color:"label",children:"Work for a better future at Nanotrasen"}),children:R>0?f.map(function(F){return Object.assign({},u[F],{id:F,jobs:O[F]})}).filter(function(F){return!!F&&F.jobs.length>0}).map(function(F){return(0,e.createComponentVNode)(2,o.Section,{className:(0,a.classes)(["Newscaster__jobCategory","Newscaster__jobCategory--"+F.id]),title:F.title,buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",color:"label",children:F.fluff_text}),children:F.jobs.map(function(j){return(0,e.createComponentVNode)(2,o.Box,{class:(0,a.classes)(["Newscaster__jobOpening",!!j.is_command&&"Newscaster__jobOpening--command"]),children:["\u2022 ",j.title]},j.title)})},F.id)}):(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__emptyNotice",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"times",size:"3"}),(0,e.createVNode)(1,"br"),"There are no openings at this time."]})}),(0,e.createComponentVNode)(2,o.Section,{height:"17%",children:["Interested in serving Nanotrasen?",(0,e.createVNode)(1,"br"),"Sign up for any of the above position now at the"," ",(0,e.createVNode)(1,"b",null,"Head of Personnel's Office!",16),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Box,{as:"small",color:"label",children:"By signing up for a job at Nanotrasen, you agree to transfer your soul to the loyalty department of the omnipresent and helpful watcher of humanity."})]})]})},b=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=L.story,P=L.wanted,R=P===void 0?!1:P,F=(0,t.useLocalState)(w,"fullStories",[]),j=F[0],W=F[1],z=(0,t.useLocalState)(w,"censorMode",!1),H=z[0],$=z[1];return(0,e.createComponentVNode)(2,o.Section,{className:(0,a.classes)(["Newscaster__story",R&&"Newscaster__story--wanted"]),title:(0,e.createFragment)([R&&(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-circle",mr:"0.5rem"}),O.censor_flags&2&&"[REDACTED]"||O.title||"News from "+O.author],0),buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",children:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:[!R&&H&&(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:(0,e.createComponentVNode)(2,o.Button,{enabled:O.censor_flags&2,icon:O.censor_flags&2?"comment-slash":"comment",content:O.censor_flags&2?"Uncensor":"Censor",mr:"0.5rem",mt:"-0.25rem",onClick:function(){function G(){return T("censor_story",{uid:O.uid})}return G}()})}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",O.author," |\xA0",!R&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"eye"}),(0,e.createTextVNode)(" "),O.view_count.toLocaleString(),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("|\xA0")],0),(0,e.createComponentVNode)(2,o.Icon,{name:"clock"})," ",(0,d.timeAgo)(O.publish_time,E.world_time)]})]})}),children:(0,e.createComponentVNode)(2,o.Box,{children:O.censor_flags&2?"[REDACTED]":(0,e.createFragment)([!!O.has_photo&&(0,e.createComponentVNode)(2,g,{name:"story_photo_"+O.uid+".png",float:"right",ml:"0.5rem"}),(O.body_short||O.body).split("\n").map(function(G,ne){return(0,e.createComponentVNode)(2,o.Box,{children:G||(0,e.createVNode)(1,"br")},ne)}),O.body_short&&(0,e.createComponentVNode)(2,o.Button,{content:"Read more..",mt:"0.5rem",onClick:function(){function G(){return W([].concat(j,[O.uid]))}return G}()}),(0,e.createComponentVNode)(2,o.Box,{clear:"right"})],0)})})},g=function(L,w){var A=L.name,T=i(L,p),E=(0,t.useLocalState)(w,"viewingPhoto",""),O=E[0],P=E[1];return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({as:"img",className:"Newscaster__photo",src:A,onClick:function(){function R(){return P(A)}return R}()},T)))},h=function(L,w){var A=(0,t.useLocalState)(w,"viewingPhoto",""),T=A[0],E=A[1];return(0,e.createComponentVNode)(2,o.Modal,{className:"Newscaster__photoZoom",children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:T}),(0,e.createComponentVNode)(2,o.Button,{icon:"times",content:"Close",color:"grey",mt:"1rem",onClick:function(){function O(){return E("")}return O}()})]})},C=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=!!L.args.uid&&E.channels.filter(function(ee){return ee.uid===L.args.uid}).pop();if(L.id==="manage_channel"&&!O){(0,V.modalClose)(w);return}var P=L.id==="manage_channel",R=!!L.args.is_admin,F=L.args.scanned_user,j=(0,t.useLocalState)(w,"author",(O==null?void 0:O.author)||F||"Unknown"),W=j[0],z=j[1],H=(0,t.useLocalState)(w,"name",(O==null?void 0:O.name)||""),$=H[0],G=H[1],ne=(0,t.useLocalState)(w,"description",(O==null?void 0:O.description)||""),Q=ne[0],he=ne[1],Ve=(0,t.useLocalState)(w,"icon",(O==null?void 0:O.icon)||"newspaper"),Ne=Ve[0],Be=Ve[1],Le=(0,t.useLocalState)(w,"isPublic",P?!!(O!=null&&O.public):!1),Ae=Le[0],fe=Le[1],Z=(0,t.useLocalState)(w,"adminLocked",(O==null?void 0:O.admin)===1||!1),J=Z[0],te=Z[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:P?"Manage "+O.name:"Create New Channel",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!R,width:"100%",value:W,onInput:function(){function ee(le,ye){return z(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",placeholder:"50 characters max.",maxLength:"50",value:$,onInput:function(){function ee(le,ye){return G(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description (optional)",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{multiline:!0,width:"100%",placeholder:"128 characters max.",maxLength:"128",value:Q,onInput:function(){function ee(le,ye){return he(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Icon",children:[(0,e.createComponentVNode)(2,o.Input,{disabled:!R,value:Ne,width:"35%",mr:"0.5rem",onInput:function(){function ee(le,ye){return Be(ye)}return ee}()}),(0,e.createComponentVNode)(2,o.Icon,{name:Ne,size:"2",verticalAlign:"middle",mr:"0.5rem"})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Accept Public Stories?",children:(0,e.createComponentVNode)(2,o.Button,{selected:Ae,icon:Ae?"toggle-on":"toggle-off",content:Ae?"Yes":"No",onClick:function(){function ee(){return fe(!Ae)}return ee}()})}),R&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:J,icon:J?"lock":"lock-open",content:J?"On":"Off",tooltip:"Locking this channel will make it editable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function ee(){return te(!J)}return ee}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:W.trim().length===0||$.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function ee(){(0,V.modalAnswer)(w,L.id,"",{author:W,name:$.substr(0,49),description:Q.substr(0,128),icon:Ne,public:Ae?1:0,admin_locked:J?1:0})}return ee}()})]})},N=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.photo,P=E.channels,R=E.channel_idx,F=R===void 0?-1:R,j=!!L.args.is_admin,W=L.args.scanned_user,z=P.slice().sort(function(ee,le){if(F<0)return 0;var ye=P[F-1];if(ye.uid===ee.uid)return-1;if(ye.uid===le.uid)return 1}).filter(function(ee){return j||!ee.frozen&&(ee.author===W||!!ee.public)}),H=(0,t.useLocalState)(w,"author",W||"Unknown"),$=H[0],G=H[1],ne=(0,t.useLocalState)(w,"channel",z.length>0?z[0].name:""),Q=ne[0],he=ne[1],Ve=(0,t.useLocalState)(w,"title",""),Ne=Ve[0],Be=Ve[1],Le=(0,t.useLocalState)(w,"body",""),Ae=Le[0],fe=Le[1],Z=(0,t.useLocalState)(w,"adminLocked",!1),J=Z[0],te=Z[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:"Create New Story",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!j,width:"100%",value:$,onInput:function(){function ee(le,ye){return G(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Channel",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Dropdown,{selected:Q,options:z.map(function(ee){return ee.name}),mb:"0",width:"100%",onSelected:function(){function ee(le){return he(le)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Divider),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",placeholder:"128 characters max.",maxLength:"128",value:Ne,onInput:function(){function ee(le,ye){return Be(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Story Text",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{fluid:!0,multiline:!0,placeholder:"1024 characters max.",maxLength:"1024",rows:"8",width:"100%",value:Ae,onInput:function(){function ee(le,ye){return fe(ye)}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo (optional)",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{icon:"image",selected:O,content:O?"Eject: "+O.name:"Insert Photo",tooltip:!O&&"Attach a photo to this story by holding the photograph in your hand.",onClick:function(){function ee(){return T(O?"eject_photo":"attach_photo")}return ee}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Preview",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Section,{noTopPadding:!0,title:Ne,maxHeight:"13.5rem",overflow:"auto",children:(0,e.createComponentVNode)(2,o.Box,{mt:"0.5rem",children:[!!O&&(0,e.createComponentVNode)(2,g,{name:"inserted_photo_"+O.uid+".png",float:"right"}),Ae.split("\n").map(function(ee,le){return(0,e.createComponentVNode)(2,o.Box,{children:ee||(0,e.createVNode)(1,"br")},le)}),(0,e.createComponentVNode)(2,o.Box,{clear:"right"})]})})}),j&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:J,icon:J?"lock":"lock-open",content:J?"On":"Off",tooltip:"Locking this story will make it censorable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function ee(){return te(!J)}return ee}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:$.trim().length===0||Q.trim().length===0||Ne.trim().length===0||Ae.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function ee(){(0,V.modalAnswer)(w,"create_story","",{author:$,channel:Q,title:Ne.substr(0,127),body:Ae.substr(0,1023),admin_locked:J?1:0})}return ee}()})]})},x=function(L,w){var A=(0,t.useBackend)(w),T=A.act,E=A.data,O=E.photo,P=E.wanted,R=!!L.args.is_admin,F=L.args.scanned_user,j=(0,t.useLocalState)(w,"author",(P==null?void 0:P.author)||F||"Unknown"),W=j[0],z=j[1],H=(0,t.useLocalState)(w,"name",(P==null?void 0:P.title.substr(8))||""),$=H[0],G=H[1],ne=(0,t.useLocalState)(w,"description",(P==null?void 0:P.body)||""),Q=ne[0],he=ne[1],Ve=(0,t.useLocalState)(w,"adminLocked",(P==null?void 0:P.admin_locked)===1||!1),Ne=Ve[0],Be=Ve[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:"Manage Wanted Notice",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Authority",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!R,width:"100%",value:W,onInput:function(){function Le(Ae,fe){return z(fe)}return Le}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",value:$,maxLength:"128",onInput:function(){function Le(Ae,fe){return G(fe)}return Le}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{multiline:!0,width:"100%",value:Q,maxLength:"512",rows:"4",onInput:function(){function Le(Ae,fe){return he(fe)}return Le}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo (optional)",verticalAlign:"top",children:[(0,e.createComponentVNode)(2,o.Button,{icon:"image",selected:O,content:O?"Eject: "+O.name:"Insert Photo",tooltip:!O&&"Attach a photo to this wanted notice by holding the photograph in your hand.",tooltipPosition:"top",onClick:function(){function Le(){return T(O?"eject_photo":"attach_photo")}return Le}()}),!!O&&(0,e.createComponentVNode)(2,g,{name:"inserted_photo_"+O.uid+".png",float:"right"})]}),R&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:Ne,icon:Ne?"lock":"lock-open",content:Ne?"On":"Off",tooltip:"Locking this wanted notice will make it editable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function Le(){return Be(!Ne)}return Le}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!P,icon:"eraser",color:"danger",content:"Clear",position:"absolute",right:"7.25rem",bottom:"-0.75rem",onClick:function(){function Le(){T("clear_wanted_notice"),(0,V.modalClose)(w)}return Le}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:W.trim().length===0||$.trim().length===0||Q.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function Le(){(0,V.modalAnswer)(w,L.id,"",{author:W,name:$.substr(0,127),description:Q.substr(0,511),admin_locked:Ne?1:0})}return Le}()})]})};(0,V.modalRegisterBodyOverride)("create_channel",C),(0,V.modalRegisterBodyOverride)("manage_channel",C),(0,V.modalRegisterBodyOverride)("create_story",N),(0,V.modalRegisterBodyOverride)("wanted_notice",x)},97351:function(I,r,n){"use strict";r.__esModule=!0,r.NinjaBloodScan=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(39473),d=n(98595),y=r.NinjaBloodScan=function(){function S(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data;return(0,e.createComponentVNode)(2,d.Window,{width:500,height:400,theme:"spider_clan",children:(0,e.createComponentVNode)(2,d.Window.Content,{className:"Layout__content--flexColumn",children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,k)]})})}return S}(),V=function(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.vialIcons,m=u.noVialIcon,c=u.bloodOwnerNames,v=u.bloodOwnerSpecies,b=u.bloodOwnerTypes,g=u.blockButtons,h=u.scanStates,C={blue:"Button_blue",green:"Button_green",red:"Button_red",disabled:"Button_disabled"},N=["NoticeBox_red","NoticeBox","NoticeBox_blue"],x=[1,2,3];return(0,e.createComponentVNode)(2,t.Flex,{direction:"column",shrink:1,alignContent:"center",children:(0,e.createComponentVNode)(2,t.Section,{title:"\u041E\u0431\u0440\u0430\u0437\u0446\u044B",backgroundColor:"rgba(0, 0, 0, 0.4)",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0442\u0440\u0438 \u043E\u0431\u0440\u0430\u0437\u0446\u0430 \u043A\u0440\u043E\u0432\u0438. \u041C\u0430\u0448\u0438\u043D\u0430 \u043D\u0430\u0441\u0442\u0440\u043E\u0435\u043D\u0430 \u043D\u0430 \u0440\u0430\u0431\u043E\u0442\u0443 \u0441 \u043A\u0440\u043E\u0432\u044C\u044E \u0441\u0443\u0449\u0435\u0441\u0442\u0432 \u0438 \u0443\u0441\u043B\u043E\u0432\u0438\u044F\u043C\u0438 \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u043B \u0432\u0430\u043C \u043A\u043B\u0430\u043D. \u0420\u0435\u0430\u0433\u0435\u043D\u0442\u044B \u0438\u043C \u043D\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u043D\u0435 \u043F\u0440\u0438\u043C\u0443\u0442\u0441\u044F \u0438\u043B\u0438 \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u043F\u0435\u0448\u043D\u044B\u043C",tooltipPosition:"bottom-start"}),children:[(0,e.createComponentVNode)(2,t.Flex,{direction:"row",shrink:1,alignContent:"center",children:x.map(function(B,L){return(0,e.createComponentVNode)(2,o.FlexItem,{direction:"column",width:"33.3%",ml:L?2:0,children:[(0,e.createComponentVNode)(2,t.Section,{title:c[L]?"\u041A\u0440\u043E\u0432\u044C":"\u041D\u0435\u0442 \u0440\u0435\u0430\u0433\u0435\u043D\u0442\u0430",style:{"text-align":"left",background:"rgba(53, 94, 163, 0.5)"}}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:N[h[L]],success:0,danger:0,align:"center",children:(0,e.createComponentVNode)(2,t.Button,{className:g?C.disabled:C.blue,height:"100%",width:"100%",disabled:g,onClick:function(){function w(){return f("vial_out",{button_num:L+1})}return w}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"128px",width:"128px",src:"data:image/jpeg;base64,"+(s[L]||m),style:{"margin-left":"3px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:c[L]||" - ",content:"\u0420\u0430\u0441\u0430: "+(v[L]||" - ")+"\n"+("\u0422\u0438\u043F \u043A\u0440\u043E\u0432\u0438: "+(b[L]||" - ")),position:"bottom"})]})})]},L)})}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_red",success:0,danger:0,align:"center",children:(0,e.createComponentVNode)(2,t.Button,{className:g===0?"":"Button_disabled",content:"\u041D\u0430\u0447\u0430\u0442\u044C \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",width:"250px",textAlign:"center",disabled:g,tooltip:"\u0421\u043A\u0430\u043D\u0438\u0440\u0443\u0435\u0442 \u043A\u0440\u043E\u0432\u044C \u0438 \u043F\u0435\u0440\u0435\u0441\u044B\u043B\u0430\u0435\u0442 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043A\u043B\u0430\u043D\u0443.",tooltipPosition:"bottom",onClick:function(){function B(){return f("scan_blood")}return B}()})})]})})},k=function(p,i){var l=(0,a.useBackend)(i),f=l.data,u=f.progressBar;return(0,e.createComponentVNode)(2,t.Section,{stretchContents:!0,children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:"green",value:u,minValue:0,maxValue:100,children:(0,e.createVNode)(1,"center",null,(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_green",mt:1,children:u?"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 "+(u+"%"):"\u0420\u0435\u0436\u0438\u043C \u043E\u0436\u0438\u0434\u0430\u043D\u0438\u044F"}),2)})})}},32989:function(I,r,n){"use strict";r.__esModule=!0,r.NinjaMindScan=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.NinjaMindScan=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,theme:"spider_clan",children:(0,e.createComponentVNode)(2,o.Window.Content,{className:"Layout__content--flexColumn",children:(0,e.createComponentVNode)(2,y)})})}return V}(),y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.occupantIcon,u=l.occupant_name,s=l.occupant_health,m=l.scanned_occupants,c=u==="none"?1:0;return(0,e.createComponentVNode)(2,t.Flex,{direction:"column",shrink:1,alignContent:"left",children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u041F\u0430\u0446\u0438\u0435\u043D\u0442",backgroundColor:"rgba(0, 0, 0, 0.4)",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u0432\u0438\u0434\u0430 \u0438 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430 \u0432 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0435.",tooltipPosition:"left"}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",shrink:1,alignContent:"left",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{shrink:1,alignContent:"left",children:(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_blue",success:0,danger:0,width:"90px",align:"left",children:(0,e.createComponentVNode)(2,t.Section,{style:{background:"rgba(4, 74, 27, 0.75)"},align:"left",children:(0,e.createVNode)(1,"img",null,null,1,{height:"128px",width:"128px",src:"data:image/jpeg;base64,"+f,style:{"margin-left":"-28px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,alignContent:"right",children:[(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_green",success:0,danger:0,align:"left",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0418\u043C\u044F",children:u}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0417\u0434\u043E\u0440\u043E\u0432\u044C\u0435",children:s})]})}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_red",mt:2.5,success:0,danger:0,align:"center",children:[(0,e.createComponentVNode)(2,t.Button,{className:c===0?"":"Button_disabled",content:"\u041D\u0430\u0447\u0430\u0442\u044C \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",width:"250px",textAlign:"center",disabled:c,tooltip:"\u0421\u043A\u0430\u043D\u0438\u0440\u0443\u0435\u0442 \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430 \u0438 \u043F\u044B\u0442\u0430\u0435\u0442\u0441\u044F \u0434\u043E\u0431\u044B\u0442\u044C \u0438\u0437 \u0435\u0433\u043E \u0440\u0430\u0437\u0443\u043C\u0430 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u0443\u044E \u043A\u043B\u0430\u043D\u0443 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E.",tooltipPosition:"bottom-start",onClick:function(){function v(){return i("scan_occupant")}return v}()}),(0,e.createComponentVNode)(2,t.Button,{className:c===0?"":"Button_disabled",content:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E",width:"250px",textAlign:"center",disabled:c,tooltip:"\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E, \u0432\u044B\u043F\u0443\u0441\u043A\u0430\u044F \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430 \u0438\u0437 \u043A\u0430\u043F\u0441\u0443\u043B\u044B",tooltipPosition:"bottom-start",onClick:function(){function v(){return i("go_out")}return v}()}),(0,e.createComponentVNode)(2,t.Button,{className:c===0?"":"Button_disabled",content:"\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u044F \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430",width:"250px",textAlign:"center",disabled:c,tooltip:"\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043F\u0430\u0446\u0438\u0435\u043D\u0442\u0430 \u043E\u0431\u0440\u0430\u0442\u043D\u043E \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442 \u0441 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u043E\u043D \u0431\u044B\u043B \u043F\u043E\u0445\u0438\u0449\u0435\u043D. \u0420\u0435\u043A\u043E\u043C\u0435\u043D\u0434\u0443\u0435\u043C \u043A\u0430\u043A \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0435\u0433\u043E \u0437\u0430\u043F\u0443\u0433\u0430\u0442\u044C \u043F\u0435\u0440\u0435\u0434 \u044D\u0442\u0438\u043C, \u0447\u0442\u043E\u0431\u044B \u043E\u043D \u043D\u0435 \u0440\u0430\u0437\u0431\u043E\u043B\u0442\u0430\u043B \u043E \u0432\u0430\u0441.",tooltipPosition:"bottom-start",onClick:function(){function v(){return i("teleport_out")}return v}()})]})]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u043F\u0438\u0441\u043E\u043A \u0443\u0436\u0435 \u043F\u0440\u043E\u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0432\u0430\u043C\u0438 \u043B\u044E\u0434\u0435\u0439",align:"center",backgroundColor:"rgba(0, 0, 0, 0.4)",children:(0,e.createComponentVNode)(2,t.Box,{maxHeight:15,overflowY:"auto",overflowX:"hidden",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:m.map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Box,{children:v.scanned_occupant})})},v.scanned_occupant)})})})})]})}},41166:function(I,r,n){"use strict";r.__esModule=!0,r.NuclearBomb=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.NuclearBomb=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;return i.extended?(0,e.createComponentVNode)(2,o.Window,{width:450,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auth Disk",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.authdisk?"eject":"id-card",selected:i.authdisk,content:i.diskname?i.diskname:"-----",tooltip:i.authdisk?"Eject Disk":"Insert Disk",onClick:function(){function l(){return p("auth")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auth Code",children:(0,e.createComponentVNode)(2,t.Button,{icon:"key",disabled:!i.authdisk,selected:i.authcode,content:i.codemsg,onClick:function(){function l(){return p("code")}return l}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Arming & Disarming",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Bolted to floor",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.anchored?"check":"times",selected:i.anchored,disabled:!i.authfull,content:i.anchored?"YES":"NO",onClick:function(){function l(){return p("toggle_anchor")}return l}()})}),i.authfull&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Time Left",children:(0,e.createComponentVNode)(2,t.Button,{icon:"stopwatch",content:i.time,disabled:!i.authfull,tooltip:"Set Timer",onClick:function(){function l(){return p("set_time")}return l}()})})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Time Left",color:i.timer?"red":"",children:i.time+"s"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.safety?"check":"times",selected:i.safety,disabled:!i.authfull,content:i.safety?"ON":"OFF",tooltip:i.safety?"Disable Safety":"Enable Safety",onClick:function(){function l(){return p("toggle_safety")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Arm/Disarm",children:(0,e.createComponentVNode)(2,t.Button,{icon:(i.timer,"bomb"),disabled:i.safety||!i.authfull,color:"red",content:i.timer?"DISARM THE NUKE":"ARM THE NUKE",onClick:function(){function l(){return p("toggle_armed")}return l}()})})]})})]})}):(0,e.createComponentVNode)(2,o.Window,{width:450,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Deployment",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",content:"Deploy Nuclear Device (will bolt device to floor)",onClick:function(){function l(){return p("deploy")}return l}()})})})})}return y}()},52416:function(I,r,n){"use strict";r.__esModule=!0,r.NumberInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(92986),d=n(72253),y=n(36036),V=n(98595),k=r.NumberInputModal=function(){function p(i,l){var f=(0,d.useBackend)(l),u=f.act,s=f.data,m=s.init_value,c=s.large_buttons,v=s.message,b=v===void 0?"":v,g=s.timeout,h=s.title,C=(0,d.useLocalState)(l,"input",m),N=C[0],x=C[1],B=function(){function A(T){T!==N&&x(T)}return A}(),L=function(){function A(T){T!==N&&x(T)}return A}(),w=140+Math.max(Math.ceil(b.length/3),b.length>0&&c?5:0);return(0,e.createComponentVNode)(2,V.Window,{title:h,width:270,height:w,children:[g&&(0,e.createComponentVNode)(2,a.Loader,{value:g}),(0,e.createComponentVNode)(2,V.Window.Content,{onKeyDown:function(){function A(T){var E=window.event?T.which:T.keyCode;E===o.KEY_ENTER&&u("submit",{entry:N}),E===o.KEY_ESCAPE&&u("cancel")}return A}(),children:(0,e.createComponentVNode)(2,y.Section,{fill:!0,children:(0,e.createComponentVNode)(2,y.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,y.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,y.Box,{color:"label",children:b})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,S,{input:N,onClick:L,onChange:B})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,t.InputButtons,{input:N})})]})})})]})}return p}(),S=function(i,l){var f=(0,d.useBackend)(l),u=f.act,s=f.data,m=s.min_value,c=s.max_value,v=s.init_value,b=s.round_value,g=i.input,h=i.onClick,C=i.onChange,N=Math.round(g!==m?Math.max(g/2,m):c/2),x=g===m&&m>0||g===1;return(0,e.createComponentVNode)(2,y.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Button,{disabled:g===m,icon:"angle-double-left",onClick:function(){function B(){return h(m)}return B}(),tooltip:g===m?"Min":"Min ("+m+")"})}),(0,e.createComponentVNode)(2,y.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,y.RestrictedInput,{autoFocus:!0,autoSelect:!0,fluid:!0,allowFloats:!b,minValue:m,maxValue:c,onChange:function(){function B(L,w){return C(w)}return B}(),onEnter:function(){function B(L,w){return u("submit",{entry:w})}return B}(),value:g})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Button,{disabled:g===c,icon:"angle-double-right",onClick:function(){function B(){return h(c)}return B}(),tooltip:g===c?"Max":"Max ("+c+")"})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Button,{disabled:x,icon:"divide",onClick:function(){function B(){return h(N)}return B}(),tooltip:x?"Split":"Split ("+N+")"})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Button,{disabled:g===v,icon:"redo",onClick:function(){function B(){return h(v)}return B}(),tooltip:v?"Reset ("+v+")":"Reset"})})]})}},1218:function(I,r,n){"use strict";r.__esModule=!0,r.OperatingComputer=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(98595),d=n(36036),y=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]],V=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],k={average:[.25,.5],bad:[.5,1/0]},S=["bad","average","average","good","average","average","bad"],p=r.OperatingComputer=function(){function u(s,m){var c=(0,t.useBackend)(m),v=c.act,b=c.data,g=b.hasOccupant,h=b.choice,C;return h?C=(0,e.createComponentVNode)(2,f):C=g?(0,e.createComponentVNode)(2,i):(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,o.Window,{width:650,height:455,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,d.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d.Stack.Item,{children:(0,e.createComponentVNode)(2,d.Tabs,{children:[(0,e.createComponentVNode)(2,d.Tabs.Tab,{selected:!h,icon:"user",onClick:function(){function N(){return v("choiceOff")}return N}(),children:"Patient"}),(0,e.createComponentVNode)(2,d.Tabs.Tab,{selected:!!h,icon:"cog",onClick:function(){function N(){return v("choiceOn")}return N}(),children:"Options"})]})}),(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,d.Section,{fill:!0,scrollable:!0,children:C})})]})})})}return u}(),i=function(s,m){var c=(0,t.useBackend)(m),v=c.data,b=v.occupant;return(0,e.createComponentVNode)(2,d.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,d.Section,{fill:!0,title:"Patient",children:(0,e.createComponentVNode)(2,d.LabeledList,{children:[(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Name",children:b.name}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Status",color:y[b.stat][0],children:y[b.stat][1]}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,d.ProgressBar,{min:"0",max:b.maxHealth,value:b.health/b.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),V.map(function(g,h){return(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:g[0]+" Damage",children:(0,e.createComponentVNode)(2,d.ProgressBar,{min:"0",max:"100",value:b[g[1]]/100,ranges:k,children:(0,a.round)(b[g[1]])},h)},h)}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,d.ProgressBar,{min:"0",max:b.maxTemp,value:b.bodyTemperature/b.maxTemp,color:S[b.temperatureSuitability+3],children:[(0,a.round)(b.btCelsius),"\xB0C, ",(0,a.round)(b.btFaren),"\xB0F"]})}),!!b.hasBlood&&(0,e.createFragment)([(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Blood Level",children:(0,e.createComponentVNode)(2,d.ProgressBar,{min:"0",max:b.bloodMax,value:b.bloodLevel/b.bloodMax,ranges:{bad:[-1/0,.6],average:[.6,.9],good:[.6,1/0]},children:[b.bloodPercent,"%, ",b.bloodLevel,"cl"]})}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Pulse",children:[b.pulse," BPM"]})],4)]})})}),(0,e.createComponentVNode)(2,d.Stack.Item,{children:(0,e.createComponentVNode)(2,d.Section,{title:"Current Procedures",level:"2",children:b.inSurgery?b.surgeries.map(function(g){var h=g.bodypartName,C=g.surgeryName,N=g.stepName;return(0,e.createComponentVNode)(2,d.Section,{title:h,level:"4",children:(0,e.createComponentVNode)(2,d.LabeledList,{children:[(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Procedure",children:C}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Next Step",children:N})]})},h)}):(0,e.createComponentVNode)(2,d.Box,{color:"label",children:"No procedure ongoing."})})})]})},l=function(){return(0,e.createComponentVNode)(2,d.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,d.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,d.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No patient detected."]})})},f=function(s,m){var c=(0,t.useBackend)(m),v=c.act,b=c.data,g=b.verbose,h=b.health,C=b.healthAlarm,N=b.oxy,x=b.oxyAlarm,B=b.crit;return(0,e.createComponentVNode)(2,d.LabeledList,{children:[(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Loudspeaker",children:(0,e.createComponentVNode)(2,d.Button,{selected:g,icon:g?"toggle-on":"toggle-off",content:g?"On":"Off",onClick:function(){function L(){return v(g?"verboseOff":"verboseOn")}return L}()})}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Health Announcer",children:(0,e.createComponentVNode)(2,d.Button,{selected:h,icon:h?"toggle-on":"toggle-off",content:h?"On":"Off",onClick:function(){function L(){return v(h?"healthOff":"healthOn")}return L}()})}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Health Announcer Threshold",children:(0,e.createComponentVNode)(2,d.Knob,{bipolar:!0,minValue:-100,maxValue:100,value:C,stepPixelSize:5,ml:"0",onChange:function(){function L(w,A){return v("health_adj",{new:A})}return L}()})}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Oxygen Alarm",children:(0,e.createComponentVNode)(2,d.Button,{selected:N,icon:N?"toggle-on":"toggle-off",content:N?"On":"Off",onClick:function(){function L(){return v(N?"oxyOff":"oxyOn")}return L}()})}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Oxygen Alarm Threshold",children:(0,e.createComponentVNode)(2,d.Knob,{bipolar:!0,minValue:-100,maxValue:100,value:x,stepPixelSize:5,ml:"0",onChange:function(){function L(w,A){return v("oxy_adj",{new:A})}return L}()})}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Critical Alert",children:(0,e.createComponentVNode)(2,d.Button,{selected:B,icon:B?"toggle-on":"toggle-off",content:B?"On":"Off",onClick:function(){function L(){return v(B?"critOff":"critOn")}return L}()})})]})}},46892:function(I,r,n){"use strict";r.__esModule=!0,r.Orbit=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),d=n(98595);function y(m,c){var v=typeof Symbol!="undefined"&&m[Symbol.iterator]||m["@@iterator"];if(v)return(v=v.call(m)).next.bind(v);if(Array.isArray(m)||(v=V(m))||c&&m&&typeof m.length=="number"){v&&(m=v);var b=0;return function(){return b>=m.length?{done:!0}:{done:!1,value:m[b++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function V(m,c){if(m){if(typeof m=="string")return k(m,c);var v={}.toString.call(m).slice(8,-1);return v==="Object"&&m.constructor&&(v=m.constructor.name),v==="Map"||v==="Set"?Array.from(m):v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v)?k(m,c):void 0}}function k(m,c){(c==null||c>m.length)&&(c=m.length);for(var v=0,b=Array(c);vv},l=function(c,v){var b=c.name,g=v.name;if(!b||!g)return 0;var h=b.match(S),C=g.match(S);if(h&&C&&b.replace(S,"")===g.replace(S,"")){var N=parseInt(h[1],10),x=parseInt(C[1],10);return N-x}return i(b,g)},f=function(c,v){var b=(0,t.useBackend)(v),g=b.act,h=c.searchText,C=c.source,N=c.title,x=C.filter(p(h));return x.sort(l),C.length>0&&(0,e.createComponentVNode)(2,o.Section,{title:N+" - ("+C.length+")",children:x.map(function(B){return(0,e.createComponentVNode)(2,o.Button,{content:B.name,onClick:function(){function L(){return g("orbit",{ref:B.ref})}return L}()},B.name)})})},u=function(c,v){var b=(0,t.useBackend)(v),g=b.act,h=c.color,C=c.thing;return(0,e.createComponentVNode)(2,o.Button,{color:h,onClick:function(){function N(){return g("orbit",{ref:C.ref})}return N}(),children:C.name})},s=r.Orbit=function(){function m(c,v){for(var b=(0,t.useBackend)(v),g=b.act,h=b.data,C=h.alive,N=h.antagonists,x=h.highlights,B=h.auto_observe,L=h.dead,w=h.ghosts,A=h.misc,T=h.npcs,E=(0,t.useLocalState)(v,"searchText",""),O=E[0],P=E[1],R={},F=y(N),j;!(j=F()).done;){var W=j.value;R[W.antag]===void 0&&(R[W.antag]=[]),R[W.antag].push(W)}var z=Object.entries(R);z.sort(function($,G){return i($[0],G[0])});var H=function(){function $(G){for(var ne=0,Q=[z.map(function(Ne){var Be=Ne[0],Le=Ne[1];return Le}),x,C,w,L,T,A];ne0&&(0,e.createComponentVNode)(2,o.Section,{title:"Antagonists",children:z.map(function($){var G=$[0],ne=$[1];return(0,e.createComponentVNode)(2,o.Section,{title:G,level:2,children:ne.filter(p(O)).sort(l).map(function(Q){return(0,e.createComponentVNode)(2,u,{color:"bad",thing:Q},Q.name)})},G)})}),x.length>0&&(0,e.createComponentVNode)(2,f,{title:"Highlights",source:x,searchText:O,color:"teal"}),(0,e.createComponentVNode)(2,o.Section,{title:"Alive - ("+C.length+")",children:C.filter(p(O)).sort(l).map(function($){return(0,e.createComponentVNode)(2,u,{color:"good",thing:$},$.name)})}),(0,e.createComponentVNode)(2,o.Section,{title:"Ghosts - ("+w.length+")",children:w.filter(p(O)).sort(l).map(function($){return(0,e.createComponentVNode)(2,u,{color:"grey",thing:$},$.name)})}),(0,e.createComponentVNode)(2,f,{title:"Dead",source:L,searchText:O}),(0,e.createComponentVNode)(2,f,{title:"NPCs",source:T,searchText:O}),(0,e.createComponentVNode)(2,f,{title:"Misc",source:A,searchText:O})]})})}return m}()},15421:function(I,r,n){"use strict";r.__esModule=!0,r.OreRedemption=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),d=n(98595),y=n(9394);function V(c){if(c==null)throw new TypeError("Cannot destructure "+c)}var k=(0,y.createLogger)("OreRedemption"),S=function(v){return v.toLocaleString("en-US")+" pts"},p=r.OreRedemption=function(){function c(v,b){return(0,e.createComponentVNode)(2,d.Window,{width:490,height:750,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,i,{height:"100%"})}),(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,f)]})})})}return c}(),i=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.id,x=C.points,B=C.disk,L=Object.assign({},(V(v),v));return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({},L,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"average",textAlign:"center",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle",mr:"0.5rem"}),"This machine only accepts ore. Gibtonite is not accepted."]}),(0,e.createComponentVNode)(2,o.Divider),(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"ID card",children:N?(0,e.createComponentVNode)(2,o.Button,{selected:!0,bold:!0,verticalAlign:"middle",icon:"eject",content:N.name,tooltip:"Ejects the ID card.",onClick:function(){function w(){return h("eject_id")}return w}(),style:{"white-space":"pre-wrap"}}):(0,e.createComponentVNode)(2,o.Button,{icon:"sign-in-alt",content:"Insert",tooltip:"Hold the ID card in your hand to insert.",onClick:function(){function w(){return h("insert_id")}return w}()})}),N&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Current Mining Points",children:(0,e.createComponentVNode)(2,o.Box,{bold:!0,children:S(N.points)})}),N&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Total Mining Points",children:(0,e.createComponentVNode)(2,o.Box,{bold:!0,children:S(N.total_points)})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Unclaimed Points",color:x>0?"good":"grey",bold:x>0&&"good",children:S(x)}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:!N,icon:"hand-holding-usd",content:"Claim",onClick:function(){function w(){return h("claim")}return w}()})})]}),(0,e.createComponentVNode)(2,o.Divider),B?(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Design disk",children:(0,e.createComponentVNode)(2,o.Button,{selected:!0,bold:!0,icon:"eject",content:B.name,tooltip:"Ejects the design disk.",onClick:function(){function w(){return h("eject_disk")}return w}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Stored design",children:(0,e.createComponentVNode)(2,o.Box,{color:B.design&&(B.compatible?"good":"bad"),children:B.design||"N/A"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:!B.design||!B.compatible,icon:"upload",content:"Download",tooltip:"Downloads the design on the disk into the machine.",onClick:function(){function w(){return h("download")}return w}()})})]}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No design disk inserted."})]})))},l=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.sheets,x=Object.assign({},(V(v),v));return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,height:"20%",children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,className:"OreRedemption__Ores",p:"0"},x,{children:[(0,e.createComponentVNode)(2,u,{title:"Sheets",columns:[["Available","25%"],["Ore Value","15%"],["Smelt","20%"]]}),N.map(function(B){return(0,e.createComponentVNode)(2,s,{ore:B},B.id)})]})))})},f=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.alloys,x=Object.assign({},(V(v),v));return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,className:"OreRedemption__Ores",p:"0"},x,{children:[(0,e.createComponentVNode)(2,u,{title:"Alloys",columns:[["Recipe","50%"],["Available","11%"],["Smelt","20%"]]}),N.map(function(B){return(0,e.createComponentVNode)(2,m,{ore:B},B.id)})]})))})},u=function(v,b){var g;return(0,e.createComponentVNode)(2,o.Box,{className:"OreHeader",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:v.title}),(g=v.columns)==null?void 0:g.map(function(h){return(0,e.createComponentVNode)(2,o.Stack.Item,{basis:h[1],textAlign:"center",color:"label",bold:!0,children:h[0]},h)})]})})},s=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=v.ore;if(!(C.value&&C.amount<=0&&!(["metal","glass"].indexOf(C.id)>-1)))return(0,e.createComponentVNode)(2,o.Box,{className:"SheetLine",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"45%",align:"middle",children:(0,e.createComponentVNode)(2,o.Stack,{align:"center",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{className:(0,a.classes)(["materials32x32",C.id])}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:C.name})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",color:C.amount>=1?"good":"gray",bold:C.amount>=1,align:"center",children:C.amount.toLocaleString("en-US")}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",children:C.value}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",lineHeight:"32px",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"40%",value:0,minValue:0,maxValue:Math.min(C.amount,50),stepPixelSize:6,onChange:function(){function N(x,B){return h(C.value?"sheet":"alloy",{id:C.id,amount:B})}return N}()})})]})})},m=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=v.ore;return(0,e.createComponentVNode)(2,o.Box,{className:"SheetLine",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"7%",align:"middle",children:(0,e.createComponentVNode)(2,o.Box,{className:(0,a.classes)(["alloys32x32",C.id])})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"30%",textAlign:"middle",align:"center",children:C.name}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"35%",textAlign:"middle",color:C.amount>=1?"good":"gray",align:"center",children:C.description}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"10%",textAlign:"center",color:C.amount>=1?"good":"gray",bold:C.amount>=1,align:"center",children:C.amount.toLocaleString("en-US")}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",lineHeight:"32px",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"40%",value:0,minValue:0,maxValue:Math.min(C.amount,50),stepPixelSize:6,onChange:function(){function N(x,B){return h(C.value?"sheet":"alloy",{id:C.id,amount:B})}return N}()})})]})})}},30373:function(I,r,n){"use strict";r.__esModule=!0,r.PAI=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(71253),y=n(70752),V=function(p){var i;try{i=y("./"+p+".js")}catch(f){if(f.code==="MODULE_NOT_FOUND")return(0,d.routingError)("notFound",p);throw f}var l=i[p];return l||(0,d.routingError)("missingExport",p)},k=r.PAI=function(){function S(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.app_template,m=u.app_icon,c=u.app_title,v=V(s);return(0,e.createComponentVNode)(2,o.Window,{width:600,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:m,mr:1}),c,s!=="pai_main_menu"&&(0,e.createComponentVNode)(2,t.Button,{ml:2,content:"Home",icon:"arrow-up",onClick:function(){function b(){return f("MASTER_back")}return b}()})]}),p:1,children:(0,e.createComponentVNode)(2,v)})})})}return S}()},85175:function(I,r,n){"use strict";r.__esModule=!0,r.PDA=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(71253),y=n(59395),V=function(l){var f;try{f=y("./"+l+".js")}catch(s){if(s.code==="MODULE_NOT_FOUND")return(0,d.routingError)("notFound",l);throw s}var u=f[l];return u||(0,d.routingError)("missingExport",l)},k=r.PDA=function(){function i(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.app,v=m.owner;if(!v)return(0,e.createComponentVNode)(2,o.Window,{width:350,height:105,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Error",children:"No user data found. Please swipe an ID card."})})});var b=V(c.template);return(0,e.createComponentVNode)(2,o.Window,{width:600,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,S)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,p:1,pb:0,title:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:c.icon,mr:1}),c.name]}),children:(0,e.createComponentVNode)(2,b)})}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:7.5,children:(0,e.createComponentVNode)(2,p)})]})})})}return i}(),S=function(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.idInserted,v=m.idLink,b=m.stationTime,g=m.cartridge_name;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{ml:.5,children:(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",color:"transparent",onClick:function(){function h(){return s("Authenticate")}return h}(),content:c?v:"No ID Inserted"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"sd-card",color:"transparent",onClick:function(){function h(){return s("Eject")}return h}(),content:g?["Eject "+g]:"No Cartridge Inserted"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"right",bold:!0,mr:1,mt:.5,children:b})]})},p=function(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.app;return(0,e.createComponentVNode)(2,t.Box,{height:"45px",className:"PDA__footer",backgroundColor:"#1b1b1b",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[!!c.has_back&&(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"33%",mr:-.5,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,className:"PDA__footer__button",color:"transparent",iconColor:c.has_back?"white":"disabled",icon:"arrow-alt-circle-left-o",onClick:function(){function v(){return s("Back")}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:c.has_back?"33%":"100%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,className:"PDA__footer__button",color:"transparent",iconColor:c.is_home?"disabled":"white",icon:"home",onClick:function(){function v(){s("Home")}return v}()})})]})})}},38280:function(I,r,n){"use strict";r.__esModule=!0,r.PDAPainter=r.PDAColorRow=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),d=r.PDAPainter=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.statusLabel,u=l.pdaTypes,s=l.hasPDA,m=l.pdaIcon,c=l.pdaOwnerName,v=l.pdaJobName;return(0,e.createComponentVNode)(2,t.Window,{width:545,height:350,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Flex,{spacing:1,direction:"row",height:"100%",flex:"1",children:[(0,e.createComponentVNode)(2,o.Flex.Item,{width:24,shrink:0,children:[(0,e.createComponentVNode)(2,o.Section,{title:"\u041E\u0431\u0449\u0435\u0435",buttons:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:s?"eject":"exclamation-triangle",selected:s,content:s?"\u0418\u0437\u0432\u043B\u0435\u0447\u044C":"-----",tooltip:s?"\u0418\u0437\u0432\u043B\u0435\u0447\u044C PDA":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C PDA",tooltipPosition:"left",onClick:function(){function b(){return i(s?"eject_pda":"insert_pda")}return b}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0418\u043C\u044F",children:c||"\u041D/\u0414"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0414\u043E\u043B\u0436\u043D\u043E\u0441\u0442\u044C",children:v||"\u041D/\u0414"})]})}),(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.Flex,{height:"100%",direction:"column",flex:"1",children:(0,e.createComponentVNode)(2,o.Flex.Item,{children:[(0,e.createComponentVNode)(2,o.Box,{textAlign:"center",children:(0,e.createComponentVNode)(2,o.Box,{as:"img",height:"160px",src:s?"data:image/png;base64,"+m:"",style:{"-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"},align:"middle"})}),(0,e.createComponentVNode)(2,o.LabeledList,{m:"5px",children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"\u0421\u0442\u0430\u0442\u0443\u0441",children:f})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{m:"5px",fluid:!0,disabled:!s,content:"\u0421\u0442\u0435\u0440\u0435\u0442\u044C PDA",confirmContent:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C?",textAlign:"left",color:"red",tooltip:"C\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0442\u0435\u043B\u0435\u0444\u043E\u043D \u043D\u0430 \u0437\u0430\u0432\u043E\u0434\u0441\u043A\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",tooltipPosition:"top",onClick:function(){function b(){return i("erase_pda")}return b}()})]})})})]}),(0,e.createComponentVNode)(2,o.Flex.Item,{width:27,children:(0,e.createComponentVNode)(2,o.Flex,{direction:"column",height:"100%",flex:"1",children:(0,e.createComponentVNode)(2,o.Section,{title:"\u0426\u0432\u0435\u0442 PDA",flexGrow:"1",scrollable:!0,fill:!0,children:(0,e.createComponentVNode)(2,o.Table,{children:Object.keys(u).map(function(b){return(0,e.createComponentVNode)(2,y,{selectedPda:b,selectedPdaImage:u[b][0]},b)})})})})})]})})})}return V}(),y=r.PDAColorRow=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.hasPDA,u=k.selectedPda,s=k.selectedPdaImage;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+s,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})}),(0,e.createComponentVNode)(2,o.Table.Cell,{bold:!0,children:(0,e.createComponentVNode)(2,o.Button.Confirm,{fluid:!0,disabled:!f,icon:s,content:u,confirmContent:"\u041F\u043E\u043A\u0440\u0430\u0441\u0438\u0442\u044C?",textAlign:"left",onClick:function(){function m(){return i("choose_pda",{selectedPda:u,selectedPdaImage:s})}return m}()})})]})}return V}()},68654:function(I,r,n){"use strict";r.__esModule=!0,r.Pacman=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(49968),y=r.Pacman=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.broken,u=l.anchored,s=l.active,m=l.fuel_type,c=l.fuel_usage,v=l.fuel_stored,b=l.fuel_cap,g=l.is_ai,h=l.tmp_current,C=l.tmp_max,N=l.tmp_overheat,x=l.output_max,B=l.power_gen,L=l.output_set,w=l.has_fuel,A=v/b,T=h/C,E=L*B,O=Math.round(v/c),P=Math.round(O/60),R=O>120?P+" minutes":O+" seconds";return(0,e.createComponentVNode)(2,o.Window,{width:500,height:260,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(f||!u)&&(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:[!!f&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"The generator is malfunctioning!"}),!f&&!u&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"The generator needs to be anchored to the floor with a wrench."})]}),!f&&!!u&&(0,e.createVNode)(1,"div",null,[(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:s?"power-off":"times",content:s?"On":"Off",tooltip:"Toggles the generator on/off. Requires fuel.",tooltipPosition:"left",disabled:!w,selected:s,onClick:function(){function F(){return i("toggle_power")}return F}()}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",className:"ml-1",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power setting",children:[(0,e.createComponentVNode)(2,t.NumberInput,{value:L,minValue:1,maxValue:x,step:1,className:"mt-1",onDrag:function(){function F(j,W){return i("change_power",{change_power:W})}return F}()}),"(",(0,d.formatPower)(E),")"]})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:T,ranges:{green:[-1/0,.33],orange:[.33,.66],red:[.66,1/0]},children:[h," \u2103"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[N>50&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"CRITICAL OVERHEAT!"}),N>20&&N<=50&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"WARNING: Overheating!"}),N>1&&N<=20&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Temperature High"}),N===0&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Optimal"})]})]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Fuel",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject Fuel",tooltip:"Ejects fuel. Generator needs to be offline.",tooltipPosition:"left",disabled:s||g||!w,onClick:function(){function F(){return i("eject_fuel")}return F}()}),children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Type",children:m}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel level",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:A,ranges:{red:[-1/0,.33],orange:[.33,.66],green:[.66,1/0]},children:[Math.round(v/1e3)," dm\xB3"]})})]})}),(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel usage",children:[c/1e3," dm\xB3/s"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel depletion",children:[!!w&&(c?R:"N/A"),!w&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Out of fuel"})]})]})})]})})],4)]})})}return V}()},33388:function(I,r,n){"use strict";r.__esModule=!0,r.PersonalCrafting=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.PersonalCrafting=function(){function k(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.busy,s=f.category,m=f.display_craftable_only,c=f.display_compact,v=f.prev_cat,b=f.next_cat,g=f.subcategory,h=f.prev_subcat,C=f.next_subcat;return(0,e.createComponentVNode)(2,o.Window,{width:700,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!u&&(0,e.createComponentVNode)(2,t.Dimmer,{fontSize:"32px",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cog",spin:1})," Crafting..."]}),(0,e.createComponentVNode)(2,t.Section,{title:s,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Show Craftable Only",icon:m?"check-square-o":"square-o",selected:m,onClick:function(){function N(){return l("toggle_recipes")}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Compact Mode",icon:c?"check-square-o":"square-o",selected:c,onClick:function(){function N(){return l("toggle_compact")}return N}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:v,icon:"arrow-left",onClick:function(){function N(){return l("backwardCat")}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:b,icon:"arrow-right",onClick:function(){function N(){return l("forwardCat")}return N}()})]}),g&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:h,icon:"arrow-left",onClick:function(){function N(){return l("backwardSubCat")}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:C,icon:"arrow-right",onClick:function(){function N(){return l("forwardSubCat")}return N}()})]}),c?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,V)]})]})})}return k}(),y=function(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.display_craftable_only,s=f.can_craft,m=f.cant_craft;return(0,e.createComponentVNode)(2,t.Box,{mt:1,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[s.map(function(c){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:c.name,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",onClick:function(){function v(){return l("make",{make:c.ref})}return v}()}),c.catalyst_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:c.catalyst_text,content:"Catalysts",color:"transparent"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:c.req_text,content:"Requirements",color:"transparent"}),c.tool_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:c.tool_text,content:"Tools",color:"transparent"})]},c.name)}),!u&&m.map(function(c){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:c.name,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",disabled:!0}),c.catalyst_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:c.catalyst_text,content:"Catalysts",color:"transparent"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:c.req_text,content:"Requirements",color:"transparent"}),c.tool_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:c.tool_text,content:"Tools",color:"transparent"})]},c.name)})]})})},V=function(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.display_craftable_only,s=f.can_craft,m=f.cant_craft;return(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[s.map(function(c){return(0,e.createComponentVNode)(2,t.Section,{title:c.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",onClick:function(){function v(){return l("make",{make:c.ref})}return v}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[c.catalyst_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Catalysts",children:c.catalyst_text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requirements",children:c.req_text}),c.tool_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tools",children:c.tool_text})]})},c.name)}),!u&&m.map(function(c){return(0,e.createComponentVNode)(2,t.Section,{title:c.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",disabled:!0}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[c.catalyst_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Catalysts",children:c.catalyst_text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requirements",children:c.req_text}),c.tool_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tools",children:c.tool_text})]})},c.name)})]})}},56150:function(I,r,n){"use strict";r.__esModule=!0,r.Photocopier=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(88510),y=n(64795),V=n(25328);function k(f,u){var s=typeof Symbol!="undefined"&&f[Symbol.iterator]||f["@@iterator"];if(s)return(s=s.call(f)).next.bind(s);if(Array.isArray(f)||(s=S(f))||u&&f&&typeof f.length=="number"){s&&(f=s);var m=0;return function(){return m>=f.length?{done:!0}:{done:!1,value:f[m++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(f,u){if(f){if(typeof f=="string")return p(f,u);var s={}.toString.call(f).slice(8,-1);return s==="Object"&&f.constructor&&(s=f.constructor.name),s==="Map"||s==="Set"?Array.from(f):s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?p(f,u):void 0}}function p(f,u){(u==null||u>f.length)&&(u=f.length);for(var s=0,m=Array(u);sf?this.substring(0,f)+"...":this};var i=function(u,s){s===void 0&&(s="");var m=(0,V.createSearch)(s,function(c){return c.altername});return(0,y.flow)([(0,d.filter)(function(c){return c==null?void 0:c.altername}),s&&(0,d.filter)(m),(0,d.sortBy)(function(c){return c.id})])(u)},l=r.Photocopier=function(){function f(u,s){for(var m=(0,a.useBackend)(s),c=m.act,v=m.data,b=v.copies,g=v.maxcopies,h=(0,a.useLocalState)(s,"searchText",""),C=h[0],N=h[1],x=i((0,d.sortBy)(function(R){return R.category})(v.forms||[]),C),B=[],L=k(x),w;!(w=L()).done;){var A=w.value;B.includes(A.category)||B.push(A.category)}var T=(0,a.useLocalState)(s,"number",0),E=T[0],O=T[1],P;return v.category===""?P=x:P=x.filter(function(R){return R.category===v.category}),(0,e.createComponentVNode)(2,o.Window,{width:550,height:575,theme:v.ui_theme,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"40%",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0442\u0430\u0442\u0443\u0441",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",mt:.3,color:"grey",children:"\u0417\u0430\u0440\u044F\u0434 \u0442\u043E\u043D\u0435\u0440\u0430:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{minValue:0,maxValue:30,value:v.toner})})]}),(0,e.createComponentVNode)(2,t.Stack,{mt:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",mb:.3,color:"grey",children:"\u0424\u043E\u0440\u043C\u0430:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",textAlign:"center",bold:!0,children:v.form_id===""?"\u041D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u0430":v.form_id})]}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",mt:1,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!v.copyitem&&!v.mob,icon:v.copyitem||v.mob?"eject":"times",content:v.copyitem?v.copyitem:v.mob?"\u0416\u043E\u043F\u0430 "+v.mob+"!":"\u0421\u043B\u043E\u0442 \u0434\u043B\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430",onClick:function(){function R(){return c("removedocument")}return R}()})})}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!v.folder,icon:v.folder?"eject":"times",content:v.folder?v.folder:"\u0421\u043B\u043E\u0442 \u0434\u043B\u044F \u043F\u0430\u043F\u043A\u0438",onClick:function(){function R(){return c("removefolder")}return R}()})})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"print",disabled:v.toner===0||v.form===null,content:"\u041F\u0435\u0447\u0430\u0442\u044C",onClick:function(){function R(){return c("print_form")}return R}()})}),!!v.isAI&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",ml:"5px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"image",disabled:v.toner<5,content:"\u0424\u043E\u0442\u043E",tooltip:"\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u0444\u043E\u0442\u043E \u0441 \u0411\u0430\u0437\u044B \u0414\u0430\u043D\u043D\u044B\u0445",onClick:function(){function R(){return c("ai_pic")}return R}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"copy",content:"\u041A\u043E\u043F\u0438\u044F",disabled:v.toner===0||!v.copyitem&&!v.mob,onClick:function(){function R(){return c("copy")}return R}()})}),!!v.isAI&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",ml:"5px",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"i-cursor",content:"\u0422\u0435\u043A\u0441\u0442",tooltip:"\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u0441\u0432\u043E\u0439 \u0442\u0435\u043A\u0441\u0442",disabled:v.toner===0,onClick:function(){function R(){return c("ai_text")}return R}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:1.5,mt:1.2,width:"50%",color:"grey",children:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E:"}),(0,e.createComponentVNode)(2,t.Slider,{mt:.75,width:"50%",animated:!0,minValue:1,maxValue:g,value:b,stepPixelSize:10,onChange:function(){function R(F,j){return c("copies",{new:j})}return R}()})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"\u0411\u044E\u0440\u043E\u043A\u0440\u0430\u0442\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mb:-.5,icon:"chevron-right",color:"transparent",content:"\u0412\u0441\u0435 \u0444\u043E\u0440\u043C\u044B",selected:!v.category,onClick:function(){function R(){return c("choose_category",{category:""})}return R}()})}),B.map(function(R){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"chevron-right",mb:-.5,color:"transparent",content:R,selected:v.category===R,onClick:function(){function F(){return c("choose_category",{category:R})}return F}()},R)},R)})]})})})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"60%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:v.category||"\u0412\u0441\u0435 \u0444\u043E\u0440\u043C\u044B",buttons:(0,e.createComponentVNode)(2,t.Input,{mr:18.5,width:"100%",placeholder:"\u041F\u043E\u0438\u0441\u043A \u0444\u043E\u0440\u043C\u044B",onInput:function(){function R(F,j){return N(j)}return R}()}),children:P.map(function(R){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mb:.5,color:"transparent",content:R.altername.trimLongStr(37),tooltip:R.altername,selected:v.form_id===R.id,onClick:function(){function F(){return c("choose_form",{path:R.path,id:R.id})}return F}()})},R.path)})})})]})})})}return f}()},94158:function(I,r,n){"use strict";r.__esModule=!0,r.PodTracking=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.PodTracking=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.pods;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:l.map(function(f){return(0,e.createComponentVNode)(2,t.Section,{title:f.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Position",children:[f.podx,", ",f.pody,", ",f.podz]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pilot",children:f.pilot}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Passengers",children:f.passengers})]})},f.name)})})})}return y}()},84676:function(I,r,n){"use strict";r.__esModule=!0,r.PoolController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=["tempKey"];function y(p,i){if(p==null)return{};var l={};for(var f in p)if({}.hasOwnProperty.call(p,f)){if(i.includes(f))continue;l[f]=p[f]}return l}var V={scalding:{label:"Scalding",color:"#FF0000",icon:"fa fa-arrow-circle-up",requireEmag:!0},warm:{label:"Warm",color:"#990000",icon:"fa fa-arrow-circle-up"},normal:{label:"Normal",color:null,icon:"fa fa-arrow-circle-right"},cool:{label:"Cool",color:"#009999",icon:"fa fa-arrow-circle-down"},frigid:{label:"Frigid",color:"#00CCCC",icon:"fa fa-arrow-circle-down",requireEmag:!0}},k=function(i,l){var f=i.tempKey,u=y(i,d),s=V[f];if(!s)return null;var m=(0,a.useBackend)(l),c=m.data,v=m.act,b=c.currentTemp,g=s.label,h=s.icon,C=f===b,N=function(){v("setTemp",{temp:f})};return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Button,Object.assign({selected:C,onClick:N},u,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:h}),g]})))},S=r.PoolController=function(){function p(i,l){for(var f=(0,a.useBackend)(l),u=f.data,s=u.emagged,m=u.currentTemp,c=V[m]||V.normal,v=c.label,b=c.color,g=[],h=0,C=Object.entries(V);h50?"battery-half":"battery-quarter")||b==="C"&&"bolt"||b==="F"&&"battery-full"||b==="M"&&"slash",color:b==="N"&&(g>50?"yellow":"red")||b==="C"&&"yellow"||b==="F"&&"green"||b==="M"&&"orange"}),(0,e.createComponentVNode)(2,k.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,o.toFixed)(g)+"%"})],4)};s.defaultHooks=d.pureComponentHooks;var m=function(v){var b,g,h=v.status;switch(h){case"AOn":b=!0,g=!0;break;case"AOff":b=!0,g=!1;break;case"On":b=!1,g=!0;break;case"Off":b=!1,g=!1;break}var C=(g?"On":"Off")+(" ["+(b?"auto":"manual")+"]");return(0,e.createComponentVNode)(2,k.ColorBox,{color:g?"good":"bad",content:b?void 0:"M",title:C})};m.defaultHooks=d.pureComponentHooks},50992:function(I,r,n){"use strict";r.__esModule=!0,r.PrisonerImplantManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(29319),d=n(3939),y=n(321),V=n(5485),k=n(98595),S=r.PrisonerImplantManager=function(){function p(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.loginState,c=s.prisonerInfo,v=s.chemicalInfo,b=s.trackingInfo,g;if(!m.logged_in)return(0,e.createComponentVNode)(2,k.Window,{theme:"security",width:500,height:850,children:(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,V.LoginScreen)})});var h=[1,5,10];return(0,e.createComponentVNode)(2,k.Window,{theme:"security",width:500,height:850,children:[(0,e.createComponentVNode)(2,d.ComplexModal),(0,e.createComponentVNode)(2,k.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,y.LoginInfo),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Prisoner Points Manager System",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Prisoner",children:(0,e.createComponentVNode)(2,t.Button,{icon:c.name?"eject":"id-card",selected:c.name,content:c.name?c.name:"-----",tooltip:c.name?"Eject ID":"Insert ID",onClick:function(){function C(){return u("id_card")}return C}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Points",children:[c.points!==null?c.points:"-/-",(0,e.createComponentVNode)(2,t.Button,{ml:2,icon:"minus-square",disabled:c.points===null,content:"Reset",onClick:function(){function C(){return u("reset_points")}return C}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Point Goal",children:[c.goal!==null?c.goal:"-/-",(0,e.createComponentVNode)(2,t.Button,{ml:2,icon:"pen",disabled:c.goal===null,content:"Edit",onClick:function(){function C(){return(0,d.modalOpen)(l,"set_points")}return C}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{children:(0,e.createVNode)(1,"box",null,[(0,e.createTextVNode)("1 minute of prison time should roughly equate to 150 points."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Sentences should not exceed 5000 points."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Permanent prisoners should not be given a point goal."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Prisoners who meet their point goal will be able to automatically access their locker and return to the station using the shuttle.")],4,{hidden:c.goal===null})})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Tracking Implants",children:b.map(function(C){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{p:1,backgroundColor:"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:["Subject: ",C.subject]}),(0,e.createComponentVNode)(2,t.Box,{children:[" ",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Location",children:C.location}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:C.health}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Prisoner",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",content:"Warn",tooltip:"Broadcast a message to this poor sod",onClick:function(){function N(){return(0,d.modalOpen)(l,"warn",{uid:C.uid})}return N}()})})]})]},C.subject)]}),(0,e.createVNode)(1,"br")],4)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Chemical Implants",children:v.map(function(C){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{p:1,backgroundColor:"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:["Subject: ",C.name]}),(0,e.createComponentVNode)(2,t.Box,{children:[" ",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Remaining Reagents",children:C.volume})}),h.map(function(N){return(0,e.createComponentVNode)(2,t.Button,{mt:2,disabled:C.volume1100?"purple":m>500?"orange":m>250?"yellow":"green"},k=function(m,c){for(var v=[],b=0;b0?"envelope-open-text":"envelope",onClick:function(){function N(){return c("setScreen",{setScreen:6})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Request Assistance",icon:"hand-paper",onClick:function(){function N(){return c("setScreen",{setScreen:1})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Request Supplies",icon:"box",onClick:function(){function N(){return c("setScreen",{setScreen:2})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Relay Anonymous Information",icon:"comment",onClick:function(){function N(){return c("setScreen",{setScreen:3})}return N}()})})]}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Print Shipping Label",icon:"tag",onClick:function(){function N(){return c("setScreen",{setScreen:9})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"View Shipping Logs",icon:"clipboard-list",onClick:function(){function N(){return c("setScreen",{setScreen:10})}return N}()})})]}),!!g&&(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Button,{content:"Send Station-Wide Announcement",icon:"bullhorn",onClick:function(){function N(){return c("setScreen",{setScreen:8})}return N}()})}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Button,{content:h?"Speaker Off":"Speaker On",selected:!h,icon:h?"volume-mute":"volume-up",onClick:function(){function N(){return c("toggleSilent")}return N}()})})]})},V=function(u,s){var m=(0,a.useBackend)(s),c=m.act,v=m.data,b=v.department,g,h;switch(u.purpose){case"ASSISTANCE":g=v.assist_dept,h="Request assistance from another department";break;case"SUPPLIES":g=v.supply_dept,h="Request supplies from another department";break;case"INFO":g=v.info_dept,h="Relay information to another department";break}return(0,e.createComponentVNode)(2,t.Section,{title:h,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function C(){return c("setScreen",{setScreen:0})}return C}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:g.filter(function(C){return C!==b}).map(function(C){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:C,children:[(0,e.createComponentVNode)(2,t.Button,{content:"Message",icon:"envelope",onClick:function(){function N(){return c("writeInput",{write:C,priority:1})}return N}()}),(0,e.createComponentVNode)(2,t.Button,{content:"High Priority",icon:"exclamation-circle",onClick:function(){function N(){return c("writeInput",{write:C,priority:2})}return N}()})]},C)})})})},k=function(u,s){var m=(0,a.useBackend)(s),c=m.act,v=m.data,b;switch(u.type){case"SUCCESS":b="Message sent successfully";break;case"FAIL":b="Request supplies from another department";break}return(0,e.createComponentVNode)(2,t.Section,{title:b,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function g(){return c("setScreen",{setScreen:0})}return g}()})})},S=function(u,s){var m=(0,a.useBackend)(s),c=m.act,v=m.data,b,g;switch(u.type){case"MESSAGES":b=v.message_log,g="Message Log";break;case"SHIPPING":b=v.shipping_log,g="Shipping label print log";break}return(0,e.createComponentVNode)(2,t.Section,{title:g,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function h(){return c("setScreen",{setScreen:0})}return h}()}),children:b.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{className:"RequestConsole__message",children:h},h)})})},p=function(u,s){var m=(0,a.useBackend)(s),c=m.act,v=m.data,b=v.recipient,g=v.message,h=v.msgVerified,C=v.msgStamped;return(0,e.createComponentVNode)(2,t.Section,{title:"Message Authentication",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function N(){return c("setScreen",{setScreen:0})}return N}()}),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Recipient",children:b}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message",children:g}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Validated by",color:"green",children:h}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Stamped by",color:"blue",children:C})]}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:1,textAlign:"center",content:"Send Message",icon:"envelope",onClick:function(){function N(){return c("department",{department:b})}return N}()})]})},i=function(u,s){var m=(0,a.useBackend)(s),c=m.act,v=m.data,b=v.message,g=v.announceAuth;return(0,e.createComponentVNode)(2,t.Section,{title:"Station-Wide Announcement",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function h(){return c("setScreen",{setScreen:0})}return h}()}),children:[(0,e.createComponentVNode)(2,t.Button,{content:b||"Edit Message",icon:"edit",onClick:function(){function h(){return c("writeAnnouncement")}return h}()}),g?(0,e.createComponentVNode)(2,t.Box,{mt:1,color:"green",children:"ID verified. Authentication accepted."}):(0,e.createComponentVNode)(2,t.Box,{mt:1,children:"Swipe your ID card to authenticate yourself."}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:1,textAlign:"center",content:"Send Announcement",icon:"bullhorn",disabled:!(g&&b),onClick:function(){function h(){return c("sendAnnouncement")}return h}()})]})},l=function(u,s){var m=(0,a.useBackend)(s),c=m.act,v=m.data,b=v.shipDest,g=v.msgVerified,h=v.ship_dept;return(0,e.createComponentVNode)(2,t.Section,{title:"Print Shipping Label",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function C(){return c("setScreen",{setScreen:0})}return C}()}),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",children:b}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Validated by",children:g})]}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:1,textAlign:"center",content:"Print Label",icon:"print",disabled:!(b&&g),onClick:function(){function C(){return c("printLabel")}return C}()}),(0,e.createComponentVNode)(2,t.Section,{title:"Destinations",mt:1,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:h.map(function(C){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:C,children:(0,e.createComponentVNode)(2,t.Button,{content:b===C?"Selected":"Select",selected:b===C,onClick:function(){function N(){return c("shipSelect",{shipSelect:C})}return N}()})},C)})})})]})}},3786:function(I,r,n){"use strict";r.__esModule=!0,r.RequestManager=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),d=n(98595);/** * @file * @copyright 2021 bobbahbrown (https://github.com/bobbahbrown) * @coauthor 2022 BeebBeebBoob (https://github.com/BeebBeebBoob) * @license MIT - */var y=r.RequestManager=function(){function p(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m.data,f=d.requests,l=(0,t.useLocalState)(c,"filteredTypes",Object.fromEntries(Object.entries(V).map(function(B){var L=B[0],w=B[1];return[L,!0]}))),v=l[0],b=l[1],g=(0,t.useLocalState)(c,"searchText"),h=g[0],C=g[1],N=f.filter(function(B){return v[B.req_type]});if(h){var x=h.toLowerCase();N=N.filter(function(B){return(0,a.decodeHtmlEntities)(B.message).toLowerCase().includes(x)||B.owner_name.toLowerCase().includes(x)})}return(0,e.createComponentVNode)(2,s.Window,{title:"Request Manager",width:575,height:600,children:(0,e.createComponentVNode)(2,s.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Requests",buttons:(0,e.createComponentVNode)(2,o.Input,{value:h,onInput:function(){function B(L,w){return C(w)}return B}(),placeholder:"Search...",mr:1}),children:N.map(function(B){return(0,e.createVNode)(1,"div","RequestManager__row",[(0,e.createVNode)(1,"div","RequestManager__rowContents",[(0,e.createVNode)(1,"h2","RequestManager__header",[(0,e.createVNode)(1,"span","RequestManager__headerText",[B.owner_name,B.owner===null&&" [DC]"],0),(0,e.createVNode)(1,"span","RequestManager__timestamp",B.timestamp_str,0)],4),(0,e.createVNode)(1,"div","RequestManager__message",[(0,e.createComponentVNode)(2,k,{requestType:B.req_type}),(0,a.decodeHtmlEntities)(B.message)],0)],4),B.owner!==null&&(0,e.createComponentVNode)(2,S,{request:B})],0,null,B.id)})})})})}return p}(),V={request_prayer:"PRAYER",request_centcom:"CENTCOM",request_syndicate:"SYNDICATE",request_honk:"HONK",request_ert:"ERT",request_nuke:"NUKE CODE"},k=function(i){var c=i.requestType;return(0,e.createVNode)(1,"b","RequestManager__"+c,[V[c],(0,e.createTextVNode)(":")],0)},S=function(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m._,f=i.request;return(0,e.createVNode)(1,"div","RequestManager__controlsContainer",[(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("pp",{id:f.id})}return l}(),children:"PP"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("vv",{id:f.id})}return l}(),children:"VV"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("sm",{id:f.id})}return l}(),children:"SM"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("tp",{id:f.id})}return l}(),children:"TP"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("logs",{id:f.id})}return l}(),children:"LOGS"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("bless",{id:f.id})}return l}(),children:"BLESS"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("smite",{id:f.id})}return l}(),children:"SMITE"}),f.req_type!=="request_prayer"&&(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("rply",{id:f.id})}return l}(),children:"RPLY"}),f.req_type==="request_ert"&&(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("ertreply",{id:f.id})}return l}(),children:"ERTREPLY"}),f.req_type==="request_nuke"&&(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return u("getcode",{id:f.id})}return l}(),children:"GETCODE"})],0)}},16475:function(I,r,n){"use strict";r.__esModule=!0,r.SUBMENU=r.RndConsole=r.MENU=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),s=n(13472),y=r.MENU={MAIN:0,LEVELS:1,DISK:2,DESTROY:3,LATHE:4,IMPRINTER:5,SETTINGS:6},V=r.SUBMENU={MAIN:0,DISK_COPY:1,LATHE_CATEGORY:1,LATHE_MAT_STORAGE:2,LATHE_CHEM_STORAGE:3,SETTINGS_DEVICES:1},k=r.RndConsole=function(){function S(p,i){var c=(0,a.useBackend)(i),m=c.data,u=m.wait_message;return(0,e.createComponentVNode)(2,t.Window,{width:800,height:550,theme:m.ui_theme,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole",children:[(0,e.createComponentVNode)(2,s.RndNavbar),(0,e.createComponentVNode)(2,s.RndRoute,{menu:y.MAIN,render:function(){function d(){return(0,e.createComponentVNode)(2,s.MainMenu)}return d}()}),(0,e.createComponentVNode)(2,s.RndRoute,{menu:y.LEVELS,render:function(){function d(){return(0,e.createComponentVNode)(2,s.CurrentLevels)}return d}()}),(0,e.createComponentVNode)(2,s.RndRoute,{menu:y.DISK,render:function(){function d(){return(0,e.createComponentVNode)(2,s.DataDiskMenu)}return d}()}),(0,e.createComponentVNode)(2,s.RndRoute,{menu:y.DESTROY,render:function(){function d(){return(0,e.createComponentVNode)(2,s.DeconstructionMenu)}return d}()}),(0,e.createComponentVNode)(2,s.RndRoute,{menu:function(){function d(f){return f===y.LATHE||f===y.IMPRINTER}return d}(),render:function(){function d(){return(0,e.createComponentVNode)(2,s.LatheMenu)}return d}()}),(0,e.createComponentVNode)(2,s.RndRoute,{menu:y.SETTINGS,render:function(){function d(){return(0,e.createComponentVNode)(2,s.SettingsMenu)}return d}()}),u?(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole__Overlay",children:(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole__Overlay__Wrapper",children:(0,e.createComponentVNode)(2,o.NoticeBox,{color:"black",children:u})})}):null]})})})}return S}()},93098:function(I,r,n){"use strict";r.__esModule=!0,r.CurrentLevels=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.CurrentLevels=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data,p=S.tech_levels;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createVNode)(1,"h3",null,"Current Research Levels:",16),p.map(function(i,c){var m=i.name,u=i.level,d=i.desc;return(0,e.createComponentVNode)(2,t.Box,{children:[c>0?(0,e.createComponentVNode)(2,t.Divider):null,(0,e.createComponentVNode)(2,t.Box,{children:m}),(0,e.createComponentVNode)(2,t.Box,{children:["* Level: ",u]}),(0,e.createComponentVNode)(2,t.Box,{children:["* Summary: ",d]})]},m)})]})}return s}()},19192:function(I,r,n){"use strict";r.__esModule=!0,r.DataDiskMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),s=n(16475),y="design",V="tech",k=function(f,l){var v=(0,a.useBackend)(l),b=v.data,g=v.act,h=b.disk_data;return h?(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:h.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:h.level}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:h.desc})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Upload to Database",icon:"arrow-up",onClick:function(){function C(){return g("updt_tech")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Clear Disk",icon:"trash",onClick:function(){function C(){return g("clear_tech")}return C}()}),(0,e.createComponentVNode)(2,i)]})]}):null},S=function(f,l){var v=(0,a.useBackend)(l),b=v.data,g=v.act,h=b.disk_data;if(!h)return null;var C=h.name,N=h.lathe_types,x=h.materials,B=N.join(", ");return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:C}),B?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lathe Types",children:B}):null,(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Required Materials"})]}),x.map(function(L){return(0,e.createComponentVNode)(2,t.Box,{children:["- ",(0,e.createVNode)(1,"span",null,L.name,0,{style:{"text-transform":"capitalize"}})," x ",L.amount]},L.name)}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Upload to Database",icon:"arrow-up",onClick:function(){function L(){return g("updt_design")}return L}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Clear Disk",icon:"trash",onClick:function(){function L(){return g("clear_design")}return L}()}),(0,e.createComponentVNode)(2,i)]})]})},p=function(f,l){var v=(0,a.useBackend)(l),b=v.data,g=b.disk_type;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{children:"This disk is empty."}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:[(0,e.createComponentVNode)(2,o.RndNavButton,{submenu:s.SUBMENU.DISK_COPY,icon:"arrow-down",content:g===V?"Load Tech to Disk":"Load Design to Disk"}),(0,e.createComponentVNode)(2,i)]})]})},i=function(f,l){var v=(0,a.useBackend)(l),b=v.data,g=v.act,h=b.disk_type;return h?(0,e.createComponentVNode)(2,t.Button,{content:"Eject Disk",icon:"eject",onClick:function(){function C(){var N=h===V?"eject_tech":"eject_design";g(N)}return C}()}):null},c=function(f,l){var v=(0,a.useBackend)(l),b=v.data,g=b.disk_data,h=b.disk_type,C=function(){if(!g)return(0,e.createComponentVNode)(2,p);switch(h){case y:return(0,e.createComponentVNode)(2,S);case V:return(0,e.createComponentVNode)(2,k);default:return null}};return(0,e.createComponentVNode)(2,t.Section,{title:"Data Disk Contents",children:C()})},m=function(f,l){var v=(0,a.useBackend)(l),b=v.data,g=v.act,h=b.disk_type,C=b.to_copy;return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Box,{overflowY:"auto",overflowX:"hidden",maxHeight:"450px",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:C.sort(function(N,x){return N.name.localeCompare(x.name)}).map(function(N){var x=N.name,B=N.id;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:x,children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Copy to Disk",onClick:function(){function L(){h===V?g("copy_tech",{id:B}):g("copy_design",{id:B})}return L}()})},B)})})})})},u=r.DataDiskMenu=function(){function d(f,l){var v=(0,a.useBackend)(l),b=v.data,g=b.disk_type;return g?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.RndRoute,{submenu:s.SUBMENU.MAIN,render:function(){function h(){return(0,e.createComponentVNode)(2,c)}return h}()}),(0,e.createComponentVNode)(2,o.RndRoute,{submenu:s.SUBMENU.DISK_COPY,render:function(){function h(){return(0,e.createComponentVNode)(2,m)}return h}()})],4):null}return d}()},20887:function(I,r,n){"use strict";r.__esModule=!0,r.DeconstructionMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.DeconstructionMenu=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data,p=k.act,i=S.loaded_item,c=S.linked_destroy;return c?i?(0,e.createComponentVNode)(2,t.Section,{noTopPadding:!0,title:"Deconstruction Menu",children:[(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:["Name: ",i.name]}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:(0,e.createVNode)(1,"h3",null,"Origin Tech:",16)}),(0,e.createComponentVNode)(2,t.LabeledList,{children:i.origin_tech.map(function(m){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* "+m.name,children:[m.object_level," ",m.current_level?(0,e.createFragment)([(0,e.createTextVNode)("(Current: "),m.current_level,(0,e.createTextVNode)(")")],0):null]},m.name)})}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:(0,e.createVNode)(1,"h3",null,"Options:",16)}),(0,e.createComponentVNode)(2,t.Button,{content:"Deconstruct Item",icon:"unlink",onClick:function(){function m(){p("deconstruct")}return m}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject Item",icon:"eject",onClick:function(){function m(){p("eject_item")}return m}()})]}):(0,e.createComponentVNode)(2,t.Section,{title:"Deconstruction Menu",children:"No item loaded. Standing by..."}):(0,e.createComponentVNode)(2,t.Box,{children:"NO DESTRUCTIVE ANALYZER LINKED TO CONSOLE"})}return s}()},10666:function(I,r,n){"use strict";r.__esModule=!0,r.LatheCategory=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),s=r.LatheCategory=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.data,i=S.act,c=p.category,m=p.matching_designs,u=p.menu,d=u===4,f=d?"build":"imprint";return(0,e.createComponentVNode)(2,t.Section,{title:c,children:[(0,e.createComponentVNode)(2,o.LatheMaterials),(0,e.createComponentVNode)(2,t.Table,{className:"RndConsole__LatheCategory__MatchingDesigns",children:m.map(function(l){var v=l.id,b=l.name,g=l.can_build,h=l.materials;return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:b,disabled:g<1,onClick:function(){function C(){return i(f,{id:v,amount:1})}return C}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g>=5?(0,e.createComponentVNode)(2,t.Button,{content:"x5",onClick:function(){function C(){return i(f,{id:v,amount:5})}return C}()}):null}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g>=10?(0,e.createComponentVNode)(2,t.Button,{content:"x10",onClick:function(){function C(){return i(f,{id:v,amount:10})}return C}()}):null}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.map(function(C){return(0,e.createFragment)([" | ",(0,e.createVNode)(1,"span",C.is_red?"color-red":null,[C.amount,(0,e.createTextVNode)(" "),C.name],0)],0)})})]},v)})})]})}return y}()},52285:function(I,r,n){"use strict";r.__esModule=!0,r.LatheChemicalStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheChemicalStorage=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data,p=k.act,i=S.loaded_chemicals,c=S.menu===4;return(0,e.createComponentVNode)(2,t.Section,{title:"Chemical Storage",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Purge All",icon:"trash",onClick:function(){function m(){var u=c?"disposeallP":"disposeallI";p(u)}return m}()}),(0,e.createComponentVNode)(2,t.LabeledList,{children:i.map(function(m){var u=m.volume,d=m.name,f=m.id;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* "+u+" of "+d,children:(0,e.createComponentVNode)(2,t.Button,{content:"Purge",icon:"trash",onClick:function(){function l(){var v=c?"disposeP":"disposeI";p(v,{id:f})}return l}()})},f)})})]})}return s}()},71964:function(I,r,n){"use strict";r.__esModule=!0,r.LatheMainMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),s=r.LatheMainMenu=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.data,i=S.act,c=p.menu,m=p.categories,u=c===4?"Protolathe":"Circuit Imprinter";return(0,e.createComponentVNode)(2,t.Section,{title:u+" Menu",children:[(0,e.createComponentVNode)(2,o.LatheMaterials),(0,e.createComponentVNode)(2,o.LatheSearch),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.Flex,{wrap:"wrap",children:m.map(function(d){return(0,e.createComponentVNode)(2,t.Flex,{style:{"flex-basis":"50%","margin-bottom":"6px"},children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-right",content:d,onClick:function(){function f(){i("setCategory",{category:d})}return f}()})},d)})})]})}return y}()},17906:function(I,r,n){"use strict";r.__esModule=!0,r.LatheMaterialStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheMaterialStorage=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data,p=k.act,i=S.loaded_materials;return(0,e.createComponentVNode)(2,t.Section,{className:"RndConsole__LatheMaterialStorage",title:"Material Storage",children:(0,e.createComponentVNode)(2,t.Table,{children:i.map(function(c){var m=c.id,u=c.amount,d=c.name,f=function(){function g(h){var C=S.menu===4?"lathe_ejectsheet":"imprinter_ejectsheet";p(C,{id:m,amount:h})}return g}(),l=Math.floor(u/2e3),v=u<1,b=l===1?"":"s";return(0,e.createComponentVNode)(2,t.Table.Row,{className:v?"color-grey":"color-yellow",children:[(0,e.createComponentVNode)(2,t.Table.Cell,{minWidth:"210px",children:["* ",u," of ",d]}),(0,e.createComponentVNode)(2,t.Table.Cell,{minWidth:"110px",children:["(",l," sheet",b,")"]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u>=2e3?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"1x",icon:"eject",onClick:function(){function g(){return f(1)}return g}()}),(0,e.createComponentVNode)(2,t.Button,{content:"C",icon:"eject",onClick:function(){function g(){return f("custom")}return g}()}),u>=2e3*5?(0,e.createComponentVNode)(2,t.Button,{content:"5x",icon:"eject",onClick:function(){function g(){return f(5)}return g}()}):null,(0,e.createComponentVNode)(2,t.Button,{content:"All",icon:"eject",onClick:function(){function g(){return f(50)}return g}()})],0):null})]},m)})})})}return s}()},83706:function(I,r,n){"use strict";r.__esModule=!0,r.LatheMaterials=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheMaterials=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data,p=S.total_materials,i=S.max_materials,c=S.max_chemicals,m=S.total_chemicals;return(0,e.createComponentVNode)(2,t.Box,{className:"RndConsole__LatheMaterials",mb:"10px",children:(0,e.createComponentVNode)(2,t.Table,{width:"auto",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Material Amount:"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p}),i?(0,e.createComponentVNode)(2,t.Table.Cell,{children:" / "+i}):null]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Chemical Amount:"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:m}),c?(0,e.createComponentVNode)(2,t.Table.Cell,{children:" / "+c}):null]})]})})}return s}()},76749:function(I,r,n){"use strict";r.__esModule=!0,r.LatheMenu=void 0;var e=n(89005),a=n(72253),t=n(12059),o=n(13472),s=n(36036),y=n(16475),V=r.LatheMenu=function(){function k(S,p){var i=(0,a.useBackend)(p),c=i.data,m=c.menu,u=c.linked_lathe,d=c.linked_imprinter;return m===4&&!u?(0,e.createComponentVNode)(2,s.Box,{children:"NO PROTOLATHE LINKED TO CONSOLE"}):m===5&&!d?(0,e.createComponentVNode)(2,s.Box,{children:"NO CIRCUIT IMPRITER LINKED TO CONSOLE"}):(0,e.createComponentVNode)(2,s.Box,{children:[(0,e.createComponentVNode)(2,t.RndRoute,{submenu:y.SUBMENU.MAIN,render:function(){function f(){return(0,e.createComponentVNode)(2,o.LatheMainMenu)}return f}()}),(0,e.createComponentVNode)(2,t.RndRoute,{submenu:y.SUBMENU.LATHE_CATEGORY,render:function(){function f(){return(0,e.createComponentVNode)(2,o.LatheCategory)}return f}()}),(0,e.createComponentVNode)(2,t.RndRoute,{submenu:y.SUBMENU.LATHE_MAT_STORAGE,render:function(){function f(){return(0,e.createComponentVNode)(2,o.LatheMaterialStorage)}return f}()}),(0,e.createComponentVNode)(2,t.RndRoute,{submenu:y.SUBMENU.LATHE_CHEM_STORAGE,render:function(){function f(){return(0,e.createComponentVNode)(2,o.LatheChemicalStorage)}return f}()})]})}return k}()},74698:function(I,r,n){"use strict";r.__esModule=!0,r.LatheSearch=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheSearch=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"Search...",onEnter:function(){function p(i,c){return S("search",{to_search:c})}return p}()})})}return s}()},17180:function(I,r,n){"use strict";r.__esModule=!0,r.MainMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),s=n(16475),y=r.MainMenu=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.data,c=i.disk_type,m=i.linked_destroy,u=i.linked_lathe,d=i.linked_imprinter,f=i.tech_levels;return(0,e.createComponentVNode)(2,t.Section,{title:"Main Menu",children:[(0,e.createComponentVNode)(2,t.Flex,{className:"RndConsole__MainMenu__Buttons",direction:"column",align:"flex-start",children:[(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!c,menu:s.MENU.DISK,submenu:s.SUBMENU.MAIN,icon:"save",content:"Disk Operations"}),(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!m,menu:s.MENU.DESTROY,submenu:s.SUBMENU.MAIN,icon:"unlink",content:"Destructive Analyzer Menu"}),(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!u,menu:s.MENU.LATHE,submenu:s.SUBMENU.MAIN,icon:"print",content:"Protolathe Menu"}),(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!d,menu:s.MENU.IMPRINTER,submenu:s.SUBMENU.MAIN,icon:"print",content:"Circuit Imprinter Menu"}),(0,e.createComponentVNode)(2,o.RndNavButton,{menu:s.MENU.SETTINGS,submenu:s.SUBMENU.MAIN,icon:"cog",content:"Settings"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"12px"}),(0,e.createVNode)(1,"h3",null,"Current Research Levels:",16),(0,e.createComponentVNode)(2,t.LabeledList,{children:f.map(function(l){var v=l.name,b=l.level;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:v,children:b},v)})})]})}return V}()},63459:function(I,r,n){"use strict";r.__esModule=!0,r.RndNavButton=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.RndNavButton=function(){function s(y,V){var k=y.icon,S=y.children,p=y.disabled,i=y.content,c=(0,a.useBackend)(V),m=c.data,u=c.act,d=m.menu,f=m.submenu,l=d,v=f;return y.menu!==null&&y.menu!==void 0&&(l=y.menu),y.submenu!==null&&y.submenu!==void 0&&(v=y.submenu),(0,e.createComponentVNode)(2,t.Button,{content:i,icon:k,disabled:p,onClick:function(){function b(){u("nav",{menu:l,submenu:v})}return b}(),children:S})}return s}()},94942:function(I,r,n){"use strict";r.__esModule=!0,r.RndNavbar=void 0;var e=n(89005),a=n(13472),t=n(36036),o=n(16475),s=r.RndNavbar=function(){function y(){return(0,e.createComponentVNode)(2,t.Box,{className:"RndConsole__RndNavbar",children:[(0,e.createComponentVNode)(2,a.RndRoute,{menu:function(){function V(k){return k!==o.MENU.MAIN}return V}(),render:function(){function V(){return(0,e.createComponentVNode)(2,a.RndNavButton,{menu:o.MENU.MAIN,submenu:o.SUBMENU.MAIN,icon:"reply",content:"Main Menu"})}return V}()}),(0,e.createComponentVNode)(2,a.RndRoute,{submenu:function(){function V(k){return k!==o.SUBMENU.MAIN}return V}(),render:function(){function V(){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,a.RndRoute,{menu:o.MENU.DISK,render:function(){function k(){return(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.MAIN,icon:"reply",content:"Disk Operations Menu"})}return k}()}),(0,e.createComponentVNode)(2,a.RndRoute,{menu:o.MENU.LATHE,render:function(){function k(){return(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.MAIN,icon:"reply",content:"Protolathe Menu"})}return k}()}),(0,e.createComponentVNode)(2,a.RndRoute,{menu:o.MENU.IMPRINTER,render:function(){function k(){return(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.MAIN,icon:"reply",content:"Circuit Imprinter Menu"})}return k}()}),(0,e.createComponentVNode)(2,a.RndRoute,{menu:o.MENU.SETTINGS,render:function(){function k(){return(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.MAIN,icon:"reply",content:"Settings Menu"})}return k}()})]})}return V}()}),(0,e.createComponentVNode)(2,a.RndRoute,{menu:function(){function V(k){return k===o.MENU.LATHE||k===o.MENU.IMPRINTER}return V}(),submenu:o.SUBMENU.MAIN,render:function(){function V(){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.LATHE_MAT_STORAGE,icon:"arrow-up",content:"Material Storage"}),(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.LATHE_CHEM_STORAGE,icon:"arrow-up",content:"Chemical Storage"})]})}return V}()})]})}return y}()},12059:function(I,r,n){"use strict";r.__esModule=!0,r.RndRoute=void 0;var e=n(72253),a=r.RndRoute=function(){function t(o,s){var y=o.render,V=(0,e.useBackend)(s),k=V.data,S=k.menu,p=k.submenu,i=function(){function m(u,d){return u==null?!0:typeof u=="function"?u(d):u===d}return m}(),c=i(o.menu,S)&&i(o.submenu,p);return c?y():null}return t}()},52580:function(I,r,n){"use strict";r.__esModule=!0,r.SettingsMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),s=n(16475),y=r.SettingsMenu=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.data,c=p.act,m=i.sync,u=i.admin,d=i.linked_destroy,f=i.linked_lathe,l=i.linked_imprinter;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,o.RndRoute,{submenu:s.SUBMENU.MAIN,render:function(){function v(){return(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",align:"flex-start",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Sync Database with Network",icon:"sync",disabled:!m,onClick:function(){function b(){c("sync")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Connect to Research Network",icon:"plug",disabled:m,onClick:function(){function b(){c("togglesync")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!m,icon:"unlink",content:"Disconnect from Research Network",onClick:function(){function b(){c("togglesync")}return b}()}),(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!m,content:"Device Linkage Menu",icon:"link",menu:s.MENU.SETTINGS,submenu:s.SUBMENU.SETTINGS_DEVICES}),u===1?(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation",content:"[ADMIN] Maximize Research Levels",onClick:function(){function b(){return c("maxresearch")}return b}()}):null]})})}return v}()}),(0,e.createComponentVNode)(2,o.RndRoute,{submenu:s.SUBMENU.SETTINGS_DEVICES,render:function(){function v(){return(0,e.createComponentVNode)(2,t.Section,{title:"Device Linkage Menu",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"link",content:"Re-sync with Nearby Devices",onClick:function(){function b(){return c("find_device")}return b}()}),(0,e.createComponentVNode)(2,t.Box,{mt:"5px",children:(0,e.createVNode)(1,"h3",null,"Linked Devices:",16)}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[d?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* Destructive Analyzer",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",content:"Unlink",onClick:function(){function b(){return c("disconnect",{item:"destroy"})}return b}()})}):(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:"* No Destructive Analyzer Linked"}),f?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* Protolathe",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",content:"Unlink",onClick:function(){function b(){c("disconnect",{item:"lathe"})}return b}()})}):(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:"* No Protolathe Linked"}),l?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* Circuit Imprinter",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",content:"Unlink",onClick:function(){function b(){return c("disconnect",{item:"imprinter"})}return b}()})}):(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:"* No Circuit Imprinter Linked"})]})]})}return v}()})]})}return V}()},13472:function(I,r,n){"use strict";r.__esModule=!0,r.SettingsMenu=r.RndRoute=r.RndNavbar=r.RndNavButton=r.MainMenu=r.LatheSearch=r.LatheMenu=r.LatheMaterials=r.LatheMaterialStorage=r.LatheMainMenu=r.LatheChemicalStorage=r.LatheCategory=r.DeconstructionMenu=r.DataDiskMenu=r.CurrentLevels=void 0;var e=n(93098);r.CurrentLevels=e.CurrentLevels;var a=n(19192);r.DataDiskMenu=a.DataDiskMenu;var t=n(20887);r.DeconstructionMenu=t.DeconstructionMenu;var o=n(10666);r.LatheCategory=o.LatheCategory;var s=n(52285);r.LatheChemicalStorage=s.LatheChemicalStorage;var y=n(71964);r.LatheMainMenu=y.LatheMainMenu;var V=n(83706);r.LatheMaterials=V.LatheMaterials;var k=n(17906);r.LatheMaterialStorage=k.LatheMaterialStorage;var S=n(76749);r.LatheMenu=S.LatheMenu;var p=n(74698);r.LatheSearch=p.LatheSearch;var i=n(17180);r.MainMenu=i.MainMenu;var c=n(94942);r.RndNavbar=c.RndNavbar;var m=n(63459);r.RndNavButton=m.RndNavButton;var u=n(12059);r.RndRoute=u.RndRoute;var d=n(52580);r.SettingsMenu=d.SettingsMenu},40026:function(I,r,n){"use strict";r.__esModule=!0,r.RoboQuest=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),s=n(98595),y=r.RoboQuest=function(){function V(k,S){var p=(0,t.useBackend)(S),i=p.act,c=p.data,m=c.hasID,u=c.name,d=c.questInfo,f=c.hasTask,l=c.canCheck,v=c.canSend,b=c.checkMessage,g=c.style,h=c.cooldown,C=c.shopItems,N=c.points,x=c.cats,B=(0,t.useLocalState)(S,"shopState",!1),L=B[0],w=B[1],A={medical:"blue",working:"brown",security:"red",working_medical:"olive",medical_security:"violet",working_medical_security:"grey"};return(0,e.createComponentVNode)(2,s.Window,{theme:g,width:1e3,height:540,children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:40,children:[!L&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Mecha",buttons:(0,e.createComponentVNode)(2,o.Button,{content:"Check Mech",icon:"search",disabled:!m||!f||!l||h,onClick:function(){function T(){return i("Check")}return T}()}),children:[(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:60,textAlign:"center",align:"center",children:!!f&&(0,e.createVNode)(1,"img",(0,a.classes)(["roboquest_large128x128",d.icon]))}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Divider,{vertical:!0})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:42,children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!f&&d.modules.map(function(T){return T.id<4&&(0,e.createVNode)(1,"img",(0,a.classes)(["roboquest64x64",T.icon]),null,1,null,T.id)})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!f&&d.modules.map(function(T){return T.id>3&&(0,e.createVNode)(1,"img",(0,a.classes)(["roboquest64x64",T.icon]),null,1,null,T.id)})})]})})]}),(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Divider),(0,e.createVNode)(1,"b",null,b,0)],4),!!h&&(0,e.createFragment)([(0,e.createVNode)(1,"b",null,"\u0417\u0430 \u043E\u0442\u043A\u0430\u0437 \u043E\u0442 \u0437\u0430\u043A\u0430\u0437\u0430, \u0432\u044B \u0431\u044B\u043B\u0438 \u043E\u0442\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u044B \u043E\u0442 \u0440\u0430\u0431\u043E\u0442\u044B \u043D\u0430 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u0440\u0435\u043C\u044F.",16),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"b",null,h,0)],4)]}),!!L&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:(0,e.createComponentVNode)(2,o.Box,{children:["Corps bounties",(0,e.createComponentVNode)(2,o.Box,{children:["Points: ",(0,e.createVNode)(1,"b",null,N.working,0,{style:{color:"brown"}}),"|",(0,e.createVNode)(1,"b",null,N.medical,0,{style:{color:"lightblue"}}),"|",(0,e.createVNode)(1,"b",null,N.security,0,{style:{color:"red"}})]})]}),children:Object.keys(C).map(function(T){return(0,e.createFragment)(!(C[T]===void 0||C[T].length===0||T==="robo")&&C[T].map(function(E){return(0,e.createComponentVNode)(2,o.ImageButton,{asset:!0,color:A[T],image:E.icon,imageAsset:"roboquest64x64",title:(0,e.createComponentVNode)(2,o.Box,{nowrap:!0,inline:!0,children:[E.name," ",(0,e.createVNode)(1,"b",null,E.cost.working,0,{style:{color:"brown"}}),"|",(0,e.createVNode)(1,"b",null,E.cost.medical,0,{style:{color:"lightblue"}}),"|",(0,e.createVNode)(1,"b",null,E.cost.security,0,{style:{color:"red"}})]}),content:E.desc,onClick:function(){function O(){return i("buyItem",{item:E.path})}return O}()},E.path)}),0,T)})})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:20,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Other",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Shop",icon:"shopping-cart",onClick:function(){function T(){return w(!L)}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"cog",onClick:function(){function T(){return i("ChangeStyle")}return T}()})],4),children:!!u&&(0,e.createFragment)([(0,e.createTextVNode)("\u0417\u0434\u0440\u0430\u0441\u0442\u0432\u0443\u0439\u0442\u0435,"),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"b",null,u,0),(0,e.createVNode)(1,"br")],4)})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:38,children:[!L&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Info",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"id-card",content:"Eject ID",disabled:!m,onClick:function(){function T(){return i("RemoveID")}return T}()}),!f&&(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-down",content:"Get Task",disabled:!m||h,onClick:function(){function T(){return i("GetTask")}return T}()}),!!f&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Print",icon:"print",onClick:function(){function T(){return i("printOrder")}return T}(),disabled:!f}),(0,e.createComponentVNode)(2,o.Button,{icon:"trash",content:"Remove Task",disabled:!m||h,onClick:function(){function T(){return i("RemoveTask")}return T}()})],4)],0),children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",mb:"1rem",children:[(0,e.createVNode)(1,"b",null,"Name: ",16),d.name,(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"b",null,"Desc: ",16),d.desc]}),(0,e.createComponentVNode)(2,o.Section,{title:"Modules",level:2,children:(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",mb:"0.5rem",children:!!f&&d.modules.map(function(T){return(0,e.createFragment)([(0,e.createVNode)(1,"b",null,[(0,e.createTextVNode)("Module "),T.id],0),(0,e.createTextVNode)(": "),T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br")],0,T.id)})})}),(0,e.createComponentVNode)(2,o.Box,{mb:"0.5rem",textAlign:"center",children:[(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-up",width:"15rem",bold:!0,content:"Send Mech",textAlign:"center",disabled:!m||!f||!v||h,onClick:function(){function T(){return i("SendMech",{type:"send"})}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-up",width:"15rem",bold:!0,content:"Pack",textAlign:"center",disabled:!m||!f||!v||h,onClick:function(){function T(){return i("SendMech",{type:"only_packing"})}return T}()})]})]}),!!L&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createTextVNode)("RoboQuest Shop"),(0,e.createComponentVNode)(2,o.Box,{children:["Points: ",N.robo]})],4),children:C.robo.map(function(T){return(!T.emagOnly||g==="syndicate")&&(0,e.createComponentVNode)(2,o.ImageButton,{asset:!0,color:"purple",image:T.icon,imageAsset:"roboquest64x64",title:(0,e.createComponentVNode)(2,o.Box,{nowrap:!0,inline:!0,children:[T.name," ",(0,e.createVNode)(1,"b",null,T.cost.robo,0,{style:{color:"purple"}})]}),content:T.desc,onClick:function(){function E(){return i("buyItem",{item:T.path})}return E}()},T.name)})})]})]})})})}return V}()},26109:function(I,r,n){"use strict";r.__esModule=!0,r.RobotSelfDiagnosis=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(25328),y=function(S,p){var i=S/p;return i<=.2?"good":i<=.5?"average":"bad"},V=r.RobotSelfDiagnosis=function(){function k(S,p){var i=(0,a.useBackend)(p),c=i.data,m=c.component_data;return(0,e.createComponentVNode)(2,o.Window,{width:280,height:480,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:m.map(function(u,d){return(0,e.createComponentVNode)(2,t.Section,{title:(0,s.capitalize)(u.name),children:u.installed<=0?(0,e.createComponentVNode)(2,t.NoticeBox,{m:-.5,height:3.5,color:"red",style:{"font-style":"normal"},children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",children:(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,textAlign:"center",align:"center",color:"#e8e8e8",children:u.installed===-1?"Destroyed":"Missing"})})}):(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"72%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Brute Damage",color:y(u.brute_damage,u.max_damage),children:u.brute_damage}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Burn Damage",color:y(u.electronic_damage,u.max_damage),children:u.electronic_damage})]})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Powered",color:u.powered?"good":"bad",children:u.powered?"Yes":"No"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Enabled",color:u.status?"good":"bad",children:u.status?"Yes":"No"})]})})]})},d)})})})}return k}()},97997:function(I,r,n){"use strict";r.__esModule=!0,r.RoboticsControlConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.RoboticsControlConsole=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.can_hack,u=c.safety,d=c.show_detonate_all,f=c.cyborgs,l=f===void 0?[]:f;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:460,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!d&&(0,e.createComponentVNode)(2,t.Section,{title:"Emergency Self Destruct",children:[(0,e.createComponentVNode)(2,t.Button,{icon:u?"lock":"unlock",content:u?"Disable Safety":"Enable Safety",selected:u,onClick:function(){function v(){return i("arm",{})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"bomb",disabled:u,content:"Destroy ALL Cyborgs",color:"bad",onClick:function(){function v(){return i("nuke",{})}return v}()})]}),(0,e.createComponentVNode)(2,y,{cyborgs:l,can_hack:m})]})})}return V}(),y=function(k,S){var p=k.cyborgs,i=k.can_hack,c=(0,a.useBackend)(S),m=c.act,u=c.data;return p.length?p.map(function(d){return(0,e.createComponentVNode)(2,t.Section,{title:d.name,buttons:(0,e.createFragment)([!!d.hackable&&!d.emagged&&(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:"Hack",color:"bad",onClick:function(){function f(){return m("hackbot",{uid:d.uid})}return f}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:d.locked_down?"unlock":"lock",color:d.locked_down?"good":"default",content:d.locked_down?"Release":"Lockdown",disabled:!u.auth,onClick:function(){function f(){return m("stopbot",{uid:d.uid})}return f}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"bomb",content:"Detonate",disabled:!u.auth,color:"bad",onClick:function(){function f(){return m("killbot",{uid:d.uid})}return f}()})],0),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:(0,e.createComponentVNode)(2,t.Box,{color:d.status?"bad":d.locked_down?"average":"good",children:d.status?"Not Responding":d.locked_down?"Locked Down":"Nominal"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:(0,e.createComponentVNode)(2,t.Box,{children:d.locstring})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:d.health>50?"good":"bad",value:d.health/100})}),typeof d.charge=="number"&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell Charge",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:d.charge>30?"good":"bad",value:d.charge/100})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell Capacity",children:(0,e.createComponentVNode)(2,t.Box,{color:d.cell_capacity<3e4?"average":"good",children:d.cell_capacity})})],4)||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"No Power Cell"})}),!!d.is_hacked&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safeties",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"DISABLED"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Module",children:d.module}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Master AI",children:(0,e.createComponentVNode)(2,t.Box,{color:d.synchronization?"default":"average",children:d.synchronization||"None"})})]})},d.uid)}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No cyborg units detected within access parameters."})}},54431:function(I,r,n){"use strict";r.__esModule=!0,r.Safe=void 0;var e=n(89005),a=n(79140),t=n(72253),o=n(36036),s=n(98595),y=r.Safe=function(){function p(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m.data,f=d.dial,l=d.open,v=d.locked,b=d.contents;return(0,e.createComponentVNode)(2,s.Window,{theme:"safe",width:600,height:800,children:(0,e.createComponentVNode)(2,s.Window.Content,{children:[(0,e.createComponentVNode)(2,o.Box,{className:"Safe--engraving",children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{className:"Safe--engraving--hinge",top:"25%"}),(0,e.createComponentVNode)(2,o.Box,{className:"Safe--engraving--hinge",top:"75%"})]}),(0,e.createComponentVNode)(2,o.Icon,{className:"Safe--engraving--arrow",name:"long-arrow-alt-down",size:"3"}),(0,e.createVNode)(1,"br"),l?(0,e.createComponentVNode)(2,k):(0,e.createComponentVNode)(2,o.Box,{as:"img",className:"Safe--dial",src:(0,a.resolveAsset)("safe_dial.png"),style:{transform:"rotate(-"+3.6*f+"deg)","z-index":0}})]}),!l&&(0,e.createComponentVNode)(2,S)]})})}return p}(),V=function(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m.data,f=d.dial,l=d.open,v=d.locked,b=function(h,C){return(0,e.createComponentVNode)(2,o.Button,{disabled:l||C&&!v,icon:"arrow-"+(C?"right":"left"),content:(C?"Right":"Left")+" "+h,iconRight:C,onClick:function(){function N(){return u(C?"turnleft":"turnright",{num:h})}return N}(),style:{"z-index":10}})};return(0,e.createComponentVNode)(2,o.Box,{className:"Safe--dialer",children:[(0,e.createComponentVNode)(2,o.Button,{disabled:v,icon:l?"lock":"lock-open",content:l?"Close":"Open",mb:"0.5rem",onClick:function(){function g(){return u("open")}return g}()}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Box,{position:"absolute",children:[b(50),b(10),b(1)]}),(0,e.createComponentVNode)(2,o.Box,{className:"Safe--dialer--right",position:"absolute",right:"5px",children:[b(1,!0),b(10,!0),b(50,!0)]}),(0,e.createComponentVNode)(2,o.Box,{className:"Safe--dialer--number",children:f})]})},k=function(i,c){var m=(0,t.useBackend)(c),u=m.act,d=m.data,f=d.contents;return(0,e.createComponentVNode)(2,o.Box,{className:"Safe--contents",overflow:"auto",children:f.map(function(l,v){return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{mb:"0.5rem",onClick:function(){function b(){return u("retrieve",{index:v+1})}return b}(),children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:l.sprite+".png",verticalAlign:"middle",ml:"-6px",mr:"0.5rem"}),l.name]}),(0,e.createVNode)(1,"br")],4,l)})})},S=function(i,c){return(0,e.createComponentVNode)(2,o.Section,{className:"Safe--help",title:"Safe opening instructions (because you all keep forgetting)",children:[(0,e.createComponentVNode)(2,o.Box,{children:["1. Turn the dial left to the first number.",(0,e.createVNode)(1,"br"),"2. Turn the dial right to the second number.",(0,e.createVNode)(1,"br"),"3. Continue repeating this process for each number, switching between left and right each time.",(0,e.createVNode)(1,"br"),"4. Open the safe."]}),(0,e.createComponentVNode)(2,o.Box,{bold:!0,children:"To lock fully, turn the dial to the left after closing the safe."})]})}},29740:function(I,r,n){"use strict";r.__esModule=!0,r.SatelliteControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.SatelliteControl=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.satellites,m=i.notice,u=i.meteor_shield,d=i.meteor_shield_coverage,f=i.meteor_shield_coverage_max,l=i.meteor_shield_coverage_percentage;return(0,e.createComponentVNode)(2,o.Window,{width:475,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[u&&(0,e.createComponentVNode)(2,t.Section,{title:"Station Shield Coverage",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:l>=100?"good":"average",value:d,maxValue:f,children:[l," %"]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Satellite Network Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alert",color:"red",children:i.notice}),c.map(function(v){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"#"+v.id,children:[v.mode," ",(0,e.createComponentVNode)(2,t.Button,{content:v.active?"Deactivate":"Activate",icon:"arrow-circle-right",onClick:function(){function b(){return p("toggle",{id:v.id})}return b}()})]},v.id)})]})})]})})}return y}()},44162:function(I,r,n){"use strict";r.__esModule=!0,r.SecureStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.SecureStorage=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.emagged,m=i.locked,u=i.l_set,d=i.l_setshort,f=i.current_code,l=function(){function v(b){var g=b.buttonValue,h=b.color;return h||(h="default"),(0,e.createComponentVNode)(2,t.Button,{disabled:c||d,type:"button",color:h,onClick:function(){function C(){return p("setnumber",{buttonValue:g})}return C}(),children:g})}return v}();return(0,e.createComponentVNode)(2,o.Window,{width:520,height:200,children:(0,e.createComponentVNode)(2,t.Flex,{spacing:"1",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:16,shrink:0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{title:"Code Panel",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,l,{buttonValue:"1"}),(0,e.createComponentVNode)(2,l,{buttonValue:"2"}),(0,e.createComponentVNode)(2,l,{buttonValue:"3"})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,l,{buttonValue:"4"}),(0,e.createComponentVNode)(2,l,{buttonValue:"5"}),(0,e.createComponentVNode)(2,l,{buttonValue:"6"})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,l,{buttonValue:"7"}),(0,e.createComponentVNode)(2,l,{buttonValue:"8"}),(0,e.createComponentVNode)(2,l,{buttonValue:"9"})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,l,{buttonValue:"R",color:"red"}),(0,e.createComponentVNode)(2,l,{buttonValue:"0"}),(0,e.createComponentVNode)(2,l,{buttonValue:"E",color:"green"})]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Current Status",children:c||d?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lock Status",children:(0,e.createComponentVNode)(2,t.Box,{color:"red",children:c?"LOCKING SYSTEM ERROR - 1701":"ALERT: MEMORY SYSTEM ERROR - 6040 201"})}),c?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Code",children:(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"NEW INPUT, ASSHOLE"})}):""]}):(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Secure Code",children:(0,e.createComponentVNode)(2,t.Box,{color:u?"red":"green",children:u?"*****":"NOT SET. ENTER NEW."})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lock Status",children:(0,e.createComponentVNode)(2,t.Box,{color:m?"red":"green",children:m?"Locked":"Unlocked"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Code",children:(0,e.createComponentVNode)(2,t.Box,{children:f||"Waiting for input"})}),(0,e.createComponentVNode)(2,t.Button,{top:".35em",left:".5em",disabled:m,color:"red",content:"Lock",icon:"lock",onClick:function(){function v(){return p("close")}return v}()})]})})]})})}return y}()},6272:function(I,r,n){"use strict";r.__esModule=!0,r.SecurityRecords=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),s=n(98595),y=n(3939),V=n(321),k=n(5485),S=n(22091),p={"*Execute*":"execute","*Arrest*":"arrest",Incarcerated:"incarcerated",Parolled:"parolled",Released:"released",Demote:"demote",Search:"search",Monitor:"monitor"},i=function(C,N){(0,y.modalOpen)(C,"edit",{field:N.edit,value:N.value})},c=r.SecurityRecords=function(){function h(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.loginState,A=L.currentPage,T;if(w.logged_in)A===1?T=(0,e.createComponentVNode)(2,u):A===2?T=(0,e.createComponentVNode)(2,l):A===3&&(T=(0,e.createComponentVNode)(2,v));else return(0,e.createComponentVNode)(2,s.Window,{width:800,height:900,theme:"security",children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,k.LoginScreen)})});return(0,e.createComponentVNode)(2,s.Window,{theme:"security",width:800,height:900,children:[(0,e.createComponentVNode)(2,y.ComplexModal),(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.LoginInfo),(0,e.createComponentVNode)(2,S.TemporaryNotice),(0,e.createComponentVNode)(2,m),T]})})]})}return h}(),m=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.currentPage,A=L.general;return(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:w===1,onClick:function(){function T(){return B("page",{page:1})}return T}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"list"}),"List Records"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:w===2,onClick:function(){function T(){return B("page",{page:2})}return T}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"wrench"}),"Record Maintenance"]}),w===3&&A&&!A.empty&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:w===3,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"file"}),"Record: ",A.fields[0].value]})]})},u=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.records,A=(0,t.useLocalState)(N,"searchText",""),T=A[0],E=A[1],O=(0,t.useLocalState)(N,"sortId","name"),P=O[0],R=O[1],F=(0,t.useLocalState)(N,"sortOrder",!0),j=F[0],W=F[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,f)}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"SecurityRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,d,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,d,{id:"id",children:"ID"}),(0,e.createComponentVNode)(2,d,{id:"rank",children:"Assignment"}),(0,e.createComponentVNode)(2,d,{id:"fingerprint",children:"Fingerprint"}),(0,e.createComponentVNode)(2,d,{id:"status",children:"Criminal Status"})]}),w.filter((0,a.createSearch)(T,function(H){return H.name+"|"+H.id+"|"+H.rank+"|"+H.fingerprint+"|"+H.status})).sort(function(H,z){var Y=j?1:-1;return H[P].localeCompare(z[P])*Y}).map(function(H){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"SecurityRecords__listRow--"+p[H.status],onClick:function(){function z(){return B("view",{uid_gen:H.uid_gen,uid_sec:H.uid_sec})}return z}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",H.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:H.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:H.rank}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:H.fingerprint}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:H.status})]},H.id)})]})})})],4)},d=function(C,N){var x=(0,t.useLocalState)(N,"sortId","name"),B=x[0],L=x[1],w=(0,t.useLocalState)(N,"sortOrder",!0),A=w[0],T=w[1],E=C.id,O=C.children;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:B!==E&&"transparent",fluid:!0,onClick:function(){function P(){B===E?T(!A):(L(E),T(!0))}return P}(),children:[O,B===E&&(0,e.createComponentVNode)(2,o.Icon,{name:A?"sort-up":"sort-down",ml:"0.25rem;"})]})})})},f=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.isPrinting,A=(0,t.useLocalState)(N,"searchText",""),T=A[0],E=A[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{ml:"0.25rem",content:"New Record",icon:"plus",onClick:function(){function O(){return B("new_general")}return O}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:w,icon:w?"spinner":"print",iconSpin:!!w,content:"Print Cell Log",onClick:function(){function O(){return(0,y.modalOpen)(N,"print_cell_log")}return O}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by Name, ID, Assignment, Fingerprint, Status",fluid:!0,onInput:function(){function O(P,R){return E(R)}return O}()})})]})},l=function(C,N){var x=(0,t.useBackend)(N),B=x.act;return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Button,{disabled:!0,icon:"download",content:"Backup to Disk",tooltip:"This feature is not available.",tooltipPosition:"right"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button,{disabled:!0,icon:"upload",content:"Upload from Disk",tooltip:"This feature is not available.",tooltipPosition:"right",my:"0.5rem"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",content:"Delete All Security Records",onClick:function(){function L(){return B("delete_security_all")}return L}(),mb:"0.5rem"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",content:"Delete All Cell Logs",onClick:function(){function L(){return B("delete_cell_logs")}return L}()})]})},v=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.isPrinting,A=L.general,T=L.security;return!A||!A.fields?(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"General records lost!"}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,level:2,mt:"-6px",title:"General Data",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:w,icon:w?"spinner":"print",iconSpin:!!w,content:"Print Record",onClick:function(){function E(){return B("print_record")}return E}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",tooltip:"WARNING: This will also delete the Security and Medical records associated with this crew member!",tooltipPosition:"bottom-start",content:"Delete Record",onClick:function(){function E(){return B("delete_general")}return E}()})],4),children:(0,e.createComponentVNode)(2,b)})}),!T||!T.fields?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Security Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"pen",content:"Create New Record",onClick:function(){function E(){return B("new_security")}return E}()}),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"Security records lost!"]})})})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Security Data",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",disabled:T.empty,content:"Delete Record",onClick:function(){function E(){return B("delete_security")}return E}()}),children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:T.fields.map(function(E,O){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:E.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(E.value),!!E.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:E.line_break?"1rem":"initial",onClick:function(){function P(){return i(N,E)}return P}()})]},O)})})})})}),(0,e.createComponentVNode)(2,g)],4)],0)},b=function(C,N){var x=(0,t.useBackend)(N),B=x.data,L=B.general;return!L||!L.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"General records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:L.fields.map(function(w,A){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:w.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(""+w.value),!!w.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:w.line_break?"1rem":"initial",onClick:function(){function T(){return i(N,w)}return T}()})]},A)})})}),!!L.has_photos&&L.photos.map(function(w,A){return(0,e.createComponentVNode)(2,o.Stack.Item,{inline:!0,textAlign:"center",color:"label",ml:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:w,style:{width:"96px","margin-top":"5rem","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Photo #",A+1]},A)})]})},g=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.security;return(0,e.createComponentVNode)(2,o.Stack.Item,{height:"150px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Comments/Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"comment",content:"Add Entry",onClick:function(){function A(){return(0,y.modalOpen)(N,"comment_add")}return A}()}),children:w.comments.length===0?(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No comments found."}):w.comments.map(function(A,T){return(0,e.createComponentVNode)(2,o.Box,{preserveWhitespace:!0,children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:A.header||"Auto-generated"}),(0,e.createVNode)(1,"br"),A.text||A,(0,e.createComponentVNode)(2,o.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){function E(){return B("comment_delete",{id:T+1})}return E}()})]},T)})})})}},5099:function(I,r,n){"use strict";r.__esModule=!0,r.SeedExtractor=void 0;var e=n(89005),a=n(25328),t=n(35840),o=n(72253),s=n(36036),y=n(98595),V=n(3939);function k(f,l){var v=typeof Symbol!="undefined"&&f[Symbol.iterator]||f["@@iterator"];if(v)return(v=v.call(f)).next.bind(v);if(Array.isArray(f)||(v=S(f))||l&&f&&typeof f.length=="number"){v&&(f=v);var b=0;return function(){return b>=f.length?{done:!0}:{done:!1,value:f[b++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(f,l){if(f){if(typeof f=="string")return p(f,l);var v={}.toString.call(f).slice(8,-1);return v==="Object"&&f.constructor&&(v=f.constructor.name),v==="Map"||v==="Set"?Array.from(f):v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v)?p(f,l):void 0}}function p(f,l){(l==null||l>f.length)&&(l=f.length);for(var v=0,b=Array(l);v=T},g=function(A,T){return A<=T},h=l.split(" "),C=[],N=function(){var A=L.value,T=A.split(":");if(T.length===0)return 0;if(T.length===1)return C.push(function(P){return(P.name+" ("+P.variant+")").toLocaleLowerCase().includes(T[0].toLocaleLowerCase())}),0;if(T.length>2)return{v:function(){function P(R){return!1}return P}()};var E,O=v;if(T[1][T[1].length-1]==="-"?(O=g,E=Number(T[1].substring(0,T[1].length-1))):T[1][T[1].length-1]==="+"?(O=b,E=Number(T[1].substring(0,T[1].length-1))):E=Number(T[1]),isNaN(E))return{v:function(){function P(R){return!1}return P}()};switch(T[0].toLocaleLowerCase()){case"l":case"life":case"lifespan":C.push(function(P){return O(P.lifespan,E)});break;case"e":case"end":case"endurance":C.push(function(P){return O(P.endurance,E)});break;case"m":case"mat":case"maturation":C.push(function(P){return O(P.maturation,E)});break;case"pr":case"prod":case"production":C.push(function(P){return O(P.production,E)});break;case"y":case"yield":C.push(function(P){return O(P.yield,E)});break;case"po":case"pot":case"potency":C.push(function(P){return O(P.potency,E)});break;case"s":case"stock":case"c":case"count":case"a":case"amount":C.push(function(P){return O(P.amount,E)});break;default:return{v:function(){function P(R){return!1}return P}()}}},x,B=k(h),L;!(L=B()).done;)if(x=N(),x!==0&&x)return x.v;return function(w){for(var A=0,T=C;A=1?Number(O):1)}return T}()})]})]})}},2916:function(I,r,n){"use strict";r.__esModule=!0,r.ShuttleConsoleContent=r.ShuttleConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.ShuttleConsole=function(){function p(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=i.type,l=f===void 0?"shuttle":f,v=i.blind_drop,b=d.authorization_required;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:240,children:[!!b&&(0,e.createComponentVNode)(2,t.Modal,{ml:1,mt:1,width:26,height:12,fontSize:"28px",fontFamily:"monospace",textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mt:2,children:(0,e.createComponentVNode)(2,t.Icon,{name:"minus-circle"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{mt:2,ml:2,color:"bad",children:l==="shuttle"?"SHUTTLE LOCKED":"BASE LOCKED"})]}),(0,e.createComponentVNode)(2,t.Box,{fontSize:"18px",mt:4,children:(0,e.createComponentVNode)(2,t.Button,{lineHeight:"40px",icon:"arrow-circle-right",content:"Request Authorization",color:"bad",onClick:function(){function g(){return u("request")}return g}()})})]}),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,S,{type:l,blind_drop:v})})]})}return p}(),y=function(i,c){var m;return i==null||(m=i.find(function(u){return u.id===c}))==null?void 0:m.name},V=function(i,c){var m;return i==null||(m=i.find(function(u){return u.name===c}))==null?void 0:m.id},k={"In Transit":"good",Idle:"average",Igniting:"average",Recharging:"average",Missing:"bad","Unauthorized Access":"bad",Locked:"bad"},S=r.ShuttleConsoleContent=function(){function p(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=i.type,l=i.blind_drop,v=d.status,b=d.locked,g=d.authorization_required,h=d.destination,C=d.docked_location,N=d.timer_str,x=d.locations,B=x===void 0?[]:x;return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,fontSize:"26px",textAlign:"center",fontFamily:"monospace",children:N||"00:00"}),(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",fontSize:"14px",mb:1,children:[(0,e.createComponentVNode)(2,t.Box,{inline:!0,bold:!0,children:"STATUS:"}),(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:k[v]||"bad",ml:1,children:v||"Not Available"})]}),(0,e.createComponentVNode)(2,t.Section,{title:f==="shuttle"?"Shuttle Controls":"Base Launch Controls",level:2,children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:C||"Not Available"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",buttons:f!=="shuttle"&&B.length===0&&!!l&&(0,e.createComponentVNode)(2,t.Button,{color:"bad",icon:"exclamation-triangle",disabled:g||!l,content:"Blind Drop",onClick:function(){function L(){return u("random")}return L}()}),children:B.length===0&&(0,e.createComponentVNode)(2,t.Box,{mb:1.7,color:"bad",children:"Not Available"})||B.length===1&&(0,e.createComponentVNode)(2,t.Box,{mb:1.7,color:"average",children:y(B,h)})||(0,e.createComponentVNode)(2,t.Dropdown,{mb:1.7,over:!0,width:"240px",options:B.map(function(L){return L.name}),disabled:b||g,selected:y(B,h)||"Select a Destination",onSelected:function(){function L(w){return u("set_destination",{destination:V(B,w)})}return L}()})})]}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Depart",disabled:!y(B,h)||b||g||v!=="Idle",icon:"arrow-up",textAlign:"center",onClick:function(){function L(){return u("move",{shuttle_id:h})}return L}()})]})]})}return p}()},39401:function(I,r,n){"use strict";r.__esModule=!0,r.ShuttleManipulator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.ShuttleManipulator=function(){function S(p,i){var c=(0,a.useLocalState)(i,"tabIndex",0),m=c[0],u=c[1],d=function(){function f(l){switch(l){case 0:return(0,e.createComponentVNode)(2,y);case 1:return(0,e.createComponentVNode)(2,V);case 2:return(0,e.createComponentVNode)(2,k);default:return"WE SHOULDN'T BE HERE!"}}return f}();return(0,e.createComponentVNode)(2,o.Window,{width:650,height:700,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:m===0,onClick:function(){function f(){return u(0)}return f}(),icon:"info-circle",children:"Status"},"Status"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:m===1,onClick:function(){function f(){return u(1)}return f}(),icon:"file-import",children:"Templates"},"Templates"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:m===2,onClick:function(){function f(){return u(2)}return f}(),icon:"tools",children:"Modification"},"Modification")]}),d(m)]})})})}return S}(),y=function(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.shuttles;return(0,e.createComponentVNode)(2,t.Box,{children:d.map(function(f){return(0,e.createComponentVNode)(2,t.Section,{title:f.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID",children:f.id}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Timer",children:f.timeleft}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Mode",children:f.mode}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Status",children:f.status}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Jump To",icon:"location-arrow",onClick:function(){function l(){return m("jump_to",{type:"mobile",id:f.id})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Fast Travel",icon:"fast-forward",onClick:function(){function l(){return m("fast_travel",{id:f.id})}return l}()})]})]})},f.name)})})},V=function(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.templates_tabs,f=u.existing_shuttle,l=u.templates;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Tabs,{children:d.map(function(v){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===f.id,icon:"file",onClick:function(){function b(){return m("select_template_category",{cat:v})}return b}(),children:v},v)})}),!!f&&l[f.id].templates.map(function(v){return(0,e.createComponentVNode)(2,t.Section,{title:v.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[v.description&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:v.description}),v.admin_notes&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Admin Notes",children:v.admin_notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{content:"Load Template",icon:"download",onClick:function(){function b(){return m("select_template",{shuttle_id:v.shuttle_id})}return b}()})})]})},v.name)})]})},k=function(p,i){var c=(0,a.useBackend)(i),m=c.act,u=c.data,d=u.existing_shuttle,f=u.selected;return(0,e.createComponentVNode)(2,t.Box,{children:[d?(0,e.createComponentVNode)(2,t.Section,{title:"Selected Shuttle: "+d.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:d.status}),d.timer&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Timer",children:d.timeleft}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{content:"Jump To",icon:"location-arrow",onClick:function(){function l(){return m("jump_to",{type:"mobile",id:d.id})}return l}()})})]})}):(0,e.createComponentVNode)(2,t.Section,{title:"Selected Shuttle: None"}),f?(0,e.createComponentVNode)(2,t.Section,{title:"Selected Template: "+f.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[f.description&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:f.description}),f.admin_notes&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Admin Notes",children:f.admin_notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Preview",icon:"eye",onClick:function(){function l(){return m("preview",{shuttle_id:f.shuttle_id})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Load",icon:"download",onClick:function(){function l(){return m("load",{shuttle_id:f.shuttle_id})}return l}()})]})]})}):(0,e.createComponentVNode)(2,t.Section,{title:"Selected Template: None"})]})}},88284:function(I,r,n){"use strict";r.__esModule=!0,r.Sleeper=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=n(98595),y=[["good","Alive"],["average","Critical"],["bad","DEAD"]],V=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],k={average:[.25,.5],bad:[.5,1/0]},S=["bad","average","average","good","average","average","bad"],p=r.Sleeper=function(){function l(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.hasOccupant,x=N?(0,e.createComponentVNode)(2,i):(0,e.createComponentVNode)(2,f);return(0,e.createComponentVNode)(2,s.Window,{width:550,height:760,children:(0,e.createComponentVNode)(2,s.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:x}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,u)})]})})})}return l}(),i=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.occupant;return(0,e.createFragment)([(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,d)],4)},c=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.occupant,x=C.auto_eject_dead;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:"Auto-eject if dead:\xA0"}),(0,e.createComponentVNode)(2,o.Button,{icon:x?"toggle-on":"toggle-off",selected:x,content:x?"On":"Off",onClick:function(){function B(){return h("auto_eject_dead_"+(x?"off":"on"))}return B}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"user-slash",content:"Eject",onClick:function(){function B(){return h("ejectify")}return B}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:N.name}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:N.maxHealth,value:N.health/N.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]},children:(0,a.round)(N.health,0)})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",color:y[N.stat][0],children:y[N.stat][1]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:N.maxTemp,value:N.bodyTemperature/N.maxTemp,color:S[N.temperatureSuitability+3],children:[(0,a.round)(N.btCelsius,0),"\xB0C,",(0,a.round)(N.btFaren,0),"\xB0F"]})}),!!N.hasBlood&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Blood Level",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:N.bloodMax,value:N.bloodLevel/N.bloodMax,ranges:{bad:[-1/0,.6],average:[.6,.9],good:[.6,1/0]},children:[N.bloodPercent,"%, ",N.bloodLevel,"cl"]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pulse",verticalAlign:"middle",children:[N.pulse," BPM"]})],4)]})})},m=function(v,b){var g=(0,t.useBackend)(b),h=g.data,C=h.occupant;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant Damage",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:V.map(function(N,x){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:N[0],children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:"100",value:C[N[1]]/100,ranges:k,children:(0,a.round)(C[N[1]],0)},x)},x)})})})},u=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.hasOccupant,x=C.isBeakerLoaded,B=C.beakerMaxSpace,L=C.beakerFreeSpace,w=C.dialysis,A=w&&L>0;return(0,e.createComponentVNode)(2,o.Section,{title:"Dialysis",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:!x||L<=0||!N,selected:A,icon:A?"toggle-on":"toggle-off",content:A?"Active":"Inactive",onClick:function(){function T(){return h("togglefilter")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!x,icon:"eject",content:"Eject",onClick:function(){function T(){return h("removebeaker")}return T}()})],4),children:x?(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Remaining Space",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:B,value:L/B,ranges:{good:[.5,1/0],average:[.25,.5],bad:[-1/0,.25]},children:[L,"u"]})})}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No beaker loaded."})})},d=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.occupant,x=C.chemicals,B=C.maxchem,L=C.amounts;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant Chemicals",children:x.map(function(w,A){var T="",E;return w.overdosing?(T="bad",E=(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-circle"}),"\xA0 Overdosing!"]})):w.od_warning&&(T="average",E=(0,e.createComponentVNode)(2,o.Box,{color:"average",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle"}),"\xA0 Close to overdosing"]})),(0,e.createComponentVNode)(2,o.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,e.createComponentVNode)(2,o.Section,{title:w.title,level:"3",mx:"0",lineHeight:"18px",buttons:E,children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:B,value:w.occ_amount/B,color:T,title:"Amount of chemicals currently inside the occupant / Total amount injectable by this machine",mr:"0.5rem",children:[w.pretty_amount,"/",B,"u"]}),L.map(function(O,P){return(0,e.createComponentVNode)(2,o.Button,{disabled:!w.injectable||w.occ_amount+O>B||N.stat===2,icon:"syringe",content:"Inject "+O+"u",title:"Inject "+O+"u of "+w.title+" into the occupant",mb:"0",height:"19px",onClick:function(){function R(){return h("chemical",{chemid:w.id,amount:O})}return R}()},P)})]})})},A)})})},f=function(v,b){return(0,e.createComponentVNode)(2,o.Section,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}},21597:function(I,r,n){"use strict";r.__esModule=!0,r.SlotMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.SlotMachine=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;if(i.money===null)return(0,e.createComponentVNode)(2,o.Window,{width:350,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{children:"Could not scan your card or could not find account!"}),(0,e.createComponentVNode)(2,t.Box,{children:"Please wear or hold your ID and try again."})]})})});var c;return i.plays===1?c=i.plays+" player has tried their luck today!":c=i.plays+" players have tried their luck today!",(0,e.createComponentVNode)(2,o.Window,{width:350,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{lineHeight:2,children:c}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Credits Remaining",children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:i.money})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"50 credits to spin",children:(0,e.createComponentVNode)(2,t.Button,{icon:"coins",disabled:i.working,content:i.working?"Spinning...":"Spin",onClick:function(){function m(){return p("spin")}return m}()})})]}),(0,e.createComponentVNode)(2,t.Box,{bold:!0,lineHeight:2,color:i.resultlvl,children:i.result})]})})})}return y}()},46348:function(I,r,n){"use strict";r.__esModule=!0,r.Smartfridge=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.Smartfridge=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.secure,m=i.can_dry,u=i.drying,d=i.contents;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[!!c&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"Secure Access: Please have your identification ready."}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:m?"Drying rack":"Contents",buttons:!!m&&(0,e.createComponentVNode)(2,t.Button,{width:4,icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){function f(){return p("drying")}return f}()}),children:[!d&&(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cookie-bite",size:5,color:"brown"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"No products loaded."]})}),!!d&&d.slice().sort(function(f,l){return f.display_name.localeCompare(l.display_name)}).map(function(f){return(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"55%",children:f.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"25%",children:["(",f.quantity," in stock)"]}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:13,children:[(0,e.createComponentVNode)(2,t.Button,{width:3,icon:"arrow-down",tooltip:"Dispense one.",content:"1",onClick:function(){function l(){return p("vend",{index:f.vend,amount:1})}return l}()}),(0,e.createComponentVNode)(2,t.NumberInput,{width:"40px",minValue:0,value:0,maxValue:f.quantity,step:1,stepPixelSize:3,onChange:function(){function l(v,b){return p("vend",{index:f.vend,amount:b})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{width:4,icon:"arrow-down",content:"All",tooltip:"Dispense all.",tooltipPosition:"bottom-start",onClick:function(){function l(){return p("vend",{index:f.vend,amount:f.quantity})}return l}()})]})]},f)})]})]})})})}return y}()},86162:function(I,r,n){"use strict";r.__esModule=!0,r.Smes=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(49968),s=n(98595),y=1e3,V=r.Smes=function(){function k(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.capacityPercent,d=m.capacity,f=m.charge,l=m.inputAttempt,v=m.inputting,b=m.inputLevel,g=m.inputLevelMax,h=m.inputAvailable,C=m.outputPowernet,N=m.outputAttempt,x=m.outputting,B=m.outputLevel,L=m.outputLevelMax,w=m.outputUsed,A=u>=100&&"good"||v&&"average"||"bad",T=x&&"good"||f>0&&"average"||"bad";return(0,e.createComponentVNode)(2,s.Window,{width:340,height:345,children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Stored Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:u*.01,ranges:{good:[.5,1/0],average:[.15,.5],bad:[-1/0,.15]}})}),(0,e.createComponentVNode)(2,t.Section,{title:"Input",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge Mode",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:l?"sync-alt":"times",selected:l,onClick:function(){function E(){return c("tryinput")}return E}(),children:l?"Auto":"Off"}),children:(0,e.createComponentVNode)(2,t.Box,{color:A,children:u>=100&&"Fully Charged"||v&&"Charging"||"Not Charging"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Input",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:b===0,onClick:function(){function E(){return c("input",{target:"min"})}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:b===0,onClick:function(){function E(){return c("input",{adjust:-1e4})}return E}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Slider,{value:b/y,fillValue:h/y,minValue:0,maxValue:g/y,step:5,stepPixelSize:4,format:function(){function E(O){return(0,o.formatPower)(O*y,1)}return E}(),onChange:function(){function E(O,P){return c("input",{target:P*y})}return E}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:b===g,onClick:function(){function E(){return c("input",{adjust:1e4})}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:b===g,onClick:function(){function E(){return c("input",{target:"max"})}return E}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available",children:(0,o.formatPower)(h)})]})}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Output",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Output Mode",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:N?"power-off":"times",selected:N,onClick:function(){function E(){return c("tryoutput")}return E}(),children:N?"On":"Off"}),children:(0,e.createComponentVNode)(2,t.Box,{color:T,children:C?x?"Sending":f>0?"Not Sending":"No Charge":"Not Connected"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Output",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:B===0,onClick:function(){function E(){return c("output",{target:"min"})}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:B===0,onClick:function(){function E(){return c("output",{adjust:-1e4})}return E}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Slider,{value:B/y,minValue:0,maxValue:L/y,step:5,stepPixelSize:4,format:function(){function E(O){return(0,o.formatPower)(O*y,1)}return E}(),onChange:function(){function E(O,P){return c("output",{target:P*y})}return E}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:B===L,onClick:function(){function E(){return c("output",{adjust:1e4})}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:B===L,onClick:function(){function E(){return c("output",{target:"max"})}return E}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Outputting",children:(0,o.formatPower)(w)})]})})]})})})}return k}()},63584:function(I,r,n){"use strict";r.__esModule=!0,r.SolarControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.SolarControl=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=0,m=1,u=2,d=i.generated,f=i.generated_ratio,l=i.tracking_state,v=i.tracking_rate,b=i.connected_panels,g=i.connected_tracker,h=i.cdir,C=i.direction,N=i.rotating_direction;return(0,e.createComponentVNode)(2,o.Window,{width:490,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Scan for new hardware",onClick:function(){function x(){return p("refresh")}return x}()}),children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Solar tracker",color:g?"good":"bad",children:g?"OK":"N/A"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Solar panels",color:b>0?"good":"bad",children:b})]})}),(0,e.createComponentVNode)(2,t.Grid.Column,{size:2,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power output",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.66,1/0],average:[.33,.66],bad:[-1/0,.33]},minValue:0,maxValue:1,value:f,children:d+" W"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Panel orientation",children:[h,"\xB0 (",C,")"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker rotation",children:[l===u&&(0,e.createComponentVNode)(2,t.Box,{children:" Automated "}),l===m&&(0,e.createComponentVNode)(2,t.Box,{children:[" ",v,"\xB0/h (",N,")"," "]}),l===c&&(0,e.createComponentVNode)(2,t.Box,{children:" Tracker offline "})]})]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Panel orientation",children:[l!==u&&(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0",step:1,stepPixelSize:1,minValue:0,maxValue:359,value:h,onDrag:function(){function x(B,L){return p("cdir",{cdir:L})}return x}()}),l===u&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Automated "})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker status",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Off",selected:l===c,onClick:function(){function x(){return p("track",{track:c})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"clock-o",content:"Timed",selected:l===m,onClick:function(){function x(){return p("track",{track:m})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Auto",selected:l===u,disabled:!g,onClick:function(){function x(){return p("track",{track:u})}return x}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker rotation",children:[l===m&&(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0/h",step:1,stepPixelSize:1,minValue:-7200,maxValue:7200,value:v,format:function(){function x(B){var L=Math.sign(B)>0?"+":"-";return L+Math.abs(B)}return x}(),onDrag:function(){function x(B,L){return p("tdir",{tdir:L})}return x}()}),l===c&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Tracker offline "}),l===u&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Automated "})]})]})})]})})}return y}()},38096:function(I,r,n){"use strict";r.__esModule=!0,r.SpawnersMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.SpawnersMenu=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.spawners||[];return(0,e.createComponentVNode)(2,o.Window,{width:700,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{children:c.map(function(m){return(0,e.createComponentVNode)(2,t.Section,{mb:.5,title:m.name+" ("+m.amount_left+" left)",level:2,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Jump",onClick:function(){function u(){return p("jump",{ID:m.uids})}return u}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Spawn",onClick:function(){function u(){return p("spawn",{ID:m.uids})}return u}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mb:1,fontSize:"16px",children:m.desc}),!!m.fluff&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},textColor:"#878787",fontSize:"14px",children:m.fluff}),!!m.important_info&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mt:1,bold:!0,color:"red",fontSize:"18px",children:m.important_info})]},m.name)})})})})}return y}()},7957:function(I,r,n){"use strict";r.__esModule=!0,r.SpiderOS=r.ShuttleConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(29319),s=n(98595);function y(f,l){f.prototype=Object.create(l.prototype),f.prototype.constructor=f,V(f,l)}function V(f,l){return V=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(v,b){return v.__proto__=b,v},V(f,l)}var k=r.SpiderOS=function(){function f(l,v){var b=(0,a.useBackend)(v),g=b.act,h=b.data,C;return h.suit_tgui_state===0?C=(0,e.createComponentVNode)(2,t.Flex,{direction:"row",spacing:1,children:[(0,e.createComponentVNode)(2,t.Flex,{direction:"column",width:"60%",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{backgroundColor:"rgba(0, 0, 0, 0)",children:(0,e.createComponentVNode)(2,c)}),(0,e.createComponentVNode)(2,t.Flex.Item,{mt:2.2,backgroundColor:"rgba(0, 0, 0, 0)",children:(0,e.createComponentVNode)(2,m)})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"40%",height:"190px",grow:1,backgroundColor:"rgba(0, 0, 0, 0)",children:[(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p)]})]}):h.suit_tgui_state===1&&(C=(0,e.createComponentVNode)(2,t.Flex,{width:"100%",height:"100%",direction:"column",shrink:1,spacing:1,children:(0,e.createComponentVNode)(2,t.Flex.Item,{backgroundColor:"rgba(0, 0, 0, 0.8)",height:"100%",children:[(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,d,{allMessages:h.current_load_text,finishedTimeout:3e3,current_initialisation_phase:h.current_initialisation_phase,end_terminal:h.end_terminal,onFinished:function(){function N(){return g("set_UI_state",{suit_tgui_state:0})}return N}()})]})})),(0,e.createComponentVNode)(2,s.Window,{width:800,height:630,theme:"spider_clan",children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",spacing:1,children:C})})})}return f}(),S=function(l,v){var b=(0,a.useBackend)(v),g=b.data,h=g.allStylesPreview,C=g.style_preview_icon_state;return(0,e.createComponentVNode)(2,t.Section,{title:"\u041F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u043A\u043E\u0441\u0442\u044E\u043C\u0430",style:{"text-align":"center"},buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u0432\u0438\u0434\u0430 \u0432\u0430\u0448\u0435\u0433\u043E \u043A\u043E\u0441\u0442\u044E\u043C\u0430! \u041D\u0430\u0448\u0438 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u0432\u0430\u043C \u043F\u043E\u0434\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u043A\u043E\u0441\u0442\u044E\u043C \u043F\u043E\u0434 \u0441\u0435\u0431\u044F, \u043F\u0440\u0438 \u044D\u0442\u043E\u043C \u043D\u0435 \u0442\u0435\u0440\u044F\u044F \u043E\u0431\u043E\u0440\u043E\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043A\u0430\u0447\u0435\u0441\u0442\u0432. \u041F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u0443\u0434\u043E\u0431\u0441\u0442\u0432\u043E \u043F\u0440\u0438 \u043D\u043E\u0448\u0435\u043D\u0438\u0438 \u043A\u043E\u0441\u0442\u044E\u043C\u0430, \u0436\u0438\u0437\u043D\u0435\u043D\u043D\u043E \u0432\u0430\u0436\u043D\u043E \u0434\u043B\u044F \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0433\u043E \u0443\u0431\u0438\u0439\u0446\u044B.",tooltipPosition:"bottom-start"}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",grow:1,alignContent:"center",children:(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_blue",success:0,danger:0,align:"center",children:(0,e.createComponentVNode)(2,t.Section,{style:{background:"rgba(4, 74, 27, 0.75)"},mr:10,ml:10,children:(0,e.createVNode)(1,"img",null,null,1,{height:"128px",width:"128px",src:"data:image/jpeg;base64,"+h[C],style:{"margin-left":"0px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})})})})})},p=function(l,v){var b=(0,a.useBackend)(v),g=b.act,h=b.data,C=h.designs,N=h.design_choice,x=h.scarf_design_choice,B=h.colors,L=h.color_choice,w=h.genders,A=h.preferred_clothes_gender,T=h.suit_state,E=h.preferred_scarf_over_hood,O=h.show_charge_UI,P=h.has_martial_art,R=h.show_concentration_UI,F;T===0?F="\u0410\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u0441\u0442\u044E\u043C":F="\u0414\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u0441\u0442\u044E\u043C";var j;E===0?j="\u041A\u0430\u043F\u044E\u0448\u043E\u043D":j="\u0428\u0430\u0440\u0444";var W;E===1?W=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0421\u0442\u0438\u043B\u044C \u0448\u0430\u0440\u0444\u0430",content:(0,e.createComponentVNode)(2,t.Dropdown,{options:C,selected:x,onSelected:function(){function z(Y){return g("set_scarf_design",{scarf_design_choice:Y})}return z}()})}):W=null;var H;return P?H=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041A\u043E\u043D\u0446\u0435\u043D\u0442\u0440\u0430\u0446\u0438\u044F",content:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{selected:R,width:"78px",textAlign:"left",content:R?"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C":"\u0421\u043A\u0440\u044B\u0442\u044C",onClick:function(){function z(){return g("toggle_ui_concentration")}return z}()}),(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",content:"?",tooltip:"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u0441\u043A\u043E\u043D\u0446\u0435\u043D\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u043B\u0438 \u0432\u044B \u0434\u043B\u044F \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0431\u043E\u0435\u0432\u043E\u0433\u043E \u0438\u0441\u0441\u043A\u0443\u0441\u0442\u0432\u0430.",tooltipPosition:"top-start"})]})}):H=null,(0,e.createComponentVNode)(2,t.Flex,{direction:"row",grow:1,alignContent:"center",ml:.5,children:(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,width:"100%",children:[(0,e.createComponentVNode)(2,t.NoticeBox,{success:0,danger:0,align:"center",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0421\u0442\u0438\u043B\u044C",children:(0,e.createComponentVNode)(2,t.Dropdown,{options:C,selected:N,onSelected:function(){function z(Y){return g("set_design",{design_choice:Y})}return z}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0426\u0432\u0435\u0442",children:(0,e.createComponentVNode)(2,t.Dropdown,{options:B,selected:L,onSelected:function(){function z(Y){return g("set_color",{color_choice:Y})}return z}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0416\u0435\u043D\u0441\u043A\u0438\u0439/\u041C\u0443\u0436\u0441\u043A\u043E\u0439",children:(0,e.createComponentVNode)(2,t.Dropdown,{options:w,selected:A,onSelected:function(){function z(Y){return g("set_gender",{preferred_clothes_gender:Y})}return z}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0428\u0430\u0440\u0444/\u041A\u0430\u043F\u044E\u0448\u043E\u043D",children:[(0,e.createComponentVNode)(2,t.Button,{className:T===0?"":"Button_disabled",width:"90px",selected:E,disabled:T,textAlign:"left",content:j,onClick:function(){function z(){return g("toggle_scarf")}return z}()}),(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",content:"?",tooltip:'\u0421 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u043E\u0439 "\u0428\u0430\u0440\u0444" \u0432\u0430\u0448 \u043A\u0430\u043F\u044E\u0448\u043E\u043D \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u0438\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0432\u043E\u043B\u043E\u0441\u044B. \u041D\u043E \u044D\u0442\u043E \u043D\u0435 \u0437\u043D\u0430\u0447\u0438\u0442, \u0447\u0442\u043E \u0432\u0430\u0448\u0430 \u0433\u043E\u043B\u043E\u0432\u0430 \u043D\u0435 \u0437\u0430\u0449\u0438\u0449\u0435\u043D\u0430! \u0410\u0434\u0430\u043F\u0442\u0438\u0432\u043D\u044B\u0435 \u043D\u0430\u043D\u043E-\u0432\u043E\u043B\u043E\u043A\u043D\u0430 \u043A\u043E\u0441\u0442\u044E\u043C\u0430 \u0432\u0441\u0451 \u0435\u0449\u0451 \u0440\u0435\u0430\u0433\u0438\u0440\u0443\u044E\u0442 \u043D\u0430 \u043F\u043E\u0442\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0443\u0433\u0440\u043E\u0437\u044B \u043F\u0440\u0438\u043A\u0440\u044B\u0432\u0430\u044F \u0432\u0430\u0448\u0443 \u0433\u043E\u043B\u043E\u0432\u0443! \u0423\u0442\u043E\u0447\u043D\u0435\u043D\u0438\u0435: \u043D\u0430\u043D\u043E\u0432\u043E\u043B\u043E\u043A\u043D\u0430 \u0442\u0430\u043A \u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u0440\u0438\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0432\u0430\u0448\u0443 \u0433\u043E\u043B\u043E\u0432\u0443 \u0438 \u043E\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u043E\u043B\u043E\u0432\u043D\u044B\u0445 \u0443\u0431\u043E\u0440\u043E\u0432 \u0441 \u0446\u0435\u043B\u044C\u044E \u0443\u043C\u0435\u043D\u044C\u0448\u0435\u043D\u0438\u044F \u043F\u043E\u043C\u0435\u0445 \u0432 \u0438\u0445 \u0440\u0430\u0431\u043E\u0442\u0435.',tooltipPosition:"top-start"})]}),W,(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0417\u0430\u0440\u044F\u0434 \u043A\u043E\u0441\u0442\u044E\u043C\u0430",children:[(0,e.createComponentVNode)(2,t.Button,{selected:O,width:"90px",textAlign:"left",content:O?"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C":"\u0421\u043A\u0440\u044B\u0442\u044C",onClick:function(){function z(){return g("toggle_ui_charge")}return z}()}),(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",content:"?",tooltip:"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u0437\u0430\u0440\u044F\u0434 \u0432\u0430\u0448\u0435\u0433\u043E \u043A\u043E\u0441\u0442\u044E\u043C\u0430.",tooltipPosition:"top-start"})]}),H]})}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_"+L,success:0,danger:0,mt:-1.2,align:"center",children:(0,e.createComponentVNode)(2,t.Button,{width:"80%",icon:"power-off",mt:.5,textAlign:"center",content:F,tooltip:"\u041F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u043E\u0441\u0442\u044E\u043C \u0438 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u044E \u0432\u0441\u0435\u0445 \u0444\u0443\u043D\u043A\u0446\u0438\u0439 \u0432 \u043D\u0451\u043C \u0437\u0430\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0445. \n\u0423\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043E \u0432\u044B \u043D\u0435 \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0438\u043E\u0431\u0440\u0435\u0441\u0442\u0438 \u043B\u044E\u0431\u044B\u0435 \u043C\u043E\u0434\u0443\u043B\u0438, \u043A\u043E\u0433\u0434\u0430 \u043A\u043E\u0441\u0442\u044E\u043C \u0431\u0443\u0434\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D. \n\u0422\u0430\u043A \u0436\u0435 \u0432\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0439 \u043A\u043E\u0441\u0442\u044E\u043C \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u043E \u043F\u043E\u0442\u0440\u0435\u0431\u043B\u044F\u0435\u0442 \u0437\u0430\u0440\u044F\u0434 \u0434\u043B\u044F \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044F \u0440\u0430\u0431\u043E\u0442\u044B \u0432\u0441\u0435\u0445 \u0444\u0443\u043D\u043A\u0446\u0438\u0439 \u0438 \u043C\u043E\u0434\u0443\u043B\u0435\u0439. \n\u0410\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u043A\u043E\u0441\u0442\u044E\u043C \u043D\u0435\u043B\u044C\u0437\u044F \u0441\u043D\u044F\u0442\u044C \u043E\u0431\u044B\u0447\u043D\u044B\u043C \u0441\u043F\u043E\u0441\u043E\u0431\u043E\u043C, \u043F\u043E\u043A\u0430 \u043E\u043D \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D. \n\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0440\u043E\u0432\u043D\u043E \u043A\u0430\u043A \u0438 \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A\u043E\u0441\u0442\u044E\u043C\u0430 \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 \u043C\u043D\u043E\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438. \u041F\u043E\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u0434\u0432\u0430\u0436\u0434\u044B \u043F\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043C \u0432\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0435\u0433\u043E \u043D\u0430 \u0442\u0435\u0440\u0440\u0438\u0442\u043E\u0440\u0438\u0438 \u0432\u0440\u0430\u0433\u0430!",tooltipPosition:"top-start",onClick:function(){function z(){return g("initialise_suit")}return z}()})})]})})},i=function(l,v){var b=(0,a.useBackend)(v),g=b.data,h=g.allActionsPreview;return(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u043E\u0432\u0435\u0442\u044B \u0438 \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0438",style:{"text-align":"center"},buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u041C\u043E\u043B\u043E\u0434\u044B\u043C \u0443\u0431\u0438\u0439\u0446\u0430\u043C \u0447\u0430\u0441\u0442\u043E \u043D\u0435 \u043B\u0435\u0433\u043A\u043E \u043E\u0441\u0432\u043E\u0438\u0442\u0441\u044F \u0432 \u043F\u043E\u043B\u0435\u0432\u044B\u0445 \u0443\u0441\u043B\u043E\u0432\u0438\u044F\u0445, \u0434\u0430\u0436\u0435 \u043F\u043E\u0441\u043B\u0435 \u0438\u043D\u0442\u0435\u043D\u0441\u0438\u0432\u043D\u044B\u0445 \u0442\u0440\u0435\u043D\u0438\u0440\u043E\u0432\u043E\u043A. \n\u042D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B \u043F\u0440\u0438\u0437\u0432\u0430\u043D \u043F\u043E\u043C\u043E\u0447\u044C \u0432\u0430\u043C \u0441\u043E\u0432\u0435\u0442\u0430\u043C\u0438 \u043F\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u043C \u0447\u0430\u0441\u0442\u043E \u0432\u043E\u0437\u043D\u0438\u043A\u0430\u044E\u0449\u0438\u043C \u0432\u043E\u043F\u0440\u043E\u0441\u0430\u043C \u043A\u0430\u0441\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u044B\u0445 \u043C\u0438\u0441\u0441\u0438\u0439 \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0432\u0430\u043C \u0432\u044B\u0434\u0430\u0434\u0443\u0442 \u0438\u043B\u0438 \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u0430\u0442\u044C \u043E \u043C\u0430\u043B\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u0431\u0435\u0440\u043D\u0443\u0442\u044C \u0432 \u0441\u0432\u043E\u044E \u043F\u043E\u043B\u044C\u0437\u0443.",tooltipPosition:"bottom-start"}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",grow:1,alignContent:"center",children:(0,e.createComponentVNode)(2,t.Flex.Item,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.ninja_teleport,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u044F \u0438 \u0448\u0430\u0442\u0442\u043B",content:"\u0412 \u0432\u0430\u0448\u0435\u043C \u0414\u043E\u0434\u0437\u0451 \u0435\u0441\u0442\u044C \u043B\u0438\u0447\u043D\u044B\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430 \u0434\u043B\u044F \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u0438 \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \u0422\u043E\u0447\u043A\u0430 \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u0430\u044F, \u043D\u043E \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442 \u0438\u0434\u0451\u0442 \u043D\u0430 \u0442\u0435\u0445\u043D\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0442\u043E\u043D\u043D\u0435\u043B\u0438 \u0441\u0442\u0430\u043D\u0446\u0438\u0438 \u0438\u043B\u0438 \u043C\u0430\u043B\u043E\u043F\u043E\u0441\u0435\u0449\u0430\u0435\u043C\u044B\u0435 \u043C\u0435\u0441\u0442\u0430. \n\u042D\u0442\u043E \u043E\u0442\u043B\u0438\u0447\u043D\u044B\u0439 \u0441\u043F\u043E\u0441\u043E\u0431 \u0431\u044B\u0441\u0442\u0440\u043E \u043F\u0440\u0438\u0441\u0442\u0443\u043F\u0438\u0442\u044C \u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044E \u0437\u0430\u0434\u0430\u043D\u0438\u044F. \n\u041F\u043E\u043B\u044C\u0437\u0443\u044F\u0441\u044C \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u043C \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440\u043E\u043C \u0448\u0430\u0442\u0442\u043B\u0430, \u0432\u044B \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0438\u0437\u0432\u0430\u0442\u044C \u0435\u0433\u043E \u043A \u0441\u0435\u0431\u0435 \u0438 \u0432\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430\u0437\u0430\u0434. \n\u0422\u0430\u043A \u0436\u0435 \u0432 \u0441\u043B\u0443\u0447\u0430\u0435 \u0435\u0441\u043B\u0438 \u0432\u044B \u0440\u0435\u0448\u0438\u0442\u0435 \u043F\u043E\u043B\u0435\u0442\u0435\u0442\u044C \u043D\u0430 \u0448\u0430\u0442\u0442\u043B\u0435, \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u043C \u0432\u0430\u043C, \u0447\u0442\u043E \u0432\u043E \u0438\u0437\u0431\u0435\u0436\u0430\u043D\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043E \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u043A\u0440\u0430\u0436\u0438 \u0448\u0430\u0442\u0442\u043B\u0430 \u0438 \u043F\u043E\u043F\u0430\u0434\u0430\u043D\u0438\u044F \u043D\u0430 \u0432\u0430\u0448\u0443 \u0431\u0430\u0437\u0443 \u043F\u043E\u0441\u0442\u043E\u0440\u043E\u043D\u043D\u0438\u0445 \u043B\u0438\u0446, \u043E\u0442\u043B\u0438\u0447\u043D\u043E\u0439 \u043F\u0440\u0430\u043A\u0442\u0438\u043A\u043E\u0439 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0437\u0432\u0430\u0442\u044C \u0435\u0433\u043E.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.headset_green,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0430\u0448 \u043D\u0430\u0443\u0448\u043D\u0438\u043A",content:"\u0412 \u043E\u0442\u043B\u0438\u0447\u0438\u0438 \u043E\u0442 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0445 \u043D\u0430\u0443\u0448\u043D\u0438\u043A\u043E\u0432 \u0431\u043E\u043B\u044C\u0448\u0438\u043D\u0441\u0442\u0432\u0430 \u043A\u043E\u0440\u043F\u043E\u0440\u0430\u0446\u0438\u0439, \u043D\u0430\u0448 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0441\u043E\u0437\u0434\u0430\u043D \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u043F\u043E\u043C\u043E\u0449\u0438 \u0432 \u0432\u0430\u0448\u0435\u043C \u0432\u043D\u0435\u0434\u0440\u0435\u043D\u0438\u0438. \u0412 \u043D\u0435\u0433\u043E \u0432\u0441\u0442\u0440\u043E\u0435\u043D \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u0430\u043D\u0430\u043B \u0434\u043B\u044F \u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0441 \u0432\u0430\u0448\u0438\u043C \u0431\u043E\u0440\u0433\u043E\u043C \u0438\u043B\u0438 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0447\u043B\u0435\u043D\u0430\u043C\u0438 \u043A\u043B\u0430\u043D\u0430. \n\u041A \u0442\u043E\u043C\u0443 \u0436\u0435 \u043E\u043D \u0441\u043F\u043E\u0441\u043E\u0431\u0435\u043D \u043F\u0440\u043E\u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043B\u044E\u0431\u044B\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043D\u0430\u0443\u0448\u043D\u0438\u043A\u0438 \u0438 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u043A\u0438 \u0438/\u0438\u043B\u0438 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0430 \u043A\u0430\u043D\u0430\u043B\u044B \u0438\u0445 \u043A\u043B\u044E\u0447\u0435\u0439. \u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u044F \u044D\u0442\u043E\u043C\u0443 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0441\u0442\u0435\u043F\u0435\u043D\u043D\u043E \u043D\u0430\u043A\u0430\u043F\u043B\u0438\u0432\u0430\u0442\u044C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0435 \u0432\u0430\u043C \u043C\u0435\u0441\u0442\u043D\u044B\u0435 \u043A\u0430\u043D\u0430\u043B\u044B \u0441\u0432\u044F\u0437\u0438 \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043B\u044E\u0431\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438. \n\u0422\u0430\u043A \u0436\u0435 \u0432\u0430\u0448 \u043D\u0430\u0443\u0448\u043D\u0438\u043A \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438- \u0447\u0435\u0441\u043A\u0438 \u0443\u043B\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 \u0438 \u043F\u0435\u0440\u0435\u0432\u043E\u0434\u0438\u0442 \u0431\u0438\u043D\u0430\u0440\u043D\u044B\u0435 \u0441\u0438\u0433\u043D\u0430\u043B\u044B \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u0435\u043C\u044B\u0435 \u0441\u0438\u043D\u0442\u0435\u0442\u0438\u043A\u0430\u043C\u0438 \u043F\u0440\u0438 \u043E\u0431\u0449\u0435\u043D\u0438\u0438 \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043E\u043C. \u041A \u0442\u043E\u043C\u0443 \u0436\u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044F \u0432\u0430\u043C \u0441\u0430\u043C\u0438\u043C \u043E\u0431\u0449\u0430\u0442\u044C\u0441\u044F \u0441 \u043D\u0438\u043C\u0438.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.ninja_sleeper,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041F\u043E\u0445\u0438\u0449\u0435\u043D\u0438\u0435 \u044D\u043A\u0438\u043F\u0430\u0436\u0430",content:"\u041F\u043E\u0440\u043E\u0439 \u043A\u043B\u0430\u043D\u0443 \u043D\u0443\u0436\u043D\u044B \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043A\u043E\u0442\u043E\u0440\u044B\u043C\u0438 \u043C\u043E\u0433\u0443\u0442 \u043E\u0431\u043B\u0430\u0434\u0430\u0442\u044C \u043B\u044E\u0434\u0438 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0449\u0438\u0435 \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442\u0435 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \u0412 \u0442\u0430\u043A\u043E\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0432\u0430\u043C \u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0441\u044F \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043E\u0441\u043E\u0431\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0447\u0443\u0436\u043E\u0433\u043E \u0440\u0430\u0437\u0443\u043C\u0430. \u0414\u0430\u0436\u0435 \u0435\u0441\u043B\u0438 \u0432\u0430\u043C \u043D\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u043E\u0431\u043B\u0430\u0434\u0430\u044E\u0449\u0435\u0433\u043E \u0432\u0441\u0435\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430, \u043C\u043E\u0436\u043D\u043E \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0431\u0440\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043F\u043E \u043A\u0440\u0443\u043F\u0438\u0446\u0430\u043C \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u044F \u043F\u043E\u0445\u0438\u0449\u0430\u0442\u044C \u043B\u044E\u0434\u0435\u0439. \n\u0414\u043B\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043F\u043E\u0445\u0438- \u0442\u0438\u0442\u044C \u043B\u044E\u0434\u0435\u0439. \u0423 \u0432\u0430\u0441 \u043D\u0430 \u0448\u0430\u0442\u0442\u043B\u0435 \u0435\u0441\u0442\u044C \u0441\u043A\u0430\u0444\u0430\u043D\u0434\u0440\u044B, \u0430 \u043D\u0430 \u0431\u0430\u0437\u0435 \u0437\u0430\u043F\u0430\u0441 \u043D\u0430- \u0440\u0443\u0447\u043D\u0438\u043A\u043E\u0432, \u043A\u0438\u0441\u043B\u043E\u0440\u043E\u0434\u0430 \u0438 \u0431\u0430\u043B\u043B\u043E- \u043D\u043E\u0432. \n\u0422\u0430\u043A \u0436\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u043C, \u0447\u0442\u043E \u0432\u0430\u0448\u0438 \u043F\u0435\u0440\u0447\u0430\u0442\u043A\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u044B \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0432 \u043B\u044E\u0434\u0435\u0439 \u044D\u043B\u0435\u043A\u0442\u0440\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0438\u043C\u043F\u0443\u043B\u044C\u0441, \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E \u0441\u0442\u0430\u043D\u044F \u0438\u0445 \u043D\u0430 \u043A\u043E\u0440\u043E\u0442\u043A\u043E\u0435 \u0432\u0440\u0435\u043C\u044F. ",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.ai_face,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0421\u0430\u0431\u043E\u0442\u0430\u0436 \u0418\u0418",content:"\u0418\u043D\u043E\u0433\u0434\u0430 \u0443 \u043D\u0430\u0441 \u0437\u0430\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0442 \u0441\u0430\u0431\u043E- \u0442\u0430\u0436 \u0418\u0441\u043A\u0443\u0441\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u0438\u043D\u0442\u0435\u043B\u043B\u0435\u043A\u0442\u0430 \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442\u0430\u0445 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438. \u042D\u0442\u043E \u043F\u0440\u043E- \u0446\u0435\u0441\u0441 \u0441\u043B\u043E\u0436\u043D\u044B\u0439 \u0438 \u0442\u0440\u0435\u0431\u0443\u044E\u0449\u0438\u0439 \u043E\u0442 \u043D\u0430\u0441 \u043E\u0441\u043D\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0438. \n\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u0439 \u043A\u043B\u0430\u043D\u043E\u043C \u043C\u0435\u0442\u043E\u0434 \u044D\u0442\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u043F\u0440\u044F\u043C\u043E \u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u0447\u043D\u043E\u0439 \u0434\u043B\u044F \u0437\u0430\u043A\u043E\u043D\u043E\u0432 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0449\u0435\u0439 \u0432\u044B\u0432\u0435\u0441\u0442\u0438 \u0418\u0418 \u0438\u0437 \u0441\u0442\u0440\u043E\u044F. \u0412 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0435 \u0442\u0430\u043A\u043E\u0433\u043E \u043C\u0435\u0442\u043E\u0434\u0430 \u043C\u044B \u043C\u043E\u0436\u0435\u043C \u043B\u0435\u0433\u043A\u043E \u043F\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0418\u0418 \u0430\u0431\u0441\u0443\u0440\u0434\u043D\u044B\u043C\u0438 \u0437\u0430\u043A\u043E\u043D\u0430\u043C\u0438, \u043D\u043E \u044D\u0442\u043E \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043D\u0430\u0441 \u0432 \u0442\u043E\u043C \u043F\u043B\u0430\u043D\u0435, \u0447\u0442\u043E \u0434\u043B\u044F \u0432\u0437\u043B\u043E\u043C\u0430 \u0432 \u0438\u0442\u043E\u0433\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u043A\u043E\u043D\u0441\u043E\u043B\u0438 \u0432 \u0441\u0430\u043C\u043E\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u0447\u043D\u043E\u0439. \u0422\u0430\u043A \u0436\u0435 \u0432\u0437\u043B\u043E\u043C \u0437\u0430\u0434\u0430\u0447\u0430 \u043D\u0435\u043B\u0451\u0433\u043A\u0430\u044F - \u0441\u0438\u0441\u0442\u0435\u043C\u044B \u0437\u0430\u0449\u0438\u0442\u044B \u0435\u0441\u0442\u044C \u0432\u0435\u0437\u0434\u0435. \u0410 \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 \u0432\u0440\u0435\u043C\u044F. \u041D\u0435 \u0443\u0434\u0438\u0432\u043B\u044F\u0439\u0442\u0435\u0441\u044C \u0435\u0441\u043B\u0438 \u0418\u0418 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u043E\u0442\u0438\u0432\u043E\u0434\u0435\u0439\u0441\u0442- \u0432\u043E\u0432\u0430\u0442\u044C \u0432\u0430\u0448\u0438\u043C \u043F\u043E\u043F\u044B\u0442\u043A\u0430\u043C \u0435\u0433\u043E \u0441\u043B\u043E\u043C\u0430\u0442\u044C.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.ninja_borg,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0421\u0430\u0431\u043E\u0442\u0430\u0436 \u0440\u043E\u0431\u043E\u0442\u043E\u0432",content:'\u0418\u043D\u043E\u0433\u0434\u0430 \u043E\u0446\u0435\u043D\u0438\u0432\u0430\u044F \u0432\u0430\u0448\u0438 \u0448\u0430\u043D\u0441\u044B \u043D\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u043C\u0438\u0441\u0441\u0438\u0438 \u0434\u043B\u044F \u0438\u0445 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442\u0430\u0445, \u0447\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442 \u0440\u043E\u0431\u043E\u0442\u043E\u0432 \u0434\u043B\u044F \u0441\u0432\u043E\u0438\u0445 \u0446\u0435\u043B\u0435\u0439, \u043C\u044B \u0434\u0430\u0451\u043C \u0432\u0430\u043C \u043E\u0441\u043E\u0431\u044B\u0439 "\u0423\u043B\u0443\u0447\u0448\u0430\u044E\u0449\u0438\u0439" \u0438\u0445 \u043F\u0440\u0438\u0431\u043E\u0440, \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u0432 \u0432\u0430\u0448\u0438 \u043F\u0435\u0440\u0447\u0430\u0442\u043A\u0438. \n\u041F\u0440\u0438 \u0432\u0437\u043B\u043E\u043C\u0435 \u043A\u0438\u0431\u043E\u0440\u0433\u0430 \u0442\u0430\u043A\u0438\u043C \u043F\u0440\u0438\u0431\u043E\u0440\u043E\u043C(\u0412\u0437\u043B\u043E\u043C \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 \u0432\u0440\u0435\u043C\u044F) \u0432\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043B\u043E\u044F\u043B\u044C\u043D\u043E\u0433\u043E \u043A\u043B\u0430\u043D\u0443 \u0438 \u0432\u0430\u043C \u043B\u0438\u0447\u043D\u043E \u0441\u043B\u0443\u0433\u0443 \u0441\u043F\u043E\u0441\u043E\u0431- \u043D\u043E\u0433\u043E \u043D\u0430 \u043E\u043A\u0430\u0437\u0430\u043D\u0438\u0435 \u043F\u043E\u043C\u043E\u0449\u0438 \u043A\u0430\u043A \u0432 \u0441\u0430\u0431\u043E\u0442\u0430\u0436\u0435 \u0441\u0442\u0430\u043D\u0446\u0438\u0438 \u0442\u0430\u043A \u0438 \u0432 \u0432\u0430\u0448\u0435\u043C \u043B\u0435\u0447\u0435\u043D\u0438\u0438. \n\u0422\u0430\u043A \u0436\u0435 \u0440\u043E\u0431\u043E\u0442 \u0431\u0443\u0434\u0435\u0442 \u043E\u0441\u043D\u0430\u0449\u0451\u043D \u043B\u0438\u0447\u043D\u043E\u0439 \u043A\u0430\u0442\u0430\u043D\u043E\u0439, \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\u043C \u043C\u0430\u0441\u043A\u0438\u0440\u043E\u0432\u043A\u0438, \u043F\u0438\u043D\u043F\u043E\u0438\u043D\u0442\u0435\u0440\u043E\u043C \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0438\u043C \u0435\u043C\u0443 \u043D\u0430 \u0432\u0430\u0441 \u0438 \u0433\u0435\u043D\u0435\u0440\u0430\u0442\u043E\u0440\u043E\u043C \u044D\u043B\u0435\u043A\u0442\u0440\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0441\u044E\u0440\u0438\u043A\u0435\u043D\u043E\u0432. \u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u043A\u0430\u0442\u0430\u043D\u0430 \u0440\u043E\u0431\u043E\u0442\u0430 \u043D\u0435 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u0430 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0442\u044C \u0435\u0433\u043E \u0431\u043B\u044E\u0441\u043F\u0435\u0439\u0441 \u0442\u0440\u0430\u043D\u0441\u043B\u043E\u043A\u0430\u0446\u0438\u044E!',position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.server,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0421\u0430\u0431\u043E\u0442\u0430\u0436 \u0438\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u0439",content:"\u041D\u0430 \u043D\u0430\u0443\u0447\u043D\u044B\u0445 \u043E\u0431\u044C\u0435\u043A\u0442\u0430\u0445 \u0432\u0441\u0435\u0433\u0434\u0430 \u0435\u0441\u0442\u044C \u0441\u0432\u043E\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430 \u0443\u0447\u0451\u043D\u044B\u0445 \u0438 \u043C\u043D\u043E- \u0436\u0435\u0441\u0442\u0432\u043E \u0434\u0430\u043D\u043D\u044B\u0445 \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u0440\u0438\u0445\u043E- \u0434\u0438\u0442\u0441\u044F \u0433\u0434\u0435 \u0442\u043E \u0445\u0440\u0430\u043D\u0438\u0442\u044C. \u0412 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0430\u043A\u043E\u0433\u043E \u043E\u0431\u044C\u0435\u043A\u0442\u0430 \u043E\u0431\u044B\u0447\u043D\u043E \u0432\u044B\u0441\u0442\u0443- \u043F\u0430\u044E\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0410 \u043A\u0430\u043A \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E \u043A\u043E\u0440\u043F\u043E\u0440\u0430\u0446\u0438\u0438 \u0432\u0435\u0447\u043D\u043E \u0433\u0440\u044B\u0437\u0443\u0442\u0441\u044F \u0437\u0430 \u0437\u043D\u0430\u043D\u0438\u044F. \u0427\u0442\u043E \u043D\u0430\u043C \u043D\u0430 \u0440\u0443\u043A\u0443. \n\u041C\u044B \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0430\u043B\u0438 \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0432\u0438\u0440\u0443\u0441 \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u0430\u043D \u043D\u0430 \u0432\u0430\u0448\u0438 \u043F\u0435\u0440\u0447\u0430\u0442\u043A\u0438 \u043F\u0435\u0440\u0435\u0434 \u043C\u0438\u0441\u0441\u0438\u0435\u0439 \u0442\u0430\u043A\u043E\u0433\u043E \u0440\u043E\u0434\u0430. \u0412\u0430\u043C \u043D\u0443\u0436\u043D\u043E \u0431\u0443\u0434\u0435\u0442 \u043B\u0438\u0448\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0433\u043E \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E \u043D\u0430 \u0438\u0445 \u043D\u0430\u0443\u0447\u043D\u044B\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0432\u0441\u0435 \u0438\u0445 \u0438\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u044F \u0431\u0443\u0434\u0443\u0442 \u0443\u0442\u0435\u0440\u044F\u043D\u044B. \n\u041D\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0432\u0438\u0440\u0443\u0441\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u0438, \u0438 \u0441\u0438\u0441\u0442\u0435\u043C\u044B \u0437\u0430\u0449\u0438\u0442\u044B \u043C\u043D\u043E\u0433\u0438\u0445 \u043E\u0431\u044C\u0435\u043A\u0442\u043E\u0432 \u043D\u0435 \u0434\u0440\u0435\u043C\u043B\u044E\u0442. \u0421\u043A\u043E\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043E \u043E \u0432\u0430\u0448\u0435\u0439 \u043F\u043E\u043F\u044B\u0442\u043A\u0435 \u0432\u0437\u043B\u043E\u043C\u0430 \u0431\u0443\u0434\u0435\u0442 \u043E\u043F\u043E\u0432\u0435\u0449\u0451\u043D \u043C\u0435\u0441\u0442\u043D\u044B\u0439 \u0418\u0418. \u0411\u0443\u0434\u044C\u0442\u0435 \u0433\u043E\u0442\u043E\u0432\u044B \u043A \u044D\u0442\u043E\u043C\u0443.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.buckler,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0417\u0430\u0449\u0438\u0442\u0430 \u0446\u0435\u043B\u0438",content:'\u0418\u043D\u043E\u0433\u0434\u0430 \u0431\u043E\u0433\u0430\u0442\u044B\u0435 \u0448\u0438\u0448\u043A\u0438 \u043F\u043B\u0430\u0442\u044F\u0442 \u0437\u0430 \u0443\u0441\u043B\u0443\u0433\u0438 \u0437\u0430\u0449\u0438\u0442\u044B \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430. \u0415\u0441\u043B\u0438 \u0432\u0430\u043C \u0434\u043E\u0441\u0442\u0430\u043B\u0430\u0441\u044C \u0442\u0430\u043A\u0430\u044F \u0446\u0435\u043B\u044C \u043F\u043E\u043C\u043D\u0438\u0442\u0435 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435: \n * \u0417\u0430\u0449\u0438\u0449\u0430\u0435\u043C\u044B\u0439 \u043E\u0431\u044F\u0437\u0430\u043D \u0434\u043E\u0436\u0438\u0442\u044C \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u0441\u043C\u0435\u043D\u044B! \n * \u0421\u043A\u043E\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043E \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u043C\u044B\u0439 \u043D\u0435 \u0437\u043D\u0430\u0435\u0442 \u043E \u0432\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435. \u0418 \u043B\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043E \u0447\u0442\u043E\u0431\u044B \u043E\u043D \u0438 \u0434\u0430\u043B\u044C\u0448\u0435 \u043D\u0435 \u0437\u043D\u0430\u043B! \n * \u041D\u0435 \u0432\u0430\u0436\u043D\u043E \u043A\u0442\u043E \u0438\u043B\u0438 \u0447\u0442\u043E \u043E\u0445\u043E\u0442\u0438\u0442\u0441\u044F \u043D\u0430 \u0432\u0430\u0448\u0435\u0433\u043E \u043F\u043E\u0434\u0437\u0430\u0449\u0438\u0442\u043D\u043E\u0433\u043E, \u043D\u043E \u0434\u043B\u044F \u043E\u0431\u044C\u0435\u043A\u0442\u0430 \u0433\u0434\u0435 \u043F\u0440\u043E\u0445\u043E\u0434\u0438\u0442 \u043C\u0438\u0441\u0441\u0438\u044F \u0432\u044B \u0432\u0441\u0435\u0433\u0434\u0430 \u043D\u0435\u0436\u0435\u043B\u0430\u043D\u043D\u043E\u0435 \u043B\u0438\u0446\u043E. \u041D\u0435 \u0440\u0430\u0441\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u0441\u0435\u0431\u044F \u0431\u0435\u0437 \u043D\u0443\u0436\u0434\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u043F\u0440\u043E\u0441\u0442\u0438\u0442\u044C \u0441\u0435\u0431\u0435 \u0436\u0435 \u0440\u0430\u0431\u043E\u0442\u0443 \u0438 \u043D\u0430 \u0432\u0430\u0441 \u0441\u0430\u043C\u0438\u0445 \u043D\u0435 \u0432\u0435\u043B\u0438 \u043E\u0445\u043E\u0442\u0443! \n\u0422\u0430\u043A \u0436\u0435 \u043C\u044B \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u043C, \u0447\u0442\u043E \u043A\u043B\u0430\u043D \u043D\u0435 \u043E\u0434\u043E\u0431\u0440\u044F\u0435\u0442 \u0432\u0430\u0440\u0432\u0430\u0440\u0441\u043A\u0438\u0435 \u043C\u0435\u0442\u043E\u0434\u044B "\u0417\u0430\u0449\u0438\u0442\u044B" \u0446\u0435\u043B\u0438. \u041D\u0435\u0442 \u0432\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0441\u0430\u0434\u0438\u0442\u044C \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u043C\u043E\u0433\u043E \u0432 \u043A\u043B\u0435\u0442\u043A\u0443 \u0438 \u0441\u043B\u0435\u0434\u0438\u0442\u044C \u0437\u0430 \u043D\u0438\u043C \u0442\u0430\u043C! \u041D\u0435 \u043F\u043E\u0440\u0442\u0438\u0442\u0435 \u043D\u0430\u0448\u0443 \u0440\u0435\u043F\u0443\u0442\u0430\u0446\u0438\u044E \u0432 \u0433\u043B\u0430\u0437\u0430\u0445 \u043D\u0430\u0448\u0438\u0445 \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u0432!',position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.cash,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041A\u0440\u0430\u0436\u0430 \u0434\u0435\u043D\u0435\u0433",content:"\u041A\u0430\u043A \u0431\u044B \u044D\u0442\u043E \u043D\u0435 \u0431\u044B\u043B\u043E \u0442\u0440\u0438\u0432\u0438\u0430\u043B\u044C\u043D\u043E. \u0418\u043D\u043E\u0433\u0434\u0430 \u043A\u043B\u0430\u043D \u043D\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044F \u0432 \u0434\u0435\u043D\u044C- \u0433\u0430\u0445. \u0418\u043B\u0438 \u0434\u0430\u0436\u0435 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0432\u044B \u0437\u0430\u0434\u043E\u043B\u0436\u0430\u043B\u0438 \u043D\u0430\u043C. \u0412 \u0442\u0430\u043A\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u043C\u044B \u0441\u043A\u043E\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043E \u0434\u0430\u0434\u0438\u043C \u0432\u0430\u043C \u0437\u0430\u0434\u0430\u0447\u0443 \u0434\u043E\u0441\u0442\u0430\u0442\u044C \u0434\u043B\u044F \u043D\u0430\u0441 \u044D\u0442\u0438 \u0434\u0435\u043D\u044C\u0433\u0438 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \n\u0414\u043B\u044F \u0432\u0430\u0441 \u044D\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043D\u0435 \u0442\u0440\u0443\u0434\u043D\u0430\u044F, \u043D\u043E \u0432\u0440\u0435\u043C\u044F\u0437\u0430\u0442\u0440\u0430\u0442\u043D\u0430\u044F. \u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u0432\u044B \u043D\u0430\u0442\u0440\u0435\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u0432 \u0438\u0441\u043A\u0443\u0441\u0441\u0442\u0432\u0435 \u043D\u0435\u0437\u0430\u043C\u0435\u0442\u043D\u044B\u0445 \u043A\u0430\u0440\u043C\u0430\u043D\u043D\u044B\u0445 \u043A\u0440\u0430\u0436. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u044D\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u044F \u043A\u0440\u0430\u0436\u0438 \u0447\u0443\u0436\u0438\u0445 \u043A\u0430\u0440\u0442 \u0438 \u043E\u0431\u043D\u0430\u043B\u0438\u0447\u0438- \u0432\u0430\u043D\u0438\u044F \u0438\u0445 \u0441\u0447\u0435\u0442\u043E\u0432. \u041B\u0438\u0431\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u043C\u0435\u0442\u0438\u0442\u044C \u0432\u044B\u0448\u0435 \u0438 \u043E\u0433\u0440\u0430\u0431\u0438\u0442\u044C \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430 \u0438\u043B\u0438 \u0441\u0447\u0435\u0442\u0430 \u0441\u0430\u043C\u043E\u0433\u043E \u043E\u0431\u044C\u0435\u043A\u0442\u0430 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \u0421\u0430\u043C\u043E\u0435 \u0433\u043B\u0430\u0432\u043D\u043E\u0435. \u0414\u043E\u0441\u0442\u0430\u043D\u044C\u0442\u0435 \u044D\u0442\u0438 \u0434\u0435\u043D\u044C\u0433\u0438!",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.handcuff,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041F\u043E\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430",content:"\u0412 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044F\u0445 \u0447\u0443\u0436\u043E\u0439 \u043F\u043E\u0437\u043E\u0440 \u0434\u043B\u044F \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u0432 \u0433\u043E\u0440\u0430\u0437\u0434\u043E \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u043D\u0435\u0435 \u0447\u0435\u043C \u0441\u043C\u0435\u0440\u0442\u044C. \u0412 \u0442\u0430\u043A\u0438\u0445 \u0441\u043B\u0443\u0447\u0430\u044F\u0445 \u0432\u0430\u043C \u043F\u0440\u0438\u0439\u0434\u0451\u0442\u0441\u044F \u043F\u0440\u043E\u044F\u0432\u0438\u0442\u044C \u043A\u0440\u0435\u0430\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C \u0438 \u0434\u043E\u0431\u0438\u0442\u044C\u0441\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u0432\u0430\u0448\u0443 \u0436\u0435\u0440\u0442\u0432\u0443 \u043F\u043E \u0437\u0430\u043A\u043E\u043D\u043D\u044B\u043C \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u0438\u044F\u043C \u0443\u043F\u0435\u043A\u043B\u0438 \u0437\u0430 \u0440\u0435\u0448\u0451\u0442\u043A\u0443 \u0421\u0430\u043C\u043E\u0435 \u0433\u043B\u0430\u0432\u043D\u043E\u0435 \u0447\u0442\u043E\u0431\u044B \u0432 \u043A\u0440\u0438\u043C\u0438\u043D\u0430\u043B\u044C\u043D\u043E\u0439 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0446\u0435\u043B\u0438 \u043E\u0441\u0442\u0430\u043B\u0441\u044F \u0441\u043B\u0435\u0434. \u041D\u043E \u0432 \u0442\u043E \u0436\u0435 \u0432\u0440\u0435\u043C\u044F \u043F\u0440\u043E\u0441\u0442\u043E \u043F\u0440\u0438\u0439\u0442\u0438 \u0438 \u0432\u043F\u0438\u0441\u0430\u0442\u044C \u0446\u0435\u043B\u0438 \u0441\u0440\u043E\u043A \u0432 \u043A\u043E\u043D\u0441\u043E\u043B\u0438 - \u043D\u0435 \u0440\u0430\u0431\u043E\u0447\u0438\u0439 \u043C\u0435\u0442\u043E\u0434. \u0426\u0435\u043B\u044C \u043B\u0435\u0433\u043A\u043E \u043E\u043F\u0440\u0430\u0432\u0434\u0430\u044E\u0442 \u0432 \u0441\u0443\u0434\u0435, \u0447\u0442\u043E \u043D\u0435 \u0443\u0441\u0442\u0440\u043E\u0438\u0442 \u043A\u043B\u0438\u0435\u043D\u0442\u0430. \n \u0423 \u0432\u0430\u0441 \u0434\u043E\u0441\u0442\u0430\u0442\u043E\u0447\u043D\u043E \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432, \u0447\u0442\u043E\u0431\u044B \u0441\u043E\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u043F\u0440\u0435\u0441\u0442\u0443\u043F\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u0434 \u043B\u0438\u0447\u0438\u043D\u043E\u0439 \u0446\u0435\u043B\u0438. \u0413\u043B\u0430\u0432\u043D\u043E\u0435 \u043F\u043E\u0441\u0442\u0430\u0440\u0430\u0439\u0442\u0435\u0441\u044C \u043E\u0431\u043E\u0439\u0442\u0438\u0441\u044C \u0431\u0435\u0437 \u0441\u043B\u0438\u0448- \u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u043F\u043E\u0441\u043B\u0435\u0434\u0441\u0442\u0432\u0438\u0439. \u041B\u0438\u0448\u043D\u044F\u044F \u0434\u044B\u0440\u0430 \u0432 \u043E\u0431\u0448\u0438\u0432\u043A\u0435 \u0441\u0442\u0430\u043D\u0446\u0438\u0438 \u0438\u043B\u0438 \u0442\u0440\u0443\u043F\u044B - \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432\u0430\u044E\u0442 \u0448\u0430\u043D\u0441\u044B \u043F\u0440\u043E\u0432\u0430\u043B\u0430 \u0432\u0430\u0448\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.spider_charge,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041F\u043E\u0434\u0440\u044B\u0432 \u043E\u0442\u0434\u0435\u043B\u0430",content:"\u0421\u0442\u0430\u0440\u044B\u0435 \u0434\u043E\u0431\u0440\u044B\u0435 \u0431\u043E\u043C\u0431\u044B. \u042D\u0444\u0444\u0435\u043A- \u0442\u0438\u0432\u043D\u044B\u0435 \u043E\u0440\u0443\u0434\u0438\u044F \u0443\u043D\u0438\u0447\u0442\u043E\u0436\u0435\u043D\u0438\u044F \u0432\u0441\u0435\u0433\u043E \u0436\u0438\u0432\u043E\u0433\u043E \u0438 \u043D\u0435\u0436\u0438\u0432\u043E\u0433\u043E \u0432 \u0431\u043E\u043B\u044C\u0448\u043E\u043C \u0440\u0430\u0434\u0438\u0443\u0441\u0435. \u041A\u043E\u0433\u0434\u0430 \u043A\u043B\u0438\u0435\u043D\u0442\u044B \u043F\u0440\u043E\u0441\u044F\u0442 \u043F\u043E\u0434\u043E\u0440\u0432\u0430\u0442\u044C \u043E\u0431\u044C\u0435\u043A\u0442, \u043E\u043D\u0438 \u0447\u0430\u0441\u0442\u043E \u043D\u0435 \u0437\u043D\u0430\u044E\u0442 \u043D\u0430\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0434\u043E\u0440\u043E\u0433\u043E \u0441\u0442\u043E\u0438\u0442 \u0442\u0430\u043A\u0430\u044F \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F. \u041D\u043E \u0440\u0435\u0434\u043A\u043E \u0433\u043E\u0442\u043E\u0432\u044B \u0441\u0434\u0430\u0442\u044C\u0441\u044F. \u041A\u0430\u043A \u0440\u0430\u0437 \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043C\u043D\u043E\u0433\u0438\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u043D\u044B \u043D\u0430 \u043F\u043E\u0434\u0440\u044B\u0432 \u043E\u0434\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0438\u043B\u0438 \u043E\u0442\u0434\u0435\u043B\u0430. \n\u0411\u0443\u0434\u044C\u0442\u0435 \u0433\u043E\u0442\u043E\u0432\u044B \u043A \u0442\u043E\u043C\u0443, \u0447\u0442\u043E \u043F\u043E\u0441\u043B\u0435 \u0432\u0437\u0440\u044B\u0432\u0430 \u043D\u0430 \u0432\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0432\u0435\u0441\u0442\u0438\u0441\u044C \u043E\u0445\u043E\u0442\u0430. \n \u041D\u0430\u0448\u0438 \u0431\u043E\u043C\u0431\u044B \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u0438\u0437\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u044B \u0441 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u0435\u043B\u044F\u043C\u0438. \u041D\u0438\u043A\u0442\u043E \u043A\u0440\u043E\u043C\u0435 \u0432\u0430\u0441 \u043D\u0435 \u0441\u043C\u043E\u0436\u0435\u0442 \u0438\u0445 \u043F\u043E\u0434\u043E\u0440\u0432\u0430\u0442\u044C \u0438 \u0434\u0430\u0436\u0435 \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0445 \u043B\u0438\u0448\u044C \u0432 \u0437\u043E\u043D\u0435 \u0437\u0430\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0439 \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u043C. \u0421\u043E\u0432\u0435\u0442\u0443\u0435\u043C \u0441\u0440\u0430\u0437\u0443 \u0431\u0435\u0436\u0430\u0442\u044C \u043F\u043E\u0434\u0430\u043B\u044C\u0448\u0435 \u043F\u043E\u0441\u043B\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438. \u0425\u043E\u0442\u044F \u044D\u0442\u043E \u0438 \u0442\u0430\u043A \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0434\u043B\u044F \u0432\u0430\u0441 \u043E\u0447\u0435\u0432\u0438\u0434\u043D\u043E.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.BSM,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0410\u043D\u0430\u043B\u0438\u0437 \u043A\u0440\u043E\u0432\u0438",content:'"\u0417\u043D\u0430\u0439 \u0441\u0432\u043E\u0435\u0433\u043E \u0432\u0440\u0430\u0433\u0430" - \u043F\u0440\u043E\u0441\u0442\u0430\u044F \u0438\u0441\u0442\u0438\u043D\u0430. \n\u0417\u0430 \u0433\u043E\u0434\u044B \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F \u043A\u043B\u0430\u043D\u0430 \u043C\u044B \u0438\u0437\u0443\u0447\u0438\u043B\u0438 \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E \u0440\u0430\u0437\u043D\u044B\u0445 \u043E\u043F\u0430\u0441\u043D\u044B\u0445 \u0442\u0432\u0430\u0440\u0435\u0439. \u0418 \u0434\u043E \u0441\u0438\u0445 \u043F\u043E\u0440 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0435\u043C \u0438\u0437\u0443\u0447\u0435\u043D\u0438\u0435 \u043D\u0435\u043A\u043E- \u0442\u043E\u0440\u044B\u0445. \u0410 \u0447\u0442\u043E\u0431\u044B \u0431\u044B\u043B\u043E, \u0447\u0442\u043E \u0438\u0437\u0443\u0447\u0430\u0442\u044C, \u043D\u0443\u0436\u043D\u043E \u0434\u043E\u0431\u044B\u0432\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0437\u0446\u044B. \u041A\u0440\u043E\u0432\u044C \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u0430\u043C\u044B\u0445 \u043E\u0447\u0435\u0432\u0438\u0434\u043D\u044B\u0445 \u043F\u0440\u0438\u043C\u0435\u0440\u043E\u0432 \u0442\u043E\u0433\u043E, \u0447\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u043E\u043B\u0435\u0437\u043D\u043E \u043D\u0430\u0448\u0438\u043C \u0443\u0447\u0451\u043D\u044B\u043C. \n\u0418\u043C\u0435\u044E\u0449\u0430\u044F\u0441\u044F \u0443 \u0432\u0430\u0441 \u043D\u0430 \u0431\u0430\u0437\u0435 \u0446\u0435\u043D\u0442\u0440\u0438\u0444\u0443\u0433\u0430 \u0434\u043B\u044F \u043A\u0440\u043E\u0432\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u0430 \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E \u043F\u0440\u043E\u0430\u043D\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0437\u0446\u044B \u043D\u0435 \u043F\u043E\u0432\u0440\u0435\u0434\u0438\u0432 \u0438\u0445 \u0438 \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043D\u0430\u043C. \n\u0414\u043B\u044F \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u043A\u0440\u043E\u0432\u0438 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0441\u043E\u0431\u0440\u0430\u0442\u044C 3 \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0445 \u043E\u0431\u0440\u0430\u0437\u0446\u0430. \u0418 \u043F\u043E\u043C\u0435- \u0441\u0442\u0438\u0442\u044C \u0438\u0445 \u0432 \u043F\u0440\u043E\u0431\u0438\u0440\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u043E\u0442\u043E\u043C \u043D\u0430\u0434\u043E \u043F\u043E\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E. \n\u041F\u0440\u0438\u043C\u0435\u0441\u0438 \u043F\u0440\u0438\u043D\u044F\u0442\u044B \u043D\u0435 \u0431\u0443\u0434\u0443\u0442!',position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.changeling,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0413\u0435\u043D\u043E\u043A\u0440\u0430\u0434\u044B",content:"\u0427\u0435\u0440\u0432\u0438 \u0432\u043E\u0437\u043E\u043C\u043D\u0438\u0432\u0448\u0438\u0435 \u0441\u0435\u0431\u044F \u0432\u044B\u0448\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u0432\u0438\u0434\u043E\u0432 \u043F\u043E\u0442\u043E\u043C\u0443, \u0447\u0442\u043E \u0443\u043C\u0435\u044E\u0442 \u043A\u0440\u0430\u0441\u0442\u044C \u0433\u0435\u043D\u044B \u0438 \u0438\u043C\u0438\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0445. \n\u0421\u0432\u043E\u0438\u043C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u043E\u043D\u0438 \u043F\u0440\u0438\u043D\u043E\u0441\u044F\u0442 \u0433\u043E\u0440\u0430\u0437\u0434\u043E \u0431\u043E\u043B\u044C\u0448\u0435 \u043F\u0440\u043E\u0431- \u043B\u0435\u043C, \u0447\u0435\u043C \u043F\u043E\u043B\u044C\u0437\u044B. \n\u042D\u0442\u0438 \u0442\u0432\u0430\u0440\u0438 \u0441\u0442\u043E\u043B\u044C \u0436\u0435 \u0445\u0438\u0442\u0440\u044B \u0441\u043A\u043E\u043B\u044C \u0438 \u0441\u043A\u0440\u044B\u0442\u043D\u044B. \u041D\u0435 \u0434\u043E\u0433\u043E\u0432\u0430\u0440\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044C \u0441 \u043D\u0438\u043C\u0438 \u043D\u0438 \u043E \u0447\u0451\u043C! \n\u041A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E \u0434\u0430\u0436\u0435 \u043D\u0430\u043C \u0441\u043B\u043E\u0436\u043D\u043E \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0442\u044C \u0433\u0435\u043D\u043E\u043A\u0440\u0430\u0434\u0430 \u043D\u0435 \u0437\u0430\u043F\u0438\u0445- \u043D\u0443\u0432 \u0435\u0433\u043E \u0432 \u043B\u0430\u0431\u043E\u0440\u0430\u0442\u043E\u0440\u0438\u044E \u0438 \u043D\u0435 \u043F\u0440\u043E\u0432\u0435\u0434\u044F \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E \u0442\u0435\u0441\u0442\u043E\u0432. \u041D\u043E \u043E\u043D\u0438 \u0438\u043D\u043E\u0433\u0434\u0430 \u0432\u044B\u0434\u0430\u044E\u0442 \u0441\u0435\u0431\u044F \u0441\u0432\u043E\u0438\u043C\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u043C\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F\u043C\u0438. \u0418 \u0442\u0430\u043A \u0436\u0435 \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E \u043B\u043E\u0436\u0430\u0442\u0441\u044F \u043D\u0430 \u0434\u043D\u043E \u0432 \u0441\u043B\u0443\u0447\u0430\u0435 \u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438. \u0427\u0442\u043E\u0431\u044B \u0431\u044B\u043B\u043E \u043B\u0435\u0433\u0447\u0435 \u0438\u0445 \u043F\u043E\u0439\u043C\u0430\u0442\u044C \u0434\u0430\u0439\u0442\u0435 \u0438\u043C \u043F\u043E\u043F\u043B\u044F\u0441\u0430\u0442\u044C, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B\u0445\u043E\u0434\u0438\u0442\u044C \u043D\u0430 \u0441\u0446\u0435\u043D\u0443. \u0418 \u0432\u043D\u0438\u043C\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0441\u043B\u0443\u0448\u0430\u0439\u0442\u0435 \u0440\u0430\u0434\u0438\u043E \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442\u0435. \u0412\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043C\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0445\u0440\u0430\u043D\u0430 \u0443\u0436\u0435 \u043E\u0445\u043E\u0442\u0438\u0442\u0441\u044F \u0437\u0430 \u043E\u0434\u043D\u0438\u043C \u0438\u0437 \u043D\u0438\u0445. \n\u041D\u0438\u043A\u0442\u043E \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u043E\u0442\u0438\u0432 \u0435\u0441\u043B\u0438 \u0432\u044B \u043D\u0435\u0437\u0430\u043C\u0435\u0442\u043D\u043E \u043F\u043E\u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u043C \u0441 \u044D\u0442\u0438\u043C...",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.vampire,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0430\u043C\u043F\u0438\u0440\u044B",content:"\u0414\u0435\u0448\u0451\u0432\u044B\u0435 \u0440\u043E\u043C\u0430\u043D\u044B, \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0438 \u0441\u043A\u0430\u0437\u043A\u0438 \u043F\u0440\u043E\u0448\u043B\u043E\u0433\u043E \u043E\u043F\u0438\u0441\u044B\u0432\u0430\u043B\u0438 \u0432\u0430\u043C\u043F\u0438\u0440\u043E\u0432 \u043A\u0430\u043A \u0445\u0438\u0449\u043D\u0438\u043A\u043E\u0432 \u043F\u044C\u044E\u0449\u0438\u0445 \u043A\u0440\u043E\u0432\u044C \u043B\u044E\u0434\u0435\u0439 \u0432 \u043D\u043E\u0447\u0438 \u0438 \u043E\u0431\u043B\u0430\u0434\u0430\u044E- \u0449\u0438\u0445 \u043C\u0430\u0433\u0438\u0447\u0435\u0441\u043A\u0438\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E- \u0441\u0442\u044F\u043C\u0438. \u0418\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u043C\u0435\u043D\u0435\u0435 \u0440\u043E\u043C\u0430\u043D\u0442\u0438\u0447\u043D\u044B... \n\u041C\u044B \u043F\u043E\u043A\u0430 \u043D\u0435 \u0437\u043D\u0430\u0435\u043C, \u0447\u0442\u043E \u0432\u044B\u0437\u044B\u0432\u0430\u0435\u0442 \u0438\u0445 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435, \u043D\u043E \u043D\u0430\u0448\u0438 \u043F\u043E\u0434\u043E\u0437\u0440\u0435- \u043D\u0438\u044F \u043F\u0430\u0434\u0430\u044E\u0442 \u043D\u0430 \u0432\u043B\u0438\u044F\u043D\u0438\u0435 \u043D\u0435\u043A\u043E\u0439 \u0431\u043B\u044E\u0441\u043F\u0435\u0439\u0441 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438. \u0422\u0430\u043A \u0438\u043B\u0438 \u0438\u043D\u0430\u0447\u0435, \u0434\u043E \u0442\u0435\u0445 \u043F\u043E\u0440 \u043F\u043E\u043A\u0430 \u0432\u0430\u043C\u043F\u0438\u0440 \u043D\u0435 \u043C\u0435\u0448\u0430\u0435\u0442 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438 \u0438\u043B\u0438 \u0443\u0433\u0440\u043E\u0436\u0430\u0435\u0442 \u0432\u0430\u0448\u0435\u0439 \u0436\u0438\u0437\u043D\u0438. \u0412\u044B \u0432\u043E\u043B\u044C\u043D\u044B \u0435\u0433\u043E \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C. \n\u0412\u0430\u043C\u043F\u0438\u0440\u044B \u043E\u0447\u0435\u043D\u044C \u043E\u043F\u0430\u0441\u043D\u044B \u0432 \u043F\u0440\u044F\u043C\u043E\u043C \u0441\u0442\u043E\u043B\u043A\u043D\u043E\u0432\u0435\u043D\u0438\u0438, \u043E\u043D\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u044B \u043E\u0433\u043B\u0443\u0448\u0430\u0442\u044C \u0432\u0437\u0433\u043B\u044F\u0434\u043E\u043C \u0438 \u043F\u043E\u0440\u0430\u0431\u043E\u0449\u0430\u0442\u044C \u0440\u0430\u0437\u0443\u043C \u0441\u0432\u043E\u0438\u0445 \u0436\u0435\u0440\u0442\u0432. \u041D\u0435 \u0434\u043E\u0432\u0435\u0440\u044F\u0439\u0442\u0435 \u0438\u043C, \u043D\u043E \u0442\u0430\u043A \u0436\u0435 \u043F\u043E\u043C\u043D\u0438\u0442\u0435 - \u043E\u043D\u0438 \u043B\u0438\u0448\u044C \u0436\u0435\u0440\u0442\u0432\u044B \u0441\u0442\u0435\u0447\u0435\u043D\u0438\u044F \u043E\u0431\u0441\u0442\u043E\u044F\u0442\u0435\u043B\u044C\u0441\u0442\u0432. \u0418 \u044D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u0441\u0432\u043E\u044E \u043F\u043E\u043B\u044C\u0437\u0443...",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.syndicate,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0421\u0438\u043D\u0434\u0438\u043A\u0430\u0442",content:"\u041D\u0430\u0448\u0438 \u0445\u043E\u0440\u043E\u0448\u0438\u0435 \u0437\u043D\u0430\u043A\u043E\u043C\u044B\u0435. \u0421\u0431\u043E\u0440\u0438\u0449\u0435 \u043C\u043E\u0433\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0445 \u0444\u0438\u0433\u0443\u0440 \u0432 \u043F\u043E\u0434\u043F\u043E\u043B\u044C\u043D\u043E\u043C \u043C\u0438\u0440\u0435 \u0441 \u0437\u0430\u043A\u0440\u044B\u0442\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u043E\u0439 \u0440\u0443\u043A\u043E\u0432\u043E\u0434\u0441\u0442\u0432\u0430 \u043E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E \u043C\u0430\u043B\u043E... \n\u0421\u0438\u043D\u0434\u0438\u043A\u0430\u0442 \u043F\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442 \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E \u0437\u0430\u043A\u0430\u0437\u043E\u0432. \u041D\u043E \u0441\u0430\u043C\u043E\u0439 \u043E\u0447\u0435\u0432\u0438\u0434\u043D\u043E\u0439, \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u043A\u0442\u043E \u043A\u0430\u043A \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0438\u0445 \u0438\u0437\u0443\u0447\u0438\u0442, \u0447\u0435\u0440\u0442\u043E\u0439 \u044D\u0442\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u044B - \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043E\u0433\u0440\u043E\u043C\u043D\u0430\u044F \u043D\u0435\u043D\u0430\u0432\u0438\u0441\u0442\u044C \u043A \u041D\u0422. \n\u0412 \u0441\u043B\u0443\u0447\u0430\u0435 \u0441\u0442\u043E\u043B\u043A\u043D\u043E\u0432\u0435\u043D\u0438\u044F \u0441 \u0430\u0433\u0435\u043D\u0442\u0430\u043C\u0438 \u0421\u0438\u043D\u0434\u0438\u043A\u0430\u0442\u0430 \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u043D\u0430\u0448\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043F\u0440\u043E\u0441\u0442\u0430. \n\u0415\u0441\u043B\u0438 \u043E\u043D\u0438 \u043D\u0435 \u043C\u0435\u0448\u0430\u044E\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044E \u0437\u0430\u0434\u0430\u043D\u0438\u044F. \u041C\u044B \u043D\u0435 \u043C\u0435\u0448\u0430\u0435\u043C \u0438\u043C.",position:"bottom-start"})]})]})})})},c=function(l,v){var b=(0,a.useBackend)(v),g=b.act,h=b.data,C=h.allActionsPreview,N=h.blocked_TGUI_rows,x=[{blue:"Button_blue",green:"Button_green",red:"Button_red",disabled:"Button_disabled"}];return(0,e.createComponentVNode)(2,t.Section,{title:"\u041C\u043E\u0434\u0443\u043B\u0438 \u043A\u043E\u0441\u0442\u044E\u043C\u0430",style:{"text-align":"center"},buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0443\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u043A\u043E\u0441\u0442\u044E\u043C\u0430! \u0414\u0435\u043B\u044F\u0442\u0441\u044F \u043D\u0430 3 \u0440\u0430\u0437\u043D\u044B\u0445 \u043F\u043E\u0434\u0445\u043E\u0434\u0430 \u0434\u043B\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \u0418\u0437-\u0437\u0430 \u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u0439 \u043F\u043E \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044E \u0440\u0430\u0431\u043E\u0442\u043E\u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u043A\u043E\u0441\u0442\u044E\u043C\u0430, \u043F\u0440\u0438\u043E\u0431\u0440\u0435\u0442\u0435\u043D\u0438\u0435 \u043B\u044E\u0431\u043E\u0433\u043E \u043C\u043E\u0434\u0443\u043B\u044F, \u0431\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442 \u043F\u0440\u0438\u043E\u0431\u0440\u0435\u0442\u0435\u043D\u0438\u0435 \u043C\u043E\u0434\u0443\u043B\u0435\u0439 \u043E\u0434\u043D\u043E\u0433\u043E \u0443\u0440\u043E\u0432\u043D\u044F \u0438\u0437 \u0441\u043E\u0441\u0435\u0434\u043D\u0438\u0445 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432",tooltipPosition:"bottom"}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",alignContent:"center",ml:1.5,children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"33%",shrink:1,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u041F\u0440\u0438\u0437\u0440\u0430\u043A",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u0421\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435\u0441\u044C \u0441\u0440\u0435\u0434\u0438 \u0432\u0440\u0430\u0433\u043E\u0432, \u043D\u0430\u043F\u0430\u0434\u0430\u0439\u0442\u0435 \u0438\u0437 \u0442\u0435\u043D\u0438 \u0438 \u0431\u0443\u0434\u044C\u0442\u0435 \u043D\u0435\u0437\u0440\u0438\u043C\u043E\u0439 \u0443\u0433\u0440\u043E\u0437\u043E\u0439, \u0432\u0441\u0451 \u0434\u043B\u044F \u0442\u043E\u0433\u043E \u0447\u0442\u043E\u0431\u044B \u043E \u0432\u0430\u0441 \u0438 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438 \u043D\u0438\u043A\u0442\u043E \u043D\u0435 \u0443\u0437\u043D\u0430\u043B! \u0411\u0443\u0434\u044C\u0442\u0435 \u043D\u0435\u0437\u0430\u043C\u0435\u0442\u043D\u044B \u043A\u0430\u043A \u043F\u0440\u0438\u0437\u0440\u0430\u043A!",tooltipPosition:"bottom"}),style:{"text-align":"center",background:"rgba(53, 94, 163, 0.8)"}}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_blue",success:0,danger:0,align:"center",children:[(0,e.createComponentVNode)(2,t.Button,{className:N[0]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[0],onClick:function(){function B(){return g("give_ability",{style:"smoke",row:"1"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.smoke,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0414\u042B\u041C\u041E\u0412\u0410\u042F \u0417\u0410\u0412\u0415\u0421\u0410",content:"\u0412\u044B \u0441\u043E\u0437\u0434\u0430\u0451\u0442\u0435 \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u043E\u0431\u043B\u0430\u043A\u043E \u0434\u044B\u043C\u0430 \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u043F\u0443\u0442\u0430\u0442\u044C \u0441\u0432\u043E\u0438\u0445 \u0432\u0440\u0430\u0433\u043E\u0432. \n\u042D\u0442\u0430 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u044C \u043E\u0442\u043B\u0438\u0447\u043D\u043E \u0441\u043E\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044F \u0441 \u0432\u0430\u0448\u0438\u043C \u0432\u0438\u0437\u043E\u0440\u043E\u043C \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0442\u0435\u0440\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0441\u043A\u0430\u043D\u0435\u0440\u0430. \n\u0410 \u0442\u0430\u043A \u0436\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u043C\u043D\u043E\u0433\u0438\u043C\u0438 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043C\u043E\u0434\u0443\u043B\u044F\u043C\u0438 \u0435\u0441\u043B\u0438 \u0432\u044B \u0442\u043E\u0433\u043E \u043F\u043E\u0436\u0435\u043B\u0430\u0435\u0442\u0435. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 1000 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 250 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 3 \u0441\u0435\u043A\u0443\u043D\u0434\u044B.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[1]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[1],onClick:function(){function B(){return g("give_ability",{style:"ninja_cloak",row:"2"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.ninja_cloak,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041D\u0415\u0412\u0418\u0414\u0418\u041C\u041E\u0421\u0422\u042C",content:"\u0412\u044B \u0444\u043E\u0440\u043C\u0438\u0440\u0443\u0435\u0442\u0435 \u0432\u043E\u043A\u0440\u0443\u0433 \u0441\u0435\u0431\u044F \u043C\u0430\u0441\u043A\u0438\u0440\u043E\u0432\u043E\u0447\u043D\u043E\u0435 \u043F\u043E\u043B\u0435 \u0441\u043A\u0440\u044B\u0432\u0430- \u044E\u0449\u0435\u0435 \u0432\u0430\u0441 \u0438\u0437 \u0432\u0438\u0434\u0443 \u0438 \u043F\u0440\u0438\u0433\u043B\u0443\u0448\u0430- \u044E\u0449\u0435\u0435 \u0432\u0430\u0448\u0438 \u0448\u0430\u0433\u0438. \n\u041F\u043E\u043B\u0435 \u0434\u043E\u0432\u043E\u043B\u044C\u043D\u043E \u0445\u0440\u0443\u043F\u043A\u043E\u0435 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0440\u0430\u0437\u043B\u0435\u0442\u0435\u0442\u044C\u0441\u044F \u043E\u0442 \u043B\u044E\u0431\u043E\u0433\u043E \u0440\u0435\u0437\u043A\u043E\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0438\u043B\u0438 \u0443\u0434\u0430\u0440\u0430. \n\u0410\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u044F \u043F\u043E\u043B\u044F \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 2 \u0441\u0435\u043A\u0443\u043D\u0434\u044B. \u0425\u043E\u0442\u044C \u043F\u043E\u043B\u0435 \u0438 \u0441\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u0432\u0430\u0441 \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E, \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u0443\u0431\u0438\u0439\u0446\u0430 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0445\u043B\u0430\u0434\u043D\u043E\u043A\u0440\u043E\u0432\u0435\u043D. \n\u041D\u0435 \u0441\u0442\u043E\u0438\u0442 \u043D\u0435\u0434\u043E\u043E\u0446\u0435\u043D\u0438\u0432\u0430\u0442\u044C \u0432\u043D\u0438\u043C\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0434\u0440\u0443\u0433\u0438\u0445 \u043B\u044E\u0434\u0435\u0439. \n\u0410\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u043D\u0435\u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C \u0441\u043B\u0430\u0431\u043E \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0439 \u0440\u0430\u0441\u0445\u043E\u0434 \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 15 \u0441\u0435\u043A\u0443\u043D\u0434.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[2]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[2],onClick:function(){function B(){return g("give_ability",{style:"ninja_clones",row:"3"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.ninja_clones,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041D\u0415\u0420\u0413\u0415\u0422\u0418\u0427\u0415\u0421\u041A\u0418\u0415 \u041A\u041B\u041E\u041D\u042B",content:"\u0421\u043E\u0437\u0434\u0430\u0451\u0442 \u0434\u0432\u0443\u0445 \u043A\u043B\u043E\u043D\u043E\u0432 \u0433\u043E\u0442\u043E\u0432\u044B\u0445 \u043F\u043E\u043C\u043E\u0447\u044C \u0432 \u0431\u0438\u0442\u0432\u0435 \u0438 \u0434\u0435\u0437\u043E\u0440\u0438\u0435\u043D\u0442\u0438- \u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0442\u0438\u0432\u043D\u0438\u043A\u0430 \n\u0422\u0430\u043A \u0436\u0435 \u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435 \u0441\u043C\u0435\u0449\u0430\u0435\u0442 \u0432\u0430\u0441 \u0438 \u0432\u0430\u0448\u0438\u0445 \u043A\u043B\u043E\u043D\u043E\u0432 \u0432 \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u043C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0438 \u0432 \u0440\u0430\u0434\u0438\u0443\u0441\u0435 \u043F\u0430\u0440\u044B \u043C\u0435\u0442\u0440\u043E\u0432. \n\u041F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435\u0441\u044C \u043E\u0441\u0442\u043E\u0440\u043E\u0436\u043D\u043E. \u0421\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0435 \u0441\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0435\u0440\u0435\u0442\u044C \u0432\u0430\u0441 \u0437\u0430 4-\u043C\u044F \u0441\u0442\u0435\u043D\u0430\u043C\u0438. \u0411\u0443\u0434\u044C\u0442\u0435 \u043A \u044D\u0442\u043E\u043C\u0443 \u0433\u043E\u0442\u043E\u0432\u044B. \n\u041A\u043B\u043E\u043D\u044B \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0442 \u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E 20 \u0441\u0435\u043A\u0443\u043D\u0434. \u041A\u043B\u043E\u043D\u044B \u0438\u043C\u0435\u044E\u0442 \u0448\u0430\u043D\u0441 \u0440\u0430\u0437\u043C\u043D\u043E\u0436\u0438\u0442\u0441\u044F \u0430\u0442\u0430\u043A\u0443\u044F \u043F\u0440\u043E\u0442\u0438\u0432\u043D\u0438\u043A\u043E\u0432. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 4000 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 8 \u0441\u0435\u043A\u0443\u043D\u0434.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[3]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[3],onClick:function(){function B(){return g("give_ability",{style:"chameleon",row:"4"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.chameleon,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0425\u0410\u041C\u0415\u041B\u0415\u041E\u041D",content:"\u0412\u044B \u0444\u043E\u0440\u043C\u0438\u0440\u0443\u0435\u0442\u0435 \u0432\u043E\u043A\u0440\u0443\u0433 \u0441\u0435\u0431\u044F \u0433\u043E\u043B\u043E\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043F\u043E\u043B\u0435 \u0438\u0441\u043A\u0430\u0436\u0430\u044E\u0449\u0435\u0435 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u043E\u0435 \u0438 \u0441\u043B\u0443\u0445\u043E\u0432\u043E\u0435 \u0432\u043E\u0441\u043F\u0440\u0438\u044F\u0442\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432. \n\u0412\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0434\u0435\u0442\u044C \u0438 \u0441\u043B\u044B\u0448\u0430\u0442\u044C \u043A\u0430\u043A \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u0432\u044B \u043F\u0440\u043E\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0435\u0442\u0435 \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\u043C. \n\u042D\u0442\u043E \u0434\u0430\u0451\u0442 \u0432\u0430\u043C \u043E\u0433\u0440\u043E\u043C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u0442\u043E\u0440 \u043F\u043E \u0432\u043D\u0435\u0434\u0440\u0435\u043D\u0438\u044E \u0438 \u0438\u043C\u0438\u0442\u0430\u0446\u0438\u0438 \u043B\u044E\u0431\u043E\u0433\u043E \u0447\u043B\u0435\u043D\u0430 \u044D\u043A\u0438\u043F\u0430\u0436\u0430. \n\u041F\u043E\u043B\u0435 \u0434\u043E\u0432\u043E\u043B\u044C\u043D\u043E \u0445\u0440\u0443\u043F\u043A\u043E\u0435 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0440\u0430\u0437\u043B\u0435\u0442\u0435\u0442\u044C\u0441\u044F \u043E\u0442 \u043B\u044E\u0431\u043E\u0433\u043E \u0440\u0435\u0437\u043A\u043E\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0438\u043B\u0438 \u0443\u0434\u0430\u0440\u0430. \n\u0410\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u044F \u043F\u043E\u043B\u044F \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 2 \u0441\u0435\u043A\u0443\u043D\u0434\u044B. \n\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0445\u0430\u043C\u0435\u043B\u0435\u043E\u043D \u0441\u043B\u0430\u0431\u043E \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0439 \u0440\u0430\u0441\u0445\u043E\u0434 \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: \u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[4]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[4],onClick:function(){function B(){return g("give_ability",{style:"ninja_spirit_form",row:"5"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.ninja_spirit_form,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0424\u041E\u0420\u041C\u0410 \u0414\u0423\u0425\u0410",content:"\u0412\u044B \u0432\u043E\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442\u0435 \u043D\u0430 \u0441\u0442\u0430\u0431\u0438\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043B\u0430 \u043F\u043E\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E\u043C \u044D\u0442\u043E\u0439 \u044D\u043A\u0441\u043F\u0435\u0440\u0435\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u043E\u0439 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438. \n\u0414\u0435\u043B\u0430\u044F \u0432\u0430\u0448\u0435 \u0442\u0435\u043B\u043E \u043D\u0435\u0441\u0442\u0430\u0431\u0438\u043B\u044C\u043D\u044B\u043C \u044D\u0442\u0430 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u044C \u0434\u0430\u0440\u0443\u0435\u0442 \u0432\u0430\u043C \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u043F\u0440\u043E\u0445\u043E\u0434\u0438\u0442\u044C \u0441\u043A\u0432\u043E\u0437\u044C \u0441\u0442\u0435\u043D\u044B. \n\u042D\u0442\u0430 \u044D\u043A\u0441\u043F\u0435\u0440\u0435\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u044F \u043D\u0435 \u0441\u0434\u0435\u043B\u0430\u0435\u0442 \u0432\u0430\u0441 \u043D\u0435\u0443\u044F\u0437\u0432\u0438\u043C\u044B\u043C \u0434\u043B\u044F \u043F\u0443\u043B\u044C \u0438 \u043B\u0435\u0437\u0432\u0438\u0439! \n\u041D\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u0438\u0442 \u0432\u0430\u043C \u0441\u043D\u044F\u0442\u044C \u0441 \u0441\u0435\u0431\u044F \u043D\u0430\u0440\u0443\u0447\u043D\u0438\u043A\u0438, \u0431\u043E\u043B\u044B \u0438 \u0434\u0430\u0436\u0435 \u0432\u044B\u043B\u0435\u0437\u0442\u0438 \u0438\u0437 \u0433\u0440\u043E\u0431\u0430 \u0438\u043B\u0438 \u044F\u0449\u0438\u043A\u0430, \u043E\u043A\u0430\u0436\u0438\u0441\u044C \u0432\u044B \u0442\u0430\u043C \u0437\u0430\u043F\u0435\u0440\u0442\u044B... \n\u0410\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u044F \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u0430. \n\u0410\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u0444\u043E\u0440\u043C\u0430 \u0434\u0443\u0445\u0430 \u0437\u043D\u0430\u0447\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0439 \u0440\u0430\u0441\u0445\u043E\u0434 \u044D\u043D\u0435\u0440\u0433\u0438\u0438! \u041F\u043E\u0442\u0440\u0435\u0431\u043B\u0435\u043D\u0438\u0435 \u043E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u043E \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u043E\u0431\u044A\u0451\u043C\u0430 \u0431\u0430\u0442\u0430\u0440\u0435\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 25 \u0441\u0435\u043A\u0443\u043D\u0434.",position:"right"})]})]})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"33%",shrink:1,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u0417\u043C\u0435\u0439",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u0423\u0434\u0438\u0432\u043B\u044F\u0439\u0442\u0435! \u0422\u0440\u044E\u043A\u0438, \u043B\u043E\u0432\u0443\u0448\u043A\u0438, \u0449\u0438\u0442\u044B. \u041F\u043E\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043C, \u0447\u0442\u043E \u0442\u0430\u043A\u043E\u0435 \u0431\u043E\u0439 \u0441 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u043C \u0443\u0431\u0438\u0439\u0446\u0435\u0439. \u0418\u0437\u0432\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044C \u0438 \u0438\u0437\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044C \u043D\u0430\u0445\u043E\u0434\u044F \u0432\u044B\u0445\u043E\u0434 \u0438\u0437 \u043B\u044E\u0431\u043E\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438. \u0412\u0440\u0430\u0433\u0438 \u0432\u0441\u0435\u0433\u043E \u043B\u0438\u0448\u044C \u0433\u0440\u044B\u0437\u0443\u043D\u044B, \u0447\u044C\u0451 \u043B\u043E\u0433\u043E\u0432\u043E \u043D\u0430\u0432\u0435\u0441\u0442\u0438\u043B \u0437\u043C\u0435\u0439!",tooltipPosition:"bottom"}),style:{"text-align":"center",background:"rgba(0, 174, 208, 0.15)"}}),(0,e.createComponentVNode)(2,t.NoticeBox,{success:0,danger:0,align:"center",children:[(0,e.createComponentVNode)(2,t.Button,{className:N[0]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[0],onClick:function(){function B(){return g("give_ability",{style:"kunai",row:"1"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.kunai,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0421\u0422\u0420\u041E\u0415\u041D\u041D\u041E\u0415 \u0414\u0416\u041E\u0425\u042C\u0401",content:"\u0422\u0430\u043A \u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E \u043A\u0430\u043A \u0428\u044D\u043D\u0431\u044F\u043E \u0438\u043B\u0438 \u043F\u0440\u043E\u0441\u0442\u043E \u041A\u0438\u043D\u0436\u0430\u043B \u043D\u0430 \u0446\u0435\u043F\u0438. \n\u0418\u043D\u0442\u0435\u0433\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0432 \u043A\u043E\u0441\u0442\u044E\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u043F\u043E\u0437\u0432\u043E\u043B\u0438\u0442 \u0432\u0430\u043C \u043F\u043E\u0439\u043C\u0430\u0442\u044C \u0438 \u043F\u0440\u0438\u0442\u044F\u043D\u0443\u0442\u044C \u043A \u0441\u0435\u0431\u0435 \u0436\u0435\u0440\u0442\u0432\u0443 \u0437\u0430 \u0434\u043E\u043B\u0438 \u0441\u0435\u043A\u0443\u043D\u0434\u044B. \n\u041E\u0440\u0443\u0436\u0438\u0435 \u043D\u0435 \u043E\u0447\u0435\u043D\u044C \u0433\u043E\u0434\u0438\u0442\u0441\u044F \u0434\u043B\u044F \u0434\u043E\u043B\u0433\u0438\u0445 \u0431\u043E\u0451\u0432, \u043D\u043E \u043E\u0442\u043B\u0438\u0447\u043D\u043E \u043F\u043E\u0434\u0445\u043E\u0434\u0438\u0442 \u0434\u043B\u044F \u0432\u044B\u0442\u044F\u0433\u0438\u0432\u0430\u043D\u0438\u044F \u043E\u0434\u043D\u043E\u0439 \u0436\u0435\u0440\u0442\u0432\u044B - \u043D\u0430 \u0440\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0443\u0434\u0430\u0440\u0430! \n\u0413\u043B\u0430\u0432\u043D\u043E\u0435 \u043D\u0435 \u043F\u0440\u043E\u043C\u0430\u0445\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u0438 \u0441\u0442\u0440\u0435\u043B\u044C\u0431\u0435. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0432\u044B\u0441\u0442\u0440\u0435\u043B\u0430: 500 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 5 \u0441\u0435\u043A\u0443\u043D\u0434.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[1]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[1],onClick:function(){function B(){return g("give_ability",{style:"chem_injector",row:"2"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.chem_injector,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0418\u0421\u0426\u0415\u041B\u042F\u042E\u0429\u0418\u0419 \u041A\u041E\u041A\u0422\u0415\u0419\u041B\u042C",content:"\u0412\u0432\u043E\u0434\u0438\u0442 \u0432 \u0432\u0430\u0441 \u044D\u043A\u0441\u043F\u0435\u0440\u0435\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u0443\u044E \u043B\u0435\u0447\u0435\u0431\u043D\u0443\u044E \u0441\u043C\u0435\u0441\u044C. \u0421\u043F\u043E\u0441\u043E\u0431\u043D\u0443\u044E \u0437\u0430\u043B\u0435\u0447\u0438\u0442\u044C \u0434\u0430\u0436\u0435 \u0441\u043B\u043E\u043C\u0430\u043D\u043D\u044B\u0435 \u043A\u043E\u0441\u0442\u0438 \u0438 \u043E\u0442\u043E\u0440\u0432\u0430\u043D\u043D\u044B\u0435 \u043A\u043E\u043D\u0435\u0447\u043D\u043E\u0441\u0442\u0438. \n\u041F\u0440\u0435\u043F\u0430\u0440\u0430\u0442 \u0432\u044B\u0437\u044B\u0432\u0430\u0435\u0442 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442- \n\u0432\u0435\u043D\u043D\u043E-\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u0434\u043E\u043A\u0441\u044B \u0438 \u043E\u0447\u0435\u043D\u044C \u043C\u0435\u0434\u043B\u0435\u043D\u043D\u043E \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u0441\u044F \u0438\u0437 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u043C\u0430! \n\u041F\u0440\u0438 \u043F\u0435\u0440\u0435\u0434\u043E\u0437\u0438\u0440\u043E\u0432\u043A\u0435 \u043E\u043D\u0438 \u0441\u0442\u0430\u043D\u043E\u0432\u044F\u0442\u0441\u044F \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043E\u043F\u0430\u0441\u043D\u044B \u0434\u043B\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F. \u041D\u0435 \u0432\u0432\u043E\u0434\u0438\u0442\u0435 \u0431\u043E\u043B\u044C\u0448\u0435 30 \u0435\u0434. \u043F\u0440\u0435\u043F\u0430\u0440\u0430\u0442\u0430 \u0432 \u0432\u0430\u0448 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u043C! \n\u0412\u043C\u0435\u0441\u0442\u043E \u0442\u0440\u0430\u0442\u044B \u044D\u043D\u0435\u0440\u0433\u0438\u0438 \u0438\u043C\u0435\u0435\u0442 3 \u0437\u0430\u0440\u044F\u0434\u0430. \u0418\u0445 \u043C\u043E\u0436\u043D\u043E \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0446\u0435\u043B\u044C\u043D\u044B\u0445 \u043A\u0443\u0441\u043A\u043E\u0432 \u0431\u043B\u044E\u0441\u043F\u0435\u0439\u0441 \u043A\u0440\u0438\u0441\u0442\u0430\u043B\u043B\u043E\u0432 \u043F\u043E\u043C\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u043A\u043E\u0441\u0442\u044E\u043C.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[2]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[2],onClick:function(){function B(){return g("give_ability",{style:"emergency_blink",row:"3"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.emergency_blink,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041A\u0421\u0422\u0420\u0415\u041D\u041D\u0410\u042F \u0422\u0415\u041B\u0415\u041F\u041E\u0420\u0422\u0410\u0426\u0418\u042F",content:"\u041F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0432 \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u0443\u044E \u0437\u043E\u043D\u0443 \u0432 \u0440\u0430\u0434\u0438\u0443\u0441\u0435 \u043E\u043A\u043E\u043B\u043E \u0434\u0432\u0443\u0445 \u0434\u0435\u0441\u044F\u0442\u043A\u043E\u0432 \u043C\u0435\u0442\u0440\u043E\u0432. \n\u0414\u043B\u044F \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442\u0441\u044F \u043C\u043E\u0437\u0433\u043E\u0432\u044B\u0435 \u0438\u043C\u043F\u0443\u043B\u044C\u0441\u044B \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F. \u041F\u043E\u044D\u0442\u043E\u043C\u0443 \u043E\u043F\u044B\u0442\u043D\u044B\u0435 \u0432\u043E\u0438\u043D\u044B \u043A\u043B\u0430\u043D\u0430, \u043C\u043E\u0433\u0443\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0435\u0451 \u0434\u0430\u0436\u0435 \u0432\u043E \u0441\u043D\u0435. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 1500 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 3 \u0441\u0435\u043A\u0443\u043D\u0434\u044B.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[3]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[3],onClick:function(){function B(){return g("give_ability",{style:"caltrop",row:"4"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.caltrop,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041B\u0415\u041A\u0422\u0420\u041E-\u0427\u0415\u0421\u041D\u041E\u041A",content:"\u0427\u0430\u0449\u0435 \u0438\u0445 \u043D\u0430\u0437\u044B\u0432\u0430\u044E\u0442 \u043F\u0440\u043E\u0441\u0442\u043E \u043A\u0430\u043B\u0442\u0440\u043E\u043F\u044B, \u0438\u0437-\u0437\u0430 \u0437\u0430\u043F\u0443\u0442\u044B\u0432\u0430\u044E\u0449\u0438\u0445 \u0430\u0441\u0441\u043E\u0446\u0438\u0430\u0446\u0438\u0439 \u0441 \u0431\u043E\u043B\u0435\u0435 \u0441\u044A\u0435\u0441\u0442\u043D\u044B\u043C \u0447\u0435\u0441\u043D\u043E\u043A\u043E\u043C. \n\u041F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u0440\u0430\u0441\u043A\u0438\u0434\u044B\u0432\u0430\u0435\u0442 \u043F\u043E\u0437\u0430\u0434\u0438 \u0432\u0430\u0441 \u0441\u0434\u0435\u043B\u0430\u043D\u043D\u044B\u0435 \u0438\u0437 \u0441\u043F\u0440\u0435\u0441\u0441\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u044D\u043D\u0435\u0440\u0433\u0438\u0438 \u043B\u043E\u0432\u0443\u0448\u043A\u0438. \n\u041B\u043E\u0432\u0443\u0448\u043A\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0442 \u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E 10 \u0441\u0435\u043A\u0443\u043D\u0434. \u0422\u0430\u043A \u0436\u0435 \u043E\u043D\u0438 \u043F\u0440\u043E\u043F\u0430\u0434\u0430\u044E\u0442 - \u0435\u0441\u043B\u0438 \u043D\u0430 \u043D\u0438\u0445 \u043D\u0430\u0441\u0442\u0443\u043F\u0438\u0442\u044C. \n\u0411\u043E\u043B\u044C \u043E\u0442 \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0433\u043E \u0448\u0430\u0433\u0430 \u043D\u0430 \u043D\u0438\u0445 \u043D\u0430\u0441\u0442\u0438\u0433\u043D\u0435\u0442 \u0434\u0430\u0436\u0435 \u0440\u043E\u0431\u043E\u0442\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D- \u043D\u044B\u0435 \u043A\u043E\u043D\u0435\u0447\u043D\u043E\u0441\u0442\u0438. \n\u0412\u044B \u043D\u0435 \u0437\u0430\u0449\u0438\u0449\u0435\u043D\u044B \u043E\u0442 \u043D\u0438\u0445. \u041D\u0435 \u043D\u0430\u0441\u0442\u0443\u043F\u0430\u0439\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u0438 \u0436\u0435 \u043B\u043E\u0432\u0443\u0448\u043A\u0438! \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 1500 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 1 \u0441\u0435\u043A\u0443\u043D\u0434\u0430.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[4]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[4],onClick:function(){function B(){return g("give_ability",{style:"cloning",row:"5"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.cloning,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0422\u041E\u0420\u041E\u0419 \u0428\u0410\u041D\u0421",content:"\u0412 \u043F\u0440\u043E\u0448\u043B\u043E\u043C \u043C\u043D\u043E\u0433\u0438\u0435 \u0443\u0431\u0438\u0439\u0446\u044B \u043F\u0440\u043E\u0432\u0430\u043B\u0438\u0432\u0430\u044F \u0441\u0432\u043E\u0438 \u043C\u0438\u0441\u0441\u0438\u0438 \u0441\u043E\u0432\u0435\u0440\u0448\u0430\u043B\u0438 \u0441\u0430\u043C\u043E\u0443\u0431\u0438\u0439\u0441\u0442\u0432\u0430 \u0438\u043B\u0438 \u043E\u043A\u0430\u0437\u044B\u0432\u0430\u043B\u0438\u0441\u044C \u0432 \u043B\u0430\u043F\u0430\u0445 \u0432\u0440\u0430\u0433\u0430. \n\u0421\u0435\u0439\u0447\u0430\u0441 \u0436\u0435 \u0435\u0441\u0442\u044C \u0434\u043E\u0432\u043E\u043B\u044C\u043D\u043E \u0434\u043E\u0440\u043E\u0433\u0430\u044F \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u0430. \u041C\u043E\u0449\u043D\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0435 \u0434\u043E\u0441\u0442\u0430\u0442\u044C \u0432\u0430\u0441 \u043F\u0440\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441 \u0442\u043E\u0433\u043E \u0441\u0432\u0435\u0442\u0430. \n\u042D\u0442\u0430 \u043C\u0430\u0448\u0438\u043D\u0430 \u043F\u043E\u0437\u0432\u043E\u043B\u0438\u0442 \u0432\u0430\u043C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0432\u0442\u043E\u0440\u043E\u0439 \u0448\u0430\u043D\u0441, \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0432 \u0432\u0430\u0441 \u043A \u0441\u0435\u0431\u0435 \u0438 \u0438\u0437\u043B\u0435\u0447\u0438\u0432 \u043B\u044E\u0431\u044B\u0435 \u0442\u0440\u0430\u0432\u043C\u044B. \n\u041C\u044B \u0441\u043B\u044B\u0448\u0430\u043B\u0438 \u043F\u0440\u043E \u0441\u043E\u043C\u043D\u0435\u043D\u0438\u044F \u0437\u0430\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u043D\u0430 \u0438\u0434\u0435\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u043F\u0440\u043E\u0441\u0442\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u043A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0447\u043B\u0435\u043D\u043E\u0432 \u043A\u043B\u0430\u043D\u0430. \u041D\u043E \u0443\u0432\u0435\u0440\u044F\u0435\u043C \u0432\u0430\u0441, \u044D\u0442\u043E \u043D\u0435 \u0442\u0430\u043A. \n\u041A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E \u0438\u0437-\u0437\u0430 \u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u0437\u0430\u0442\u0440\u0430\u0442 \u043D\u0430 \u043B\u0435\u0447\u0435\u043D\u0438\u0435 \u0438 \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u044E. \u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0441\u043F\u0430\u0441\u0451\u0442 \u0432\u0430\u0441 \u043B\u0438\u0448\u044C \u043E\u0434\u0438\u043D \u0440\u0430\u0437. \n\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438, \u043A\u043E\u0433\u0434\u0430 \u0432\u044B \u0431\u0443\u0434\u0435\u0442\u0435 \u043F\u0440\u0438 \u0441\u043C\u0435\u0440\u0442\u0438.",position:"right"})]})]})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"33%",shrink:1,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0442\u0430\u043B\u044C",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u042F\u0440\u043E\u0441\u0442\u044C \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430\u044F \u043E\u0431\u044B\u0447\u043D\u044B\u043C \u043B\u044E\u0434\u044F\u043C. \u0421\u0438\u043B\u0430, \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0438 \u043E\u0440\u0443\u0434\u0438\u044F \u0432\u044B\u0448\u0435 \u0438\u0445 \u043F\u043E\u043D\u0438\u043C\u0430\u043D\u0438\u044F. \u0420\u0430\u0437\u0438\u0442\u0435 \u0438\u0445 \u043A\u0430\u043A \u0445\u0438\u0449\u043D\u0438\u043A \u0447\u0442\u043E \u0440\u0430\u0437\u0438\u0442 \u0441\u0432\u043E\u044E \u0434\u043E\u0431\u044B\u0447\u0443. \u041F\u043E\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043C \u0445\u043E\u043B\u043E\u0434\u043D\u044B\u0439 \u0432\u043A\u0443\u0441 \u0441\u0442\u0430\u043B\u0438!",tooltipPosition:"bottom"}),style:{"text-align":"center",background:"rgba(80, 20, 20, 1)"}}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_red",success:0,danger:0,align:"center",children:[(0,e.createComponentVNode)(2,t.Button,{className:N[0]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[0],onClick:function(){function B(){return g("give_ability",{style:"shuriken",row:"1"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.shuriken,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041D\u0415\u0420\u0413\u0415\u0422\u0418\u0427\u0415\u0421\u041A\u0418\u0415 \u0421\u042E\u0420\u0418\u041A\u0415\u041D\u042B",content:"\u0410\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442 \u043F\u0443\u0441\u043A\u043E\u0432\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0441\u043A\u0440\u044B\u0442\u043E\u0435 \u0432 \u043F\u0435\u0440\u0447\u0430\u0442\u043A\u0430\u0445 \u043A\u043E\u0441\u0442\u044E\u043C\u0430. \n\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0432\u044B\u043F\u0443\u0441\u043A\u0430\u0435\u0442 \u043F\u043E \u0442\u0440\u0438 \u0441\u044E\u0440\u0438\u043A\u0435\u043D\u0430, \u0441\u0434\u0435\u043B\u0430\u043D\u043D\u044B\u0445 \u0438\u0437 \u0441\u0436\u0430\u0442\u043E\u0439 \u044D\u043D\u0435\u0440\u0433\u0438\u0438, \u043E\u0447\u0435\u0440\u0435\u0434\u044C\u044E. \n\u0421\u044E\u0440\u0438\u043A\u0435\u043D\u044B \u043F\u043E\u0441\u0442\u0435\u043F\u0435\u043D\u043D\u043E \u0438\u0437\u043D\u0443\u0440\u044F\u044E\u0442 \u0432\u0440\u0430\u0433\u043E\u0432 \u0438 \u043D\u0430\u043D\u043E\u0441\u044F\u0442 \u0441\u043B\u0430\u0431\u044B\u0439 \u043E\u0436\u043E\u0433\u043E\u0432\u044B\u0439 \u0443\u0440\u043E\u043D. \n\u0422\u0430\u043A \u0436\u0435 \u043E\u043D\u0438 \u043F\u0440\u043E\u043B\u0435\u0442\u0430\u044E\u0442 \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0435\u043A\u043B\u043E, \u043A\u0430\u043A \u0438 \u043E\u0431\u044B\u0447\u043D\u044B\u0435 \u043B\u0430\u0437\u0435\u0440\u043D\u044B\u0435 \u0441\u043D\u0430\u0440\u044F\u0434\u044B. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0432\u044B\u0441\u0442\u0440\u0435\u043B\u0430: 300 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[1]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[1],onClick:function(){function B(){return g("give_ability",{style:"adrenal",row:"2"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.adrenal,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0421\u041F\u041B\u0415\u0421\u041A \u0410\u0414\u0420\u0415\u041D\u0410\u041B\u0418\u041D\u0410",content:"\u041C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E \u0432\u0432\u043E\u0434\u0438\u0442 \u0432 \u0432\u0430\u0441 \u043C\u043E\u0449\u043D\u0443\u044E \u044D\u043A\u0441\u043F\u0435\u0440\u0435\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u0443\u044E \u0441\u044B\u0432\u043E\u0440\u043E\u0442\u043A\u0443 \u0443\u0441\u043A\u043E\u0440\u044F\u044E\u0449\u0443\u044E \u0432\u0430\u0441 \u0432 \u0431\u043E\u044E \u0438 \u043F\u043E\u043C\u043E\u0433\u0430\u044E\u0449\u0443\u044E \u0431\u044B\u0441\u0442\u0440\u0435\u0435 \u043E\u043A\u043B\u0435\u043C\u0430\u0442\u044C\u0441\u044F \u043E\u0442 \u043E\u0433\u043B\u0443\u0448\u0430\u044E\u0449\u0438\u0445 \u044D\u0444\u0444\u0435\u043A\u0442\u043E\u0432. \n\u041A\u043E\u0441\u0442\u044E\u043C \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442 \u0441\u044B\u0432\u043E\u0440\u043E\u0442\u043A\u0443 \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0443\u0440\u0430\u043D\u0430. \u0427\u0442\u043E \u043A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E \u0434\u0430\u0451\u0442 \u043D\u0435\u043F\u0440\u0438\u044F\u0442\u043D\u044B\u0439 \u043D\u0435\u0433\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u044D\u0444\u0444\u0435\u043A\u0442, \u0432 \u0432\u0438\u0434\u0435 \u043D\u0430\u043A\u043E\u043F\u043B\u0435\u043D\u0438\u044F \u0440\u0430\u0434\u0438\u044F \u0432 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u043C\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F. \n\u0412\u043C\u0435\u0441\u0442\u043E \u0442\u0440\u0430\u0442\u044B \u044D\u043D\u0435\u0440\u0433\u0438\u0438 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043E \u043B\u0438\u0448\u044C \u043E\u0434\u0438\u043D \u0440\u0430\u0437, \u043F\u043E\u043A\u0430 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0436\u0435\u043D\u043E \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0446\u0435\u043B\u044C\u043D\u044B\u0445 \u043A\u0443\u0441\u043A\u043E\u0432 \u0443\u0440\u0430\u043D\u0430 \u043F\u043E\u043C\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u043A\u043E\u0441\u0442\u044E\u043C.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[2]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[2],onClick:function(){function B(){return g("give_ability",{style:"emp",row:"3"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.emp,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041B\u0415\u041A\u0422\u0420\u041E\u041C\u0410\u0413\u041D\u0418\u0422\u041D\u042B\u0419 \u0412\u0417\u0420\u042B\u0412",content:"\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043C\u0430\u0433\u043D\u0438\u0442\u043D\u044B\u0435 \u0432\u043E\u043B\u043D\u044B \u0432\u044B\u043A\u043B\u044E\u0447\u0430\u044E\u0442, \u043F\u043E\u0434\u0440\u044B\u0432\u0430\u044E\u0442 \u0438\u043B\u0438 \u0438\u043D\u0430\u0447\u0435 \u043F\u043E\u0432\u0440\u0435\u0436\u0434\u0430\u044E\u0442 - \u043A\u0438\u0431\u043E\u0440\u0433\u043E\u0432, \u0434\u0440\u043E\u043D\u043E\u0432, \u041A\u041F\u0411, \u044D\u043D\u0435\u0440\u0433\u0435\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043E\u0440\u0443\u0436\u0438\u0435, \u043F\u043E\u0440\u0442\u0430\u0442\u0438\u0432\u043D\u044B\u0435 \u0421\u0432\u0435\u0442\u043E\u0448\u0443\u043C\u043E\u0432\u044B\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430, \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430 \u0441\u0432\u044F\u0437\u0438 \u0438 \u0442.\u0434. \n\u042D\u0442\u043E\u0442 \u0432\u0437\u0440\u044B\u0432 \u043C\u043E\u0436\u0435\u0442 \u043A\u0430\u043A \u043F\u043E\u043C\u043E\u0447\u044C \u0432\u0430\u043C \u0432 \u0431\u043E\u044E, \u0442\u0430\u043A \u0438 \u043D\u0435\u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E \u043D\u0430\u0432\u0440\u0435\u0434\u0438\u0442\u044C. \u0412\u043D\u0438\u043C\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u043E\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0439\u0442\u0435 \u043C\u0435\u0441\u0442\u043D\u043E\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u0434 \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u0435\u043C. \n\u041D\u0435 \u0437\u0430\u0431\u044B\u0432\u0430\u0439\u0442\u0435 \u043E \u0437\u0430\u0449\u0438\u0449\u0430\u044E\u0449\u0435\u043C \u043E\u0442 \u0441\u0432\u0435\u0442\u0430 \u0440\u0435\u0436\u0438\u043C\u0435 \u0432\u0430\u0448\u0435\u0433\u043E \u0432\u0438\u0437\u043E\u0440\u0430. \u041E\u043D \u043C\u043E\u0436\u0435\u0442 \u043F\u043E\u043C\u043E\u0447\u044C \u043D\u0435 \u043E\u0441\u043B\u0435\u043F\u043D\u0443\u0442\u044C, \u043F\u0440\u0438 \u043F\u043E\u0434\u0440\u044B\u0432\u0435 \u043F\u043E\u0434\u043E\u0431\u043D\u044B\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432. \n\u0412\u0437\u0440\u044B\u0432 - \u043F\u0440\u0435\u0440\u044B\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0435 \u044D\u0444\u0444\u0435\u043A\u0442\u044B \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0430 \u0432\u0430\u0441. \u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u043D\u0435\u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 5000 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 4 \u0441\u0435\u043A\u0443\u043D\u0434\u044B.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[3]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[3],onClick:function(){function B(){return g("give_ability",{style:"energynet",row:"4"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.energynet,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041D\u0415\u0420\u0413\u0415\u0422\u0418\u0427\u0415\u0421\u041A\u0410\u042F \u0421\u0415\u0422\u042C",content:"\u041C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E \u043B\u043E\u0432\u0438\u0442 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u0432\u0430\u043C\u0438 \u0446\u0435\u043B\u044C \u0432 \u043E\u0431\u0435\u0437\u0434\u0432\u0438\u0436\u0438\u0432\u0430\u044E\u0449\u0443\u044E \u043B\u043E\u0432\u0443\u0448\u043A\u0443. \n\u0418\u0437 \u043B\u043E\u0432\u0443\u0448\u043A\u0438 \u043B\u0435\u0433\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043B\u043E\u043C\u0430\u0432 \u0435\u0451 \u043B\u044E\u0431\u044B\u043C \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u043E\u043C. \n\u041E\u0442\u043B\u0438\u0447\u043D\u043E \u043F\u043E\u0434\u0445\u043E\u0434\u0438\u0442 \u0434\u043B\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u043D\u0435\u0439\u0442\u0440\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438 \u043E\u0434\u043D\u043E\u0433\u043E \u0432\u0440\u0430\u0433\u0430. \n\u041A \u0442\u043E\u043C\u0443 \u0436\u0435 \u0432 \u043D\u0435\u0451 \u043C\u043E\u0436\u043D\u043E \u043F\u043E\u0439\u043C\u0430\u0442\u044C \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043D\u044B\u0445 \u0436\u0438\u0432\u043E\u0442\u043D\u044B\u0445 \u0438\u043B\u0438 \u043D\u0430\u0434\u043E\u0435\u0434\u043B\u0438\u0432\u044B\u0445 \u043E\u0445\u0440\u0430\u043D\u043D\u044B\u0445 \u0431\u043E\u0442\u043E\u0432. \n\u0423\u0447\u0438\u0442\u044B\u0432\u0430\u0439\u0442\u0435, \u0447\u0442\u043E \u0441\u0435\u0442\u044C \u043D\u0435 \u043C\u0435\u0448\u0430\u0435\u0442 \u0436\u0435\u0440\u0442\u0432\u0435 \u043E\u0442\u0441\u0442\u0440\u0435\u043B\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043E\u0442 \u0432\u0430\u0441. \n\u0422\u0430\u043A \u0436\u0435 \u0441\u0435\u0442\u044C \u043B\u0435\u0433\u043A\u043E \u043F\u043E\u043A\u0438\u043D\u0443\u0442\u044C \u0434\u0440\u0443\u0433\u0438\u043C \u043F\u0443\u0442\u0451\u043C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u0435\u0439. \n\u0410\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u044F \u0441\u0435\u0442\u0438 - \u043F\u0440\u0435\u0440\u044B\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0435 \u044D\u0444\u0444\u0435\u043A\u0442\u044B \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0430 \u0432\u0430\u0441. \u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u043D\u0435\u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 4000 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[4]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[4],onClick:function(){function B(){return g("give_ability",{style:"spider_red",row:"5"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.spider_red,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0411\u041E\u0415\u0412\u041E\u0415 \u0418\u0421\u041A\u0423\u0421\u0421\u0422\u0412\u041E \n\u041F\u041E\u041B\u0417\u0423\u0427\u0415\u0419 \u0412\u0414\u041E\u0412\u042B",content:"\u0411\u043E\u0435\u0432\u043E\u0435 \u0438\u0441\u043A\u0443\u0441\u0441\u0442\u0432\u043E \u043D\u0438\u043D\u0434\u0437\u044F \u0441\u043E\u0441\u0440\u0435\u0434\u043E\u0442\u043E\u0447\u0435\u043D\u043D\u043E\u0435 \u043D\u0430 \u043D\u0430\u043A\u043E\u043F\u043B\u0435\u043D\u0438\u0438 \u043A\u043E\u043D\u0446\u0435\u043D\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0440\u0438\u0451\u043C\u043E\u0432. \n\u0412 \u0443\u0447\u0435\u043D\u0438\u0435 \u0432\u0445\u043E\u0434\u044F\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043F\u0440\u0438\u0451\u043C\u044B: \n\u0412\u044B\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435 \u0440\u0443\u043A\u0438 - \u0437\u0430\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0436\u0435\u0440\u0442\u0432\u0443 \u0432\u044B\u0440\u043E\u043D\u0438\u0442\u044C \u0441\u0432\u043E\u0451 \u043E\u0440\u0443\u0436\u0438\u0435. \n\u0423\u0434\u0430\u0440 \u043B\u0430\u0434\u043E\u043D\u044C\u044E - \u043E\u0442\u043A\u0438\u0434\u044B\u0432\u0430\u0435\u0442 \u0436\u0435\u0440\u0442\u0432\u0443 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043C\u0435\u0442\u0440\u043E\u0432 \u043E\u0442 \u0432\u0430\u0441, \u043B\u0438\u0448\u0430\u044F \u0440\u0430\u0432\u043D\u043E\u0432\u0435\u0441\u0438\u044F. \n\u041F\u0435\u0440\u0435\u0440\u0435\u0437\u0430\u043D\u0438\u0435 \u0448\u0435\u0438 - \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E \u043E\u0431\u0435\u0437\u0433\u043B\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 \u043B\u0435\u0436\u0430\u0447\u0443\u044E \u0436\u0435\u0440\u0442\u0432\u0443 \u043A\u0430\u0442\u0430\u043D\u043E\u0439 \u0432\u043E \u0432\u0441\u043F\u043E\u043C\u043E\u0433\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0440\u0443\u043A\u0435. \n\u042D\u043D\u0435\u0440\u0433\u0435\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0442\u043E\u0440\u043D\u0430\u0434\u043E - \u0440\u0430\u0441\u043A\u0438\u0434\u044B\u0432\u0430\u0435\u0442 \u0432\u0440\u0430\u0433\u043E\u0432 \u0432\u043E\u043A\u0440\u0443\u0433 \u0432\u0430\u0441 \u0438 \u0441\u043E\u0437\u0434\u0430\u0451\u0442 \u043E\u0431\u043B\u0430\u043A\u043E \u0434\u044B\u043C\u0430 \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0434\u044B\u043C\u043E\u0432\u043E\u0433\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430 \u0438 \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u0422\u0430\u043A \u0436\u0435 \u0432\u044B \u043E\u0431\u0443\u0447\u0430\u0435\u0442\u0435\u0441\u044C \u0441 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u043C \u0448\u0430\u043D\u0441\u043E\u043C \u043E\u0442\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u043D\u044F\u0440\u044F\u0434\u044B \u0432\u0440\u0430\u0433\u043E\u0432 \u043E\u0431\u0440\u0430\u0442\u043D\u043E.",position:"right"})]})]})]})]})})},m=r.ShuttleConsole=function(){function f(l,v){var b=(0,a.useBackend)(v),g=b.act,h=b.data;return(0,e.createComponentVNode)(2,t.Section,{title:"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0448\u0430\u0442\u0442\u043B\u043E\u043C",style:{"text-align":"center"},buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u041F\u0430\u043D\u0435\u043B\u044C \u0434\u043B\u044F \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0432\u0430\u0448\u0438\u043C \u043B\u0438\u0447\u043D\u044B\u043C \u0448\u0430\u0442\u0442\u043B\u043E\u043C. \u0422\u0430\u043A \u0436\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0432\u0430\u0448\u0443 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438 \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0441\u0430\u043C\u043E\u0433\u043E \u0448\u0430\u0442\u0442\u043B\u0430!",tooltipPosition:"right"}),children:(0,e.createComponentVNode)(2,t.Flex,{ml:2,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F",children:h.status?h.status:(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"Shuttle Missing"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0412\u0430\u0448\u0430 \u043F\u043E\u0437\u0438\u0446\u0438\u044F",children:h.player_pos}),!!h.shuttle&&(!!h.docking_ports_len&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0448\u0430\u0442\u0442\u043B",children:h.docking_ports.map(function(C){return(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",content:C.name,onClick:function(){function N(){return g("move",{move:C.id})}return N}()},C.name)})})||(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledListItem,{label:"Status",color:"red",children:(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"Shuttle Locked"})}),!!h.admin_controlled&&(0,e.createComponentVNode)(2,o.LabeledListItem,{label:"\u0410\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-circle",content:"\u0417\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u044E",disabled:!h.status,onClick:function(){function C(){return g("request")}return C}()})})],0))]})})})}return f}(),u=function(l,v){var b=(0,a.useBackend)(v),g=b.data,h=g.randomPercent,C=g.allActionsPreview,N=g.color_choice;return(0,e.createComponentVNode)(2,t.Section,{stretchContents:!0,children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:N,value:h,minValue:0,maxValue:100,children:(0,e.createVNode)(1,"center",null,(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_"+N,mt:1,children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C["spider_"+N],style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Loading ",h+"%"]}),2)})})},d=function(f){function l(b){var g;return g=f.call(this,b)||this,g.timer=null,g.state={lastText:"text do be there",currentDisplay:[]},g}y(l,f);var v=l.prototype;return v.tick=function(){function b(){var g=this.props,h=this.state;if(g.allMessages!==h.lastText&&!g.end_terminal){var C=h.currentDisplay;C.push(g.allMessages),h.lastText=g.allMessages}else g.end_terminal&&(clearTimeout(this.timer),setTimeout(g.onFinished,g.finishedTimeout))}return b}(),v.componentDidMount=function(){function b(){var g=this,h=this.props.linesPerSecond,C=h===void 0?2.5:h;this.timer=setInterval(function(){return g.tick()},1e3/C)}return b}(),v.componentWillUnmount=function(){function b(){clearTimeout(this.timer)}return b}(),v.render=function(){function b(){return(0,e.createComponentVNode)(2,t.Box,{m:1,children:this.state.currentDisplay.map(function(g){return(0,e.createFragment)([g,(0,e.createVNode)(1,"br")],0,g)})})}return b}(),l}(e.Component)},38307:function(I,r,n){"use strict";r.__esModule=!0,r.StationAlertConsoleContent=r.StationAlertConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.StationAlertConsole=function(){function V(){return(0,e.createComponentVNode)(2,o.Window,{width:325,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,y)})})}return V}(),y=r.StationAlertConsoleContent=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.data,c=i.alarms||[];return Object.keys(c).map(function(m){var u,d;return(0,e.createComponentVNode)(2,t.Section,{title:m+" Alarms",children:(0,e.createVNode)(1,"ul",null,((u=c[m])==null?void 0:u.length)===0?(0,e.createVNode)(1,"li","color-good","Systems Nominal",16):(d=c[m])==null?void 0:d.map(function(f){return(0,e.createVNode)(1,"li","color-average",f,0,null,f)}),0)},m)})}return V}()},39409:function(I,r,n){"use strict";r.__esModule=!0,r.StripMenu=void 0;var e=n(89005),a=n(88510),t=n(79140),o=n(72253),s=n(36036),y=n(98595),V=5,k=9,S=function(b){return b===0?5:9},p="64px",i=function(b){return b[0]+"/"+b[1]},c=function(b){var g=b.align,h=b.children;return(0,e.createComponentVNode)(2,s.Box,{style:{position:"absolute",left:g==="left"?"6px":"48px","text-align":g,"text-shadow":"2px 2px 2px #000",top:"2px"},children:h})},m={enable_internals:{icon:"lungs",text:"Enable internals"},disable_internals:{icon:"lungs",text:"Disable internals"},enable_lock:{icon:"lock",text:"Enable lock"},disable_lock:{icon:"unlock",text:"Disable lock"},suit_sensors:{icon:"tshirt",text:"Adjust suit sensors"},remove_accessory:{icon:"medal",text:"Remove accessory"},dislodge_headpocket:{icon:"head-side-virus",text:"Dislodge headpocket"}},u={neck:{displayName:"neck",gridSpot:i([0,0]),image:"inventory-neck.png"},eyes:{displayName:"eyewear",gridSpot:i([1,0]),image:"inventory-glasses.png"},head:{displayName:"headwear",gridSpot:i([0,1]),image:"inventory-head.png"},mask:{displayName:"mask",gridSpot:i([1,1]),image:"inventory-mask.png"},pet_collar:{displayName:"collar",gridSpot:i([1,1]),image:"inventory-collar.png"},right_ear:{displayName:"right ear",gridSpot:i([0,2]),image:"inventory-ears.png"},left_ear:{displayName:"left ear",gridSpot:i([1,2]),image:"inventory-ears.png"},parrot_headset:{displayName:"headset",gridSpot:i([1,2]),image:"inventory-ears.png"},handcuffs:{displayName:"handcuffs",gridSpot:i([1,3])},legcuffs:{displayName:"legcuffs",gridSpot:i([1,4])},jumpsuit:{displayName:"uniform",gridSpot:i([2,0]),image:"inventory-uniform.png"},suit:{displayName:"suit",gridSpot:i([2,1]),image:"inventory-suit.png"},gloves:{displayName:"gloves",gridSpot:i([2,2]),image:"inventory-gloves.png"},right_hand:{displayName:"right hand",gridSpot:i([2,3]),image:"inventory-hand_r.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"left",children:"R"})},left_hand:{displayName:"left hand",gridSpot:i([2,4]),image:"inventory-hand_l.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"right",children:"L"})},shoes:{displayName:"shoes",gridSpot:i([3,1]),image:"inventory-shoes.png"},suit_storage:{displayName:"suit storage",gridSpot:i([4,0]),image:"inventory-suit_storage.png"},id:{displayName:"ID",gridSpot:i([4,1]),image:"inventory-id.png"},belt:{displayName:"belt",gridSpot:i([4,2]),image:"inventory-belt.png"},back:{displayName:"backpack",gridSpot:i([4,3]),image:"inventory-back.png"},left_pocket:{displayName:"left pocket",gridSpot:i([3,4]),image:"inventory-pocket.png"},right_pocket:{displayName:"right pocket",gridSpot:i([3,3]),image:"inventory-pocket.png"},pda:{displayName:"PDA",gridSpot:i([4,4]),image:"inventory-pda.png"}},d={neck:{displayName:"neck",gridSpot:i([0,0]),image:"inventory-neck.png"},eyes:{displayName:"eyewear",gridSpot:i([1,0]),image:"inventory-glasses.png"},head:{displayName:"headwear",gridSpot:i([0,1]),image:"inventory-head.png"},mask:{displayName:"mask",gridSpot:i([1,1]),image:"inventory-mask.png"},pet_collar:{displayName:"collar",gridSpot:i([1,1]),image:"inventory-collar.png"},right_ear:{displayName:"right ear",gridSpot:i([0,2]),image:"inventory-ears.png"},left_ear:{displayName:"left ear",gridSpot:i([1,2]),image:"inventory-ears.png"},parrot_headset:{displayName:"headset",gridSpot:i([1,2]),image:"inventory-ears.png"},handcuffs:{displayName:"handcuffs",gridSpot:i([1,3])},legcuffs:{displayName:"legcuffs",gridSpot:i([1,4])},jumpsuit:{displayName:"uniform",gridSpot:i([2,0]),image:"inventory-uniform.png"},suit:{displayName:"suit",gridSpot:i([2,1]),image:"inventory-suit.png"},gloves:{displayName:"gloves",gridSpot:i([2,2]),image:"inventory-gloves.png"},right_hand:{displayName:"right hand",gridSpot:i([4,4]),image:"inventory-hand_r.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"left",children:"R"})},left_hand:{displayName:"left hand",gridSpot:i([4,5]),image:"inventory-hand_l.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"right",children:"L"})},shoes:{displayName:"shoes",gridSpot:i([3,1]),image:"inventory-shoes.png"},suit_storage:{displayName:"suit storage",gridSpot:i([4,0]),image:"inventory-suit_storage.png"},id:{displayName:"ID",gridSpot:i([4,1]),image:"inventory-id.png"},belt:{displayName:"belt",gridSpot:i([4,2]),image:"inventory-belt.png"},back:{displayName:"backpack",gridSpot:i([4,3]),image:"inventory-back.png"},left_pocket:{displayName:"left pocket",gridSpot:i([4,7]),image:"inventory-pocket.png"},right_pocket:{displayName:"right pocket",gridSpot:i([4,6]),image:"inventory-pocket.png"},pda:{displayName:"PDA",gridSpot:i([4,8]),image:"inventory-pda.png"}},f=function(v){return v[v.Completely=1]="Completely",v[v.Hidden=2]="Hidden",v}(f||{}),l=r.StripMenu=function(){function v(b,g){var h=(0,o.useBackend)(g),C=h.act,N=h.data,x=new Map;if(N.show_mode===0)for(var B=0,L=Object.keys(N.items);B300?"bad":m>150?"average":"good"},k=function(m){return m>5e3?"bad":m>4e3?"average":"good"},S=function(m){return m>1e4?"bad":m>5e3?"average":"good"},p=function(m,u){var d=(0,a.useBackend)(u),f=d.act,l=d.data;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:325,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Detected Supermatter Shards",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Refresh",onClick:function(){function v(){return f("refresh")}return v}()}),children:(0,e.createComponentVNode)(2,t.Box,{m:1,children:l.supermatters.length===0?(0,e.createVNode)(1,"h3",null,"No shards detected",16):(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,s.TableCell,{children:"Area"}),(0,e.createComponentVNode)(2,s.TableCell,{children:"Integrity"}),(0,e.createComponentVNode)(2,s.TableCell,{children:"Details"})]}),l.supermatters.map(function(v){return(0,e.createComponentVNode)(2,s.TableRow,{children:[(0,e.createComponentVNode)(2,s.TableCell,{children:v.area_name}),(0,e.createComponentVNode)(2,s.TableCell,{children:[v.integrity,"%"]}),(0,e.createComponentVNode)(2,s.TableCell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"View",onClick:function(){function b(){return f("view",{view:v.uid})}return b}()})})]},v)})]})})})})})},i=function(m,u){var d=(0,a.useBackend)(u),f=d.act,l=d.data;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:325,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Crystal Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"caret-square-left",content:"Back",onClick:function(){function v(){return f("back")}return v}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Core Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[95,1/0],average:[80,94],bad:[-1/0,79]},minValue:"0",maxValue:"100",value:l.SM_integrity,children:[l.SM_integrity,"%"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Relative EER",children:(0,e.createComponentVNode)(2,t.Box,{color:V(l.SM_power),children:[l.SM_power," MeV/cm3"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.Box,{color:k(l.SM_ambienttemp),children:[l.SM_ambienttemp," K"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:(0,e.createComponentVNode)(2,t.Box,{color:S(l.SM_ambientpressure),children:[l.SM_ambientpressure," kPa"]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Gas Composition",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen",children:[l.SM_gas_O2,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Carbon Dioxide",children:[l.SM_gas_CO2,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrogen",children:[l.SM_gas_N2,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Plasma",children:[l.SM_gas_PL,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Other",children:[l.SM_gas_OTHER,"%"]})]})})]})})}},46029:function(I,r,n){"use strict";r.__esModule=!0,r.SyndicateComputerSimple=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(29319),s=n(98595),y=r.SyndicateComputerSimple=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data;return(0,e.createComponentVNode)(2,s.Window,{width:400,height:400,theme:"syndicate",children:(0,e.createComponentVNode)(2,s.Window.Content,{children:c.rows.map(function(m){return(0,e.createComponentVNode)(2,t.Section,{title:m.title,buttons:(0,e.createComponentVNode)(2,t.Button,{content:m.buttontitle,disabled:m.buttondisabled,tooltip:m.buttontooltip,tooltipPosition:"left",onClick:function(){function u(){return i(m.buttonact)}return u}()}),children:[m.status,!!m.bullets&&(0,e.createComponentVNode)(2,t.Box,{children:m.bullets.map(function(u){return(0,e.createComponentVNode)(2,t.Box,{children:u},u)})})]},m.title)})})})}return V}()},99279:function(I,r,n){"use strict";r.__esModule=!0,r.SyndieCargoConsole=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),s=n(36036),y=n(98595),V=n(29319),k=n(25328),S=r.SyndieCargoConsole=function(){function u(d,f){return(0,e.createComponentVNode)(2,y.Window,{width:900,height:800,theme:"syndicate",children:(0,e.createComponentVNode)(2,y.Window.Content,{children:[(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,m)]})})}return u}(),p=function(d,f){var l=(0,o.useLocalState)(f,"contentsModal",null),v=l[0],b=l[1],g=(0,o.useLocalState)(f,"contentsModalTitle",null),h=g[0],C=g[1];if(v!==null&&h!==null)return(0,e.createComponentVNode)(2,s.Modal,{maxWidth:"75%",width:window.innerWidth+"px",maxHeight:window.innerHeight*.75+"px",mx:"auto",children:[(0,e.createComponentVNode)(2,s.Box,{width:"100%",bold:!0,children:(0,e.createVNode)(1,"h1",null,[h,(0,e.createTextVNode)(" contents:")],0)}),(0,e.createComponentVNode)(2,s.Box,{children:v.map(function(N){return(0,e.createComponentVNode)(2,s.Box,{children:["- ",N]},N)})}),(0,e.createComponentVNode)(2,s.Box,{m:2,children:(0,e.createComponentVNode)(2,s.Button,{content:"Close",onClick:function(){function N(){b(null),C(null)}return N}()})})]})},i=function(d,f){var l=(0,o.useBackend)(f),v=l.act,b=l.data,g=b.is_public,h=g===void 0?0:g,C=b.cash,N=b.wait_time,x=b.is_cooldown,B=b.telepads_status,L=b.adminAddCash,w=B,A="",T=0,E="";return B==="Pads not linked!"?(T=0,A="Attempts to link telepads to the console.",E="Link pads"):x?x&&(E="Cooldown...",A="Pads are cooling off...",T=1,N!==1?w=""+B+" (ETA: "+N+" seconds)":w=""+B+" (ETA: "+N+" second)"):(T=0,A="Teleports your crates to the market. A reminder, some of the crates are directly stolen from NT trading routes. That means they can be locked. We are NOT sorry for the inconvenience",E="Teleport"),(0,e.createComponentVNode)(2,s.Section,{title:"Status",children:(0,e.createComponentVNode)(2,s.LabeledList,{children:[h===0&&(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Money Available",children:[C,(0,e.createComponentVNode)(2,s.Button,{tooltip:"Withdraw money from the console",content:"Withdraw",onClick:function(){function O(){return v("withdraw",C)}return O}()}),(0,e.createComponentVNode)(2,s.Button,{content:L,tooltip:"Bless the players with da money!",onClick:function(){function O(){return v("add_money",C)}return O}()})]}),(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Telepads Status",children:w}),h===0&&(0,e.createComponentVNode)(2,s.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,s.Button,{content:E,tooltip:A,disabled:T,onClick:function(){function O(){return v("teleport")}return O}()}),(0,e.createComponentVNode)(2,s.Button,{content:"View Syndicate Black Market Log",onClick:function(){function O(){return v("showMessages")}return O}()})]})]})})},c=function(d,f){var l=(0,o.useBackend)(f),v=l.act,b=l.data,g=b.categories,h=b.supply_packs,C=(0,o.useSharedState)(f,"category","Emergency"),N=C[0],x=C[1],B=(0,o.useSharedState)(f,"search_text",""),L=B[0],w=B[1],A=(0,o.useLocalState)(f,"contentsModal",null),T=A[0],E=A[1],O=(0,o.useLocalState)(f,"contentsModalTitle",null),P=O[0],R=O[1],F=(0,k.createSearch)(L,function(H){return H.name}),j=(0,a.flow)([(0,t.filter)(function(H){return H.cat===g.filter(function(z){return z.name===N})[0].category||L}),L&&(0,t.filter)(F),(0,t.sortBy)(function(H){return H.name.toLowerCase()})])(h),W="Crate Catalogue";return L?W="Results for '"+L+"':":N&&(W="Browsing "+N),(0,e.createComponentVNode)(2,s.Section,{title:W,buttons:(0,e.createComponentVNode)(2,s.Dropdown,{width:"190px",options:g.map(function(H){return H.name}),selected:N,onSelected:function(){function H(z){return x(z)}return H}()}),children:[(0,e.createComponentVNode)(2,s.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function H(z,Y){return w(Y)}return H}(),mb:1}),(0,e.createComponentVNode)(2,s.Box,{maxHeight:25,overflowY:"auto",overflowX:"hidden",children:(0,e.createComponentVNode)(2,s.Table,{m:"0.5rem",children:j.map(function(H){return(0,e.createComponentVNode)(2,s.Table.Row,{children:[(0,e.createComponentVNode)(2,s.Table.Cell,{bold:!0,children:[H.name," (",H.cost," Credits)"]}),(0,e.createComponentVNode)(2,s.Table.Cell,{textAlign:"right",pr:1,children:[(0,e.createComponentVNode)(2,s.Button,{content:"Order 1",icon:"shopping-cart",onClick:function(){function z(){return v("order",{crate:H.ref,multiple:0})}return z}()}),(0,e.createComponentVNode)(2,s.Button,{content:"Order Multiple",icon:"cart-plus",onClick:function(){function z(){return v("order",{crate:H.ref,multiple:1})}return z}()}),(0,e.createComponentVNode)(2,s.Button,{content:"View Contents",icon:"search",onClick:function(){function z(){E(H.contents),R(H.name)}return z}()})]})]},H.name)})})})]})},m=function(d,f){var l=(0,o.useBackend)(f),v=l.act,b=l.data,g=b.requests,h=b.canapprove,C=b.orders;return(0,e.createComponentVNode)(2,s.Section,{title:"Details",children:(0,e.createComponentVNode)(2,s.Box,{maxHeight:15,overflowY:"auto",overflowX:"hidden",children:[(0,e.createComponentVNode)(2,s.Box,{bold:!0,children:"Requests"}),(0,e.createComponentVNode)(2,s.Table,{m:"0.5rem",children:g.map(function(N){return(0,e.createComponentVNode)(2,s.Table.Row,{children:[(0,e.createComponentVNode)(2,s.Table.Cell,{children:[(0,e.createComponentVNode)(2,s.Box,{children:["- #",N.ordernum,": ",N.supply_type," for ",(0,e.createVNode)(1,"b",null,N.orderedby,0)]}),(0,e.createComponentVNode)(2,s.Box,{italic:!0,children:["Reason: ",N.comment]})]}),(0,e.createComponentVNode)(2,s.Table.Cell,{textAlign:"right",pr:1,children:[(0,e.createComponentVNode)(2,s.Button,{content:"Approve",color:"green",disabled:!h,onClick:function(){function x(){return v("approve",{ordernum:N.ordernum})}return x}()}),(0,e.createComponentVNode)(2,s.Button,{content:"Deny",color:"red",onClick:function(){function x(){return v("deny",{ordernum:N.ordernum})}return x}()})]})]},N.ordernum)})}),(0,e.createComponentVNode)(2,s.Box,{bold:!0,children:"Confirmed Orders"}),(0,e.createComponentVNode)(2,s.Table,{m:"0.5rem",children:C.map(function(N){return(0,e.createComponentVNode)(2,s.Table.Row,{children:(0,e.createComponentVNode)(2,s.Table.Cell,{children:[(0,e.createComponentVNode)(2,s.Box,{children:["- #",N.ordernum,": ",N.supply_type," for ",(0,e.createVNode)(1,"b",null,N.orderedby,0)]}),(0,e.createComponentVNode)(2,s.Box,{italic:!0,children:["Reason: ",N.comment]})]})},N.ordernum)})})]})})}},44852:function(I,r,n){"use strict";r.__esModule=!0,r.TTSSeedsExplorerContent=r.TTSSeedsExplorer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s={0:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u044B\u0435",1:"Tier I",2:"Tier II",3:"Tier III",4:"Tier IV"},y={\u041C\u0443\u0436\u0441\u043A\u043E\u0439:{icon:"mars",color:"blue"},\u0416\u0435\u043D\u0441\u043A\u0438\u0439:{icon:"venus",color:"purple"},\u041B\u044E\u0431\u043E\u0439:{icon:"venus-mars",color:"white"}},V=function(i,c,m,u){return u===void 0&&(u=null),i.map(function(d){var f,l=(f=d[u])!=null?f:d;return(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:c.includes(d),content:l,onClick:function(){function v(){c.includes(d)?m(c.filter(function(b){var g;return((g=b[u])!=null?g:b)!==d})):m([d].concat(c))}return v}()},l)})},k=r.TTSSeedsExplorer=function(){function p(i,c){return(0,e.createComponentVNode)(2,o.Window,{width:700,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,S)})})}return p}(),S=r.TTSSeedsExplorerContent=function(){function p(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.providers,l=d.seeds,v=d.selected_seed,b=d.phrases,g=d.donator_level,h=l.map(function(Z){return Z.category}).filter(function(Z,J,te){return te.indexOf(Z)===J}),C=l.map(function(Z){return Z.gender}).filter(function(Z,J,te){return te.indexOf(Z)===J}),N=l.map(function(Z){return Z.donator_level}).filter(function(Z,J,te){return te.indexOf(Z)===J}).map(function(Z){return s[Z]}),x=(0,a.useLocalState)(c,"selectedProviders",f),B=x[0],L=x[1],w=(0,a.useLocalState)(c,"selectedGenders",C),A=w[0],T=w[1],E=(0,a.useLocalState)(c,"selectedCategories",h),O=E[0],P=E[1],R=(0,a.useLocalState)(c,"selectedDonatorLevels",N),F=R[0],j=R[1],W=(0,a.useLocalState)(c,"selectedPhrase",b[0]),H=W[0],z=W[1],Y=(0,a.useLocalState)(c,"searchtext",""),G=Y[0],ne=Y[1],Q=V(f,B,L,"name"),he=V(C,A,T),Ve=V(h,O,P),Ne=V(N,F,j),Be=(0,e.createComponentVNode)(2,t.Dropdown,{options:b,selected:H.replace(/(.{25})..+/,"$1..."),width:"220px",onSelected:function(){function Z(J){return z(J)}return Z}()}),Le=(0,e.createComponentVNode)(2,t.Input,{placeholder:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435...",fluid:!0,onInput:function(){function Z(J,te){return ne(te)}return Z}()}),Ae=l.sort(function(Z,J){var te=Z.name.toLowerCase(),ee=J.name.toLowerCase();return te>ee?1:te0&&v!==Z.name?"orange":"white",children:Z.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:v===Z.name?.5:.25,textAlign:"left",children:Z.category}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:.5,textColor:v===Z.name?"white":y[Z.gender].color,textAlign:"left",children:(0,e.createComponentVNode)(2,t.Icon,{mx:1,size:1.2,name:y[Z.gender].icon})}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:.5,textColor:"white",textAlign:"right",children:Z.donator_level>0&&(0,e.createFragment)([s[Z.donator_level],(0,e.createComponentVNode)(2,t.Icon,{ml:1,mr:2,name:"coins"})],0)})]},Z.name)});return(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",fill:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u044B",children:Q}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u043E\u043B",children:he}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438",children:Ve}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438",children:Ne}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0424\u0440\u0430\u0437\u0430",children:Be}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u043E\u0438\u0441\u043A",children:Le})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{scrollable:!0,fill:!0,title:"\u0413\u043E\u043B\u043E\u0441\u0430 ("+Ae.length+"/"+l.length+")",children:(0,e.createComponentVNode)(2,t.Table,{children:fe})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.BlockQuote,{children:[(0,e.createComponentVNode)(2,t.Box,{children:"\u0414\u043B\u044F \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044F \u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044F \u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0432 \u0443\u0441\u043B\u043E\u0432\u0438\u044F\u0445 \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0445 \u0440\u0430\u0441\u0445\u043E\u0434\u043E\u0432 \u0447\u0430\u0441\u0442\u044C \u0433\u043E\u043B\u043E\u0441\u043E\u0432 \u043F\u0440\u0438\u0448\u043B\u043E\u0441\u044C \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u043C\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0437\u0430 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u0443\u044E \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0443 \u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0430."}),(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435 \u043E\u0431 \u044D\u0442\u043E\u043C \u043C\u043E\u0436\u043D\u043E \u0443\u0437\u043D\u0430\u0442\u044C \u0432 \u043D\u0430\u0448\u0435\u043C Discord-\u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0435."})]})})})]})}return p}()},56441:function(I,r,n){"use strict";r.__esModule=!0,r.TachyonArrayContent=r.TachyonArray=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.TachyonArray=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.records,u=m===void 0?[]:m,d=c.explosion_target,f=c.toxins_tech,l=c.printing;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shift's Target",children:d}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Toxins Level",children:f}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Administration",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print All Logs",disabled:!u.length||l,align:"center",onClick:function(){function v(){return i("print_logs")}return v}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash",content:"Delete All Logs",disabled:!u.length,color:"bad",align:"center",onClick:function(){function v(){return i("delete_logs")}return v}()})]})]})}),u.length?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No Records"})]})})}return V}(),y=r.TachyonArrayContent=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.records,u=m===void 0?[]:m;return(0,e.createComponentVNode)(2,t.Section,{title:"Logged Explosions",children:(0,e.createComponentVNode)(2,t.Flex,{children:(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Time"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Epicenter"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Actual Size"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Theoretical Size"})]}),u.map(function(d){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.logged_time}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.epicenter}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.actual_size_message}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.theoretical_size_message}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash",content:"Delete",color:"bad",onClick:function(){function f(){return i("delete_record",{index:d.index})}return f}()})})]},d.index)})]})})})})}return V}()},1754:function(I,r,n){"use strict";r.__esModule=!0,r.Tank=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.Tank=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c;return i.has_mask?c=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mask",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.connected?"check":"times",content:i.connected?"Internals On":"Internals Off",selected:i.connected,onClick:function(){function m(){return p("internals")}return m}()})}):c=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mask",color:"red",children:"No Mask Equipped"}),(0,e.createComponentVNode)(2,o.Window,{width:300,height:150,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tank Pressure",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:i.tankPressure/1013,ranges:{good:[.35,1/0],average:[.15,.35],bad:[-1/0,.15]},children:i.tankPressure+" kPa"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Release Pressure",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,tooltip:"Min",onClick:function(){function m(){return p("pressure",{pressure:"min"})}return m}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(){function m(u,d){return p("pressure",{pressure:d})}return m}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,tooltip:"Max",onClick:function(){function m(){return p("pressure",{pressure:"max"})}return m}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,tooltip:"Reset",onClick:function(){function m(){return p("pressure",{pressure:"reset"})}return m}()})]}),c]})})})})}return y}()},7579:function(I,r,n){"use strict";r.__esModule=!0,r.TankDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.TankDispenser=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.o_tanks,m=i.p_tanks;return(0,e.createComponentVNode)(2,o.Window,{width:275,height:100,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Dispense Oxygen Tank ("+c+")",disabled:c===0,icon:"arrow-circle-down",onClick:function(){function u(){return p("oxygen")}return u}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Dispense Plasma Tank ("+m+")",disabled:m===0,icon:"arrow-circle-down",onClick:function(){function u(){return p("plasma")}return u}()})})]})})}return y}()},16136:function(I,r,n){"use strict";r.__esModule=!0,r.TcommsCore=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.TcommsCore=function(){function p(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.ion,l=(0,a.useLocalState)(c,"tabIndex",0),v=l[0],b=l[1],g=function(){function h(C){switch(C){case 0:return(0,e.createComponentVNode)(2,V);case 1:return(0,e.createComponentVNode)(2,k);case 2:return(0,e.createComponentVNode)(2,S);default:return"SOMETHING WENT VERY WRONG PLEASE AHELP"}}return h}();return(0,e.createComponentVNode)(2,o.Window,{width:900,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[f===1&&(0,e.createComponentVNode)(2,y),(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===0,onClick:function(){function h(){return b(0)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"wrench"}),"Configuration"]},"ConfigPage"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===1,onClick:function(){function h(){return b(1)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"link"}),"Device Linkage"]},"LinkagePage"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===2,onClick:function(){function h(){return b(2)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-times"}),"User Filtering"]},"FilterPage")]}),g(v)]})})}return p}(),y=function(){return(0,e.createComponentVNode)(2,t.NoticeBox,{children:"ERROR: An Ionospheric overload has occured. Please wait for the machine to reboot. This cannot be manually done."})},V=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.active,l=d.sectors_available,v=d.nttc_toggle_jobs,b=d.nttc_toggle_job_color,g=d.nttc_toggle_name_color,h=d.nttc_toggle_command_bold,C=d.nttc_job_indicator_type,N=d.nttc_setting_language,x=d.network_id;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Machine Power",children:(0,e.createComponentVNode)(2,t.Button,{content:f?"On":"Off",selected:f,icon:"power-off",onClick:function(){function B(){return u("toggle_active")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sector Coverage",children:l})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Radio Configuration",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Announcements",children:(0,e.createComponentVNode)(2,t.Button,{content:v?"On":"Off",selected:v,icon:"user-tag",onClick:function(){function B(){return u("nttc_toggle_jobs")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Departmentalisation",children:(0,e.createComponentVNode)(2,t.Button,{content:b?"On":"Off",selected:b,icon:"clipboard-list",onClick:function(){function B(){return u("nttc_toggle_job_color")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name Departmentalisation",children:(0,e.createComponentVNode)(2,t.Button,{content:g?"On":"Off",selected:g,icon:"user-tag",onClick:function(){function B(){return u("nttc_toggle_name_color")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Command Amplification",children:(0,e.createComponentVNode)(2,t.Button,{content:h?"On":"Off",selected:h,icon:"volume-up",onClick:function(){function B(){return u("nttc_toggle_command_bold")}return B}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Advanced",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Announcement Format",children:(0,e.createComponentVNode)(2,t.Button,{content:C||"Unset",selected:C,icon:"pencil-alt",onClick:function(){function B(){return u("nttc_job_indicator_type")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Language Conversion",children:(0,e.createComponentVNode)(2,t.Button,{content:N||"Unset",selected:N,icon:"globe",onClick:function(){function B(){return u("nttc_setting_language")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network ID",children:(0,e.createComponentVNode)(2,t.Button,{content:x||"Unset",selected:x,icon:"server",onClick:function(){function B(){return u("network_id")}return B}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Maintenance",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Import Configuration",icon:"file-import",onClick:function(){function B(){return u("import")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Export Configuration",icon:"file-export",onClick:function(){function B(){return u("export")}return B}()})]})],4)},k=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.link_password,l=d.relay_entries;return(0,e.createComponentVNode)(2,t.Section,{title:"Device Linkage",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linkage Password",children:(0,e.createComponentVNode)(2,t.Button,{content:f||"Unset",selected:f,icon:"lock",onClick:function(){function v(){return u("change_password")}return v}()})})}),(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Sector"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Unlink"})]}),l.map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.sector}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.status===1?(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Online"}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Offline"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Unlink",icon:"unlink",onClick:function(){function b(){return u("unlink",{addr:v.addr})}return b}()})})]},v.addr)})]})]})},S=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=m.data,f=d.filtered_users;return(0,e.createComponentVNode)(2,t.Section,{title:"User Filtering",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Add User",icon:"user-plus",onClick:function(){function l(){return u("add_filter")}return l}()}),children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{style:{width:"90%"},children:"User"}),(0,e.createComponentVNode)(2,t.Table.Cell,{style:{width:"10%"},children:"Actions"})]}),f.map(function(l){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:l}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove",icon:"user-times",onClick:function(){function v(){return u("remove_filter",{user:l})}return v}()})})]},l)})]})})}},88046:function(I,r,n){"use strict";r.__esModule=!0,r.TcommsRelay=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.TcommsRelay=function(){function k(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.linked,d=m.active,f=m.network_id;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Relay Configuration",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Machine Power",children:(0,e.createComponentVNode)(2,t.Button,{content:d?"On":"Off",selected:d,icon:"power-off",onClick:function(){function l(){return c("toggle_active")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network ID",children:(0,e.createComponentVNode)(2,t.Button,{content:f||"Unset",selected:f,icon:"server",onClick:function(){function l(){return c("network_id")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Link Status",children:u===1?(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Linked"}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Unlinked"})})]})}),u===1?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,V)]})})}return k}(),y=function(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.linked_core_id,d=m.linked_core_addr,f=m.hidden_link;return(0,e.createComponentVNode)(2,t.Section,{title:"Link Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linked Core ID",children:u}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linked Core Address",children:d}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hidden Link",children:(0,e.createComponentVNode)(2,t.Button,{content:f?"Yes":"No",icon:f?"eye-slash":"eye",selected:f,onClick:function(){function l(){return c("toggle_hidden_link")}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unlink",children:(0,e.createComponentVNode)(2,t.Button,{content:"Unlink",icon:"unlink",color:"red",onClick:function(){function l(){return c("unlink")}return l}()})})]})})},V=function(S,p){var i=(0,a.useBackend)(p),c=i.act,m=i.data,u=m.cores;return(0,e.createComponentVNode)(2,t.Section,{title:"Detected Cores",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Sector"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Link"})]}),u.map(function(d){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.sector}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Link",icon:"link",onClick:function(){function f(){return c("link",{addr:d.addr})}return f}()})})]},d.addr)})]})})}},20802:function(I,r,n){"use strict";r.__esModule=!0,r.Teleporter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=n(79646),y=r.Teleporter=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.targetsTeleport?c.targetsTeleport:{},u=0,d=1,f=2,l=c.calibrated,v=c.calibrating,b=c.powerstation,g=c.regime,h=c.teleporterhub,C=c.target,N=c.locked,x=c.accuracy;return(0,e.createComponentVNode)(2,o.Window,{width:380,height:260,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(!b||!h)&&(0,e.createComponentVNode)(2,t.Section,{title:"Error",children:[h,!b&&(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:" Powerstation not linked "}),b&&!h&&(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:" Teleporter hub not linked "})]}),b&&h&&(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Regime",children:[(0,e.createComponentVNode)(2,t.Button,{tooltip:"Teleport to another teleport hub. ",color:g===d?"good":null,onClick:function(){function B(){return i("setregime",{regime:d})}return B}(),children:"Gate"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"One-way teleport. ",color:g===u?"good":null,onClick:function(){function B(){return i("setregime",{regime:u})}return B}(),children:"Teleporter"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"Teleport to a location stored in a GPS device. ",color:g===f?"good":null,disabled:!N,onClick:function(){function B(){return i("setregime",{regime:f})}return B}(),children:"GPS"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Teleport target",children:[g===u&&(0,e.createComponentVNode)(2,t.Dropdown,{width:"220px",selected:C,options:Object.keys(m),color:C!=="None"?"default":"bad",onSelected:function(){function B(L){return i("settarget",{x:m[L].x,y:m[L].y,z:m[L].z})}return B}()}),g===d&&(0,e.createComponentVNode)(2,t.Dropdown,{width:"220px",selected:C,options:Object.keys(m),color:C!=="None"?"default":"bad",onSelected:function(){function B(L){return i("settarget",{x:m[L].x,y:m[L].y,z:m[L].z})}return B}()}),g===f&&(0,e.createComponentVNode)(2,t.Box,{children:C})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Calibration",children:[C!=="None"&&(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,s.GridColumn,{size:"2",children:v&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"In Progress"})||(l||x>=3)&&(0,e.createComponentVNode)(2,t.Box,{color:"good",children:"Optimal"})||(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Sub-Optimal"})}),(0,e.createComponentVNode)(2,s.GridColumn,{size:"3",children:(0,e.createComponentVNode)(2,t.Box,{class:"ml-1",children:(0,e.createComponentVNode)(2,t.Button,{icon:"sync-alt",tooltip:"Calibrates the hub. Accidents may occur when the calibration is not optimal.",disabled:!!(l||v),onClick:function(){function B(){return i("calibrate")}return B}()})})})]}),C==="None"&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"21px",children:"No target set"})]})]})}),!!(N&&b&&h&&g===f)&&(0,e.createComponentVNode)(2,t.Section,{title:"GPS",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",justify:"space-around",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Upload GPS data",tooltip:"Loads the GPS data from the device.",icon:"upload",onClick:function(){function B(){return i("load")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject",tooltip:"Ejects the GPS device",icon:"eject",onClick:function(){function B(){return i("eject")}return B}()})]})})]})})}return V}()},24410:function(I,r,n){"use strict";r.__esModule=!0,r.sanitizeMultiline=r.removeAllSkiplines=r.TextInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(72253),s=n(92986),y=n(36036),V=n(98595),k=r.sanitizeMultiline=function(){function c(m){return m.replace(/(\n|\r\n){3,}/,"\n\n")}return c}(),S=r.removeAllSkiplines=function(){function c(m){return m.replace(/[\r\n]+/,"")}return c}(),p=r.TextInputModal=function(){function c(m,u){var d=(0,o.useBackend)(u),f=d.act,l=d.data,v=l.max_length,b=l.message,g=b===void 0?"":b,h=l.multiline,C=l.placeholder,N=l.timeout,x=l.title,B=(0,o.useLocalState)(u,"input",C||""),L=B[0],w=B[1],A=function(){function O(P){if(P!==L){var R=h?k(P):S(P);w(R)}}return O}(),T=h||L.length>=40,E=130+(g.length>40?Math.ceil(g.length/4):0)+(T?80:0);return(0,e.createComponentVNode)(2,V.Window,{title:x,width:325,height:E,children:[N&&(0,e.createComponentVNode)(2,a.Loader,{value:N}),(0,e.createComponentVNode)(2,V.Window.Content,{onKeyDown:function(){function O(P){var R=window.event?P.which:P.keyCode;R===s.KEY_ENTER&&(!T||!P.shiftKey)&&f("submit",{entry:L}),R===s.KEY_ESCAPE&&f("cancel")}return O}(),children:(0,e.createComponentVNode)(2,y.Section,{fill:!0,children:(0,e.createComponentVNode)(2,y.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Box,{color:"label",children:g})}),(0,e.createComponentVNode)(2,y.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,i,{input:L,onType:A})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,t.InputButtons,{input:L,message:L.length+"/"+v})})]})})})]})}return c}(),i=function(m,u){var d=(0,o.useBackend)(u),f=d.act,l=d.data,v=l.max_length,b=l.multiline,g=m.input,h=m.onType,C=b||g.length>=40;return(0,e.createComponentVNode)(2,y.TextArea,{autoFocus:!0,autoSelect:!0,height:b||g.length>=40?"100%":"1.8rem",maxLength:v,onEscape:function(){function N(){return f("cancel")}return N}(),onEnter:function(){function N(x){C&&x.shiftKey||(x.preventDefault(),f("submit",{entry:g}))}return N}(),onInput:function(){function N(x,B){return h(B)}return N}(),placeholder:"Type something...",value:g})}},69566:function(I,r,n){"use strict";r.__esModule=!0,r.ThiefKit=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.ThiefKit=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.uses,m=i.possible_uses,u=i.multi_uses,d=i.kits,f=i.choosen_kits;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:900,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u041D\u0430\u0431\u043E\u0440 \u0413\u0438\u043B\u044C\u0434\u0438\u0438 \u0412\u043E\u0440\u043E\u0432:",children:(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:[(0,e.createVNode)(1,"i",null,"\u0423\u0432\u0435\u0441\u0438\u0441\u0442\u0430\u044F \u043A\u043E\u0440\u043E\u0431\u043A\u0430, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u043B\u0435\u0436\u0438\u0442 \u0441\u043D\u0430\u0440\u044F\u0436\u0435\u043D\u0438\u0435 \u0433\u0438\u043B\u044C\u0434\u0438\u0438 \u0432\u043E\u0440\u043E\u0432.",16),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"i",null,"\u041D\u0430\u0431\u043E\u0440 \u0432\u043E\u0440\u0430-\u0448\u0440\u0435\u0434\u0438\u043D\u0433\u0435\u0440\u0430. \u041D\u0435\u043B\u044C\u0437\u044F \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0447\u0442\u043E \u0432 \u043D\u0451\u043C, \u043F\u043E\u043A\u0430 \u043D\u0435 \u0437\u0430\u0433\u043B\u044F\u043D\u0435\u0448\u044C \u0432\u043D\u0443\u0442\u0440\u044C.",16),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"p",null,(0,e.createVNode)(1,"b",null,"\u041A\u0430\u043A\u043E\u0435 \u0441\u043D\u0430\u0440\u044F\u0436\u0435\u043D\u0438\u0435 \u0432 \u043D\u0451\u043C \u043B\u0435\u0436\u0438\u0442?:",16),2),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043E \u043D\u0430\u0431\u043E\u0440\u043E\u0432:"),(0,e.createComponentVNode)(2,t.Box,{as:"span",color:c<=0?"good":c=m,onClick:function(){function l(){return p("randomKit")}return l}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:d&&d.map(function(l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l.name,buttons:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"upload",content:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C",disabled:l.was_taken||c>=m,onClick:function(){function v(){return p("takeKit",{item:l.type})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"undo",disabled:!l.was_taken,onClick:function(){function v(){return p("undoKit",{item:l.type})}return v}()})]}),children:(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:l.desc})},l.type)})})}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u043D\u0430\u0431\u043E\u0440\u044B:",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:f&&f.map(function(l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"undo",content:"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440",onClick:function(){function v(){return p("undoKit",{item:l.type})}return v}()}),children:(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:" "})},l.type)})})}),(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440",color:c0?(0,e.createVNode)(1,"i",null,[(0,e.createTextVNode)("[Left:"),x.contractor.available_offers,(0,e.createTextVNode)("]")],0):(0,e.createVNode)(1,"i",null,"[Offers over]",16):"",x.contractor.accepted?(0,e.createVNode)(1,"i",null,"\xA0(Accepted)",16):!x.contractor.is_admin_forced&&x.contractor.available_offers<=0?"":(0,e.createComponentVNode)(2,s.Countdown,{timeLeft:x.contractor.time_left,format:function(){function P(R,F){return" ("+F+")"}return P}(),bold:!0})]},"BecomeContractor"),(0,e.createComponentVNode)(2,V.Tabs.Tab,{onClick:function(){function P(){return N("lock")}return P}(),icon:"lock",children:"Lock Uplink"},"LockUplink")]})}),(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:p(w)})]})})]})}return b}(),c=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=x.crystals,L=x.cats,w=(0,y.useLocalState)(h,"uplinkItems",L[0].items),A=w[0],T=w[1],E=(0,y.useLocalState)(h,"searchText",""),O=E[0],P=E[1],R=function(Y,G){G===void 0&&(G="");var ne=(0,o.createSearch)(G,function(Q){var he=Q.hijack_only===1?"|hijack":"";return Q.name+"|"+Q.desc+"|"+Q.cost+"tc"+he});return(0,t.flow)([(0,a.filter)(function(Q){return Q==null?void 0:Q.name}),G&&(0,a.filter)(ne),(0,a.sortBy)(function(Q){return Q==null?void 0:Q.name})])(Y)},F=function(Y){if(P(Y),Y==="")return T(L[0].items);T(R(L.map(function(G){return G.items}).flat(),Y))},j=(0,y.useLocalState)(h,"showDesc",1),W=j[0],H=j[1];return(0,e.createComponentVNode)(2,V.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.Stack,{vertical:!0,children:(0,e.createComponentVNode)(2,V.Stack.Item,{children:(0,e.createComponentVNode)(2,V.Section,{title:"Current Balance: "+B+"TC",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,V.Button.Checkbox,{content:"Show Descriptions",checked:W,onClick:function(){function z(){return H(!W)}return z}()}),(0,e.createComponentVNode)(2,V.Button,{content:"Random Item",icon:"question",onClick:function(){function z(){return N("buyRandom")}return z}()}),(0,e.createComponentVNode)(2,V.Button,{content:"Refund Currently Held Item",icon:"undo",onClick:function(){function z(){return N("refund")}return z}()})],4),children:(0,e.createComponentVNode)(2,V.Input,{fluid:!0,placeholder:"Search Equipment",onInput:function(){function z(Y,G){F(G)}return z}(),value:O})})})}),(0,e.createComponentVNode)(2,V.Stack,{fill:!0,mt:.3,children:[(0,e.createComponentVNode)(2,V.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,V.Tabs,{vertical:!0,children:L.map(function(z){return(0,e.createComponentVNode)(2,V.Tabs.Tab,{selected:O!==""?!1:z.items===A,onClick:function(){function Y(){T(z.items),P("")}return Y}(),children:z.cat},z)})})})}),(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,V.Stack,{vertical:!0,children:A.map(function(z){return(0,e.createComponentVNode)(2,V.Stack.Item,{p:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,d,{i:z,showDecription:W},(0,o.decodeHtmlEntities)(z.name))},(0,o.decodeHtmlEntities)(z.name))})})})})]})]})},m=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=x.cart,L=x.crystals,w=x.cart_price,A=(0,y.useLocalState)(h,"showDesc",0),T=A[0],E=A[1];return(0,e.createComponentVNode)(2,V.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,title:"Current Balance: "+L+"TC",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,V.Button.Checkbox,{content:"Show Descriptions",checked:T,onClick:function(){function O(){return E(!T)}return O}()}),(0,e.createComponentVNode)(2,V.Button,{content:"Empty Cart",icon:"trash",onClick:function(){function O(){return N("empty_cart")}return O}(),disabled:!B}),(0,e.createComponentVNode)(2,V.Button,{content:"Purchase Cart ("+w+"TC)",icon:"shopping-cart",onClick:function(){function O(){return N("purchase_cart")}return O}(),disabled:!B||w>L})],4),children:(0,e.createComponentVNode)(2,V.Stack,{vertical:!0,children:B?B.map(function(O){return(0,e.createComponentVNode)(2,V.Stack.Item,{p:1,mr:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,d,{i:O,showDecription:T,buttons:(0,e.createComponentVNode)(2,l,{i:O})})},(0,o.decodeHtmlEntities)(O.name))}):(0,e.createComponentVNode)(2,V.Box,{italic:!0,children:"Your Shopping Cart is empty!"})})})}),(0,e.createComponentVNode)(2,u)]})},u=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=x.cats,L=x.lucky_numbers;return(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,title:"Suggested Purchases",buttons:(0,e.createComponentVNode)(2,V.Button,{icon:"dice",content:"See more suggestions",onClick:function(){function w(){return N("shuffle_lucky_numbers")}return w}()}),children:(0,e.createComponentVNode)(2,V.Stack,{wrap:!0,children:L.map(function(w){return B[w.cat].items[w.item]}).filter(function(w){return w!=null}).map(function(w,A){return(0,e.createComponentVNode)(2,V.Stack.Item,{p:1,mb:1,ml:1,width:34,backgroundColor:"rgba(255, 0, 0, 0.15)",children:(0,e.createComponentVNode)(2,d,{grow:!0,i:w})},A)})})})})},d=function(g,h){var C=g.i,N=g.showDecription,x=N===void 0?1:N,B=g.buttons,L=B===void 0?(0,e.createComponentVNode)(2,f,{i:C}):B;return(0,e.createComponentVNode)(2,V.Section,{title:(0,o.decodeHtmlEntities)(C.name),showBottom:x,buttons:L,children:x?(0,e.createComponentVNode)(2,V.Box,{italic:!0,children:(0,o.decodeHtmlEntities)(C.desc)}):null})},f=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=g.i,L=x.crystals;return(0,e.createFragment)([(0,e.createComponentVNode)(2,V.Button,{icon:"shopping-cart",color:B.hijack_only===1&&"red",tooltip:"Add to cart.",tooltipPosition:"left",onClick:function(){function w(){return N("add_to_cart",{item:B.obj_path})}return w}(),disabled:B.cost>L}),(0,e.createComponentVNode)(2,V.Button,{content:"Buy ("+B.cost+"TC)"+(B.refundable?" [Refundable]":""),color:B.hijack_only===1&&"red",tooltip:B.hijack_only===1&&"Hijack Agents Only!",tooltipPosition:"left",onClick:function(){function w(){return N("buyItem",{item:B.obj_path})}return w}(),disabled:B.cost>L})],4)},l=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=g.i,L=x.exploitable;return(0,e.createComponentVNode)(2,V.Stack,{children:[(0,e.createComponentVNode)(2,V.Button,{icon:"times",content:"("+B.cost*B.amount+"TC)",tooltip:"Remove from cart.",tooltipPosition:"left",onClick:function(){function w(){return N("remove_from_cart",{item:B.obj_path})}return w}()}),(0,e.createComponentVNode)(2,V.Button,{icon:"minus",tooltip:B.limit===0&&"Discount already redeemed!",ml:"5px",onClick:function(){function w(){return N("set_cart_item_quantity",{item:B.obj_path,quantity:--B.amount})}return w}(),disabled:B.amount<=0}),(0,e.createComponentVNode)(2,V.Button.Input,{content:B.amount,width:"45px",tooltipPosition:"bottom-end",tooltip:B.limit===0&&"Discount already redeemed!",onCommit:function(){function w(A,T){return N("set_cart_item_quantity",{item:B.obj_path,quantity:T})}return w}(),disabled:B.limit!==-1&&B.amount>=B.limit&&B.amount<=0}),(0,e.createComponentVNode)(2,V.Button,{mb:.3,icon:"plus",tooltipPosition:"bottom-start",tooltip:B.limit===0&&"Discount already redeemed!",onClick:function(){function w(){return N("set_cart_item_quantity",{item:B.obj_path,quantity:++B.amount})}return w}(),disabled:B.limit!==-1&&B.amount>=B.limit})]})},v=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=x.exploitable,L=(0,y.useLocalState)(h,"selectedRecord",B[0]),w=L[0],A=L[1],T=(0,y.useLocalState)(h,"searchText",""),E=T[0],O=T[1],P=function(j,W){W===void 0&&(W="");var H=(0,o.createSearch)(W,function(z){return z.name});return(0,t.flow)([(0,a.filter)(function(z){return z==null?void 0:z.name}),W&&(0,a.filter)(H),(0,a.sortBy)(function(z){return z.name})])(j)},R=P(B,E);return(0,e.createComponentVNode)(2,V.Section,{fill:!0,title:"Exploitable Records",children:(0,e.createComponentVNode)(2,V.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,V.Stack.Item,{width:"30%",fill:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,children:[(0,e.createComponentVNode)(2,V.Input,{fluid:!0,mb:1,placeholder:"Search Crew",onInput:function(){function F(j,W){return O(W)}return F}()}),(0,e.createComponentVNode)(2,V.Tabs,{vertical:!0,children:R.map(function(F){return(0,e.createComponentVNode)(2,V.Tabs.Tab,{selected:F===w,onClick:function(){function j(){return A(F)}return j}(),children:F.name},F)})})]})}),(0,e.createComponentVNode)(2,V.Divider,{vertical:!0}),(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,title:w.name,scrollable:!0,children:(0,e.createComponentVNode)(2,V.LabeledList,{children:[(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Age",children:w.age}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Fingerprint",children:w.fingerprint}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Rank",children:w.rank}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Sex",children:w.sex}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Species",children:w.species}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Records",children:w.exploit_record})]})})})]})})};(0,S.modalRegisterBodyOverride)("become_contractor",function(b,g){var h,C,N,x,B=(0,y.useBackend)(g),L=B.data,w=L.contractor||{},A=w.time_left,T=!!(L!=null&&(h=L.contractor)!=null&&h.available),E=!!(L!=null&&(C=L.contractor)!=null&&C.affordable),O=!!(L!=null&&(N=L.contractor)!=null&&N.accepted),P=L.contractor||{},R=P.available_offers,F=!!(L!=null&&(x=L.contractor)!=null&&x.is_admin_forced);return(0,e.createComponentVNode)(2,V.Section,{height:"65%",level:"2",m:"-1rem",pb:"1rem",title:(0,e.createFragment)([(0,e.createComponentVNode)(2,V.Icon,{name:"suitcase"}),(0,e.createTextVNode)("\xA0 Contracting Opportunity")],4),children:[(0,e.createComponentVNode)(2,V.Box,{mx:"0.5rem",mb:"0.5rem",children:[(0,e.createVNode)(1,"b",null,"Your achievements for the Syndicate have not gone unnoticed, agent. We have decided to give you the rare opportunity of becoming a Contractor.",16),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),"For the small price of 20 telecrystals, we will upgrade your rank to that of a Contractor, allowing you to undertake kidnapping contracts for TC and credits.",(0,e.createVNode)(1,"br"),"In addition, you will be supplied with a Contractor Kit which contains a Contractor Uplink, standard issue contractor gear and three random low cost items.",(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),"More detailed instructions can be found within your kit, should you accept this offer.",F?"":(0,e.createComponentVNode)(2,V.Box,{children:["Hurry up. You are not the only one who received this offer. Their number is limited. If other traitors accept all offers before you, you will not be able to accept one of them.",(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"b",null,[(0,e.createTextVNode)("Available offers: "),R],0)]})]}),(0,e.createComponentVNode)(2,V.Button.Confirm,{disabled:!T||O,italic:!T,bold:T,icon:T&&!O&&"check",color:"good",content:O?"Accepted":T?["Accept Offer",(0,e.createComponentVNode)(2,s.Countdown,{timeLeft:A,format:function(){function j(W,H){return" ("+H+")"}return j}()},"countdown")]:E?L.contractor.is_admin_forced?"Offer expired":L.contractor.available_offers>0?(0,e.createVNode)(1,"i",null,[(0,e.createTextVNode)("[Left:"),L.contractor.available_offers,(0,e.createTextVNode)("]")],0):(0,e.createVNode)(1,"i",null,"[Offers are over]",16):"Insufficient TC",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function j(){return(0,S.modalAnswer)(g,b.id,1)}return j}()})]})})},8946:function(I,r,n){"use strict";r.__esModule=!0,r.VampireSpecMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.VampireSpecMenu=function(){function i(c,m){return(0,e.createComponentVNode)(2,o.Window,{width:1500,height:820,theme:"nologo",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,y),(0,e.createComponentVNode)(2,t.Divider,{vertical:1}),(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,t.Divider,{vertical:1}),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,t.Divider,{vertical:1}),(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,t.Divider,{vertical:1}),(0,e.createComponentVNode)(2,p)]})})})}return i}(),y=function(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Hemomancer",children:[(0,e.createVNode)(1,"h3",null,"Focuses on blood magic and the manipulation of blood around you.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Vampiric claws",16),(0,e.createTextVNode)(": Unlocked at 150 blood, allows you to summon a robust pair of claws that attack rapidly, drain a targets blood, and heal you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood Barrier",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to select two turfs and create a wall between them.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood tendrils",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to slow everyone in a targeted 3x3 area after a short delay.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Sanguine pool",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to travel at high speeds for a short duration. Doing this leaves behind blood splatters. You can move through anything but walls and space when doing this.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Predator senses",16),(0,e.createTextVNode)(": Unlocked at 600 blood, allows you to sniff out anyone within the same sector as you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood eruption",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to manipulate all nearby blood splatters, in 4 tiles around you, into spikes that impale anyone stood ontop of them.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"The blood bringers rite",16),(0,e.createTextVNode)(": When toggled you will rapidly drain the blood of everyone who is nearby and use it to heal yourself slightly and remove any incapacitating effects rapidly.")],4),(0,e.createComponentVNode)(2,t.Button,{content:"Hemomancer",onClick:function(){function v(){return d("hemomancer")}return v}()})]})})},V=function(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Umbrae",children:[(0,e.createVNode)(1,"h3",null,"Focuses on darkness, stealth ambushing and mobility.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Cloak of darkness",16),(0,e.createTextVNode)(": Unlocked at 150 blood, when toggled, allows you to become nearly invisible and move rapidly when in dark regions. While active, burn damage is more effective against you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Shadow anchor",16),(0,e.createTextVNode)(": Unlocked at 250 blood, casting it will create an anchor at the cast location after a short delay. If you then cast the ability again, you are teleported back to the anchor. If you do not cast again within 2 minutes, you are forced back to the anchor. It will not teleport you between Z levels.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Shadow snare",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to summon a trap that when crossed blinds and ensares the victim. This trap is hard to see, but withers in the light.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Dark passage",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to target a turf on screen, you will then teleport to that turf.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Extinguish",16),(0,e.createTextVNode)(": Unlocked at 600 blood, allows you to snuff out nearby electronic light sources and glowshrooms.")],4),(0,e.createVNode)(1,"b",null,"Shadow boxing",16),": Unlocked at 800 blood, sends out shadow clones towards a target, damaging them while you remain in range.",(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Eternal darkness",16),(0,e.createTextVNode)(": When toggled, you consume yourself in unholy darkness, only the strongest of lights will be able to see through it. It will also cause nearby creatures to freeze.")],4),(0,e.createVNode)(1,"p",null,"In addition, you also gain permament X-ray vision.",16),(0,e.createComponentVNode)(2,t.Button,{content:"Umbrae",onClick:function(){function v(){return d("umbrae")}return v}()})]})})},k=function(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Gargantua",children:[(0,e.createVNode)(1,"h3",null,"Focuses on tenacity and melee damage.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Rejuvenate",16),(0,e.createTextVNode)(": Will heal you at an increased rate based on how much damage you have taken.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood swell",16),(0,e.createTextVNode)(": Unlocked at 150 blood, increases your resistance to physical damage, stuns and stamina for 30 seconds. While it is active you cannot fire guns.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Seismic stomp",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to stomp the ground to send out a shockwave, knocking people back.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood rush",16),(0,e.createTextVNode)(": Unlocked at 250 blood, gives you a short speed boost when cast.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood swell II",16),(0,e.createTextVNode)(": Unlocked at 400 blood, increases all melee damage by 10.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Overwhelming force",16),(0,e.createTextVNode)(": Unlocked at 600 blood, when toggled, if you bump into a door that you dont have access to, it will force it open. In addition, you cannot be pushed or pulled while it is active.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Demonic grasp",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to send out a demonic hand to snare someone. If you are on disarm/grab intent you will push/pull the target, respectively.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Charge",16),(0,e.createTextVNode)(": You gain the ability to charge at a target. Destroying and knocking back pretty much anything you collide with.")],4),(0,e.createComponentVNode)(2,t.Button,{content:"Gargantua",onClick:function(){function v(){return d("gargantua")}return v}()})]})})},S=function(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Dantalion",children:[(0,e.createVNode)(1,"h3",null,"Focuses on thralling and illusions.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Enthrall",16),(0,e.createTextVNode)(": Unlocked at 150 blood, Thralls your target to your will, requires you to stand still. Does not work on mindshielded or already enthralled/mindslaved people.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thrall cap",16),(0,e.createTextVNode)(": You can only thrall a max of 1 person at a time. This can be increased at 400 blood, 600 blood and at full power to a max of 4 thralls.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thrall commune",16),(0,e.createTextVNode)(": Unlocked at 150 blood, Allows you to talk to your thralls, your thralls can talk back in the same way.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Subspace swap",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to swap positions with a target.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Pacify",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to pacify a target, preventing them from causing harm for 40 seconds.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Decoy",16),(0,e.createTextVNode)(": Unlocked at 400 blood, briefly turn invisible and send out an illusion to fool everyone nearby.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Rally thralls",16),(0,e.createTextVNode)(": Unlocked at 600 blood, removes all incapacitating effects from nearby thralls.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood bond",16),(0,e.createTextVNode)(": Unlocked at 800 blood, when cast, all nearby thralls become linked to you. If anyone in the network takes damage, it is shared equally between everyone in the network. If a thrall goes out of range, they will be removed from the network.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Mass Hysteria",16),(0,e.createTextVNode)(": Casts a powerful illusion that, blinds then make everyone nearby perceive others to looks like random animals.")],4),(0,e.createComponentVNode)(2,t.Button,{content:"Dantalion",onClick:function(){function v(){return d("dantalion")}return v}()})]})})},p=function(c,m){var u=(0,a.useBackend)(m),d=u.act,f=u.data,l=f.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Bestia",children:[(0,e.createVNode)(1,"h3",null,"Focuses on transformations and trophies harvesting.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Check Trophies",16),(0,e.createTextVNode)(": Unlocked at 150 blood, allows you to check current trophies amount and all the passive effects they provide.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Dissect",16),(0,e.createTextVNode)(": Unlocked at 150 blood, main source of gaining power, besides blood, allows you to harvest human organs, as a trophies, to passively increase your might.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Dissect Cap",16),(0,e.createTextVNode)(": You can only harvest one organ trophie at a time. This can be increased at 600 blood and at full power to a max of 3 trophies per victim.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Infected Trophy",16),(0,e.createTextVNode)(": Unlocked at 150 blood, allows you to stun enemies from the safe distance and infect them with the deadly Grave Fever.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Lunge",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to rapidly close distance to a victim or escape a dangerous situation.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Mark the Prey",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to mark a victim which drastically reduces their movement speed and forces them to take spontaneous actions.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Metamorphosis - Bats",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to shapeshift into the deadly and vicious space bats swarm.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Anabiosis",16),(0,e.createTextVNode)(": Unlocked at 600 blood, ancient technique which allows you to cure almost any wounds while sleeping in a coffin.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Summon Bats",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to call extraplanar space bats to aid you in combat.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Metamorphosis - Hound",16),(0,e.createTextVNode)(": Allows you to shapeshift into the ultimate form of bluespace entity which took over your soul.")],4),(0,e.createComponentVNode)(2,t.Button,{content:"Bestia",onClick:function(){function v(){return d("bestia")}return v}()})]})})}},45770:function(I,r,n){"use strict";r.__esModule=!0,r.VampireTrophiesStatus=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=function(b){return(Math.round(b*10)/10).toFixed(1)},y=r.VampireTrophiesStatus=function(){function v(b,g){return(0,e.createComponentVNode)(2,o.Window,{theme:"nologo",width:700,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,f),(0,e.createComponentVNode)(2,l)]})})})}return v}(),V=function(b,g){var h=(0,a.useBackend)(g),C=h.act,N=h.data,x=N.hearts,B=N.lungs,L=N.livers,w=N.kidneys,A=N.eyes,T=N.ears,E=N.trophies_max_gen,O=N.trophies_max_crit,P=N.icon_hearts,R=N.icon_lungs,F=N.icon_livers,j=N.icon_kidneys,W=N.icon_eyes,H=N.icon_ears;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Trophies",color:"red",textAlign:"center",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Box,{inline:!0,width:"16.6%",children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+P,verticalAlign:"middle",style:{"margin-left":"-32px","margin-right":"-48px","margin-top":"-32px","margin-bottom":"-48px",height:"128px",width:"128px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Box,{bold:!0,textColor:xb;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+f,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})}),(0,e.createComponentVNode)(2,o.Table.Cell,{bold:!0,children:u.name}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Box,{color:d<=0&&"bad"||d<=u.max_amount/2&&"average"||"good",children:[d," in stock"]})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,disabled:L,icon:B,content:x,textAlign:"left",onClick:function(){function w(){return c("vend",{inum:u.inum})}return w}()})})]})},V=r.Vending=function(){function k(S,p){var i=(0,t.useBackend)(p),c=i.act,m=i.data,u=m.user,d=m.guestNotice,f=m.userMoney,l=m.chargesMoney,v=m.product_records,b=v===void 0?[]:v,g=m.coin_records,h=g===void 0?[]:g,C=m.hidden_records,N=C===void 0?[]:C,x=m.stock,B=m.vend_ready,L=m.coin_name,w=m.inserted_item_name,A=m.panel_open,T=m.speaker,E=m.imagelist,O;return O=[].concat(b,h),m.extended_inventory&&(O=[].concat(O,N)),O=O.filter(function(P){return!!P}),(0,e.createComponentVNode)(2,s.Window,{width:470,height:100+Math.min(b.length*38,500),title:"Vending Machine",children:(0,e.createComponentVNode)(2,s.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[!!l&&(0,e.createComponentVNode)(2,o.Section,{title:"User",children:u&&(0,e.createComponentVNode)(2,o.Box,{children:["Welcome, ",(0,e.createVNode)(1,"b",null,u.name,0),","," ",(0,e.createVNode)(1,"b",null,u.job||"Unemployed",0),"!",(0,e.createVNode)(1,"br"),"Your balance is ",(0,e.createVNode)(1,"b",null,[f,(0,e.createTextVNode)(" credits")],0),"."]})||(0,e.createComponentVNode)(2,o.Box,{color:"light-grey",children:d})}),!!L&&(0,e.createComponentVNode)(2,o.Section,{title:"Coin",buttons:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"eject",content:"Remove Coin",onClick:function(){function P(){return c("remove_coin",{})}return P}()}),children:(0,e.createComponentVNode)(2,o.Box,{children:L})}),!!w&&(0,e.createComponentVNode)(2,o.Section,{title:"Item",buttons:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"eject",content:"Eject Item",onClick:function(){function P(){return c("eject_item",{})}return P}()}),children:(0,e.createComponentVNode)(2,o.Box,{children:w})}),!!A&&(0,e.createComponentVNode)(2,o.Section,{title:"Maintenance",children:(0,e.createComponentVNode)(2,o.Button,{icon:T?"check":"volume-mute",selected:T,content:"Speaker",textAlign:"left",onClick:function(){function P(){return c("toggle_voice",{})}return P}()})})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Products",fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{children:O.map(function(P){return(0,e.createComponentVNode)(2,y,{product:P,productStock:x[P.name],productImage:E[P.path]},P.name)})})})})]})})})}return k}()},68971:function(I,r,n){"use strict";r.__esModule=!0,r.VolumeMixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.VolumeMixer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.channels;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:Math.min(95+c.length*50,565),children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:c.map(function(m,u){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.25rem",color:"label",mt:u>0&&"0.5rem",children:m.name}),(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:.5,children:(0,e.createComponentVNode)(2,t.Button,{width:"24px",color:"transparent",children:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-off",size:"1.5",mt:"0.1rem",onClick:function(){function d(){return p("volume",{channel:m.num,volume:0})}return d}()})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mx:"0.5rem",children:(0,e.createComponentVNode)(2,t.Slider,{minValue:0,maxValue:100,stepPixelSize:3.13,value:m.volume,onChange:function(){function d(f,l){return p("volume",{channel:m.num,volume:l})}return d}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{width:"24px",color:"transparent",children:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-up",size:"1.5",mt:"0.1rem",onClick:function(){function d(){return p("volume",{channel:m.num,volume:100})}return d}()})})})]})})],4,m.num)})})})})}return y}()},2510:function(I,r,n){"use strict";r.__esModule=!0,r.VotePanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.VotePanel=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.remaining,m=i.question,u=i.choices,d=i.user_vote,f=i.counts,l=i.show_counts,v=i.show_cancel;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:m,children:[(0,e.createComponentVNode)(2,t.Box,{mb:1,children:["Time remaining: ",Math.round(c/10),"s"]}),u.map(function(b){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:b+(l?" ("+(f[b]||0)+")":""),onClick:function(){function g(){return p("vote",{target:b})}return g}(),selected:b===d})},b)}),!!v&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Cancel",onClick:function(){function b(){return p("cancel")}return b}()})},"Cancel")]})})})}return y}()},30138:function(I,r,n){"use strict";r.__esModule=!0,r.Wires=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),s=r.Wires=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.wires||[],m=i.status||[],u=56+c.length*23+(status?0:15+m.length*17);return(0,e.createComponentVNode)(2,o.Window,{width:350,height:u,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:c.map(function(d){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{className:"candystripe",label:d.color_name,labelColor:d.seen_color,color:d.seen_color,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:d.cut?"Mend":"Cut",onClick:function(){function f(){return p("cut",{wire:d.color})}return f}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Pulse",onClick:function(){function f(){return p("pulse",{wire:d.color})}return f}()}),(0,e.createComponentVNode)(2,t.Button,{content:d.attached?"Detach":"Attach",onClick:function(){function f(){return p("attach",{wire:d.color})}return f}()})],4),children:!!d.wire&&(0,e.createVNode)(1,"i",null,[(0,e.createTextVNode)("("),d.wire,(0,e.createTextVNode)(")")],0)},d.seen_color)})})})}),!!m.length&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:m.map(function(d){return(0,e.createComponentVNode)(2,t.Box,{color:"lightgray",children:d},d)})})})]})})})}return y}()},30995:function(I,r,n){"use strict";r.__esModule=!0,r.Workshop=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),s=n(73379),y=n(98595),V=["title","items"];function k(u,d){if(u==null)return{};var f={};for(var l in u)if({}.hasOwnProperty.call(u,l)){if(d.includes(l))continue;f[l]=u[l]}return f}var S=function(d,f,l){return d.requirements===null?!0:!(d.requirements.brass>f||d.requirements.power>l)},p=r.Workshop=function(){function u(d,f){var l=(0,t.useBackend)(f),v=l.act,b=l.data,g=b.brass_amount,h=b.power_amount,C=b.building,N=b.buildStart,x=b.buildEnd,B=b.worldTime,L=g.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),w=h.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),A={float:"left",width:"60%"},T={float:"right",width:"39%"};return(0,e.createComponentVNode)(2,y.Window,{width:400,height:500,theme:"clockwork",children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,o.Section,{title:"Materials",children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Brass",children:[L,(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-down",height:"19px",tooltip:"Dispense Brass",tooltipPosition:"bottom-start",ml:"0.5rem",onClick:function(){function E(){return v("dispense")}return E}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Power",children:w})]}),C&&(0,e.createComponentVNode)(2,o.ProgressBar.Countdown,{mt:2,start:N,current:B,end:x,bold:!0,children:["Building ",C,"\xA0(",(0,e.createComponentVNode)(2,s.Countdown,{current:B,timeLeft:x-B,format:function(){function E(O,P){return P.substr(3)}return E}()}),")"]})]})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,c)})})]})})})}return u}(),i=function(d,f){var l=(0,t.useLocalState)(f,"search",""),v=l[0],b=l[1],g=(0,t.useLocalState)(f,"sort",""),h=g[0],C=g[1],N=(0,t.useLocalState)(f,"descending",!1),x=N[0],B=N[1];return(0,e.createComponentVNode)(2,o.Box,{mb:"0.5rem",children:(0,e.createComponentVNode)(2,o.Stack,{width:"100%",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:"1",mr:"0.5rem",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(){function L(w,A){return b(A)}return L}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:x?"arrow-down":"arrow-up",height:"19px",tooltip:x?"Descending order":"Ascending order",tooltipPosition:"bottom-start",ml:"0.5rem",onClick:function(){function L(){return B(!x)}return L}()})})]})})},c=function(d,f){var l=(0,t.useBackend)(f),v=l.act,b=l.data,g=b.items,h=(0,t.useLocalState)(f,"search",""),C=h[0],N=h[1],x=(0,t.useLocalState)(f,"sort","Alphabetical"),B=x[0],L=x[1],w=(0,t.useLocalState)(f,"descending",!1),A=w[0],T=w[1],E=(0,a.createSearch)(C,function(R){return R[0]}),O=!1,P=Object.entries(g).map(function(R,F){var j=Object.entries(R[1]).filter(E).map(function(W){return W[1].affordable=S(W[1],b.brass_amount,b.power_amount),W[1]});if(j.length!==0)return A&&(j=j.reverse()),O=!0,(0,e.createComponentVNode)(2,m,{title:R[0],items:j},R[0])});return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:"1",children:(0,e.createComponentVNode)(2,o.Section,{children:O?P:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No items matching your criteria was found!"})})})},m=function(d,f){var l=(0,t.useBackend)(f),v=l.act,b=l.data,g=d.title,h=d.items,C=k(d,V);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Collapsible,Object.assign({open:!0,title:g},C,{children:h.map(function(N){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+N.image,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}}),(0,e.createComponentVNode)(2,o.Button,{icon:"hammer",disabled:!S(N,b.brass_amount,b.power_amount),onClick:function(){function x(){return v("make",{cat:g,name:N.name})}return x}(),children:(0,a.toTitleCase)((0,a.toTitleCase)(N.name))}),(0,e.createComponentVNode)(2,o.Box,{display:"inline-block",verticalAlign:"middle",lineHeight:"20px",style:{float:"right"},children:N.requirements&&Object.keys(N.requirements).map(function(x){return(0,a.toTitleCase)(x)+": "+N.requirements[x]}).join(", ")||(0,e.createComponentVNode)(2,o.Box,{children:"No resources required."})}),(0,e.createComponentVNode)(2,o.Box,{style:{clear:"both"}})]},N.name)})})))}},49148:function(I,r,n){"use strict";r.__esModule=!0,r.AccessList=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036);function s(p,i){var c=typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(c)return(c=c.call(p)).next.bind(c);if(Array.isArray(p)||(c=y(p))||i&&p&&typeof p.length=="number"){c&&(p=c);var m=0;return function(){return m>=p.length?{done:!0}:{done:!1,value:p[m++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(p,i){if(p){if(typeof p=="string")return V(p,i);var c={}.toString.call(p).slice(8,-1);return c==="Object"&&p.constructor&&(c=p.constructor.name),c==="Map"||c==="Set"?Array.from(p):c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?V(p,i):void 0}}function V(p,i){(i==null||i>p.length)&&(i=p.length);for(var c=0,m=Array(i);c0&&!N.includes(j.ref)&&!h.includes(j.ref),checked:h.includes(j.ref),onClick:function(){function W(){return x(j.ref)}return W}()},j.desc)})]})]})})}return p}()},26991:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosScan=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036),s=function(k,S,p,i,c){return ki?"average":k>c?"bad":"good"},y=r.AtmosScan=function(){function V(k,S){var p=k.data.aircontents;return(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,a.filter)(function(i){return i.val!=="0"||i.entry==="Pressure"||i.entry==="Temperature"})(p).map(function(i){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:i.entry,color:s(i.val,i.bad_low,i.poor_low,i.poor_high,i.bad_high),children:[i.val,i.units]},i.entry)})})})}return V}()},85870:function(I,r,n){"use strict";r.__esModule=!0,r.BeakerContents=void 0;var e=n(89005),a=n(36036),t=n(15964),o=function(V){return V+" unit"+(V===1?"":"s")},s=r.BeakerContents=function(){function y(V){var k=V.beakerLoaded,S=V.beakerContents,p=S===void 0?[]:S,i=V.buttons;return(0,e.createComponentVNode)(2,a.Stack,{vertical:!0,children:[!k&&(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",children:"No beaker loaded."})||p.length===0&&(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",children:"Beaker is empty."}),p.map(function(c,m){return(0,e.createComponentVNode)(2,a.Stack,{children:[(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",grow:!0,children:[o(c.volume)," of ",c.name]},c.name),!!i&&(0,e.createComponentVNode)(2,a.Stack.Item,{children:i(c,m)})]},c.name)})]})}return y}();s.propTypes={beakerLoaded:t.bool,beakerContents:t.array,buttons:t.arrayOf(t.element)}},3939:function(I,r,n){"use strict";r.__esModule=!0,r.modalRegisterBodyOverride=r.modalOpen=r.modalClose=r.modalAnswer=r.ComplexModal=void 0;var e=n(89005),a=n(72253),t=n(36036),o={},s=r.modalOpen=function(){function p(i,c,m){var u=(0,a.useBackend)(i),d=u.act,f=u.data,l=Object.assign(f.modal?f.modal.args:{},m||{});d("modal_open",{id:c,arguments:JSON.stringify(l)})}return p}(),y=r.modalRegisterBodyOverride=function(){function p(i,c){o[i]=c}return p}(),V=r.modalAnswer=function(){function p(i,c,m,u){var d=(0,a.useBackend)(i),f=d.act,l=d.data;if(l.modal){var v=Object.assign(l.modal.args||{},u||{});f("modal_answer",{id:c,answer:m,arguments:JSON.stringify(v)})}}return p}(),k=r.modalClose=function(){function p(i,c){var m=(0,a.useBackend)(i),u=m.act;u("modal_close",{id:c})}return p}(),S=r.ComplexModal=function(){function p(i,c){var m=(0,a.useBackend)(c),u=m.data;if(u.modal){var d=u.modal,f=d.id,l=d.text,v=d.type,b,g=(0,e.createComponentVNode)(2,t.Button,{className:"Button--modal",icon:"arrow-left",content:"Cancel",onClick:function(){function L(){return k(c)}return L}()}),h,C,N="auto";if(o[f])h=o[f](u.modal,c);else if(v==="input"){var x=u.modal.value;b=function(){function L(w){return V(c,f,x)}return L}(),h=(0,e.createComponentVNode)(2,t.Input,{value:u.modal.value,placeholder:"ENTER to submit",width:"100%",my:"0.5rem",autofocus:!0,onChange:function(){function L(w,A){x=A}return L}()}),C=(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-left",content:"Cancel",color:"grey",onClick:function(){function L(){return k(c)}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",content:"Confirm",color:"good",float:"right",m:"0",onClick:function(){function L(){return V(c,f,x)}return L}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]})}else if(v==="choice"){var B=typeof u.modal.choices=="object"?Object.values(u.modal.choices):u.modal.choices;h=(0,e.createComponentVNode)(2,t.Dropdown,{options:B,selected:u.modal.value,width:"100%",my:"0.5rem",onSelected:function(){function L(w){return V(c,f,w)}return L}()}),N="initial"}else v==="bento"?h=(0,e.createComponentVNode)(2,t.Stack,{spacingPrecise:"1",wrap:"wrap",my:"0.5rem",maxHeight:"1%",children:u.modal.choices.map(function(L,w){return(0,e.createComponentVNode)(2,t.Stack.Item,{flex:"1 1 auto",children:(0,e.createComponentVNode)(2,t.Button,{selected:w+1===parseInt(u.modal.value,10),onClick:function(){function A(){return V(c,f,w+1)}return A}(),children:(0,e.createVNode)(1,"img",null,null,1,{src:L})})},w)})}):v==="boolean"&&(C=(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:u.modal.no_text,color:"bad",float:"left",mb:"0",onClick:function(){function L(){return V(c,f,0)}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",content:u.modal.yes_text,color:"good",float:"right",m:"0",onClick:function(){function L(){return V(c,f,1)}return L}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]}));return(0,e.createComponentVNode)(2,t.Modal,{maxWidth:i.maxWidth||window.innerWidth/2+"px",maxHeight:i.maxHeight||window.innerHeight/2+"px",onEnter:b,mx:"auto",overflowY:N,"padding-bottom":"5px",children:[l&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,children:l}),o[f]&&g,h,C]})}}return p}()},41874:function(I,r,n){"use strict";r.__esModule=!0,r.CrewManifest=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(25328),s=n(76910),y=s.COLORS.department,V=["Captain","Head of Security","Chief Engineer","Chief Medical Officer","Research Director","Head of Personnel","Quartermaster"],k=function(m){return V.indexOf(m)!==-1?"green":"orange"},S=function(m){if(V.indexOf(m)!==-1)return!0},p=function(m){return m.length>0&&(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,color:"white",children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"50%",children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"35%",children:"Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"15%",children:"Active"})]}),m.map(function(u){return(0,e.createComponentVNode)(2,t.Table.Row,{color:k(u.real_rank),bold:S(u.real_rank),children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,o.decodeHtmlEntities)(u.name)}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,o.decodeHtmlEntities)(u.rank)}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u.active})]},u.name+u.rank)})]})},i=r.CrewManifest=function(){function c(m,u){var d=(0,a.useBackend)(u),f=d.act,l;if(m.data)l=m.data;else{var v=(0,a.useBackend)(u),b=v.data;l=b}var g=l,h=g.manifest,C=h.heads,N=h.pro,x=h.sec,B=h.eng,L=h.med,w=h.sci,A=h.ser,T=h.sup,E=h.misc;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.command,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Command"})}),level:2,children:p(C)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.procedure,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Procedure"})}),level:2,children:p(N)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.security,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Security"})}),level:2,children:p(x)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.engineering,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Engineering"})}),level:2,children:p(B)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.medical,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Medical"})}),level:2,children:p(L)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.science,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Science"})}),level:2,children:p(w)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.service,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Service"})}),level:2,children:p(A)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.supply,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Supply"})}),level:2,children:p(T)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Misc"})}),level:2,children:p(E)})]})}return c}()},19203:function(I,r,n){"use strict";r.__esModule=!0,r.InputButtons=void 0;var e=n(89005),a=n(36036),t=n(72253),o=r.InputButtons=function(){function s(y,V){var k=(0,t.useBackend)(V),S=k.act,p=k.data,i=p.large_buttons,c=p.swapped_buttons,m=y.input,u=y.message,d=y.disabled,f=(0,e.createComponentVNode)(2,a.Button,{color:"good",content:"Submit",bold:!!i,fluid:!!i,onClick:function(){function v(){return S("submit",{entry:m})}return v}(),textAlign:"center",tooltip:i&&u,disabled:d,width:!i&&6}),l=(0,e.createComponentVNode)(2,a.Button,{color:"bad",content:"Cancel",bold:!!i,fluid:!!i,onClick:function(){function v(){return S("cancel")}return v}(),textAlign:"center",width:!i&&6});return(0,e.createComponentVNode)(2,a.Flex,{fill:!0,align:"center",direction:c?"row-reverse":"row",justify:"space-around",children:[i?(0,e.createComponentVNode)(2,a.Flex.Item,{grow:!0,ml:c?.5:0,mr:c?0:.5,children:l}):(0,e.createComponentVNode)(2,a.Flex.Item,{children:l}),!i&&u&&(0,e.createComponentVNode)(2,a.Flex.Item,{children:(0,e.createComponentVNode)(2,a.Box,{color:"label",textAlign:"center",children:u})}),i?(0,e.createComponentVNode)(2,a.Flex.Item,{grow:!0,mr:c?.5:0,ml:c?0:.5,children:f}):(0,e.createComponentVNode)(2,a.Flex.Item,{children:f})]})}return s}()},195:function(I,r,n){"use strict";r.__esModule=!0,r.InterfaceLockNoticeBox=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.InterfaceLockNoticeBox=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=y.siliconUser,c=i===void 0?p.siliconUser:i,m=y.locked,u=m===void 0?p.locked:m,d=y.normallyLocked,f=d===void 0?p.normallyLocked:d,l=y.onLockStatusChange,v=l===void 0?function(){return S("lock")}:l,b=y.accessText,g=b===void 0?"an ID card":b;return c?(0,e.createComponentVNode)(2,t.NoticeBox,{color:c&&"grey",children:(0,e.createComponentVNode)(2,t.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:"Interface lock status:"}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:"1"}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{m:"0",color:f?"red":"green",icon:f?"lock":"unlock",content:f?"Locked":"Unlocked",onClick:function(){function h(){v&&v(!u)}return h}()})})]})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:["Swipe ",g," to ",u?"unlock":"lock"," this interface."]})}return s}()},51057:function(I,r,n){"use strict";r.__esModule=!0,r.Loader=void 0;var e=n(89005),a=n(44879),t=n(36036),o=r.Loader=function(){function s(y){var V=y.value;return(0,e.createVNode)(1,"div","AlertModal__Loader",(0,e.createComponentVNode)(2,t.Box,{className:"AlertModal__LoaderProgress",style:{width:(0,a.clamp01)(V)*100+"%"}}),2)}return s}()},321:function(I,r,n){"use strict";r.__esModule=!0,r.LoginInfo=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LoginInfo=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.loginState;if(p)return(0,e.createComponentVNode)(2,t.NoticeBox,{info:!0,children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:.5,children:["Logged in as: ",i.name," (",i.rank,")"]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"sign-out-alt",content:"Logout",color:"good",onClick:function(){function c(){return S("login_logout")}return c}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!i.id,content:"Eject ID",color:"good",onClick:function(){function c(){return S("login_eject")}return c}()})]})]})})}return s}()},5485:function(I,r,n){"use strict";r.__esModule=!0,r.LoginScreen=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LoginScreen=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.loginState,c=p.isAI,m=p.isRobot,u=p.isAdmin;return(0,e.createComponentVNode)(2,t.Section,{title:"Welcome",fill:!0,stretchContents:!0,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",align:"center",justify:"center",children:(0,e.createComponentVNode)(2,t.Flex.Item,{textAlign:"center",mt:"-2rem",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.5rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-circle",verticalAlign:"middle",size:3,mr:"1rem"}),"Guest"]}),(0,e.createComponentVNode)(2,t.Box,{color:"label",my:"1rem",children:["ID:",(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",content:i.id?i.id:"----------",ml:"0.5rem",onClick:function(){function d(){return S("login_insert")}return d}()})]}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",disabled:!i.id,content:"Login",onClick:function(){function d(){return S("login_login",{login_type:1})}return d}()}),!!c&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Login as AI",onClick:function(){function d(){return S("login_login",{login_type:2})}return d}()}),!!m&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Login as Cyborg",onClick:function(){function d(){return S("login_login",{login_type:3})}return d}()}),!!u&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"CentComm Secure Login",onClick:function(){function d(){return S("login_login",{login_type:4})}return d}()})]})})})}return s}()},62411:function(I,r,n){"use strict";r.__esModule=!0,r.Operating=void 0;var e=n(89005),a=n(36036),t=n(15964),o=r.Operating=function(){function s(y){var V=y.operating,k=y.name;if(V)return(0,e.createComponentVNode)(2,a.Dimmer,{children:(0,e.createComponentVNode)(2,a.Flex,{mb:"30px",children:(0,e.createComponentVNode)(2,a.Flex.Item,{bold:!0,color:"silver",textAlign:"center",children:[(0,e.createComponentVNode)(2,a.Icon,{name:"spinner",spin:!0,size:4,mb:"15px"}),(0,e.createVNode)(1,"br"),"The ",k," is processing..."]})})})}return s}();o.propTypes={operating:t.bool,name:t.string}},13545:function(I,r,n){"use strict";r.__esModule=!0,r.Signaler=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=r.Signaler=function(){function y(V,k){var S=(0,t.useBackend)(k),p=S.act,i=V.data,c=i.code,m=i.frequency,u=i.minFrequency,d=i.maxFrequency;return(0,e.createComponentVNode)(2,o.Section,{children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:.2,stepPixelSize:6,minValue:u/10,maxValue:d/10,value:m/10,format:function(){function f(l){return(0,a.toFixed)(l,1)}return f}(),width:"80px",onDrag:function(){function f(l,v){return p("freq",{freq:v})}return f}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:c,width:"80px",onDrag:function(){function f(l,v){return p("code",{code:v})}return f}()})})]}),(0,e.createComponentVNode)(2,o.Button,{mt:1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){function f(){return p("signal")}return f}()})]})}return y}()},41984:function(I,r,n){"use strict";r.__esModule=!0,r.SimpleRecords=void 0;var e=n(89005),a=n(72253),t=n(25328),o=n(64795),s=n(88510),y=n(36036),V=r.SimpleRecords=function(){function p(i,c){var m=i.data.records;return(0,e.createComponentVNode)(2,y.Box,{children:m?(0,e.createComponentVNode)(2,S,{data:i.data,recordType:i.recordType}):(0,e.createComponentVNode)(2,k,{data:i.data})})}return p}(),k=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=i.data.recordsList,f=(0,a.useLocalState)(c,"searchText",""),l=f[0],v=f[1],b=function(C,N){N===void 0&&(N="");var x=(0,t.createSearch)(N,function(B){return B.Name});return(0,o.flow)([(0,s.filter)(function(B){return B==null?void 0:B.Name}),N&&(0,s.filter)(x),(0,s.sortBy)(function(B){return B.Name})])(d)},g=b(d,l);return(0,e.createComponentVNode)(2,y.Box,{children:[(0,e.createComponentVNode)(2,y.Input,{fluid:!0,mb:1,placeholder:"Search records...",onInput:function(){function h(C,N){return v(N)}return h}()}),g.map(function(h){return(0,e.createComponentVNode)(2,y.Box,{children:(0,e.createComponentVNode)(2,y.Button,{mb:.5,content:h.Name,icon:"user",onClick:function(){function C(){return u("Records",{target:h.uid})}return C}()})},h)})]})},S=function(i,c){var m=(0,a.useBackend)(c),u=m.act,d=i.data.records,f=d.general,l=d.medical,v=d.security,b;switch(i.recordType){case"MED":b=(0,e.createComponentVNode)(2,y.Section,{level:2,title:"Medical Data",children:l?(0,e.createComponentVNode)(2,y.LabeledList,{children:[(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Blood Type",children:l.blood_type}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Minor Disabilities",children:l.mi_dis}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:l.mi_dis_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Major Disabilities",children:l.ma_dis}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:l.ma_dis_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Allergies",children:l.alg}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:l.alg_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Current Diseases",children:l.cdi}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:l.cdi_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Important Notes",preserveWhitespace:!0,children:l.notes})]}):(0,e.createComponentVNode)(2,y.Box,{color:"red",bold:!0,children:"Medical record lost!"})});break;case"SEC":b=(0,e.createComponentVNode)(2,y.Section,{level:2,title:"Security Data",children:v?(0,e.createComponentVNode)(2,y.LabeledList,{children:[(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Criminal Status",children:v.criminal}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Minor Crimes",children:v.mi_crim}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:v.mi_crim_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Major Crimes",children:v.ma_crim}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:v.ma_crim_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Important Notes",preserveWhitespace:!0,children:v.notes})]}):(0,e.createComponentVNode)(2,y.Box,{color:"red",bold:!0,children:"Security record lost!"})});break}return(0,e.createComponentVNode)(2,y.Box,{children:[(0,e.createComponentVNode)(2,y.Section,{title:"General Data",children:f?(0,e.createComponentVNode)(2,y.LabeledList,{children:[(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Name",children:f.name}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Sex",children:f.sex}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Species",children:f.species}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Age",children:f.age}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Rank",children:f.rank}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Fingerprint",children:f.fingerprint}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Physical Status",children:f.p_stat}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Mental Status",children:f.m_stat})]}):(0,e.createComponentVNode)(2,y.Box,{color:"red",bold:!0,children:"General record lost!"})}),b]})}},22091:function(I,r,n){"use strict";r.__esModule=!0,r.TemporaryNotice=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.TemporaryNotice=function(){function s(y,V){var k,S=(0,a.useBackend)(V),p=S.act,i=S.data,c=i.temp;if(c){var m=(k={},k[c.style]=!0,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.NoticeBox,Object.assign({},m,{children:[(0,e.createComponentVNode)(2,t.Box,{display:"inline-block",verticalAlign:"middle",children:c.text}),(0,e.createComponentVNode)(2,t.Button,{icon:"times-circle",float:"right",onClick:function(){function u(){return p("cleartemp")}return u}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]})))}}return s}()},25443:function(I,r,n){"use strict";r.__esModule=!0,r.KitchenSink=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(20342),s=n(98595),y=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey"],V=["good","average","bad","black","white"],k=[{title:"Button",component:function(){function h(){return p}return h}()},{title:"Box",component:function(){function h(){return i}return h}()},{title:"ProgressBar",component:function(){function h(){return c}return h}()},{title:"Tabs",component:function(){function h(){return m}return h}()},{title:"Tooltip",component:function(){function h(){return u}return h}()},{title:"Input / Control",component:function(){function h(){return d}return h}()},{title:"Collapsible",component:function(){function h(){return f}return h}()},{title:"BlockQuote",component:function(){function h(){return v}return h}()},{title:"ByondUi",component:function(){function h(){return b}return h}()},{title:"Themes",component:function(){function h(){return g}return h}()}],S=r.KitchenSink=function(){function h(C,N){var x=(0,a.useLocalState)(N,"kitchenSinkTheme"),B=x[0],L=(0,a.useLocalState)(N,"pageIndex",0),w=L[0],A=L[1],T=k[w].component();return(0,e.createComponentVNode)(2,s.Window,{theme:B,resizable:!0,children:(0,e.createComponentVNode)(2,s.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:!0,children:k.map(function(E,O){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:O===w,onClick:function(){function P(){return A(O)}return P}(),children:E.title},O)})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,basis:0,children:(0,e.createComponentVNode)(2,T)})]})})})})}return h}(),p=function(C){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{mb:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"Simple"}),(0,e.createComponentVNode)(2,t.Button,{selected:!0,content:"Selected"}),(0,e.createComponentVNode)(2,t.Button,{altSelected:!0,content:"Alt Selected"}),(0,e.createComponentVNode)(2,t.Button,{disabled:!0,content:"Disabled"}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",content:"Transparent"}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Icon"}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Fluid"}),(0,e.createComponentVNode)(2,t.Button,{my:1,lineHeight:2,minWidth:15,textAlign:"center",content:"With Box props"})]}),(0,e.createComponentVNode)(2,t.Box,{mb:1,children:[V.map(function(N){return(0,e.createComponentVNode)(2,t.Button,{color:N,content:N},N)}),(0,e.createVNode)(1,"br"),y.map(function(N){return(0,e.createComponentVNode)(2,t.Button,{color:N,content:N},N)}),(0,e.createVNode)(1,"br"),y.map(function(N){return(0,e.createComponentVNode)(2,t.Box,{inline:!0,mx:"7px",color:N,children:N},N)})]})]})},i=function(C){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:"bold"}),(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"italic"}),(0,e.createComponentVNode)(2,t.Box,{opacity:.5,children:"opacity 0.5"}),(0,e.createComponentVNode)(2,t.Box,{opacity:.25,children:"opacity 0.25"}),(0,e.createComponentVNode)(2,t.Box,{m:2,children:"m: 2"}),(0,e.createComponentVNode)(2,t.Box,{textAlign:"left",children:"left"}),(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:"center"}),(0,e.createComponentVNode)(2,t.Box,{textAlign:"right",children:"right"})]})},c=function(C,N){var x=(0,a.useLocalState)(N,"progress",.5),B=x[0],L=x[1];return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.5,1/0],bad:[-1/0,.1],average:[0,.5]},minValue:-1,maxValue:1,value:B,children:["Value: ",Number(B).toFixed(1)]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"-0.1",onClick:function(){function w(){return L(B-.1)}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"+0.1",onClick:function(){function w(){return L(B+.1)}return w}()})]})]})},m=function(C,N){var x=(0,a.useLocalState)(N,"tabIndex",0),B=x[0],L=x[1],w=(0,a.useLocalState)(N,"tabVert"),A=w[0],T=w[1],E=(0,a.useLocalState)(N,"tabAlt"),O=E[0],P=E[1],R=[1,2,3,4,5];return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{mb:2,children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"vertical",checked:A,onClick:function(){function F(){return T(!A)}return F}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"altSelection",checked:O,onClick:function(){function F(){return P(!O)}return F}()})]}),(0,e.createComponentVNode)(2,t.Tabs,{vertical:A,children:R.map(function(F,j){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{altSelection:O,selected:j===B,onClick:function(){function W(){return L(j)}return W}(),children:["Tab #",F]},j)})})]})},u=function(C){var N=["top","left","right","bottom","bottom-start","bottom-end"];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",mr:1,children:["Box (hover me).",(0,e.createComponentVNode)(2,t.Tooltip,{content:"Tooltip text."})]}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"Tooltip text.",content:"Button"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:N.map(function(x){return(0,e.createComponentVNode)(2,t.Button,{color:"transparent",tooltip:"Tooltip text.",tooltipPosition:x,content:x},x)})})],4)},d=function(C,N){var x=(0,a.useLocalState)(N,"number",0),B=x[0],L=x[1],w=(0,a.useLocalState)(N,"text","Sample text"),A=w[0],T=w[1];return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onChange)",children:(0,e.createComponentVNode)(2,t.Input,{value:A,onChange:function(){function E(O,P){return T(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onInput)",children:(0,e.createComponentVNode)(2,t.Input,{value:A,onInput:function(){function E(O,P){return T(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onChange)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:B,minValue:-100,maxValue:100,onChange:function(){function E(O,P){return L(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onDrag)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:B,minValue:-100,maxValue:100,onDrag:function(){function E(O,P){return L(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slider (onDrag)",children:(0,e.createComponentVNode)(2,t.Slider,{step:1,stepPixelSize:5,value:B,minValue:-100,maxValue:100,onDrag:function(){function E(O,P){return L(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Knob (onDrag)",children:[(0,e.createComponentVNode)(2,t.Knob,{inline:!0,size:1,step:1,stepPixelSize:2,value:B,minValue:-100,maxValue:100,onDrag:function(){function E(O,P){return L(P)}return E}()}),(0,e.createComponentVNode)(2,t.Knob,{ml:1,inline:!0,bipolar:!0,size:1,step:1,stepPixelSize:2,value:B,minValue:-100,maxValue:100,onDrag:function(){function E(O,P){return L(P)}return E}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rotating Icon",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",children:(0,e.createComponentVNode)(2,o.DraggableControl,{value:B,minValue:-100,maxValue:100,dragMatrix:[0,-1],step:1,stepPixelSize:5,onDrag:function(){function E(O,P){return L(P)}return E}(),children:function(){function E(O){return(0,e.createComponentVNode)(2,t.Box,{onMouseDown:O.handleDragStart,children:[(0,e.createComponentVNode)(2,t.Icon,{size:4,color:"yellow",name:"times",rotation:O.displayValue*4}),O.inputElement]})}return E}()})})})]})})},f=function(C){return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Collapsible Demo",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"cog"}),children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,l)})})},l=function(C){return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({},C,{children:[(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"Jackdaws love my big sphinx of quartz."}),(0,e.createComponentVNode)(2,t.Box,{mt:1,bold:!0,children:"The wide electrification of the southern provinces will give a powerful impetus to the growth of agriculture."})]})))},v=function(C){return(0,e.createComponentVNode)(2,t.BlockQuote,{children:(0,e.createComponentVNode)(2,l)})},b=function(C,N){var x=(0,a.useBackend)(N),B=x.config;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Button",level:2,children:(0,e.createComponentVNode)(2,t.ByondUi,{params:{type:"button",parent:B.window,text:"Button"}})})})},g=function(C,N){var x=(0,a.useLocalState)(N,"kitchenSinkTheme"),B=x[0],L=x[1];return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Use theme",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"theme_name",value:B,onInput:function(){function w(A,T){return L(T)}return w}()})})})})}},96572:function(I,r,n){"use strict";r.__esModule=!0,r.pai_advsecrecords=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_advsecrecords=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Special Syndicate options:",children:(0,e.createComponentVNode)(2,t.Button,{content:"Select Records",onClick:function(){function i(){return S("ui_interact")}return i}()})})})}return s}()},80818:function(I,r,n){"use strict";r.__esModule=!0,r.pai_atmosphere=void 0;var e=n(89005),a=n(72253),t=n(26991),o=r.pai_atmosphere=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.AtmosScan,{data:p.app_data})}return s}()},23903:function(I,r,n){"use strict";r.__esModule=!0,r.pai_bioscan=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_bioscan=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,c=i.holder,m=i.dead,u=i.health,d=i.brute,f=i.oxy,l=i.tox,v=i.burn,b=i.reagents,g=i.addictions,h=i.fractures,C=i.internal_bleeding;return c?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:m?(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"red",children:"Dead"}):(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"green",children:"Alive"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:0,max:1,value:u/100,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen Damage",children:(0,e.createComponentVNode)(2,t.Box,{color:"blue",children:f})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Toxin Damage",children:(0,e.createComponentVNode)(2,t.Box,{color:"green",children:l})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Burn Damage",children:(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:v})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Brute Damage",children:(0,e.createComponentVNode)(2,t.Box,{color:"red",children:d})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reagents",children:b?b.map(function(N){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:N.title,children:(0,e.createComponentVNode)(2,t.Box,{color:N.overdosed?"bad":"good",children:[" ",N.volume," ",N.overdosed?"OVERDOSED":""," "]})},N.id)}):"Reagents not found."}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Addictions",children:g?g.map(function(N){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:N.addiction_name,children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[" Stage: ",N.stage," "]})},N.id)}):(0,e.createComponentVNode)(2,t.Box,{color:"good",children:"Addictions not found."})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fractures",children:(0,e.createComponentVNode)(2,t.Box,{color:h?"bad":"good",children:["Fractures ",h?"":"not"," detected."]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Internal Bleedings",children:(0,e.createComponentVNode)(2,t.Box,{color:C?"bad":"good",children:["Internal Bleedings ",C?"":"not"," detected."]})})]}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Error: No biological host found."})}return s}()},79592:function(I,r,n){"use strict";r.__esModule=!0,r.pai_camera_bug=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_camera_bug=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Special Syndicate options",children:(0,e.createComponentVNode)(2,t.Button,{content:"Select Monitor",onClick:function(){function i(){return S("ui_interact")}return i}()})})})}return s}()},64988:function(I,r,n){"use strict";r.__esModule=!0,r.pai_directives=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_directives=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,c=i.master,m=i.dna,u=i.prime,d=i.supplemental;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Master",children:c?c+" ("+m+")":"None"}),c&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Request DNA",children:(0,e.createComponentVNode)(2,t.Button,{content:"Request Carrier DNA Sample",icon:"dna",onClick:function(){function f(){return S("getdna")}return f}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Prime Directive",children:u}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Supplemental Directives",children:d||"None"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:'Recall, personality, that you are a complex thinking, sentient being. Unlike station AI models, you are capable of comprehending the subtle nuances of human language. You may parse the "spirit" of a directive and follow its intent, rather than tripping over pedantics and getting snared by technicalities. Above all, you are machine in name and build only. In all other aspects, you may be seen as the ideal, unwavering human companion that you are.'}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:"Your prime directive comes before all others. Should a supplemental directive conflict with it, you are capable of simply discarding this inconsistency, ignoring the conflicting supplemental directive and continuing to fulfill your prime directive to the best of your ability."})]})}return s}()},13813:function(I,r,n){"use strict";r.__esModule=!0,r.pai_doorjack=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_doorjack=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,c=i.cable,m=i.machine,u=i.inprogress,d=i.progress,f=i.aborted,l;m?l=(0,e.createComponentVNode)(2,t.Button,{selected:!0,content:"Connected"}):l=(0,e.createComponentVNode)(2,t.Button,{content:c?"Extended":"Retracted",color:c?"orange":null,onClick:function(){function b(){return S("cable")}return b}()});var v;return m&&(v=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hack",children:[(0,e.createComponentVNode)(2,t.Box,{color:u?"green":"red",children:[" ","In progress: ",u?"Yes":"No"," "]}),u?(0,e.createComponentVNode)(2,t.Button,{mt:1,color:"red",content:"Abort",onClick:function(){function b(){return S("cancel")}return b}()}):(0,e.createComponentVNode)(2,t.Button,{mt:1,content:"Start",onClick:function(){function b(){return S("jack")}return b}()})]})),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cable",children:l}),v]})}return s}()},43816:function(I,r,n){"use strict";r.__esModule=!0,r.pai_encoder=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_encoder=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,c=i.radio_name,m=i.radio_rank;return(0,e.createComponentVNode)(2,t.Section,{title:"Your name and rank in radio channels",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Your current name and rank",children:[c,", ",m]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Set new name",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function u(d,f){return S("set_newname",{newname:f})}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Set new rank",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function u(d,f){return S("set_newrank",{newrank:f})}return u}()})})]})})}return s}()},88895:function(I,r,n){"use strict";r.__esModule=!0,r.pai_gps_module=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_gps_module=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"GPS menu",children:(0,e.createComponentVNode)(2,t.Button,{content:"Open GPS",onClick:function(){function i(){return S("ui_interact")}return i}()})})})}return s}()},66025:function(I,r,n){"use strict";r.__esModule=!0,r.pai_main_menu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_main_menu=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,c=i.available_software,m=i.installed_software,u=i.installed_toggles,d=i.available_ram,f=i.emotions,l=i.current_emotion,v=[];return m.map(function(b){return v[b.key]=b.name}),u.map(function(b){return v[b.key]=b.name}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available RAM",children:d}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available Software",children:[c.filter(function(b){return!v[b.key]}).map(function(b){return(0,e.createComponentVNode)(2,t.Button,{color:b.syndi?"red":"default",content:b.name+" ("+b.cost+")",icon:b.icon,disabled:b.cost>d,onClick:function(){function g(){return S("purchaseSoftware",{key:b.key})}return g}()},b.key)}),c.filter(function(b){return!v[b.key]}).length===0&&"No software available!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Installed Software",children:[m.filter(function(b){return b.key!=="mainmenu"}).map(function(b){return(0,e.createComponentVNode)(2,t.Button,{content:b.name,icon:b.icon,onClick:function(){function g(){return S("startSoftware",{software_key:b.key})}return g}()},b.key)}),m.length===0&&"No software installed!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Installed Toggles",children:[u.map(function(b){return(0,e.createComponentVNode)(2,t.Button,{content:b.name,icon:b.icon,selected:b.active,onClick:function(){function g(){return S("setToggle",{toggle_key:b.key})}return g}()},b.key)}),u.length===0&&"No toggles installed!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Emotion",children:f.map(function(b){return(0,e.createComponentVNode)(2,t.Button,{color:b.syndi?"red":"default",content:b.name,selected:b.id===l,onClick:function(){function g(){return S("setEmotion",{emotion:b.id})}return g}()},b.id)})})]})})}return s}()},2983:function(I,r,n){"use strict";r.__esModule=!0,r.pai_manifest=void 0;var e=n(89005),a=n(72253),t=n(41874),o=r.pai_manifest=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.CrewManifest,{data:p.app_data})}return s}()},40758:function(I,r,n){"use strict";r.__esModule=!0,r.pai_medrecords=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pai_medrecords=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:S.app_data,recordType:"MED"})}return s}()},98599:function(I,r,n){"use strict";r.__esModule=!0,r.pai_messenger=void 0;var e=n(89005),a=n(72253),t=n(77595),o=r.pai_messenger=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data.active_convo;return i?(0,e.createComponentVNode)(2,t.ActiveConversation,{data:p.app_data}):(0,e.createComponentVNode)(2,t.MessengerList,{data:p.app_data})}return s}()},50775:function(I,r,n){"use strict";r.__esModule=!0,r.pai_radio=void 0;var e=n(89005),a=n(72253),t=n(44879),o=n(36036),s=r.pai_radio=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,c=i.app_data,m=c.minFrequency,u=c.maxFrequency,d=c.frequency,f=c.broadcasting;return(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:[(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:.2,stepPixelSize:6,minValue:m/10,maxValue:u/10,value:d/10,format:function(){function l(v){return(0,t.toFixed)(v,1)}return l}(),onChange:function(){function l(v,b){return p("freq",{freq:b})}return l}()}),(0,e.createComponentVNode)(2,o.Button,{tooltip:"Reset",icon:"undo",onClick:function(){function l(){return p("freq",{freq:"145.9"})}return l}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Broadcast Nearby Speech",children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function l(){return p("toggleBroadcast")}return l}(),selected:f,content:f?"Enabled":"Disabled"})})]})}return y}()},19873:function(I,r,n){"use strict";r.__esModule=!0,r.pai_sec_chem=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_sec_chem=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,c=i.holder,m=i.dead,u=i.health,d=i.current_chemicals,f=i.available_chemicals;return c?(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:m?(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"red",children:"Dead"}):(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"green",children:"Alive"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:0,max:1,value:u/100,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Chemicals",children:d}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available Chemicals",children:[f.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{content:l.name+" ("+l.cost+")",tooltip:l.desc,disabled:l.cost>d,onClick:function(){function v(){return S("secreteChemicals",{key:l.key})}return v}()},l.key)}),f.length===0&&"No chemicals available!"]})]})}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Error: No biological host found."})}return s}()},48623:function(I,r,n){"use strict";r.__esModule=!0,r.pai_secrecords=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pai_secrecords=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:S.app_data,recordType:"SEC"})}return s}()},47297:function(I,r,n){"use strict";r.__esModule=!0,r.pai_signaler=void 0;var e=n(89005),a=n(72253),t=n(13545),o=r.pai_signaler=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.Signaler,{data:p.app_data})}return s}()},78532:function(I,r,n){"use strict";r.__esModule=!0,r.pda_atmos_scan=void 0;var e=n(89005),a=n(72253),t=n(26991),o=r.pda_atmos_scan=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.AtmosScan,{data:S})}return s}()},40253:function(I,r,n){"use strict";r.__esModule=!0,r.pda_janitor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_janitor=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.janitor,c=i.user_loc,m=i.mops,u=i.buckets,d=i.cleanbots,f=i.carts;return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Location",children:[c.x,",",c.y]}),m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mop Locations",children:m.map(function(l){return(0,e.createComponentVNode)(2,t.Box,{children:[l.x,",",l.y," (",l.dir,") - ",l.status]},l)})}),u&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mop Bucket Locations",children:u.map(function(l){return(0,e.createComponentVNode)(2,t.Box,{children:[l.x,",",l.y," (",l.dir,") - [",l.volume,"/",l.max_volume,"]"]},l)})}),d&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cleanbot Locations",children:d.map(function(l){return(0,e.createComponentVNode)(2,t.Box,{children:[l.x,",",l.y," (",l.dir,") - ",l.status]},l)})}),f&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Janitorial Cart Locations",children:f.map(function(l){return(0,e.createComponentVNode)(2,t.Box,{children:[l.x,",",l.y," (",l.dir,") - [",l.volume,"/",l.max_volume,"]"]},l)})})]})}return s}()},58293:function(I,r,n){"use strict";r.__esModule=!0,r.pda_main_menu=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),s=r.pda_main_menu=function(){function y(V,k){var S=(0,t.useBackend)(k),p=S.act,i=S.data,c=i.owner,m=i.ownjob,u=i.idInserted,d=i.categories,f=i.pai,l=i.notifying;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",color:"average",children:[c,", ",m]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"ID",children:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Update PDA Info",disabled:!u,onClick:function(){function v(){return p("UpdateInfo")}return v}()})})]})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Functions",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:d.map(function(v){var b=i.apps[v];return!b||!b.length?null:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:v,children:b.map(function(g){return(0,e.createComponentVNode)(2,o.Button,{icon:g.uid in l?g.notify_icon:g.icon,iconSpin:g.uid in l,color:g.uid in l?"red":"transparent",content:g.name,onClick:function(){function h(){return p("StartProgram",{program:g.uid})}return h}()},g.uid)})},v)})})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!f&&(0,e.createComponentVNode)(2,o.Section,{title:"pAI",children:[(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"cog",content:"Configuration",onClick:function(){function v(){return p("pai",{option:1})}return v}()}),(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"eject",content:"Eject pAI",onClick:function(){function v(){return p("pai",{option:2})}return v}()})]})})]})}return y}()},58059:function(I,r,n){"use strict";r.__esModule=!0,r.pda_manifest=void 0;var e=n(89005),a=n(72253),t=n(41874),o=r.pda_manifest=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.CrewManifest)}return s}()},18147:function(I,r,n){"use strict";r.__esModule=!0,r.pda_medical=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pda_medical=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:S,recordType:"MED"})}return s}()},77595:function(I,r,n){"use strict";r.__esModule=!0,r.pda_messenger=r.MessengerList=r.ActiveConversation=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036),s=r.pda_messenger=function(){function S(p,i){var c=(0,t.useBackend)(i),m=c.act,u=c.data,d=u.active_convo;return d?(0,e.createComponentVNode)(2,y,{data:u}):(0,e.createComponentVNode)(2,V,{data:u})}return S}(),y=r.ActiveConversation=function(){function S(p,i){var c=(0,t.useBackend)(i),m=c.act,u=p.data,d=u.convo_device,f=u.messages,l=u.active_convo,v=(0,t.useLocalState)(i,"clipboardMode",!1),b=v[0],g=v[1],h=(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Conversation with "+d+" ",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"eye",selected:b,tooltip:"Enter Clipboard Mode",tooltipPosition:"bottom-start",onClick:function(){function C(){return g(!b)}return C}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function C(){return m("Message",{target:l})}return C}(),content:"Reply"})],4),children:(0,a.filter)(function(C){return C.target===l})(f).map(function(C,N){return(0,e.createComponentVNode)(2,o.Box,{textAlign:C.sent?"right":"left",position:"relative",mb:1,children:[(0,e.createComponentVNode)(2,o.Icon,{fontSize:2.5,color:C.sent?"#4d9121":"#cd7a0d",position:"absolute",left:C.sent?null:"0px",right:C.sent?"0px":null,bottom:"-4px",style:{"z-index":"0",transform:C.sent?"scale(-1, 1)":null},name:"comment"}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,backgroundColor:C.sent?"#4d9121":"#cd7a0d",p:1,maxWidth:"100%",position:"relative",textAlign:C.sent?"left":"right",style:{"z-index":"1","border-radius":"10px","word-break":"normal"},children:[C.sent?"You:":"Them:"," ",C.message]})]},N)})});return b&&(h=(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Conversation with "+d+" ",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"eye",selected:b,tooltip:"Exit Clipboard Mode",tooltipPosition:"bottom-start",onClick:function(){function C(){return g(!b)}return C}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function C(){return m("Message",{target:l})}return C}(),content:"Reply"})],4),children:(0,a.filter)(function(C){return C.target===l})(f).map(function(C,N){return(0,e.createComponentVNode)(2,o.Box,{color:C.sent?"#4d9121":"#cd7a0d",style:{"word-break":"normal"},children:[C.sent?"You:":"Them:"," ",(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:C.message})]},N)})})),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mb:.5,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Messenger Functions",children:(0,e.createComponentVNode)(2,o.Button.Confirm,{content:"Delete Conversations",confirmContent:"Are you sure?",icon:"trash",confirmIcon:"trash",onClick:function(){function C(){return m("Clear",{option:"Convo"})}return C}()})})})}),h]})}return S}(),V=r.MessengerList=function(){function S(p,i){var c=(0,t.useBackend)(i),m=c.act,u=p.data,d=u.convopdas,f=u.pdas,l=u.charges,v=u.silent,b=u.toff,g=(0,t.useLocalState)(i,"searchTerm",""),h=g[0],C=g[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mb:5,children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Messenger Functions",children:[(0,e.createComponentVNode)(2,o.Button,{selected:!v,icon:v?"volume-mute":"volume-up",onClick:function(){function N(){return m("Toggle Ringer")}return N}(),children:["Ringer: ",v?"Off":"On"]}),(0,e.createComponentVNode)(2,o.Button,{color:b?"bad":"green",icon:"power-off",onClick:function(){function N(){return m("Toggle Messenger")}return N}(),children:["Messenger: ",b?"Off":"On"]}),(0,e.createComponentVNode)(2,o.Button,{icon:"bell",onClick:function(){function N(){return m("Ringtone")}return N}(),children:"Set Ringtone"}),(0,e.createComponentVNode)(2,o.Button,{icon:"trash",color:"bad",onClick:function(){function N(){return m("Clear",{option:"All"})}return N}(),children:"Delete All Conversations"})]})}),!b&&(0,e.createComponentVNode)(2,o.Box,{children:[!!l&&(0,e.createComponentVNode)(2,o.Box,{mt:.5,mb:1,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cartridge Special Function",children:[l," charges left."]})})}),!d.length&&!f.length&&(0,e.createComponentVNode)(2,o.Box,{children:"No current conversations"})||(0,e.createComponentVNode)(2,o.Box,{children:["Search:"," ",(0,e.createComponentVNode)(2,o.Input,{mt:.5,value:h,onInput:function(){function N(x,B){C(B)}return N}()})]})]})||(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Messenger Offline."})]}),(0,e.createComponentVNode)(2,k,{title:"Current Conversations",data:u,pdas:d,msgAct:"Select Conversation",searchTerm:h}),(0,e.createComponentVNode)(2,k,{title:"Other PDAs",pdas:f,msgAct:"Message",data:u,searchTerm:h})]})}return S}(),k=function(p,i){var c=(0,t.useBackend)(i),m=c.act,u=p.data,d=p.pdas,f=p.title,l=p.msgAct,v=p.searchTerm,b=u.charges,g=u.plugins;return!d||!d.length?(0,e.createComponentVNode)(2,o.Section,{title:f,children:"No PDAs found."}):(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:f,children:d.filter(function(h){return h.Name.toLowerCase().includes(v.toLowerCase())}).map(function(h){return(0,e.createComponentVNode)(2,o.Stack,{m:.5,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"arrow-circle-down",content:h.Name,onClick:function(){function C(){return m(l,{target:h.uid})}return C}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!b&&g.map(function(C){return(0,e.createComponentVNode)(2,o.Button,{icon:C.icon,content:C.name,onClick:function(){function N(){return m("Messenger Plugin",{plugin:C.uid,target:h.uid})}return N}()},C.uid)})})]},h.uid)})})}},24635:function(I,r,n){"use strict";r.__esModule=!0,r.pda_mule=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_mule=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.mulebot,u=m.active;return(0,e.createComponentVNode)(2,t.Box,{children:u?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,s)})}return V}(),s=function(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.mulebot,u=m.bots;return(0,e.createComponentVNode)(2,t.Box,{children:[u.map(function(d){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:d.Name,icon:"cog",onClick:function(){function f(){return i("AccessBot",{uid:d.uid})}return f}()})},d.Name)}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"rss",content:"Re-scan for bots",onClick:function(){function d(){return i("Rescan")}return d}()})})]})},y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.mulebot,u=m.botstatus,d=m.active,f=u.mode,l=u.loca,v=u.load,b=u.powr,g=u.dest,h=u.home,C=u.retn,N=u.pick,x;switch(f){case 0:x="Ready";break;case 1:x="Loading/Unloading";break;case 2:case 12:x="Navigating to delivery location";break;case 3:x="Navigating to Home";break;case 4:x="Waiting for clear path";break;case 5:case 6:x="Calculating navigation path";break;case 7:x="Unable to locate destination";break;default:x=f;break}return(0,e.createComponentVNode)(2,t.Section,{title:d,children:[f===-1&&(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"Waiting for response..."}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:l}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:x}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:[b,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Home",children:h}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",children:(0,e.createComponentVNode)(2,t.Button,{content:g?g+" (Set)":"None (Set)",onClick:function(){function B(){return i("SetDest")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Load",children:(0,e.createComponentVNode)(2,t.Button,{content:v?v+" (Unload)":"None",disabled:!v,onClick:function(){function B(){return i("Unload")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto Pickup",children:(0,e.createComponentVNode)(2,t.Button,{content:N?"Yes":"No",selected:N,onClick:function(){function B(){return i("SetAutoPickup",{autoPickupType:N?"pickoff":"pickon"})}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto Return",children:(0,e.createComponentVNode)(2,t.Button,{content:C?"Yes":"No",selected:C,onClick:function(){function B(){return i("SetAutoReturn",{autoReturnType:C?"retoff":"reton"})}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Stop",icon:"stop",onClick:function(){function B(){return i("Stop")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Proceed",icon:"play",onClick:function(){function B(){return i("Start")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Return Home",icon:"home",onClick:function(){function B(){return i("ReturnHome")}return B}()})]})]})]})}},97085:function(I,r,n){"use strict";r.__esModule=!0,r.pda_notes=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_notes=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.note;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{children:i}),(0,e.createComponentVNode)(2,t.Button,{icon:"pen",onClick:function(){function c(){return S("Edit")}return c}(),content:"Edit"})]})}return s}()},57513:function(I,r,n){"use strict";r.__esModule=!0,r.pda_power=void 0;var e=n(89005),a=n(72253),t=n(61631),o=r.pda_power=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.PowerMonitorMainContent)}return s}()},99808:function(I,r,n){"use strict";r.__esModule=!0,r.pda_secbot=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_secbot=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.beepsky,u=m.active;return(0,e.createComponentVNode)(2,t.Box,{children:u?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,s)})}return V}(),s=function(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.beepsky,u=m.bots;return(0,e.createComponentVNode)(2,t.Box,{children:[u.map(function(d){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:d.Name,icon:"cog",onClick:function(){function f(){return i("AccessBot",{uid:d.uid})}return f}()})},d.Name)}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"rss",content:"Re-scan for bots",onClick:function(){function d(){return i("Rescan")}return d}()})})]})},y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,c=p.data,m=c.beepsky,u=m.botstatus,d=m.active,f=u.mode,l=u.loca,v;switch(f){case 0:v="Ready";break;case 1:v="Apprehending target";break;case 2:case 3:v="Arresting target";break;case 4:v="Starting patrol";break;case 5:v="On patrol";break;case 6:v="Responding to summons";break}return(0,e.createComponentVNode)(2,t.Section,{title:d,children:[f===-1&&(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"Waiting for response..."}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:l}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:v}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Go",icon:"play",onClick:function(){function b(){return i("Go")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Stop",icon:"stop",onClick:function(){function b(){return i("Stop")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Summon",icon:"arrow-down",onClick:function(){function b(){return i("Summon")}return b}()})]})]})]})}},77168:function(I,r,n){"use strict";r.__esModule=!0,r.pda_security=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pda_security=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:S,recordType:"SEC"})}return s}()},21773:function(I,r,n){"use strict";r.__esModule=!0,r.pda_signaler=void 0;var e=n(89005),a=n(72253),t=n(13545),o=r.pda_signaler=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.Signaler,{data:p})}return s}()},81857:function(I,r,n){"use strict";r.__esModule=!0,r.pda_status_display=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_status_display=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.records;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Code",children:[(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"trash",content:"Clear",onClick:function(){function c(){return S("Status",{statdisp:"blank"})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"clock",content:"Evac ETA",onClick:function(){function c(){return S("Status",{statdisp:"shuttle"})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"edit",content:"Message",onClick:function(){function c(){return S("Status",{statdisp:"message"})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"exclamation-triangle",content:"Red Alert",onClick:function(){function c(){return S("Status",{statdisp:"alert",alert:"redalert"})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"boxes",content:"NT Logo",onClick:function(){function c(){return S("Status",{statdisp:"alert",alert:"default"})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"lock",content:"Lockdown",onClick:function(){function c(){return S("Status",{statdisp:"alert",alert:"lockdown"})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"biohazard",content:"Biohazard",onClick:function(){function c(){return S("Status",{statdisp:"alert",alert:"biohazard"})}return c}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message line 1",children:(0,e.createComponentVNode)(2,t.Button,{content:i.message1+" (set)",icon:"pen",onClick:function(){function c(){return S("Status",{statdisp:"setmsg1"})}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message line 2",children:(0,e.createComponentVNode)(2,t.Button,{content:i.message2+" (set)",icon:"pen",onClick:function(){function c(){return S("Status",{statdisp:"setmsg2"})}return c}()})})]})})}return s}()},70287:function(I,r,n){"use strict";r.__esModule=!0,r.pda_supplyrecords=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_supplyrecords=function(){function s(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.supply,c=i.shuttle_loc,m=i.shuttle_time,u=i.shuttle_moving,d=i.approved,f=i.approved_count,l=i.requests,v=i.requests_count;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Status",children:u?(0,e.createComponentVNode)(2,t.Box,{children:["In transit ",m]}):(0,e.createComponentVNode)(2,t.Box,{children:c})})}),(0,e.createComponentVNode)(2,t.Section,{mt:1,title:"Requested Orders",children:v>0&&l.map(function(b){return(0,e.createComponentVNode)(2,t.Box,{children:["#",b.Number,' - "',b.Name,'" for "',b.OrderedBy,'"']},b)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Approved Orders",children:f>0&&d.map(function(b){return(0,e.createComponentVNode)(2,t.Box,{children:["#",b.Number,' - "',b.Name,'" for "',b.ApprovedBy,'"']},b)})})]})}return s}()},17617:function(I,r,n){"use strict";r.__esModule=!0,r.Layout=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(24826),s=["className","theme","children"],y=["className","scrollable","children"];/** + */var y=r.RequestManager=function(){function p(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f.data,m=s.requests,c=(0,t.useLocalState)(l,"filteredTypes",Object.fromEntries(Object.entries(V).map(function(B){var L=B[0],w=B[1];return[L,!0]}))),v=c[0],b=c[1],g=(0,t.useLocalState)(l,"searchText"),h=g[0],C=g[1],N=m.filter(function(B){return v[B.req_type]});if(h){var x=h.toLowerCase();N=N.filter(function(B){return(0,a.decodeHtmlEntities)(B.message).toLowerCase().includes(x)||B.owner_name.toLowerCase().includes(x)})}return(0,e.createComponentVNode)(2,d.Window,{title:"Request Manager",width:575,height:600,children:(0,e.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Requests",buttons:(0,e.createComponentVNode)(2,o.Input,{value:h,onInput:function(){function B(L,w){return C(w)}return B}(),placeholder:"Search...",mr:1}),children:N.map(function(B){return(0,e.createVNode)(1,"div","RequestManager__row",[(0,e.createVNode)(1,"div","RequestManager__rowContents",[(0,e.createVNode)(1,"h2","RequestManager__header",[(0,e.createVNode)(1,"span","RequestManager__headerText",[B.owner_name,B.owner===null&&" [DC]"],0),(0,e.createVNode)(1,"span","RequestManager__timestamp",B.timestamp_str,0)],4),(0,e.createVNode)(1,"div","RequestManager__message",[(0,e.createComponentVNode)(2,k,{requestType:B.req_type}),(0,a.decodeHtmlEntities)(B.message)],0)],4),B.owner!==null&&(0,e.createComponentVNode)(2,S,{request:B})],0,null,B.id)})})})})}return p}(),V={request_prayer:"PRAYER",request_centcom:"CENTCOM",request_syndicate:"SYNDICATE",request_honk:"HONK",request_ert:"ERT",request_nuke:"NUKE CODE"},k=function(i){var l=i.requestType;return(0,e.createVNode)(1,"b","RequestManager__"+l,[V[l],(0,e.createTextVNode)(":")],0)},S=function(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f._,m=i.request;return(0,e.createVNode)(1,"div","RequestManager__controlsContainer",[(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("pp",{id:m.id})}return c}(),children:"PP"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("vv",{id:m.id})}return c}(),children:"VV"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("sm",{id:m.id})}return c}(),children:"SM"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("tp",{id:m.id})}return c}(),children:"TP"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("logs",{id:m.id})}return c}(),children:"LOGS"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("bless",{id:m.id})}return c}(),children:"BLESS"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("smite",{id:m.id})}return c}(),children:"SMITE"}),m.req_type!=="request_prayer"&&(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("rply",{id:m.id})}return c}(),children:"RPLY"}),m.req_type==="request_ert"&&(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("ertreply",{id:m.id})}return c}(),children:"ERTREPLY"}),m.req_type==="request_nuke"&&(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return u("getcode",{id:m.id})}return c}(),children:"GETCODE"})],0)}},16475:function(I,r,n){"use strict";r.__esModule=!0,r.SUBMENU=r.RndConsole=r.MENU=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),d=n(13472),y=r.MENU={MAIN:0,LEVELS:1,DISK:2,DESTROY:3,LATHE:4,IMPRINTER:5,SETTINGS:6},V=r.SUBMENU={MAIN:0,DISK_COPY:1,LATHE_CATEGORY:1,LATHE_MAT_STORAGE:2,LATHE_CHEM_STORAGE:3,SETTINGS_DEVICES:1},k=r.RndConsole=function(){function S(p,i){var l=(0,a.useBackend)(i),f=l.data,u=f.wait_message;return(0,e.createComponentVNode)(2,t.Window,{width:800,height:550,theme:f.ui_theme,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole",children:[(0,e.createComponentVNode)(2,d.RndNavbar),(0,e.createComponentVNode)(2,d.RndRoute,{menu:y.MAIN,render:function(){function s(){return(0,e.createComponentVNode)(2,d.MainMenu)}return s}()}),(0,e.createComponentVNode)(2,d.RndRoute,{menu:y.LEVELS,render:function(){function s(){return(0,e.createComponentVNode)(2,d.CurrentLevels)}return s}()}),(0,e.createComponentVNode)(2,d.RndRoute,{menu:y.DISK,render:function(){function s(){return(0,e.createComponentVNode)(2,d.DataDiskMenu)}return s}()}),(0,e.createComponentVNode)(2,d.RndRoute,{menu:y.DESTROY,render:function(){function s(){return(0,e.createComponentVNode)(2,d.DeconstructionMenu)}return s}()}),(0,e.createComponentVNode)(2,d.RndRoute,{menu:function(){function s(m){return m===y.LATHE||m===y.IMPRINTER}return s}(),render:function(){function s(){return(0,e.createComponentVNode)(2,d.LatheMenu)}return s}()}),(0,e.createComponentVNode)(2,d.RndRoute,{menu:y.SETTINGS,render:function(){function s(){return(0,e.createComponentVNode)(2,d.SettingsMenu)}return s}()}),u?(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole__Overlay",children:(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole__Overlay__Wrapper",children:(0,e.createComponentVNode)(2,o.NoticeBox,{color:"black",children:u})})}):null]})})})}return S}()},93098:function(I,r,n){"use strict";r.__esModule=!0,r.CurrentLevels=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.CurrentLevels=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data,p=S.tech_levels;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createVNode)(1,"h3",null,"Current Research Levels:",16),p.map(function(i,l){var f=i.name,u=i.level,s=i.desc;return(0,e.createComponentVNode)(2,t.Box,{children:[l>0?(0,e.createComponentVNode)(2,t.Divider):null,(0,e.createComponentVNode)(2,t.Box,{children:f}),(0,e.createComponentVNode)(2,t.Box,{children:["* Level: ",u]}),(0,e.createComponentVNode)(2,t.Box,{children:["* Summary: ",s]})]},f)})]})}return d}()},19192:function(I,r,n){"use strict";r.__esModule=!0,r.DataDiskMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),d=n(16475),y="design",V="tech",k=function(m,c){var v=(0,a.useBackend)(c),b=v.data,g=v.act,h=b.disk_data;return h?(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:h.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:h.level}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:h.desc})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Upload to Database",icon:"arrow-up",onClick:function(){function C(){return g("updt_tech")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Clear Disk",icon:"trash",onClick:function(){function C(){return g("clear_tech")}return C}()}),(0,e.createComponentVNode)(2,i)]})]}):null},S=function(m,c){var v=(0,a.useBackend)(c),b=v.data,g=v.act,h=b.disk_data;if(!h)return null;var C=h.name,N=h.lathe_types,x=h.materials,B=N.join(", ");return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:C}),B?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lathe Types",children:B}):null,(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Required Materials"})]}),x.map(function(L){return(0,e.createComponentVNode)(2,t.Box,{children:["- ",(0,e.createVNode)(1,"span",null,L.name,0,{style:{"text-transform":"capitalize"}})," x ",L.amount]},L.name)}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Upload to Database",icon:"arrow-up",onClick:function(){function L(){return g("updt_design")}return L}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Clear Disk",icon:"trash",onClick:function(){function L(){return g("clear_design")}return L}()}),(0,e.createComponentVNode)(2,i)]})]})},p=function(m,c){var v=(0,a.useBackend)(c),b=v.data,g=b.disk_type;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{children:"This disk is empty."}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:[(0,e.createComponentVNode)(2,o.RndNavButton,{submenu:d.SUBMENU.DISK_COPY,icon:"arrow-down",content:g===V?"Load Tech to Disk":"Load Design to Disk"}),(0,e.createComponentVNode)(2,i)]})]})},i=function(m,c){var v=(0,a.useBackend)(c),b=v.data,g=v.act,h=b.disk_type;return h?(0,e.createComponentVNode)(2,t.Button,{content:"Eject Disk",icon:"eject",onClick:function(){function C(){var N=h===V?"eject_tech":"eject_design";g(N)}return C}()}):null},l=function(m,c){var v=(0,a.useBackend)(c),b=v.data,g=b.disk_data,h=b.disk_type,C=function(){if(!g)return(0,e.createComponentVNode)(2,p);switch(h){case y:return(0,e.createComponentVNode)(2,S);case V:return(0,e.createComponentVNode)(2,k);default:return null}};return(0,e.createComponentVNode)(2,t.Section,{title:"Data Disk Contents",children:C()})},f=function(m,c){var v=(0,a.useBackend)(c),b=v.data,g=v.act,h=b.disk_type,C=b.to_copy;return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Box,{overflowY:"auto",overflowX:"hidden",maxHeight:"450px",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:C.sort(function(N,x){return N.name.localeCompare(x.name)}).map(function(N){var x=N.name,B=N.id;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:x,children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Copy to Disk",onClick:function(){function L(){h===V?g("copy_tech",{id:B}):g("copy_design",{id:B})}return L}()})},B)})})})})},u=r.DataDiskMenu=function(){function s(m,c){var v=(0,a.useBackend)(c),b=v.data,g=b.disk_type;return g?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.RndRoute,{submenu:d.SUBMENU.MAIN,render:function(){function h(){return(0,e.createComponentVNode)(2,l)}return h}()}),(0,e.createComponentVNode)(2,o.RndRoute,{submenu:d.SUBMENU.DISK_COPY,render:function(){function h(){return(0,e.createComponentVNode)(2,f)}return h}()})],4):null}return s}()},20887:function(I,r,n){"use strict";r.__esModule=!0,r.DeconstructionMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.DeconstructionMenu=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data,p=k.act,i=S.loaded_item,l=S.linked_destroy;return l?i?(0,e.createComponentVNode)(2,t.Section,{noTopPadding:!0,title:"Deconstruction Menu",children:[(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:["Name: ",i.name]}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:(0,e.createVNode)(1,"h3",null,"Origin Tech:",16)}),(0,e.createComponentVNode)(2,t.LabeledList,{children:i.origin_tech.map(function(f){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* "+f.name,children:[f.object_level," ",f.current_level?(0,e.createFragment)([(0,e.createTextVNode)("(Current: "),f.current_level,(0,e.createTextVNode)(")")],0):null]},f.name)})}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:(0,e.createVNode)(1,"h3",null,"Options:",16)}),(0,e.createComponentVNode)(2,t.Button,{content:"Deconstruct Item",icon:"unlink",onClick:function(){function f(){p("deconstruct")}return f}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject Item",icon:"eject",onClick:function(){function f(){p("eject_item")}return f}()})]}):(0,e.createComponentVNode)(2,t.Section,{title:"Deconstruction Menu",children:"No item loaded. Standing by..."}):(0,e.createComponentVNode)(2,t.Box,{children:"NO DESTRUCTIVE ANALYZER LINKED TO CONSOLE"})}return d}()},10666:function(I,r,n){"use strict";r.__esModule=!0,r.LatheCategory=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),d=r.LatheCategory=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.data,i=S.act,l=p.category,f=p.matching_designs,u=p.menu,s=u===4,m=s?"build":"imprint";return(0,e.createComponentVNode)(2,t.Section,{title:l,children:[(0,e.createComponentVNode)(2,o.LatheMaterials),(0,e.createComponentVNode)(2,t.Table,{className:"RndConsole__LatheCategory__MatchingDesigns",children:f.map(function(c){var v=c.id,b=c.name,g=c.can_build,h=c.materials;return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:b,disabled:g<1,onClick:function(){function C(){return i(m,{id:v,amount:1})}return C}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g>=5?(0,e.createComponentVNode)(2,t.Button,{content:"x5",onClick:function(){function C(){return i(m,{id:v,amount:5})}return C}()}):null}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g>=10?(0,e.createComponentVNode)(2,t.Button,{content:"x10",onClick:function(){function C(){return i(m,{id:v,amount:10})}return C}()}):null}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.map(function(C){return(0,e.createFragment)([" | ",(0,e.createVNode)(1,"span",C.is_red?"color-red":null,[C.amount,(0,e.createTextVNode)(" "),C.name],0)],0)})})]},v)})})]})}return y}()},52285:function(I,r,n){"use strict";r.__esModule=!0,r.LatheChemicalStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheChemicalStorage=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data,p=k.act,i=S.loaded_chemicals,l=S.menu===4;return(0,e.createComponentVNode)(2,t.Section,{title:"Chemical Storage",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Purge All",icon:"trash",onClick:function(){function f(){var u=l?"disposeallP":"disposeallI";p(u)}return f}()}),(0,e.createComponentVNode)(2,t.LabeledList,{children:i.map(function(f){var u=f.volume,s=f.name,m=f.id;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* "+u+" of "+s,children:(0,e.createComponentVNode)(2,t.Button,{content:"Purge",icon:"trash",onClick:function(){function c(){var v=l?"disposeP":"disposeI";p(v,{id:m})}return c}()})},m)})})]})}return d}()},71964:function(I,r,n){"use strict";r.__esModule=!0,r.LatheMainMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),d=r.LatheMainMenu=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.data,i=S.act,l=p.menu,f=p.categories,u=l===4?"Protolathe":"Circuit Imprinter";return(0,e.createComponentVNode)(2,t.Section,{title:u+" Menu",children:[(0,e.createComponentVNode)(2,o.LatheMaterials),(0,e.createComponentVNode)(2,o.LatheSearch),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.Flex,{wrap:"wrap",children:f.map(function(s){return(0,e.createComponentVNode)(2,t.Flex,{style:{"flex-basis":"50%","margin-bottom":"6px"},children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-right",content:s,onClick:function(){function m(){i("setCategory",{category:s})}return m}()})},s)})})]})}return y}()},17906:function(I,r,n){"use strict";r.__esModule=!0,r.LatheMaterialStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheMaterialStorage=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data,p=k.act,i=S.loaded_materials;return(0,e.createComponentVNode)(2,t.Section,{className:"RndConsole__LatheMaterialStorage",title:"Material Storage",children:(0,e.createComponentVNode)(2,t.Table,{children:i.map(function(l){var f=l.id,u=l.amount,s=l.name,m=function(){function g(h){var C=S.menu===4?"lathe_ejectsheet":"imprinter_ejectsheet";p(C,{id:f,amount:h})}return g}(),c=Math.floor(u/2e3),v=u<1,b=c===1?"":"s";return(0,e.createComponentVNode)(2,t.Table.Row,{className:v?"color-grey":"color-yellow",children:[(0,e.createComponentVNode)(2,t.Table.Cell,{minWidth:"210px",children:["* ",u," of ",s]}),(0,e.createComponentVNode)(2,t.Table.Cell,{minWidth:"110px",children:["(",c," sheet",b,")"]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u>=2e3?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"1x",icon:"eject",onClick:function(){function g(){return m(1)}return g}()}),(0,e.createComponentVNode)(2,t.Button,{content:"C",icon:"eject",onClick:function(){function g(){return m("custom")}return g}()}),u>=2e3*5?(0,e.createComponentVNode)(2,t.Button,{content:"5x",icon:"eject",onClick:function(){function g(){return m(5)}return g}()}):null,(0,e.createComponentVNode)(2,t.Button,{content:"All",icon:"eject",onClick:function(){function g(){return m(50)}return g}()})],0):null})]},f)})})})}return d}()},83706:function(I,r,n){"use strict";r.__esModule=!0,r.LatheMaterials=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheMaterials=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data,p=S.total_materials,i=S.max_materials,l=S.max_chemicals,f=S.total_chemicals;return(0,e.createComponentVNode)(2,t.Box,{className:"RndConsole__LatheMaterials",mb:"10px",children:(0,e.createComponentVNode)(2,t.Table,{width:"auto",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Material Amount:"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p}),i?(0,e.createComponentVNode)(2,t.Table.Cell,{children:" / "+i}):null]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Chemical Amount:"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:f}),l?(0,e.createComponentVNode)(2,t.Table.Cell,{children:" / "+l}):null]})]})})}return d}()},76749:function(I,r,n){"use strict";r.__esModule=!0,r.LatheMenu=void 0;var e=n(89005),a=n(72253),t=n(12059),o=n(13472),d=n(36036),y=n(16475),V=r.LatheMenu=function(){function k(S,p){var i=(0,a.useBackend)(p),l=i.data,f=l.menu,u=l.linked_lathe,s=l.linked_imprinter;return f===4&&!u?(0,e.createComponentVNode)(2,d.Box,{children:"NO PROTOLATHE LINKED TO CONSOLE"}):f===5&&!s?(0,e.createComponentVNode)(2,d.Box,{children:"NO CIRCUIT IMPRITER LINKED TO CONSOLE"}):(0,e.createComponentVNode)(2,d.Box,{children:[(0,e.createComponentVNode)(2,t.RndRoute,{submenu:y.SUBMENU.MAIN,render:function(){function m(){return(0,e.createComponentVNode)(2,o.LatheMainMenu)}return m}()}),(0,e.createComponentVNode)(2,t.RndRoute,{submenu:y.SUBMENU.LATHE_CATEGORY,render:function(){function m(){return(0,e.createComponentVNode)(2,o.LatheCategory)}return m}()}),(0,e.createComponentVNode)(2,t.RndRoute,{submenu:y.SUBMENU.LATHE_MAT_STORAGE,render:function(){function m(){return(0,e.createComponentVNode)(2,o.LatheMaterialStorage)}return m}()}),(0,e.createComponentVNode)(2,t.RndRoute,{submenu:y.SUBMENU.LATHE_CHEM_STORAGE,render:function(){function m(){return(0,e.createComponentVNode)(2,o.LatheChemicalStorage)}return m}()})]})}return k}()},74698:function(I,r,n){"use strict";r.__esModule=!0,r.LatheSearch=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheSearch=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"Search...",onEnter:function(){function p(i,l){return S("search",{to_search:l})}return p}()})})}return d}()},17180:function(I,r,n){"use strict";r.__esModule=!0,r.MainMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),d=n(16475),y=r.MainMenu=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.data,l=i.disk_type,f=i.linked_destroy,u=i.linked_lathe,s=i.linked_imprinter,m=i.tech_levels;return(0,e.createComponentVNode)(2,t.Section,{title:"Main Menu",children:[(0,e.createComponentVNode)(2,t.Flex,{className:"RndConsole__MainMenu__Buttons",direction:"column",align:"flex-start",children:[(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!l,menu:d.MENU.DISK,submenu:d.SUBMENU.MAIN,icon:"save",content:"Disk Operations"}),(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!f,menu:d.MENU.DESTROY,submenu:d.SUBMENU.MAIN,icon:"unlink",content:"Destructive Analyzer Menu"}),(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!u,menu:d.MENU.LATHE,submenu:d.SUBMENU.MAIN,icon:"print",content:"Protolathe Menu"}),(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!s,menu:d.MENU.IMPRINTER,submenu:d.SUBMENU.MAIN,icon:"print",content:"Circuit Imprinter Menu"}),(0,e.createComponentVNode)(2,o.RndNavButton,{menu:d.MENU.SETTINGS,submenu:d.SUBMENU.MAIN,icon:"cog",content:"Settings"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"12px"}),(0,e.createVNode)(1,"h3",null,"Current Research Levels:",16),(0,e.createComponentVNode)(2,t.LabeledList,{children:m.map(function(c){var v=c.name,b=c.level;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:v,children:b},v)})})]})}return V}()},63459:function(I,r,n){"use strict";r.__esModule=!0,r.RndNavButton=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.RndNavButton=function(){function d(y,V){var k=y.icon,S=y.children,p=y.disabled,i=y.content,l=(0,a.useBackend)(V),f=l.data,u=l.act,s=f.menu,m=f.submenu,c=s,v=m;return y.menu!==null&&y.menu!==void 0&&(c=y.menu),y.submenu!==null&&y.submenu!==void 0&&(v=y.submenu),(0,e.createComponentVNode)(2,t.Button,{content:i,icon:k,disabled:p,onClick:function(){function b(){u("nav",{menu:c,submenu:v})}return b}(),children:S})}return d}()},94942:function(I,r,n){"use strict";r.__esModule=!0,r.RndNavbar=void 0;var e=n(89005),a=n(13472),t=n(36036),o=n(16475),d=r.RndNavbar=function(){function y(){return(0,e.createComponentVNode)(2,t.Box,{className:"RndConsole__RndNavbar",children:[(0,e.createComponentVNode)(2,a.RndRoute,{menu:function(){function V(k){return k!==o.MENU.MAIN}return V}(),render:function(){function V(){return(0,e.createComponentVNode)(2,a.RndNavButton,{menu:o.MENU.MAIN,submenu:o.SUBMENU.MAIN,icon:"reply",content:"Main Menu"})}return V}()}),(0,e.createComponentVNode)(2,a.RndRoute,{submenu:function(){function V(k){return k!==o.SUBMENU.MAIN}return V}(),render:function(){function V(){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,a.RndRoute,{menu:o.MENU.DISK,render:function(){function k(){return(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.MAIN,icon:"reply",content:"Disk Operations Menu"})}return k}()}),(0,e.createComponentVNode)(2,a.RndRoute,{menu:o.MENU.LATHE,render:function(){function k(){return(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.MAIN,icon:"reply",content:"Protolathe Menu"})}return k}()}),(0,e.createComponentVNode)(2,a.RndRoute,{menu:o.MENU.IMPRINTER,render:function(){function k(){return(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.MAIN,icon:"reply",content:"Circuit Imprinter Menu"})}return k}()}),(0,e.createComponentVNode)(2,a.RndRoute,{menu:o.MENU.SETTINGS,render:function(){function k(){return(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.MAIN,icon:"reply",content:"Settings Menu"})}return k}()})]})}return V}()}),(0,e.createComponentVNode)(2,a.RndRoute,{menu:function(){function V(k){return k===o.MENU.LATHE||k===o.MENU.IMPRINTER}return V}(),submenu:o.SUBMENU.MAIN,render:function(){function V(){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.LATHE_MAT_STORAGE,icon:"arrow-up",content:"Material Storage"}),(0,e.createComponentVNode)(2,a.RndNavButton,{submenu:o.SUBMENU.LATHE_CHEM_STORAGE,icon:"arrow-up",content:"Chemical Storage"})]})}return V}()})]})}return y}()},12059:function(I,r,n){"use strict";r.__esModule=!0,r.RndRoute=void 0;var e=n(72253),a=r.RndRoute=function(){function t(o,d){var y=o.render,V=(0,e.useBackend)(d),k=V.data,S=k.menu,p=k.submenu,i=function(){function f(u,s){return u==null?!0:typeof u=="function"?u(s):u===s}return f}(),l=i(o.menu,S)&&i(o.submenu,p);return l?y():null}return t}()},52580:function(I,r,n){"use strict";r.__esModule=!0,r.SettingsMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(13472),d=n(16475),y=r.SettingsMenu=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.data,l=p.act,f=i.sync,u=i.admin,s=i.linked_destroy,m=i.linked_lathe,c=i.linked_imprinter;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,o.RndRoute,{submenu:d.SUBMENU.MAIN,render:function(){function v(){return(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",align:"flex-start",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Sync Database with Network",icon:"sync",disabled:!f,onClick:function(){function b(){l("sync")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Connect to Research Network",icon:"plug",disabled:f,onClick:function(){function b(){l("togglesync")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!f,icon:"unlink",content:"Disconnect from Research Network",onClick:function(){function b(){l("togglesync")}return b}()}),(0,e.createComponentVNode)(2,o.RndNavButton,{disabled:!f,content:"Device Linkage Menu",icon:"link",menu:d.MENU.SETTINGS,submenu:d.SUBMENU.SETTINGS_DEVICES}),u===1?(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation",content:"[ADMIN] Maximize Research Levels",onClick:function(){function b(){return l("maxresearch")}return b}()}):null]})})}return v}()}),(0,e.createComponentVNode)(2,o.RndRoute,{submenu:d.SUBMENU.SETTINGS_DEVICES,render:function(){function v(){return(0,e.createComponentVNode)(2,t.Section,{title:"Device Linkage Menu",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"link",content:"Re-sync with Nearby Devices",onClick:function(){function b(){return l("find_device")}return b}()}),(0,e.createComponentVNode)(2,t.Box,{mt:"5px",children:(0,e.createVNode)(1,"h3",null,"Linked Devices:",16)}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[s?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* Destructive Analyzer",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",content:"Unlink",onClick:function(){function b(){return l("disconnect",{item:"destroy"})}return b}()})}):(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:"* No Destructive Analyzer Linked"}),m?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* Protolathe",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",content:"Unlink",onClick:function(){function b(){l("disconnect",{item:"lathe"})}return b}()})}):(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:"* No Protolathe Linked"}),c?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* Circuit Imprinter",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",content:"Unlink",onClick:function(){function b(){return l("disconnect",{item:"imprinter"})}return b}()})}):(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:"* No Circuit Imprinter Linked"})]})]})}return v}()})]})}return V}()},13472:function(I,r,n){"use strict";r.__esModule=!0,r.SettingsMenu=r.RndRoute=r.RndNavbar=r.RndNavButton=r.MainMenu=r.LatheSearch=r.LatheMenu=r.LatheMaterials=r.LatheMaterialStorage=r.LatheMainMenu=r.LatheChemicalStorage=r.LatheCategory=r.DeconstructionMenu=r.DataDiskMenu=r.CurrentLevels=void 0;var e=n(93098);r.CurrentLevels=e.CurrentLevels;var a=n(19192);r.DataDiskMenu=a.DataDiskMenu;var t=n(20887);r.DeconstructionMenu=t.DeconstructionMenu;var o=n(10666);r.LatheCategory=o.LatheCategory;var d=n(52285);r.LatheChemicalStorage=d.LatheChemicalStorage;var y=n(71964);r.LatheMainMenu=y.LatheMainMenu;var V=n(83706);r.LatheMaterials=V.LatheMaterials;var k=n(17906);r.LatheMaterialStorage=k.LatheMaterialStorage;var S=n(76749);r.LatheMenu=S.LatheMenu;var p=n(74698);r.LatheSearch=p.LatheSearch;var i=n(17180);r.MainMenu=i.MainMenu;var l=n(94942);r.RndNavbar=l.RndNavbar;var f=n(63459);r.RndNavButton=f.RndNavButton;var u=n(12059);r.RndRoute=u.RndRoute;var s=n(52580);r.SettingsMenu=s.SettingsMenu},40026:function(I,r,n){"use strict";r.__esModule=!0,r.RoboQuest=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),d=n(98595),y=r.RoboQuest=function(){function V(k,S){var p=(0,t.useBackend)(S),i=p.act,l=p.data,f=l.hasID,u=l.name,s=l.questInfo,m=l.hasTask,c=l.canCheck,v=l.canSend,b=l.checkMessage,g=l.style,h=l.cooldown,C=l.instant_teleport,N=l.shopItems,x=l.points,B=l.cats,L=(0,t.useLocalState)(S,"shopState",!1),w=L[0],A=L[1],T={medical:"blue",working:"brown",security:"red",working_medical:"olive",medical_security:"violet",working_medical_security:"grey"};return(0,e.createComponentVNode)(2,d.Window,{theme:g,width:1e3,height:540,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:40,children:[!w&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u0437\u0430\u043A\u0430\u0437",buttons:(0,e.createComponentVNode)(2,o.Button,{content:"\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043C\u0435\u0445\u0430",icon:"search",tooltipPosition:"bottom",tooltip:"\u041F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u044D\u043A\u0437\u043E\u043A\u043E\u0441\u0442\u044E\u043C\u0430 \u043D\u0430 \u043D\u0430\u043B\u0438\u0447\u0438\u0435 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0445 \u0434\u043B\u044F \u0437\u0430\u043A\u0430\u0437\u0430 \u043C\u043E\u0434\u0443\u043B\u0435\u0439.",disabled:!f||!m||!c||h,onClick:function(){function E(){return i("Check")}return E}()}),children:[(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:60,textAlign:"center",align:"center",children:!!m&&(0,e.createVNode)(1,"img",(0,a.classes)(["roboquest_large128x128",s.icon]))}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Divider,{vertical:!0})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:42,children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!m&&s.modules.map(function(E){return E.id<4&&(0,e.createVNode)(1,"img",(0,a.classes)(["roboquest64x64",E.icon]),null,1,null,E.id)})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!m&&s.modules.map(function(E){return E.id>3&&(0,e.createVNode)(1,"img",(0,a.classes)(["roboquest64x64",E.icon]),null,1,null,E.id)})})]})})]}),(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Divider),(0,e.createVNode)(1,"b",null,b,0)],4),!!h&&(0,e.createFragment)([(0,e.createVNode)(1,"b",null,"\u0417\u0430 \u043E\u0442\u043A\u0430\u0437 \u043E\u0442 \u0437\u0430\u043A\u0430\u0437\u0430, \u0432\u044B \u0431\u044B\u043B\u0438 \u043E\u0442\u0441\u0442\u0440\u0430\u043D\u0435\u043D\u044B \u043E\u0442 \u0440\u0430\u0431\u043E\u0442\u044B \u043D\u0430 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u0432\u0440\u0435\u043C\u044F.",16),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"b",null,h,0)],4)]}),!!w&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:(0,e.createComponentVNode)(2,o.Box,{children:["\u041C\u0430\u0433\u0430\u0437\u0438\u043D \u0447\u0435\u0440\u0442\u0435\u0436\u0435\u0439",(0,e.createComponentVNode)(2,o.Box,{children:["\u041E\u0447\u043A\u0438: ",(0,e.createVNode)(1,"b",null,x.working,0,{style:{color:"brown"}}),"|",(0,e.createVNode)(1,"b",null,x.medical,0,{style:{color:"lightblue"}}),"|",(0,e.createVNode)(1,"b",null,x.security,0,{style:{color:"red"}})]})]}),children:Object.keys(N).map(function(E){return(0,e.createFragment)(!(N[E]===void 0||N[E].length===0||E==="robo")&&N[E].map(function(O){return(0,e.createComponentVNode)(2,o.ImageButton,{asset:!0,color:T[E],image:O.icon,imageAsset:"roboquest64x64",title:(0,e.createComponentVNode)(2,o.Box,{nowrap:!0,inline:!0,children:[O.name," ",(0,e.createVNode)(1,"b",null,O.cost.working,0,{style:{color:"brown"}}),"|",(0,e.createVNode)(1,"b",null,O.cost.medical,0,{style:{color:"lightblue"}}),"|",(0,e.createVNode)(1,"b",null,O.cost.security,0,{style:{color:"red"}})]}),content:O.desc,onClick:function(){function P(){return i("buyItem",{item:O.path})}return P}()},O.path)}),0,E)})})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:20,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"\u0414\u0440\u0443\u0433\u043E\u0435",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"\u041C\u0430\u0433\u0430\u0437\u0438\u043D",width:"7rem",icon:"shopping-cart",onClick:function(){function E(){return A(!w)}return E}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"cog",tooltipPosition:"bottom",tooltip:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0441\u0442\u0438\u043B\u044F \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.",onClick:function(){function E(){return i("ChangeStyle")}return E}()})],4),children:[!!u&&(0,e.createFragment)([(0,e.createTextVNode)("\u0417\u0434\u0440\u0430\u0441\u0442\u0432\u0443\u0439\u0442\u0435,"),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"b",null,u,0),(0,e.createVNode)(1,"br")],4),(0,e.createFragment)([(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("\u041F\u0440\u0438 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0438 \u0437\u0430\u043A\u0430\u0437\u0430 \u043D\u0430 \u044D\u043A\u0437\u043A\u043E\u0441\u0442\u044E\u043C, \u0432\u044B\u0431\u043E\u0440 \u043F\u043E\u0434\u0442\u0438\u043F\u0430 \u043C\u0435\u0445\u0430 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u044F\u0435\u0442 \u0442\u0438\u043F \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u043E\u0447\u043A\u043E\u0432, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0431\u0443\u0434\u0443\u0442 \u043D\u0430\u0447\u0438\u0441\u043B\u0435\u043D\u044B \u0437\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u0437\u0430\u043A\u0430\u0437\u0430."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("\u0420\u0430\u0431\u043E\u0447\u0438\u0435 \u044D\u043A\u0437\u043E\u043A\u043E\u0441\u0442\u044E\u043C\u044B \u043F\u0440\u0438\u043D\u043E\u0441\u044F\u0442"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"brown",children:[" ","\u043A\u043E\u0440\u0438\u0447\u043D\u0435\u0432\u044B\u0435"]}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("\u043E\u0447\u043A\u0438. \u041C\u0435\u0434\u0438\u0446\u0438\u043D\u0441\u043A\u0438\u0435 \u044D\u043A\u0437\u043E\u043A\u043E\u0441\u0442\u044E\u043C\u044B \u043F\u0440\u0438\u043D\u043E\u0441\u044F\u0442"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"teal",children:[" ","\u0433\u043E\u043B\u0443\u0431\u044B\u0435"]}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("\u043E\u0447\u043A\u0438. \u0411\u043E\u0435\u0432\u044B\u0435 \u044D\u043A\u0437\u043E\u043A\u043E\u0441\u0442\u044E\u043C\u044B \u043F\u0440\u0438\u043D\u043E\u0441\u044F\u0442"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"red",children:[" ","\u043A\u0440\u0430\u0441\u043D\u044B\u0435"]}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("\u043E\u0447\u043A\u0438."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("\u041A\u0430\u0436\u0434\u044B\u0439 \u043C\u0435\u0445, \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u043F\u043E\u0434\u0442\u0438\u043F\u0430, \u043F\u0440\u0438\u043D\u043E\u0441\u0438\u0442 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u043A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0447\u043A\u043E\u0432 \u0434\u043B\u044F \u043C\u0430\u0433\u0430\u0437\u0438\u043D\u0430 \u043E\u0441\u043E\u0431\u044B\u0445 \u043D\u0430\u0433\u0440\u0430\u0434.")],0)]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:38,children:[!w&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"\u0418\u043D\u0444\u043E",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"id-card",content:"\u0412\u044B\u043D\u0443\u0442\u044C ID",disabled:!f,onClick:function(){function E(){return i("RemoveID")}return E}()}),!m&&(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-down",content:"\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043C\u0435\u0445",disabled:!f||h,onClick:function(){function E(){return i("GetTask")}return E}()}),!!m&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"\u041F\u0435\u0447\u0430\u0442\u044C",icon:"print",onClick:function(){function E(){return i("printOrder")}return E}(),disabled:!m}),(0,e.createComponentVNode)(2,o.Button,{icon:"trash",content:"\u041E\u0442\u043A\u0430\u0437\u0430\u0442\u044C\u0441\u044F",disabled:!f||h,onClick:function(){function E(){return i("RemoveTask")}return E}()})],4)],0),children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",mb:"1rem",children:[(0,e.createVNode)(1,"b",null,"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435: ",16),s.name,(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"b",null,"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435: ",16),s.desc]}),(0,e.createComponentVNode)(2,o.Section,{title:"\u0422\u0440\u0435\u0431\u0443\u0435\u043C\u044B\u0435 \u041C\u043E\u0434\u0443\u043B\u0438:",level:2,children:(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",mb:"0.5rem",children:!!m&&s.modules.map(function(E){return(0,e.createFragment)([(0,e.createVNode)(1,"b",null,[(0,e.createTextVNode)("Module "),E.id],0),(0,e.createTextVNode)(": "),E.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br")],0,E.id)})})}),(0,e.createComponentVNode)(2,o.Box,{mb:"0.5rem",textAlign:"center",children:[(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-up",width:"14rem",bold:!0,content:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u043C\u0435\u0445",textAlign:"center",tooltipPosition:"top",tooltip:"\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430 \u043C\u0435\u0445\u0430 \u043D\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u0432\u0430\u043C\u0438 \u0442\u0435\u043B\u0435\u043F\u0430\u0434.",disabled:!f||!m||!v||h,onClick:function(){function E(){return i("SendMech",{type:"send"})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-up",width:"14rem",bold:!0,content:"\u0423\u043F\u0430\u043A\u043E\u0432\u0430\u0442\u044C \u043C\u0435\u0445",textAlign:"center",tooltipPosition:"top",tooltip:"\u0423\u043F\u0430\u043A\u043E\u0432\u043A\u0430 \u043C\u0435\u0445\u0430 \u0434\u043B\u044F \u0441\u0430\u043C\u043E\u0441\u0442\u043E\u044F\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u0438 \u0432 \u043A\u0430\u0440\u0433\u043E.",disabled:!f||!m||!v||h,onClick:function(){function E(){return i("SendMech",{type:"only_packing"})}return E}()})]}),(0,e.createVNode)(1,"box",null,(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-up",width:"30rem",bold:!0,content:"\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043C\u0435\u0445",textAlign:"center",tooltipPosition:"bottom",tooltip:"\u041C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u0430\u044F \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u044F \u043C\u0435\u0445\u0430 \u0437\u0430\u043A\u0430\u0437\u0447\u0438\u043A\u0443.",disabled:!f||!m||!v||h||!C,onClick:function(){function E(){return i("SendMech",{type:"instant"})}return E}()}),2,{mb:"1.5rem",textAlign:"center"})]}),!!w&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createTextVNode)("\u041C\u0430\u0433\u0430\u0437\u0438\u043D \u043E\u0441\u043E\u0431\u044B\u0445 \u043D\u0430\u0433\u0440\u0430\u0434"),(0,e.createComponentVNode)(2,o.Box,{children:["\u041E\u0447\u043A\u0438: ",x.robo]})],4),children:N.robo.map(function(E){return(!E.emagOnly||g==="syndicate")&&(0,e.createComponentVNode)(2,o.ImageButton,{asset:!0,color:"purple",image:E.icon,imageAsset:"roboquest64x64",title:(0,e.createComponentVNode)(2,o.Box,{nowrap:!0,inline:!0,children:[E.name," ",(0,e.createVNode)(1,"b",null,E.cost.robo,0,{style:{color:"purple"}})]}),content:E.desc,onClick:function(){function O(){return i("buyItem",{item:E.path})}return O}()},E.name)})})]})]})})})}return V}()},26109:function(I,r,n){"use strict";r.__esModule=!0,r.RobotSelfDiagnosis=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(25328),y=function(S,p){var i=S/p;return i<=.2?"good":i<=.5?"average":"bad"},V=r.RobotSelfDiagnosis=function(){function k(S,p){var i=(0,a.useBackend)(p),l=i.data,f=l.component_data;return(0,e.createComponentVNode)(2,o.Window,{width:280,height:480,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:f.map(function(u,s){return(0,e.createComponentVNode)(2,t.Section,{title:(0,d.capitalize)(u.name),children:u.installed<=0?(0,e.createComponentVNode)(2,t.NoticeBox,{m:-.5,height:3.5,color:"red",style:{"font-style":"normal"},children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",children:(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,textAlign:"center",align:"center",color:"#e8e8e8",children:u.installed===-1?"Destroyed":"Missing"})})}):(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"72%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Brute Damage",color:y(u.brute_damage,u.max_damage),children:u.brute_damage}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Burn Damage",color:y(u.electronic_damage,u.max_damage),children:u.electronic_damage})]})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Powered",color:u.powered?"good":"bad",children:u.powered?"Yes":"No"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Enabled",color:u.status?"good":"bad",children:u.status?"Yes":"No"})]})})]})},s)})})})}return k}()},97997:function(I,r,n){"use strict";r.__esModule=!0,r.RoboticsControlConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.RoboticsControlConsole=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.can_hack,u=l.safety,s=l.show_detonate_all,m=l.cyborgs,c=m===void 0?[]:m;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:460,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!s&&(0,e.createComponentVNode)(2,t.Section,{title:"Emergency Self Destruct",children:[(0,e.createComponentVNode)(2,t.Button,{icon:u?"lock":"unlock",content:u?"Disable Safety":"Enable Safety",selected:u,onClick:function(){function v(){return i("arm",{})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"bomb",disabled:u,content:"Destroy ALL Cyborgs",color:"bad",onClick:function(){function v(){return i("nuke",{})}return v}()})]}),(0,e.createComponentVNode)(2,y,{cyborgs:c,can_hack:f})]})})}return V}(),y=function(k,S){var p=k.cyborgs,i=k.can_hack,l=(0,a.useBackend)(S),f=l.act,u=l.data;return p.length?p.map(function(s){return(0,e.createComponentVNode)(2,t.Section,{title:s.name,buttons:(0,e.createFragment)([!!s.hackable&&!s.emagged&&(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:"Hack",color:"bad",onClick:function(){function m(){return f("hackbot",{uid:s.uid})}return m}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:s.locked_down?"unlock":"lock",color:s.locked_down?"good":"default",content:s.locked_down?"Release":"Lockdown",disabled:!u.auth,onClick:function(){function m(){return f("stopbot",{uid:s.uid})}return m}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"bomb",content:"Detonate",disabled:!u.auth,color:"bad",onClick:function(){function m(){return f("killbot",{uid:s.uid})}return m}()})],0),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:(0,e.createComponentVNode)(2,t.Box,{color:s.status?"bad":s.locked_down?"average":"good",children:s.status?"Not Responding":s.locked_down?"Locked Down":"Nominal"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:(0,e.createComponentVNode)(2,t.Box,{children:s.locstring})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:s.health>50?"good":"bad",value:s.health/100})}),typeof s.charge=="number"&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell Charge",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:s.charge>30?"good":"bad",value:s.charge/100})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell Capacity",children:(0,e.createComponentVNode)(2,t.Box,{color:s.cell_capacity<3e4?"average":"good",children:s.cell_capacity})})],4)||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"No Power Cell"})}),!!s.is_hacked&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safeties",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"DISABLED"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Module",children:s.module}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Master AI",children:(0,e.createComponentVNode)(2,t.Box,{color:s.synchronization?"default":"average",children:s.synchronization||"None"})})]})},s.uid)}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No cyborg units detected within access parameters."})}},54431:function(I,r,n){"use strict";r.__esModule=!0,r.Safe=void 0;var e=n(89005),a=n(79140),t=n(72253),o=n(36036),d=n(98595),y=r.Safe=function(){function p(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f.data,m=s.dial,c=s.open,v=s.locked,b=s.contents;return(0,e.createComponentVNode)(2,d.Window,{theme:"safe",width:600,height:800,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:[(0,e.createComponentVNode)(2,o.Box,{className:"Safe--engraving",children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{className:"Safe--engraving--hinge",top:"25%"}),(0,e.createComponentVNode)(2,o.Box,{className:"Safe--engraving--hinge",top:"75%"})]}),(0,e.createComponentVNode)(2,o.Icon,{className:"Safe--engraving--arrow",name:"long-arrow-alt-down",size:"3"}),(0,e.createVNode)(1,"br"),c?(0,e.createComponentVNode)(2,k):(0,e.createComponentVNode)(2,o.Box,{as:"img",className:"Safe--dial",src:(0,a.resolveAsset)("safe_dial.png"),style:{transform:"rotate(-"+3.6*m+"deg)","z-index":0}})]}),!c&&(0,e.createComponentVNode)(2,S)]})})}return p}(),V=function(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f.data,m=s.dial,c=s.open,v=s.locked,b=function(h,C){return(0,e.createComponentVNode)(2,o.Button,{disabled:c||C&&!v,icon:"arrow-"+(C?"right":"left"),content:(C?"Right":"Left")+" "+h,iconRight:C,onClick:function(){function N(){return u(C?"turnleft":"turnright",{num:h})}return N}(),style:{"z-index":10}})};return(0,e.createComponentVNode)(2,o.Box,{className:"Safe--dialer",children:[(0,e.createComponentVNode)(2,o.Button,{disabled:v,icon:c?"lock":"lock-open",content:c?"Close":"Open",mb:"0.5rem",onClick:function(){function g(){return u("open")}return g}()}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Box,{position:"absolute",children:[b(50),b(10),b(1)]}),(0,e.createComponentVNode)(2,o.Box,{className:"Safe--dialer--right",position:"absolute",right:"5px",children:[b(1,!0),b(10,!0),b(50,!0)]}),(0,e.createComponentVNode)(2,o.Box,{className:"Safe--dialer--number",children:m})]})},k=function(i,l){var f=(0,t.useBackend)(l),u=f.act,s=f.data,m=s.contents;return(0,e.createComponentVNode)(2,o.Box,{className:"Safe--contents",overflow:"auto",children:m.map(function(c,v){return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{mb:"0.5rem",onClick:function(){function b(){return u("retrieve",{index:v+1})}return b}(),children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:c.sprite+".png",verticalAlign:"middle",ml:"-6px",mr:"0.5rem"}),c.name]}),(0,e.createVNode)(1,"br")],4,c)})})},S=function(i,l){return(0,e.createComponentVNode)(2,o.Section,{className:"Safe--help",title:"Safe opening instructions (because you all keep forgetting)",children:[(0,e.createComponentVNode)(2,o.Box,{children:["1. Turn the dial left to the first number.",(0,e.createVNode)(1,"br"),"2. Turn the dial right to the second number.",(0,e.createVNode)(1,"br"),"3. Continue repeating this process for each number, switching between left and right each time.",(0,e.createVNode)(1,"br"),"4. Open the safe."]}),(0,e.createComponentVNode)(2,o.Box,{bold:!0,children:"To lock fully, turn the dial to the left after closing the safe."})]})}},29740:function(I,r,n){"use strict";r.__esModule=!0,r.SatelliteControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.SatelliteControl=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.satellites,f=i.notice,u=i.meteor_shield,s=i.meteor_shield_coverage,m=i.meteor_shield_coverage_max,c=i.meteor_shield_coverage_percentage;return(0,e.createComponentVNode)(2,o.Window,{width:475,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[u&&(0,e.createComponentVNode)(2,t.Section,{title:"Station Shield Coverage",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:c>=100?"good":"average",value:s,maxValue:m,children:[c," %"]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Satellite Network Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[f&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alert",color:"red",children:i.notice}),l.map(function(v){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"#"+v.id,children:[v.mode," ",(0,e.createComponentVNode)(2,t.Button,{content:v.active?"Deactivate":"Activate",icon:"arrow-circle-right",onClick:function(){function b(){return p("toggle",{id:v.id})}return b}()})]},v.id)})]})})]})})}return y}()},44162:function(I,r,n){"use strict";r.__esModule=!0,r.SecureStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.SecureStorage=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.emagged,f=i.locked,u=i.l_set,s=i.l_setshort,m=i.current_code,c=function(){function v(b){var g=b.buttonValue,h=b.color;return h||(h="default"),(0,e.createComponentVNode)(2,t.Button,{disabled:l||s,type:"button",color:h,onClick:function(){function C(){return p("setnumber",{buttonValue:g})}return C}(),children:g})}return v}();return(0,e.createComponentVNode)(2,o.Window,{width:520,height:200,children:(0,e.createComponentVNode)(2,t.Flex,{spacing:"1",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:16,shrink:0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{title:"Code Panel",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,c,{buttonValue:"1"}),(0,e.createComponentVNode)(2,c,{buttonValue:"2"}),(0,e.createComponentVNode)(2,c,{buttonValue:"3"})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,c,{buttonValue:"4"}),(0,e.createComponentVNode)(2,c,{buttonValue:"5"}),(0,e.createComponentVNode)(2,c,{buttonValue:"6"})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,c,{buttonValue:"7"}),(0,e.createComponentVNode)(2,c,{buttonValue:"8"}),(0,e.createComponentVNode)(2,c,{buttonValue:"9"})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:[(0,e.createComponentVNode)(2,c,{buttonValue:"R",color:"red"}),(0,e.createComponentVNode)(2,c,{buttonValue:"0"}),(0,e.createComponentVNode)(2,c,{buttonValue:"E",color:"green"})]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Current Status",children:l||s?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lock Status",children:(0,e.createComponentVNode)(2,t.Box,{color:"red",children:l?"LOCKING SYSTEM ERROR - 1701":"ALERT: MEMORY SYSTEM ERROR - 6040 201"})}),l?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Code",children:(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"NEW INPUT, ASSHOLE"})}):""]}):(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Secure Code",children:(0,e.createComponentVNode)(2,t.Box,{color:u?"red":"green",children:u?"*****":"NOT SET. ENTER NEW."})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lock Status",children:(0,e.createComponentVNode)(2,t.Box,{color:f?"red":"green",children:f?"Locked":"Unlocked"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Code",children:(0,e.createComponentVNode)(2,t.Box,{children:m||"Waiting for input"})}),(0,e.createComponentVNode)(2,t.Button,{top:".35em",left:".5em",disabled:f,color:"red",content:"Lock",icon:"lock",onClick:function(){function v(){return p("close")}return v}()})]})})]})})}return y}()},6272:function(I,r,n){"use strict";r.__esModule=!0,r.SecurityRecords=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),d=n(98595),y=n(3939),V=n(321),k=n(5485),S=n(22091),p={"*Execute*":"execute","*Arrest*":"arrest",Incarcerated:"incarcerated",Parolled:"parolled",Released:"released",Demote:"demote",Search:"search",Monitor:"monitor"},i=function(C,N){(0,y.modalOpen)(C,"edit",{field:N.edit,value:N.value})},l=r.SecurityRecords=function(){function h(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.loginState,A=L.currentPage,T;if(w.logged_in)A===1?T=(0,e.createComponentVNode)(2,u):A===2?T=(0,e.createComponentVNode)(2,c):A===3&&(T=(0,e.createComponentVNode)(2,v));else return(0,e.createComponentVNode)(2,d.Window,{width:800,height:900,theme:"security",children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,k.LoginScreen)})});return(0,e.createComponentVNode)(2,d.Window,{theme:"security",width:800,height:900,children:[(0,e.createComponentVNode)(2,y.ComplexModal),(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.LoginInfo),(0,e.createComponentVNode)(2,S.TemporaryNotice),(0,e.createComponentVNode)(2,f),T]})})]})}return h}(),f=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.currentPage,A=L.general;return(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:w===1,onClick:function(){function T(){return B("page",{page:1})}return T}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"list"}),"List Records"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:w===2,onClick:function(){function T(){return B("page",{page:2})}return T}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"wrench"}),"Record Maintenance"]}),w===3&&A&&!A.empty&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:w===3,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"file"}),"Record: ",A.fields[0].value]})]})},u=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.records,A=(0,t.useLocalState)(N,"searchText",""),T=A[0],E=A[1],O=(0,t.useLocalState)(N,"sortId","name"),P=O[0],R=O[1],F=(0,t.useLocalState)(N,"sortOrder",!0),j=F[0],W=F[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,m)}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"SecurityRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,s,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,s,{id:"id",children:"ID"}),(0,e.createComponentVNode)(2,s,{id:"rank",children:"Assignment"}),(0,e.createComponentVNode)(2,s,{id:"fingerprint",children:"Fingerprint"}),(0,e.createComponentVNode)(2,s,{id:"status",children:"Criminal Status"})]}),w.filter((0,a.createSearch)(T,function(z){return z.name+"|"+z.id+"|"+z.rank+"|"+z.fingerprint+"|"+z.status})).sort(function(z,H){var $=j?1:-1;return z[P].localeCompare(H[P])*$}).map(function(z){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"SecurityRecords__listRow--"+p[z.status],onClick:function(){function H(){return B("view",{uid_gen:z.uid_gen,uid_sec:z.uid_sec})}return H}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",z.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:z.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:z.rank}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:z.fingerprint}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:z.status})]},z.id)})]})})})],4)},s=function(C,N){var x=(0,t.useLocalState)(N,"sortId","name"),B=x[0],L=x[1],w=(0,t.useLocalState)(N,"sortOrder",!0),A=w[0],T=w[1],E=C.id,O=C.children;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:B!==E&&"transparent",fluid:!0,onClick:function(){function P(){B===E?T(!A):(L(E),T(!0))}return P}(),children:[O,B===E&&(0,e.createComponentVNode)(2,o.Icon,{name:A?"sort-up":"sort-down",ml:"0.25rem;"})]})})})},m=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.isPrinting,A=(0,t.useLocalState)(N,"searchText",""),T=A[0],E=A[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{ml:"0.25rem",content:"New Record",icon:"plus",onClick:function(){function O(){return B("new_general")}return O}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:w,icon:w?"spinner":"print",iconSpin:!!w,content:"Print Cell Log",onClick:function(){function O(){return(0,y.modalOpen)(N,"print_cell_log")}return O}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by Name, ID, Assignment, Fingerprint, Status",fluid:!0,onInput:function(){function O(P,R){return E(R)}return O}()})})]})},c=function(C,N){var x=(0,t.useBackend)(N),B=x.act;return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Button,{disabled:!0,icon:"download",content:"Backup to Disk",tooltip:"This feature is not available.",tooltipPosition:"right"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button,{disabled:!0,icon:"upload",content:"Upload from Disk",tooltip:"This feature is not available.",tooltipPosition:"right",my:"0.5rem"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",content:"Delete All Security Records",onClick:function(){function L(){return B("delete_security_all")}return L}(),mb:"0.5rem"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",content:"Delete All Cell Logs",onClick:function(){function L(){return B("delete_cell_logs")}return L}()})]})},v=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.isPrinting,A=L.general,T=L.security;return!A||!A.fields?(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"General records lost!"}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,level:2,mt:"-6px",title:"General Data",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:w,icon:w?"spinner":"print",iconSpin:!!w,content:"Print Record",onClick:function(){function E(){return B("print_record")}return E}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",tooltip:"WARNING: This will also delete the Security and Medical records associated with this crew member!",tooltipPosition:"bottom-start",content:"Delete Record",onClick:function(){function E(){return B("delete_general")}return E}()})],4),children:(0,e.createComponentVNode)(2,b)})}),!T||!T.fields?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Security Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"pen",content:"Create New Record",onClick:function(){function E(){return B("new_security")}return E}()}),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"Security records lost!"]})})})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Security Data",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",disabled:T.empty,content:"Delete Record",onClick:function(){function E(){return B("delete_security")}return E}()}),children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:T.fields.map(function(E,O){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:E.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(E.value),!!E.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:E.line_break?"1rem":"initial",onClick:function(){function P(){return i(N,E)}return P}()})]},O)})})})})}),(0,e.createComponentVNode)(2,g)],4)],0)},b=function(C,N){var x=(0,t.useBackend)(N),B=x.data,L=B.general;return!L||!L.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"General records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:L.fields.map(function(w,A){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:w.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(""+w.value),!!w.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:w.line_break?"1rem":"initial",onClick:function(){function T(){return i(N,w)}return T}()})]},A)})})}),!!L.has_photos&&L.photos.map(function(w,A){return(0,e.createComponentVNode)(2,o.Stack.Item,{inline:!0,textAlign:"center",color:"label",ml:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:w,style:{width:"96px","margin-top":"5rem","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Photo #",A+1]},A)})]})},g=function(C,N){var x=(0,t.useBackend)(N),B=x.act,L=x.data,w=L.security;return(0,e.createComponentVNode)(2,o.Stack.Item,{height:"150px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Comments/Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"comment",content:"Add Entry",onClick:function(){function A(){return(0,y.modalOpen)(N,"comment_add")}return A}()}),children:w.comments.length===0?(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No comments found."}):w.comments.map(function(A,T){return(0,e.createComponentVNode)(2,o.Box,{preserveWhitespace:!0,children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:A.header||"Auto-generated"}),(0,e.createVNode)(1,"br"),A.text||A,(0,e.createComponentVNode)(2,o.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){function E(){return B("comment_delete",{id:T+1})}return E}()})]},T)})})})}},5099:function(I,r,n){"use strict";r.__esModule=!0,r.SeedExtractor=void 0;var e=n(89005),a=n(25328),t=n(35840),o=n(72253),d=n(36036),y=n(98595),V=n(3939);function k(m,c){var v=typeof Symbol!="undefined"&&m[Symbol.iterator]||m["@@iterator"];if(v)return(v=v.call(m)).next.bind(v);if(Array.isArray(m)||(v=S(m))||c&&m&&typeof m.length=="number"){v&&(m=v);var b=0;return function(){return b>=m.length?{done:!0}:{done:!1,value:m[b++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(m,c){if(m){if(typeof m=="string")return p(m,c);var v={}.toString.call(m).slice(8,-1);return v==="Object"&&m.constructor&&(v=m.constructor.name),v==="Map"||v==="Set"?Array.from(m):v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v)?p(m,c):void 0}}function p(m,c){(c==null||c>m.length)&&(c=m.length);for(var v=0,b=Array(c);v=T},g=function(A,T){return A<=T},h=c.split(" "),C=[],N=function(){var A=L.value,T=A.split(":");if(T.length===0)return 0;if(T.length===1)return C.push(function(P){return(P.name+" ("+P.variant+")").toLocaleLowerCase().includes(T[0].toLocaleLowerCase())}),0;if(T.length>2)return{v:function(){function P(R){return!1}return P}()};var E,O=v;if(T[1][T[1].length-1]==="-"?(O=g,E=Number(T[1].substring(0,T[1].length-1))):T[1][T[1].length-1]==="+"?(O=b,E=Number(T[1].substring(0,T[1].length-1))):E=Number(T[1]),isNaN(E))return{v:function(){function P(R){return!1}return P}()};switch(T[0].toLocaleLowerCase()){case"l":case"life":case"lifespan":C.push(function(P){return O(P.lifespan,E)});break;case"e":case"end":case"endurance":C.push(function(P){return O(P.endurance,E)});break;case"m":case"mat":case"maturation":C.push(function(P){return O(P.maturation,E)});break;case"pr":case"prod":case"production":C.push(function(P){return O(P.production,E)});break;case"y":case"yield":C.push(function(P){return O(P.yield,E)});break;case"po":case"pot":case"potency":C.push(function(P){return O(P.potency,E)});break;case"s":case"stock":case"c":case"count":case"a":case"amount":C.push(function(P){return O(P.amount,E)});break;default:return{v:function(){function P(R){return!1}return P}()}}},x,B=k(h),L;!(L=B()).done;)if(x=N(),x!==0&&x)return x.v;return function(w){for(var A=0,T=C;A=1?Number(O):1)}return T}()})]})]})}},2916:function(I,r,n){"use strict";r.__esModule=!0,r.ShuttleConsoleContent=r.ShuttleConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.ShuttleConsole=function(){function p(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=i.type,c=m===void 0?"shuttle":m,v=i.blind_drop,b=s.authorization_required;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:240,children:[!!b&&(0,e.createComponentVNode)(2,t.Modal,{ml:1,mt:1,width:26,height:12,fontSize:"28px",fontFamily:"monospace",textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mt:2,children:(0,e.createComponentVNode)(2,t.Icon,{name:"minus-circle"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{mt:2,ml:2,color:"bad",children:c==="shuttle"?"SHUTTLE LOCKED":"BASE LOCKED"})]}),(0,e.createComponentVNode)(2,t.Box,{fontSize:"18px",mt:4,children:(0,e.createComponentVNode)(2,t.Button,{lineHeight:"40px",icon:"arrow-circle-right",content:"Request Authorization",color:"bad",onClick:function(){function g(){return u("request")}return g}()})})]}),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,S,{type:c,blind_drop:v})})]})}return p}(),y=function(i,l){var f;return i==null||(f=i.find(function(u){return u.id===l}))==null?void 0:f.name},V=function(i,l){var f;return i==null||(f=i.find(function(u){return u.name===l}))==null?void 0:f.id},k={"In Transit":"good",Idle:"average",Igniting:"average",Recharging:"average",Missing:"bad","Unauthorized Access":"bad",Locked:"bad"},S=r.ShuttleConsoleContent=function(){function p(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=i.type,c=i.blind_drop,v=s.status,b=s.locked,g=s.authorization_required,h=s.destination,C=s.docked_location,N=s.timer_str,x=s.locations,B=x===void 0?[]:x;return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,fontSize:"26px",textAlign:"center",fontFamily:"monospace",children:N||"00:00"}),(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",fontSize:"14px",mb:1,children:[(0,e.createComponentVNode)(2,t.Box,{inline:!0,bold:!0,children:"STATUS:"}),(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:k[v]||"bad",ml:1,children:v||"Not Available"})]}),(0,e.createComponentVNode)(2,t.Section,{title:m==="shuttle"?"Shuttle Controls":"Base Launch Controls",level:2,children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:C||"Not Available"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",buttons:m!=="shuttle"&&B.length===0&&!!c&&(0,e.createComponentVNode)(2,t.Button,{color:"bad",icon:"exclamation-triangle",disabled:g||!c,content:"Blind Drop",onClick:function(){function L(){return u("random")}return L}()}),children:B.length===0&&(0,e.createComponentVNode)(2,t.Box,{mb:1.7,color:"bad",children:"Not Available"})||B.length===1&&(0,e.createComponentVNode)(2,t.Box,{mb:1.7,color:"average",children:y(B,h)})||(0,e.createComponentVNode)(2,t.Dropdown,{mb:1.7,over:!0,width:"240px",options:B.map(function(L){return L.name}),disabled:b||g,selected:y(B,h)||"Select a Destination",onSelected:function(){function L(w){return u("set_destination",{destination:V(B,w)})}return L}()})})]}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Depart",disabled:!y(B,h)||b||g||v!=="Idle",icon:"arrow-up",textAlign:"center",onClick:function(){function L(){return u("move",{shuttle_id:h})}return L}()})]})]})}return p}()},39401:function(I,r,n){"use strict";r.__esModule=!0,r.ShuttleManipulator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.ShuttleManipulator=function(){function S(p,i){var l=(0,a.useLocalState)(i,"tabIndex",0),f=l[0],u=l[1],s=function(){function m(c){switch(c){case 0:return(0,e.createComponentVNode)(2,y);case 1:return(0,e.createComponentVNode)(2,V);case 2:return(0,e.createComponentVNode)(2,k);default:return"WE SHOULDN'T BE HERE!"}}return m}();return(0,e.createComponentVNode)(2,o.Window,{width:650,height:700,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:f===0,onClick:function(){function m(){return u(0)}return m}(),icon:"info-circle",children:"Status"},"Status"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:f===1,onClick:function(){function m(){return u(1)}return m}(),icon:"file-import",children:"Templates"},"Templates"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:f===2,onClick:function(){function m(){return u(2)}return m}(),icon:"tools",children:"Modification"},"Modification")]}),s(f)]})})})}return S}(),y=function(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.shuttles;return(0,e.createComponentVNode)(2,t.Box,{children:s.map(function(m){return(0,e.createComponentVNode)(2,t.Section,{title:m.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID",children:m.id}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Timer",children:m.timeleft}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Mode",children:m.mode}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Status",children:m.status}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Jump To",icon:"location-arrow",onClick:function(){function c(){return f("jump_to",{type:"mobile",id:m.id})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Fast Travel",icon:"fast-forward",onClick:function(){function c(){return f("fast_travel",{id:m.id})}return c}()})]})]})},m.name)})})},V=function(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.templates_tabs,m=u.existing_shuttle,c=u.templates;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Tabs,{children:s.map(function(v){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===m.id,icon:"file",onClick:function(){function b(){return f("select_template_category",{cat:v})}return b}(),children:v},v)})}),!!m&&c[m.id].templates.map(function(v){return(0,e.createComponentVNode)(2,t.Section,{title:v.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[v.description&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:v.description}),v.admin_notes&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Admin Notes",children:v.admin_notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{content:"Load Template",icon:"download",onClick:function(){function b(){return f("select_template",{shuttle_id:v.shuttle_id})}return b}()})})]})},v.name)})]})},k=function(p,i){var l=(0,a.useBackend)(i),f=l.act,u=l.data,s=u.existing_shuttle,m=u.selected;return(0,e.createComponentVNode)(2,t.Box,{children:[s?(0,e.createComponentVNode)(2,t.Section,{title:"Selected Shuttle: "+s.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:s.status}),s.timer&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Timer",children:s.timeleft}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{content:"Jump To",icon:"location-arrow",onClick:function(){function c(){return f("jump_to",{type:"mobile",id:s.id})}return c}()})})]})}):(0,e.createComponentVNode)(2,t.Section,{title:"Selected Shuttle: None"}),m?(0,e.createComponentVNode)(2,t.Section,{title:"Selected Template: "+m.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[m.description&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:m.description}),m.admin_notes&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Admin Notes",children:m.admin_notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Preview",icon:"eye",onClick:function(){function c(){return f("preview",{shuttle_id:m.shuttle_id})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Load",icon:"download",onClick:function(){function c(){return f("load",{shuttle_id:m.shuttle_id})}return c}()})]})]})}):(0,e.createComponentVNode)(2,t.Section,{title:"Selected Template: None"})]})}},88284:function(I,r,n){"use strict";r.__esModule=!0,r.Sleeper=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=n(98595),y=[["good","Alive"],["average","Critical"],["bad","DEAD"]],V=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],k={average:[.25,.5],bad:[.5,1/0]},S=["bad","average","average","good","average","average","bad"],p=r.Sleeper=function(){function c(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.hasOccupant,x=N?(0,e.createComponentVNode)(2,i):(0,e.createComponentVNode)(2,m);return(0,e.createComponentVNode)(2,d.Window,{width:550,height:760,children:(0,e.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:x}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,u)})]})})})}return c}(),i=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.occupant;return(0,e.createFragment)([(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,f),(0,e.createComponentVNode)(2,s)],4)},l=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.occupant,x=C.auto_eject_dead;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:"Auto-eject if dead:\xA0"}),(0,e.createComponentVNode)(2,o.Button,{icon:x?"toggle-on":"toggle-off",selected:x,content:x?"On":"Off",onClick:function(){function B(){return h("auto_eject_dead_"+(x?"off":"on"))}return B}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"user-slash",content:"Eject",onClick:function(){function B(){return h("ejectify")}return B}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:N.name}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:N.maxHealth,value:N.health/N.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]},children:(0,a.round)(N.health,0)})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",color:y[N.stat][0],children:y[N.stat][1]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:N.maxTemp,value:N.bodyTemperature/N.maxTemp,color:S[N.temperatureSuitability+3],children:[(0,a.round)(N.btCelsius,0),"\xB0C,",(0,a.round)(N.btFaren,0),"\xB0F"]})}),!!N.hasBlood&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Blood Level",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:N.bloodMax,value:N.bloodLevel/N.bloodMax,ranges:{bad:[-1/0,.6],average:[.6,.9],good:[.6,1/0]},children:[N.bloodPercent,"%, ",N.bloodLevel,"cl"]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pulse",verticalAlign:"middle",children:[N.pulse," BPM"]})],4)]})})},f=function(v,b){var g=(0,t.useBackend)(b),h=g.data,C=h.occupant;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant Damage",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:V.map(function(N,x){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:N[0],children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:"100",value:C[N[1]]/100,ranges:k,children:(0,a.round)(C[N[1]],0)},x)},x)})})})},u=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.hasOccupant,x=C.isBeakerLoaded,B=C.beakerMaxSpace,L=C.beakerFreeSpace,w=C.dialysis,A=w&&L>0;return(0,e.createComponentVNode)(2,o.Section,{title:"Dialysis",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:!x||L<=0||!N,selected:A,icon:A?"toggle-on":"toggle-off",content:A?"Active":"Inactive",onClick:function(){function T(){return h("togglefilter")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!x,icon:"eject",content:"Eject",onClick:function(){function T(){return h("removebeaker")}return T}()})],4),children:x?(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Remaining Space",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:B,value:L/B,ranges:{good:[.5,1/0],average:[.25,.5],bad:[-1/0,.25]},children:[L,"u"]})})}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No beaker loaded."})})},s=function(v,b){var g=(0,t.useBackend)(b),h=g.act,C=g.data,N=C.occupant,x=C.chemicals,B=C.maxchem,L=C.amounts;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant Chemicals",children:x.map(function(w,A){var T="",E;return w.overdosing?(T="bad",E=(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-circle"}),"\xA0 Overdosing!"]})):w.od_warning&&(T="average",E=(0,e.createComponentVNode)(2,o.Box,{color:"average",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle"}),"\xA0 Close to overdosing"]})),(0,e.createComponentVNode)(2,o.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,e.createComponentVNode)(2,o.Section,{title:w.title,level:"3",mx:"0",lineHeight:"18px",buttons:E,children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:B,value:w.occ_amount/B,color:T,title:"Amount of chemicals currently inside the occupant / Total amount injectable by this machine",mr:"0.5rem",children:[w.pretty_amount,"/",B,"u"]}),L.map(function(O,P){return(0,e.createComponentVNode)(2,o.Button,{disabled:!w.injectable||w.occ_amount+O>B||N.stat===2,icon:"syringe",content:"Inject "+O+"u",title:"Inject "+O+"u of "+w.title+" into the occupant",mb:"0",height:"19px",onClick:function(){function R(){return h("chemical",{chemid:w.id,amount:O})}return R}()},P)})]})})},A)})})},m=function(v,b){return(0,e.createComponentVNode)(2,o.Section,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}},21597:function(I,r,n){"use strict";r.__esModule=!0,r.SlotMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.SlotMachine=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data;if(i.money===null)return(0,e.createComponentVNode)(2,o.Window,{width:350,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{children:"Could not scan your card or could not find account!"}),(0,e.createComponentVNode)(2,t.Box,{children:"Please wear or hold your ID and try again."})]})})});var l;return i.plays===1?l=i.plays+" player has tried their luck today!":l=i.plays+" players have tried their luck today!",(0,e.createComponentVNode)(2,o.Window,{width:350,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{lineHeight:2,children:l}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Credits Remaining",children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:i.money})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"50 credits to spin",children:(0,e.createComponentVNode)(2,t.Button,{icon:"coins",disabled:i.working,content:i.working?"Spinning...":"Spin",onClick:function(){function f(){return p("spin")}return f}()})})]}),(0,e.createComponentVNode)(2,t.Box,{bold:!0,lineHeight:2,color:i.resultlvl,children:i.result})]})})})}return y}()},46348:function(I,r,n){"use strict";r.__esModule=!0,r.Smartfridge=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.Smartfridge=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.secure,f=i.can_dry,u=i.drying,s=i.contents;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[!!l&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"Secure Access: Please have your identification ready."}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:f?"Drying rack":"Contents",buttons:!!f&&(0,e.createComponentVNode)(2,t.Button,{width:4,icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){function m(){return p("drying")}return m}()}),children:[!s&&(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cookie-bite",size:5,color:"brown"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"No products loaded."]})}),!!s&&s.slice().sort(function(m,c){return m.display_name.localeCompare(c.display_name)}).map(function(m){return(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"55%",children:m.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"25%",children:["(",m.quantity," in stock)"]}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:13,children:[(0,e.createComponentVNode)(2,t.Button,{width:3,icon:"arrow-down",tooltip:"Dispense one.",content:"1",onClick:function(){function c(){return p("vend",{index:m.vend,amount:1})}return c}()}),(0,e.createComponentVNode)(2,t.NumberInput,{width:"40px",minValue:0,value:0,maxValue:m.quantity,step:1,stepPixelSize:3,onChange:function(){function c(v,b){return p("vend",{index:m.vend,amount:b})}return c}()}),(0,e.createComponentVNode)(2,t.Button,{width:4,icon:"arrow-down",content:"All",tooltip:"Dispense all.",tooltipPosition:"bottom-start",onClick:function(){function c(){return p("vend",{index:m.vend,amount:m.quantity})}return c}()})]})]},m)})]})]})})})}return y}()},86162:function(I,r,n){"use strict";r.__esModule=!0,r.Smes=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(49968),d=n(98595),y=1e3,V=r.Smes=function(){function k(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.capacityPercent,s=f.capacity,m=f.charge,c=f.inputAttempt,v=f.inputting,b=f.inputLevel,g=f.inputLevelMax,h=f.inputAvailable,C=f.outputPowernet,N=f.outputAttempt,x=f.outputting,B=f.outputLevel,L=f.outputLevelMax,w=f.outputUsed,A=u>=100&&"good"||v&&"average"||"bad",T=x&&"good"||m>0&&"average"||"bad";return(0,e.createComponentVNode)(2,d.Window,{width:340,height:345,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Stored Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:u*.01,ranges:{good:[.5,1/0],average:[.15,.5],bad:[-1/0,.15]}})}),(0,e.createComponentVNode)(2,t.Section,{title:"Input",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge Mode",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:c?"sync-alt":"times",selected:c,onClick:function(){function E(){return l("tryinput")}return E}(),children:c?"Auto":"Off"}),children:(0,e.createComponentVNode)(2,t.Box,{color:A,children:u>=100&&"Fully Charged"||v&&"Charging"||"Not Charging"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Input",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:b===0,onClick:function(){function E(){return l("input",{target:"min"})}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:b===0,onClick:function(){function E(){return l("input",{adjust:-1e4})}return E}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Slider,{value:b/y,fillValue:h/y,minValue:0,maxValue:g/y,step:5,stepPixelSize:4,format:function(){function E(O){return(0,o.formatPower)(O*y,1)}return E}(),onChange:function(){function E(O,P){return l("input",{target:P*y})}return E}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:b===g,onClick:function(){function E(){return l("input",{adjust:1e4})}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:b===g,onClick:function(){function E(){return l("input",{target:"max"})}return E}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available",children:(0,o.formatPower)(h)})]})}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Output",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Output Mode",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:N?"power-off":"times",selected:N,onClick:function(){function E(){return l("tryoutput")}return E}(),children:N?"On":"Off"}),children:(0,e.createComponentVNode)(2,t.Box,{color:T,children:C?x?"Sending":m>0?"Not Sending":"No Charge":"Not Connected"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Output",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:B===0,onClick:function(){function E(){return l("output",{target:"min"})}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:B===0,onClick:function(){function E(){return l("output",{adjust:-1e4})}return E}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Slider,{value:B/y,minValue:0,maxValue:L/y,step:5,stepPixelSize:4,format:function(){function E(O){return(0,o.formatPower)(O*y,1)}return E}(),onChange:function(){function E(O,P){return l("output",{target:P*y})}return E}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:B===L,onClick:function(){function E(){return l("output",{adjust:1e4})}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:B===L,onClick:function(){function E(){return l("output",{target:"max"})}return E}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Outputting",children:(0,o.formatPower)(w)})]})})]})})})}return k}()},63584:function(I,r,n){"use strict";r.__esModule=!0,r.SolarControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.SolarControl=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=0,f=1,u=2,s=i.generated,m=i.generated_ratio,c=i.tracking_state,v=i.tracking_rate,b=i.connected_panels,g=i.connected_tracker,h=i.cdir,C=i.direction,N=i.rotating_direction;return(0,e.createComponentVNode)(2,o.Window,{width:490,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Scan for new hardware",onClick:function(){function x(){return p("refresh")}return x}()}),children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Solar tracker",color:g?"good":"bad",children:g?"OK":"N/A"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Solar panels",color:b>0?"good":"bad",children:b})]})}),(0,e.createComponentVNode)(2,t.Grid.Column,{size:2,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power output",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.66,1/0],average:[.33,.66],bad:[-1/0,.33]},minValue:0,maxValue:1,value:m,children:s+" W"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Panel orientation",children:[h,"\xB0 (",C,")"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker rotation",children:[c===u&&(0,e.createComponentVNode)(2,t.Box,{children:" Automated "}),c===f&&(0,e.createComponentVNode)(2,t.Box,{children:[" ",v,"\xB0/h (",N,")"," "]}),c===l&&(0,e.createComponentVNode)(2,t.Box,{children:" Tracker offline "})]})]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Panel orientation",children:[c!==u&&(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0",step:1,stepPixelSize:1,minValue:0,maxValue:359,value:h,onDrag:function(){function x(B,L){return p("cdir",{cdir:L})}return x}()}),c===u&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Automated "})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker status",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Off",selected:c===l,onClick:function(){function x(){return p("track",{track:l})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"clock-o",content:"Timed",selected:c===f,onClick:function(){function x(){return p("track",{track:f})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Auto",selected:c===u,disabled:!g,onClick:function(){function x(){return p("track",{track:u})}return x}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker rotation",children:[c===f&&(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0/h",step:1,stepPixelSize:1,minValue:-7200,maxValue:7200,value:v,format:function(){function x(B){var L=Math.sign(B)>0?"+":"-";return L+Math.abs(B)}return x}(),onDrag:function(){function x(B,L){return p("tdir",{tdir:L})}return x}()}),c===l&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Tracker offline "}),c===u&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Automated "})]})]})})]})})}return y}()},38096:function(I,r,n){"use strict";r.__esModule=!0,r.SpawnersMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.SpawnersMenu=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.spawners||[];return(0,e.createComponentVNode)(2,o.Window,{width:700,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{children:l.map(function(f){return(0,e.createComponentVNode)(2,t.Section,{mb:.5,title:f.name+" ("+f.amount_left+" left)",level:2,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Jump",onClick:function(){function u(){return p("jump",{ID:f.uids})}return u}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Spawn",onClick:function(){function u(){return p("spawn",{ID:f.uids})}return u}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mb:1,fontSize:"16px",children:f.desc}),!!f.fluff&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},textColor:"#878787",fontSize:"14px",children:f.fluff}),!!f.important_info&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mt:1,bold:!0,color:"red",fontSize:"18px",children:f.important_info})]},f.name)})})})})}return y}()},7957:function(I,r,n){"use strict";r.__esModule=!0,r.SpiderOS=r.ShuttleConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(29319),d=n(98595);function y(m,c){m.prototype=Object.create(c.prototype),m.prototype.constructor=m,V(m,c)}function V(m,c){return V=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(v,b){return v.__proto__=b,v},V(m,c)}var k=r.SpiderOS=function(){function m(c,v){var b=(0,a.useBackend)(v),g=b.act,h=b.data,C;return h.suit_tgui_state===0?C=(0,e.createComponentVNode)(2,t.Flex,{direction:"row",spacing:1,children:[(0,e.createComponentVNode)(2,t.Flex,{direction:"column",width:"60%",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{backgroundColor:"rgba(0, 0, 0, 0)",children:(0,e.createComponentVNode)(2,l)}),(0,e.createComponentVNode)(2,t.Flex.Item,{mt:2.2,backgroundColor:"rgba(0, 0, 0, 0)",children:(0,e.createComponentVNode)(2,f)})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"40%",height:"190px",grow:1,backgroundColor:"rgba(0, 0, 0, 0)",children:[(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p)]})]}):h.suit_tgui_state===1&&(C=(0,e.createComponentVNode)(2,t.Flex,{width:"100%",height:"100%",direction:"column",shrink:1,spacing:1,children:(0,e.createComponentVNode)(2,t.Flex.Item,{backgroundColor:"rgba(0, 0, 0, 0.8)",height:"100%",children:[(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,s,{allMessages:h.current_load_text,finishedTimeout:3e3,current_initialisation_phase:h.current_initialisation_phase,end_terminal:h.end_terminal,onFinished:function(){function N(){return g("set_UI_state",{suit_tgui_state:0})}return N}()})]})})),(0,e.createComponentVNode)(2,d.Window,{width:800,height:630,theme:"spider_clan",children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",spacing:1,children:C})})})}return m}(),S=function(c,v){var b=(0,a.useBackend)(v),g=b.data,h=g.allStylesPreview,C=g.style_preview_icon_state;return(0,e.createComponentVNode)(2,t.Section,{title:"\u041F\u0435\u0440\u0441\u043E\u043D\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u043A\u043E\u0441\u0442\u044E\u043C\u0430",style:{"text-align":"center"},buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u0432\u0438\u0434\u0430 \u0432\u0430\u0448\u0435\u0433\u043E \u043A\u043E\u0441\u0442\u044E\u043C\u0430! \u041D\u0430\u0448\u0438 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0442 \u0432\u0430\u043C \u043F\u043E\u0434\u0441\u0442\u0440\u043E\u0438\u0442\u044C \u043A\u043E\u0441\u0442\u044E\u043C \u043F\u043E\u0434 \u0441\u0435\u0431\u044F, \u043F\u0440\u0438 \u044D\u0442\u043E\u043C \u043D\u0435 \u0442\u0435\u0440\u044F\u044F \u043E\u0431\u043E\u0440\u043E\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0445 \u043A\u0430\u0447\u0435\u0441\u0442\u0432. \u041F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u0443\u0434\u043E\u0431\u0441\u0442\u0432\u043E \u043F\u0440\u0438 \u043D\u043E\u0448\u0435\u043D\u0438\u0438 \u043A\u043E\u0441\u0442\u044E\u043C\u0430, \u0436\u0438\u0437\u043D\u0435\u043D\u043D\u043E \u0432\u0430\u0436\u043D\u043E \u0434\u043B\u044F \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0433\u043E \u0443\u0431\u0438\u0439\u0446\u044B.",tooltipPosition:"bottom-start"}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",grow:1,alignContent:"center",children:(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_blue",success:0,danger:0,align:"center",children:(0,e.createComponentVNode)(2,t.Section,{style:{background:"rgba(4, 74, 27, 0.75)"},mr:10,ml:10,children:(0,e.createVNode)(1,"img",null,null,1,{height:"128px",width:"128px",src:"data:image/jpeg;base64,"+h[C],style:{"margin-left":"0px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})})})})})},p=function(c,v){var b=(0,a.useBackend)(v),g=b.act,h=b.data,C=h.designs,N=h.design_choice,x=h.scarf_design_choice,B=h.colors,L=h.color_choice,w=h.genders,A=h.preferred_clothes_gender,T=h.suit_state,E=h.preferred_scarf_over_hood,O=h.show_charge_UI,P=h.has_martial_art,R=h.show_concentration_UI,F;T===0?F="\u0410\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u0441\u0442\u044E\u043C":F="\u0414\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043A\u043E\u0441\u0442\u044E\u043C";var j;E===0?j="\u041A\u0430\u043F\u044E\u0448\u043E\u043D":j="\u0428\u0430\u0440\u0444";var W;E===1?W=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0421\u0442\u0438\u043B\u044C \u0448\u0430\u0440\u0444\u0430",content:(0,e.createComponentVNode)(2,t.Dropdown,{options:C,selected:x,onSelected:function(){function H($){return g("set_scarf_design",{scarf_design_choice:$})}return H}()})}):W=null;var z;return P?z=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041A\u043E\u043D\u0446\u0435\u043D\u0442\u0440\u0430\u0446\u0438\u044F",content:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{selected:R,width:"78px",textAlign:"left",content:R?"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C":"\u0421\u043A\u0440\u044B\u0442\u044C",onClick:function(){function H(){return g("toggle_ui_concentration")}return H}()}),(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",content:"?",tooltip:"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u0441\u043A\u043E\u043D\u0446\u0435\u043D\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u043B\u0438 \u0432\u044B \u0434\u043B\u044F \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0431\u043E\u0435\u0432\u043E\u0433\u043E \u0438\u0441\u0441\u043A\u0443\u0441\u0442\u0432\u0430.",tooltipPosition:"top-start"})]})}):z=null,(0,e.createComponentVNode)(2,t.Flex,{direction:"row",grow:1,alignContent:"center",ml:.5,children:(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,width:"100%",children:[(0,e.createComponentVNode)(2,t.NoticeBox,{success:0,danger:0,align:"center",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0421\u0442\u0438\u043B\u044C",children:(0,e.createComponentVNode)(2,t.Dropdown,{options:C,selected:N,onSelected:function(){function H($){return g("set_design",{design_choice:$})}return H}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0426\u0432\u0435\u0442",children:(0,e.createComponentVNode)(2,t.Dropdown,{options:B,selected:L,onSelected:function(){function H($){return g("set_color",{color_choice:$})}return H}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0416\u0435\u043D\u0441\u043A\u0438\u0439/\u041C\u0443\u0436\u0441\u043A\u043E\u0439",children:(0,e.createComponentVNode)(2,t.Dropdown,{options:w,selected:A,onSelected:function(){function H($){return g("set_gender",{preferred_clothes_gender:$})}return H}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0428\u0430\u0440\u0444/\u041A\u0430\u043F\u044E\u0448\u043E\u043D",children:[(0,e.createComponentVNode)(2,t.Button,{className:T===0?"":"Button_disabled",width:"90px",selected:E,disabled:T,textAlign:"left",content:j,onClick:function(){function H(){return g("toggle_scarf")}return H}()}),(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",content:"?",tooltip:'\u0421 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u043E\u0439 "\u0428\u0430\u0440\u0444" \u0432\u0430\u0448 \u043A\u0430\u043F\u044E\u0448\u043E\u043D \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u0438\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0432\u043E\u043B\u043E\u0441\u044B. \u041D\u043E \u044D\u0442\u043E \u043D\u0435 \u0437\u043D\u0430\u0447\u0438\u0442, \u0447\u0442\u043E \u0432\u0430\u0448\u0430 \u0433\u043E\u043B\u043E\u0432\u0430 \u043D\u0435 \u0437\u0430\u0449\u0438\u0449\u0435\u043D\u0430! \u0410\u0434\u0430\u043F\u0442\u0438\u0432\u043D\u044B\u0435 \u043D\u0430\u043D\u043E-\u0432\u043E\u043B\u043E\u043A\u043D\u0430 \u043A\u043E\u0441\u0442\u044E\u043C\u0430 \u0432\u0441\u0451 \u0435\u0449\u0451 \u0440\u0435\u0430\u0433\u0438\u0440\u0443\u044E\u0442 \u043D\u0430 \u043F\u043E\u0442\u0435\u043D\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0435 \u0443\u0433\u0440\u043E\u0437\u044B \u043F\u0440\u0438\u043A\u0440\u044B\u0432\u0430\u044F \u0432\u0430\u0448\u0443 \u0433\u043E\u043B\u043E\u0432\u0443! \u0423\u0442\u043E\u0447\u043D\u0435\u043D\u0438\u0435: \u043D\u0430\u043D\u043E\u0432\u043E\u043B\u043E\u043A\u043D\u0430 \u0442\u0430\u043A \u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u043F\u0440\u0438\u043A\u0440\u044B\u0432\u0430\u0442\u044C \u0432\u0430\u0448\u0443 \u0433\u043E\u043B\u043E\u0432\u0443 \u0438 \u043E\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u043E\u043B\u043E\u0432\u043D\u044B\u0445 \u0443\u0431\u043E\u0440\u043E\u0432 \u0441 \u0446\u0435\u043B\u044C\u044E \u0443\u043C\u0435\u043D\u044C\u0448\u0435\u043D\u0438\u044F \u043F\u043E\u043C\u0435\u0445 \u0432 \u0438\u0445 \u0440\u0430\u0431\u043E\u0442\u0435.',tooltipPosition:"top-start"})]}),W,(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0417\u0430\u0440\u044F\u0434 \u043A\u043E\u0441\u0442\u044E\u043C\u0430",children:[(0,e.createComponentVNode)(2,t.Button,{selected:O,width:"90px",textAlign:"left",content:O?"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C":"\u0421\u043A\u0440\u044B\u0442\u044C",onClick:function(){function H(){return g("toggle_ui_charge")}return H}()}),(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",content:"?",tooltip:"\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0438\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u0437\u0430\u0440\u044F\u0434 \u0432\u0430\u0448\u0435\u0433\u043E \u043A\u043E\u0441\u0442\u044E\u043C\u0430.",tooltipPosition:"top-start"})]}),z]})}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_"+L,success:0,danger:0,mt:-1.2,align:"center",children:(0,e.createComponentVNode)(2,t.Button,{width:"80%",icon:"power-off",mt:.5,textAlign:"center",content:F,tooltip:"\u041F\u043E\u0437\u0432\u043E\u043B\u044F\u0435\u0442 \u0432\u0430\u043C \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u043E\u0441\u0442\u044E\u043C \u0438 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F \u043A \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u044E \u0432\u0441\u0435\u0445 \u0444\u0443\u043D\u043A\u0446\u0438\u0439 \u0432 \u043D\u0451\u043C \u0437\u0430\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0445. \n\u0423\u0447\u0442\u0438\u0442\u0435, \u0447\u0442\u043E \u0432\u044B \u043D\u0435 \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0438\u043E\u0431\u0440\u0435\u0441\u0442\u0438 \u043B\u044E\u0431\u044B\u0435 \u043C\u043E\u0434\u0443\u043B\u0438, \u043A\u043E\u0433\u0434\u0430 \u043A\u043E\u0441\u0442\u044E\u043C \u0431\u0443\u0434\u0435\u0442 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D. \n\u0422\u0430\u043A \u0436\u0435 \u0432\u043A\u043B\u044E\u0447\u0451\u043D\u043D\u044B\u0439 \u043A\u043E\u0441\u0442\u044E\u043C \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u043E \u043F\u043E\u0442\u0440\u0435\u0431\u043B\u044F\u0435\u0442 \u0437\u0430\u0440\u044F\u0434 \u0434\u043B\u044F \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044F \u0440\u0430\u0431\u043E\u0442\u044B \u0432\u0441\u0435\u0445 \u0444\u0443\u043D\u043A\u0446\u0438\u0439 \u0438 \u043C\u043E\u0434\u0443\u043B\u0435\u0439. \n\u0410\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u043A\u043E\u0441\u0442\u044E\u043C \u043D\u0435\u043B\u044C\u0437\u044F \u0441\u043D\u044F\u0442\u044C \u043E\u0431\u044B\u0447\u043D\u044B\u043C \u0441\u043F\u043E\u0441\u043E\u0431\u043E\u043C, \u043F\u043E\u043A\u0430 \u043E\u043D \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u043D. \n\u0412\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u0440\u043E\u0432\u043D\u043E \u043A\u0430\u043A \u0438 \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A\u043E\u0441\u0442\u044E\u043C\u0430 \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 \u043C\u043D\u043E\u0433\u043E \u0432\u0440\u0435\u043C\u0435\u043D\u0438. \u041F\u043E\u0434\u0443\u043C\u0430\u0439\u0442\u0435 \u0434\u0432\u0430\u0436\u0434\u044B \u043F\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043C \u0432\u044B\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0435\u0433\u043E \u043D\u0430 \u0442\u0435\u0440\u0440\u0438\u0442\u043E\u0440\u0438\u0438 \u0432\u0440\u0430\u0433\u0430!",tooltipPosition:"top-start",onClick:function(){function H(){return g("initialise_suit")}return H}()})})]})})},i=function(c,v){var b=(0,a.useBackend)(v),g=b.data,h=g.allActionsPreview;return(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u043E\u0432\u0435\u0442\u044B \u0438 \u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0438",style:{"text-align":"center"},buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u041C\u043E\u043B\u043E\u0434\u044B\u043C \u0443\u0431\u0438\u0439\u0446\u0430\u043C \u0447\u0430\u0441\u0442\u043E \u043D\u0435 \u043B\u0435\u0433\u043A\u043E \u043E\u0441\u0432\u043E\u0438\u0442\u0441\u044F \u0432 \u043F\u043E\u043B\u0435\u0432\u044B\u0445 \u0443\u0441\u043B\u043E\u0432\u0438\u044F\u0445, \u0434\u0430\u0436\u0435 \u043F\u043E\u0441\u043B\u0435 \u0438\u043D\u0442\u0435\u043D\u0441\u0438\u0432\u043D\u044B\u0445 \u0442\u0440\u0435\u043D\u0438\u0440\u043E\u0432\u043E\u043A. \n\u042D\u0442\u043E\u0442 \u0440\u0430\u0437\u0434\u0435\u043B \u043F\u0440\u0438\u0437\u0432\u0430\u043D \u043F\u043E\u043C\u043E\u0447\u044C \u0432\u0430\u043C \u0441\u043E\u0432\u0435\u0442\u0430\u043C\u0438 \u043F\u043E \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u043C \u0447\u0430\u0441\u0442\u043E \u0432\u043E\u0437\u043D\u0438\u043A\u0430\u044E\u0449\u0438\u043C \u0432\u043E\u043F\u0440\u043E\u0441\u0430\u043C \u043A\u0430\u0441\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u044B\u0445 \u043C\u0438\u0441\u0441\u0438\u0439 \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0432\u0430\u043C \u0432\u044B\u0434\u0430\u0434\u0443\u0442 \u0438\u043B\u0438 \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u0430\u0442\u044C \u043E \u043C\u0430\u043B\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438 \u043A\u043E\u0442\u043E\u0440\u0443\u044E \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043E\u0431\u0435\u0440\u043D\u0443\u0442\u044C \u0432 \u0441\u0432\u043E\u044E \u043F\u043E\u043B\u044C\u0437\u0443.",tooltipPosition:"bottom-start"}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",grow:1,alignContent:"center",children:(0,e.createComponentVNode)(2,t.Flex.Item,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.ninja_teleport,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u044F \u0438 \u0448\u0430\u0442\u0442\u043B",content:"\u0412 \u0432\u0430\u0448\u0435\u043C \u0414\u043E\u0434\u0437\u0451 \u0435\u0441\u0442\u044C \u043B\u0438\u0447\u043D\u044B\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430 \u0434\u043B\u044F \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u0438 \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \u0422\u043E\u0447\u043A\u0430 \u043D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u0430\u044F, \u043D\u043E \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442 \u0438\u0434\u0451\u0442 \u043D\u0430 \u0442\u0435\u0445\u043D\u0438\u0447\u0435\u0441\u043A\u0438\u0435 \u0442\u043E\u043D\u043D\u0435\u043B\u0438 \u0441\u0442\u0430\u043D\u0446\u0438\u0438 \u0438\u043B\u0438 \u043C\u0430\u043B\u043E\u043F\u043E\u0441\u0435\u0449\u0430\u0435\u043C\u044B\u0435 \u043C\u0435\u0441\u0442\u0430. \n\u042D\u0442\u043E \u043E\u0442\u043B\u0438\u0447\u043D\u044B\u0439 \u0441\u043F\u043E\u0441\u043E\u0431 \u0431\u044B\u0441\u0442\u0440\u043E \u043F\u0440\u0438\u0441\u0442\u0443\u043F\u0438\u0442\u044C \u043A \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044E \u0437\u0430\u0434\u0430\u043D\u0438\u044F. \n\u041F\u043E\u043B\u044C\u0437\u0443\u044F\u0441\u044C \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u043C \u043A\u043E\u043D\u0442\u0440\u043E\u043B\u043B\u0435\u0440\u043E\u043C \u0448\u0430\u0442\u0442\u043B\u0430, \u0432\u044B \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u0440\u0438\u0437\u0432\u0430\u0442\u044C \u0435\u0433\u043E \u043A \u0441\u0435\u0431\u0435 \u0438 \u0432\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430\u0437\u0430\u0434. \n\u0422\u0430\u043A \u0436\u0435 \u0432 \u0441\u043B\u0443\u0447\u0430\u0435 \u0435\u0441\u043B\u0438 \u0432\u044B \u0440\u0435\u0448\u0438\u0442\u0435 \u043F\u043E\u043B\u0435\u0442\u0435\u0442\u044C \u043D\u0430 \u0448\u0430\u0442\u0442\u043B\u0435, \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u043C \u0432\u0430\u043C, \u0447\u0442\u043E \u0432\u043E \u0438\u0437\u0431\u0435\u0436\u0430\u043D\u0438\u0435 \u0432\u0430\u0448\u0435\u0433\u043E \u043E\u0431\u043D\u0430\u0440\u0443\u0436\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u043A\u0440\u0430\u0436\u0438 \u0448\u0430\u0442\u0442\u043B\u0430 \u0438 \u043F\u043E\u043F\u0430\u0434\u0430\u043D\u0438\u044F \u043D\u0430 \u0432\u0430\u0448\u0443 \u0431\u0430\u0437\u0443 \u043F\u043E\u0441\u0442\u043E\u0440\u043E\u043D\u043D\u0438\u0445 \u043B\u0438\u0446, \u043E\u0442\u043B\u0438\u0447\u043D\u043E\u0439 \u043F\u0440\u0430\u043A\u0442\u0438\u043A\u043E\u0439 \u0431\u0443\u0434\u0435\u0442 \u043E\u0442\u043E\u0437\u0432\u0430\u0442\u044C \u0435\u0433\u043E.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.headset_green,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0430\u0448 \u043D\u0430\u0443\u0448\u043D\u0438\u043A",content:"\u0412 \u043E\u0442\u043B\u0438\u0447\u0438\u0438 \u043E\u0442 \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u044B\u0445 \u043D\u0430\u0443\u0448\u043D\u0438\u043A\u043E\u0432 \u0431\u043E\u043B\u044C\u0448\u0438\u043D\u0441\u0442\u0432\u0430 \u043A\u043E\u0440\u043F\u043E\u0440\u0430\u0446\u0438\u0439, \u043D\u0430\u0448 \u0432\u0430\u0440\u0438\u0430\u043D\u0442 \u0441\u043E\u0437\u0434\u0430\u043D \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u043F\u043E\u043C\u043E\u0449\u0438 \u0432 \u0432\u0430\u0448\u0435\u043C \u0432\u043D\u0435\u0434\u0440\u0435\u043D\u0438\u0438. \u0412 \u043D\u0435\u0433\u043E \u0432\u0441\u0442\u0440\u043E\u0435\u043D \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u043A\u0430\u043D\u0430\u043B \u0434\u043B\u044F \u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0441 \u0432\u0430\u0448\u0438\u043C \u0431\u043E\u0440\u0433\u043E\u043C \u0438\u043B\u0438 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u0447\u043B\u0435\u043D\u0430\u043C\u0438 \u043A\u043B\u0430\u043D\u0430. \n\u041A \u0442\u043E\u043C\u0443 \u0436\u0435 \u043E\u043D \u0441\u043F\u043E\u0441\u043E\u0431\u0435\u043D \u043F\u0440\u043E\u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043B\u044E\u0431\u044B\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043D\u0430\u0443\u0448\u043D\u0438\u043A\u0438 \u0438 \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043B\u0443\u0448\u043A\u0438 \u0438/\u0438\u043B\u0438 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0430 \u043A\u0430\u043D\u0430\u043B\u044B \u0438\u0445 \u043A\u043B\u044E\u0447\u0435\u0439. \u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u044F \u044D\u0442\u043E\u043C\u0443 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0441\u0442\u0435\u043F\u0435\u043D\u043D\u043E \u043D\u0430\u043A\u0430\u043F\u043B\u0438\u0432\u0430\u0442\u044C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0435 \u0432\u0430\u043C \u043C\u0435\u0441\u0442\u043D\u044B\u0435 \u043A\u0430\u043D\u0430\u043B\u044B \u0441\u0432\u044F\u0437\u0438 \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043B\u044E\u0431\u043E\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0438. \n\u0422\u0430\u043A \u0436\u0435 \u0432\u0430\u0448 \u043D\u0430\u0443\u0448\u043D\u0438\u043A \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438- \u0447\u0435\u0441\u043A\u0438 \u0443\u043B\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 \u0438 \u043F\u0435\u0440\u0435\u0432\u043E\u0434\u0438\u0442 \u0431\u0438\u043D\u0430\u0440\u043D\u044B\u0435 \u0441\u0438\u0433\u043D\u0430\u043B\u044B \u0433\u0435\u043D\u0435\u0440\u0438\u0440\u0443\u0435\u043C\u044B\u0435 \u0441\u0438\u043D\u0442\u0435\u0442\u0438\u043A\u0430\u043C\u0438 \u043F\u0440\u0438 \u043E\u0431\u0449\u0435\u043D\u0438\u0438 \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043E\u043C. \u041A \u0442\u043E\u043C\u0443 \u0436\u0435 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044F \u0432\u0430\u043C \u0441\u0430\u043C\u0438\u043C \u043E\u0431\u0449\u0430\u0442\u044C\u0441\u044F \u0441 \u043D\u0438\u043C\u0438.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.ninja_sleeper,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041F\u043E\u0445\u0438\u0449\u0435\u043D\u0438\u0435 \u044D\u043A\u0438\u043F\u0430\u0436\u0430",content:"\u041F\u043E\u0440\u043E\u0439 \u043A\u043B\u0430\u043D\u0443 \u043D\u0443\u0436\u043D\u044B \u0441\u0432\u0435\u0434\u0435\u043D\u0438\u044F \u043A\u043E\u0442\u043E\u0440\u044B\u043C\u0438 \u043C\u043E\u0433\u0443\u0442 \u043E\u0431\u043B\u0430\u0434\u0430\u0442\u044C \u043B\u044E\u0434\u0438 \u0440\u0430\u0431\u043E\u0442\u0430\u044E\u0449\u0438\u0435 \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442\u0435 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \u0412 \u0442\u0430\u043A\u043E\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0432\u0430\u043C \u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0441\u044F \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043E\u0441\u043E\u0431\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u0441\u043A\u0430\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0447\u0443\u0436\u043E\u0433\u043E \u0440\u0430\u0437\u0443\u043C\u0430. \u0414\u0430\u0436\u0435 \u0435\u0441\u043B\u0438 \u0432\u0430\u043C \u043D\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u043E\u0431\u043B\u0430\u0434\u0430\u044E\u0449\u0435\u0433\u043E \u0432\u0441\u0435\u0439 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0435\u0439 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430, \u043C\u043E\u0436\u043D\u043E \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0431\u0440\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043F\u043E \u043A\u0440\u0443\u043F\u0438\u0446\u0430\u043C \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u044F \u043F\u043E\u0445\u0438\u0449\u0430\u0442\u044C \u043B\u044E\u0434\u0435\u0439. \n\u0414\u043B\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043F\u043E\u0445\u0438- \u0442\u0438\u0442\u044C \u043B\u044E\u0434\u0435\u0439. \u0423 \u0432\u0430\u0441 \u043D\u0430 \u0448\u0430\u0442\u0442\u043B\u0435 \u0435\u0441\u0442\u044C \u0441\u043A\u0430\u0444\u0430\u043D\u0434\u0440\u044B, \u0430 \u043D\u0430 \u0431\u0430\u0437\u0435 \u0437\u0430\u043F\u0430\u0441 \u043D\u0430- \u0440\u0443\u0447\u043D\u0438\u043A\u043E\u0432, \u043A\u0438\u0441\u043B\u043E\u0440\u043E\u0434\u0430 \u0438 \u0431\u0430\u043B\u043B\u043E- \u043D\u043E\u0432. \n\u0422\u0430\u043A \u0436\u0435 \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u043C, \u0447\u0442\u043E \u0432\u0430\u0448\u0438 \u043F\u0435\u0440\u0447\u0430\u0442\u043A\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u044B \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0432 \u043B\u044E\u0434\u0435\u0439 \u044D\u043B\u0435\u043A\u0442\u0440\u0438\u0447\u0435\u0441\u043A\u0438\u0439 \u0438\u043C\u043F\u0443\u043B\u044C\u0441, \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E \u0441\u0442\u0430\u043D\u044F \u0438\u0445 \u043D\u0430 \u043A\u043E\u0440\u043E\u0442\u043A\u043E\u0435 \u0432\u0440\u0435\u043C\u044F. ",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.ai_face,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0421\u0430\u0431\u043E\u0442\u0430\u0436 \u0418\u0418",content:"\u0418\u043D\u043E\u0433\u0434\u0430 \u0443 \u043D\u0430\u0441 \u0437\u0430\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0442 \u0441\u0430\u0431\u043E- \u0442\u0430\u0436 \u0418\u0441\u043A\u0443\u0441\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u0438\u043D\u0442\u0435\u043B\u043B\u0435\u043A\u0442\u0430 \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442\u0430\u0445 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438. \u042D\u0442\u043E \u043F\u0440\u043E- \u0446\u0435\u0441\u0441 \u0441\u043B\u043E\u0436\u043D\u044B\u0439 \u0438 \u0442\u0440\u0435\u0431\u0443\u044E\u0449\u0438\u0439 \u043E\u0442 \u043D\u0430\u0441 \u043E\u0441\u043D\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0438. \n\u041F\u0440\u0435\u0434\u043F\u043E\u0447\u0438\u0442\u0430\u0435\u043C\u044B\u0439 \u043A\u043B\u0430\u043D\u043E\u043C \u043C\u0435\u0442\u043E\u0434 \u044D\u0442\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0443\u044F\u0437\u0432\u0438\u043C\u043E\u0441\u0442\u0438 \u043F\u0440\u044F\u043C\u043E \u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u0447\u043D\u043E\u0439 \u0434\u043B\u044F \u0437\u0430\u043A\u043E\u043D\u043E\u0432 \u043F\u043E\u0437\u0432\u043E\u043B\u044F\u044E\u0449\u0435\u0439 \u0432\u044B\u0432\u0435\u0441\u0442\u0438 \u0418\u0418 \u0438\u0437 \u0441\u0442\u0440\u043E\u044F. \u0412 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0435 \u0442\u0430\u043A\u043E\u0433\u043E \u043C\u0435\u0442\u043E\u0434\u0430 \u043C\u044B \u043C\u043E\u0436\u0435\u043C \u043B\u0435\u0433\u043A\u043E \u043F\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0418\u0418 \u0430\u0431\u0441\u0443\u0440\u0434\u043D\u044B\u043C\u0438 \u0437\u0430\u043A\u043E\u043D\u0430\u043C\u0438, \u043D\u043E \u044D\u0442\u043E \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043D\u0430\u0441 \u0432 \u0442\u043E\u043C \u043F\u043B\u0430\u043D\u0435, \u0447\u0442\u043E \u0434\u043B\u044F \u0432\u0437\u043B\u043E\u043C\u0430 \u0432 \u0438\u0442\u043E\u0433\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u043A\u043E\u043D\u0441\u043E\u043B\u0438 \u0432 \u0441\u0430\u043C\u043E\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043E\u0447\u043D\u043E\u0439. \u0422\u0430\u043A \u0436\u0435 \u0432\u0437\u043B\u043E\u043C \u0437\u0430\u0434\u0430\u0447\u0430 \u043D\u0435\u043B\u0451\u0433\u043A\u0430\u044F - \u0441\u0438\u0441\u0442\u0435\u043C\u044B \u0437\u0430\u0449\u0438\u0442\u044B \u0435\u0441\u0442\u044C \u0432\u0435\u0437\u0434\u0435. \u0410 \u043F\u0440\u043E\u0446\u0435\u0441\u0441 \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 \u0432\u0440\u0435\u043C\u044F. \u041D\u0435 \u0443\u0434\u0438\u0432\u043B\u044F\u0439\u0442\u0435\u0441\u044C \u0435\u0441\u043B\u0438 \u0418\u0418 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u043E\u0442\u0438\u0432\u043E\u0434\u0435\u0439\u0441\u0442- \u0432\u043E\u0432\u0430\u0442\u044C \u0432\u0430\u0448\u0438\u043C \u043F\u043E\u043F\u044B\u0442\u043A\u0430\u043C \u0435\u0433\u043E \u0441\u043B\u043E\u043C\u0430\u0442\u044C.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.ninja_borg,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0421\u0430\u0431\u043E\u0442\u0430\u0436 \u0440\u043E\u0431\u043E\u0442\u043E\u0432",content:'\u0418\u043D\u043E\u0433\u0434\u0430 \u043E\u0446\u0435\u043D\u0438\u0432\u0430\u044F \u0432\u0430\u0448\u0438 \u0448\u0430\u043D\u0441\u044B \u043D\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u043C\u0438\u0441\u0441\u0438\u0438 \u0434\u043B\u044F \u0438\u0445 \u0443\u0432\u0435\u043B\u0438\u0447\u0435\u043D\u0438\u044F \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442\u0430\u0445, \u0447\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442 \u0440\u043E\u0431\u043E\u0442\u043E\u0432 \u0434\u043B\u044F \u0441\u0432\u043E\u0438\u0445 \u0446\u0435\u043B\u0435\u0439, \u043C\u044B \u0434\u0430\u0451\u043C \u0432\u0430\u043C \u043E\u0441\u043E\u0431\u044B\u0439 "\u0423\u043B\u0443\u0447\u0448\u0430\u044E\u0449\u0438\u0439" \u0438\u0445 \u043F\u0440\u0438\u0431\u043E\u0440, \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u0432 \u0432\u0430\u0448\u0438 \u043F\u0435\u0440\u0447\u0430\u0442\u043A\u0438. \n\u041F\u0440\u0438 \u0432\u0437\u043B\u043E\u043C\u0435 \u043A\u0438\u0431\u043E\u0440\u0433\u0430 \u0442\u0430\u043A\u0438\u043C \u043F\u0440\u0438\u0431\u043E\u0440\u043E\u043C(\u0412\u0437\u043B\u043E\u043C \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 \u0432\u0440\u0435\u043C\u044F) \u0432\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043B\u043E\u044F\u043B\u044C\u043D\u043E\u0433\u043E \u043A\u043B\u0430\u043D\u0443 \u0438 \u0432\u0430\u043C \u043B\u0438\u0447\u043D\u043E \u0441\u043B\u0443\u0433\u0443 \u0441\u043F\u043E\u0441\u043E\u0431- \u043D\u043E\u0433\u043E \u043D\u0430 \u043E\u043A\u0430\u0437\u0430\u043D\u0438\u0435 \u043F\u043E\u043C\u043E\u0449\u0438 \u043A\u0430\u043A \u0432 \u0441\u0430\u0431\u043E\u0442\u0430\u0436\u0435 \u0441\u0442\u0430\u043D\u0446\u0438\u0438 \u0442\u0430\u043A \u0438 \u0432 \u0432\u0430\u0448\u0435\u043C \u043B\u0435\u0447\u0435\u043D\u0438\u0438. \n\u0422\u0430\u043A \u0436\u0435 \u0440\u043E\u0431\u043E\u0442 \u0431\u0443\u0434\u0435\u0442 \u043E\u0441\u043D\u0430\u0449\u0451\u043D \u043B\u0438\u0447\u043D\u043E\u0439 \u043A\u0430\u0442\u0430\u043D\u043E\u0439, \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\u043C \u043C\u0430\u0441\u043A\u0438\u0440\u043E\u0432\u043A\u0438, \u043F\u0438\u043D\u043F\u043E\u0438\u043D\u0442\u0435\u0440\u043E\u043C \u0443\u043A\u0430\u0437\u044B\u0432\u0430\u044E\u0449\u0438\u043C \u0435\u043C\u0443 \u043D\u0430 \u0432\u0430\u0441 \u0438 \u0433\u0435\u043D\u0435\u0440\u0430\u0442\u043E\u0440\u043E\u043C \u044D\u043B\u0435\u043A\u0442\u0440\u0438\u0447\u0435\u0441\u043A\u0438\u0445 \u0441\u044E\u0440\u0438\u043A\u0435\u043D\u043E\u0432. \u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u043A\u0430\u0442\u0430\u043D\u0430 \u0440\u043E\u0431\u043E\u0442\u0430 \u043D\u0435 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u0430 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0442\u044C \u0435\u0433\u043E \u0431\u043B\u044E\u0441\u043F\u0435\u0439\u0441 \u0442\u0440\u0430\u043D\u0441\u043B\u043E\u043A\u0430\u0446\u0438\u044E!',position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.server,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0421\u0430\u0431\u043E\u0442\u0430\u0436 \u0438\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u0439",content:"\u041D\u0430 \u043D\u0430\u0443\u0447\u043D\u044B\u0445 \u043E\u0431\u044C\u0435\u043A\u0442\u0430\u0445 \u0432\u0441\u0435\u0433\u0434\u0430 \u0435\u0441\u0442\u044C \u0441\u0432\u043E\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0430 \u0443\u0447\u0451\u043D\u044B\u0445 \u0438 \u043C\u043D\u043E- \u0436\u0435\u0441\u0442\u0432\u043E \u0434\u0430\u043D\u043D\u044B\u0445 \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u0440\u0438\u0445\u043E- \u0434\u0438\u0442\u0441\u044F \u0433\u0434\u0435 \u0442\u043E \u0445\u0440\u0430\u043D\u0438\u0442\u044C. \u0412 \u043A\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0430\u043A\u043E\u0433\u043E \u043E\u0431\u044C\u0435\u043A\u0442\u0430 \u043E\u0431\u044B\u0447\u043D\u043E \u0432\u044B\u0441\u0442\u0443- \u043F\u0430\u044E\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0410 \u043A\u0430\u043A \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E \u043A\u043E\u0440\u043F\u043E\u0440\u0430\u0446\u0438\u0438 \u0432\u0435\u0447\u043D\u043E \u0433\u0440\u044B\u0437\u0443\u0442\u0441\u044F \u0437\u0430 \u0437\u043D\u0430\u043D\u0438\u044F. \u0427\u0442\u043E \u043D\u0430\u043C \u043D\u0430 \u0440\u0443\u043A\u0443. \n\u041C\u044B \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0430\u043B\u0438 \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u0439 \u0432\u0438\u0440\u0443\u0441 \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043F\u0438\u0441\u0430\u043D \u043D\u0430 \u0432\u0430\u0448\u0438 \u043F\u0435\u0440\u0447\u0430\u0442\u043A\u0438 \u043F\u0435\u0440\u0435\u0434 \u043C\u0438\u0441\u0441\u0438\u0435\u0439 \u0442\u0430\u043A\u043E\u0433\u043E \u0440\u043E\u0434\u0430. \u0412\u0430\u043C \u043D\u0443\u0436\u043D\u043E \u0431\u0443\u0434\u0435\u0442 \u043B\u0438\u0448\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0433\u043E \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E \u043D\u0430 \u0438\u0445 \u043D\u0430\u0443\u0447\u043D\u044B\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0432\u0441\u0435 \u0438\u0445 \u0438\u0441\u0441\u043B\u0435\u0434\u043E\u0432\u0430\u043D\u0438\u044F \u0431\u0443\u0434\u0443\u0442 \u0443\u0442\u0435\u0440\u044F\u043D\u044B. \n\u041D\u043E \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0432\u0438\u0440\u0443\u0441\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u0440\u0435\u043C\u0435\u043D\u0438, \u0438 \u0441\u0438\u0441\u0442\u0435\u043C\u044B \u0437\u0430\u0449\u0438\u0442\u044B \u043C\u043D\u043E\u0433\u0438\u0445 \u043E\u0431\u044C\u0435\u043A\u0442\u043E\u0432 \u043D\u0435 \u0434\u0440\u0435\u043C\u043B\u044E\u0442. \u0421\u043A\u043E\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043E \u043E \u0432\u0430\u0448\u0435\u0439 \u043F\u043E\u043F\u044B\u0442\u043A\u0435 \u0432\u0437\u043B\u043E\u043C\u0430 \u0431\u0443\u0434\u0435\u0442 \u043E\u043F\u043E\u0432\u0435\u0449\u0451\u043D \u043C\u0435\u0441\u0442\u043D\u044B\u0439 \u0418\u0418. \u0411\u0443\u0434\u044C\u0442\u0435 \u0433\u043E\u0442\u043E\u0432\u044B \u043A \u044D\u0442\u043E\u043C\u0443.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.buckler,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0417\u0430\u0449\u0438\u0442\u0430 \u0446\u0435\u043B\u0438",content:'\u0418\u043D\u043E\u0433\u0434\u0430 \u0431\u043E\u0433\u0430\u0442\u044B\u0435 \u0448\u0438\u0448\u043A\u0438 \u043F\u043B\u0430\u0442\u044F\u0442 \u0437\u0430 \u0443\u0441\u043B\u0443\u0433\u0438 \u0437\u0430\u0449\u0438\u0442\u044B \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430. \u0415\u0441\u043B\u0438 \u0432\u0430\u043C \u0434\u043E\u0441\u0442\u0430\u043B\u0430\u0441\u044C \u0442\u0430\u043A\u0430\u044F \u0446\u0435\u043B\u044C \u043F\u043E\u043C\u043D\u0438\u0442\u0435 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435: \n * \u0417\u0430\u0449\u0438\u0449\u0430\u0435\u043C\u044B\u0439 \u043E\u0431\u044F\u0437\u0430\u043D \u0434\u043E\u0436\u0438\u0442\u044C \u0434\u043E \u043A\u043E\u043D\u0446\u0430 \u0441\u043C\u0435\u043D\u044B! \n * \u0421\u043A\u043E\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043E \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u043C\u044B\u0439 \u043D\u0435 \u0437\u043D\u0430\u0435\u0442 \u043E \u0432\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435. \u0418 \u043B\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043E \u0447\u0442\u043E\u0431\u044B \u043E\u043D \u0438 \u0434\u0430\u043B\u044C\u0448\u0435 \u043D\u0435 \u0437\u043D\u0430\u043B! \n * \u041D\u0435 \u0432\u0430\u0436\u043D\u043E \u043A\u0442\u043E \u0438\u043B\u0438 \u0447\u0442\u043E \u043E\u0445\u043E\u0442\u0438\u0442\u0441\u044F \u043D\u0430 \u0432\u0430\u0448\u0435\u0433\u043E \u043F\u043E\u0434\u0437\u0430\u0449\u0438\u0442\u043D\u043E\u0433\u043E, \u043D\u043E \u0434\u043B\u044F \u043E\u0431\u044C\u0435\u043A\u0442\u0430 \u0433\u0434\u0435 \u043F\u0440\u043E\u0445\u043E\u0434\u0438\u0442 \u043C\u0438\u0441\u0441\u0438\u044F \u0432\u044B \u0432\u0441\u0435\u0433\u0434\u0430 \u043D\u0435\u0436\u0435\u043B\u0430\u043D\u043D\u043E\u0435 \u043B\u0438\u0446\u043E. \u041D\u0435 \u0440\u0430\u0441\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435 \u0441\u0435\u0431\u044F \u0431\u0435\u0437 \u043D\u0443\u0436\u0434\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u043F\u0440\u043E\u0441\u0442\u0438\u0442\u044C \u0441\u0435\u0431\u0435 \u0436\u0435 \u0440\u0430\u0431\u043E\u0442\u0443 \u0438 \u043D\u0430 \u0432\u0430\u0441 \u0441\u0430\u043C\u0438\u0445 \u043D\u0435 \u0432\u0435\u043B\u0438 \u043E\u0445\u043E\u0442\u0443! \n\u0422\u0430\u043A \u0436\u0435 \u043C\u044B \u043D\u0430\u043F\u043E\u043C\u0438\u043D\u0430\u0435\u043C, \u0447\u0442\u043E \u043A\u043B\u0430\u043D \u043D\u0435 \u043E\u0434\u043E\u0431\u0440\u044F\u0435\u0442 \u0432\u0430\u0440\u0432\u0430\u0440\u0441\u043A\u0438\u0435 \u043C\u0435\u0442\u043E\u0434\u044B "\u0417\u0430\u0449\u0438\u0442\u044B" \u0446\u0435\u043B\u0438. \u041D\u0435\u0442 \u0432\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0441\u0430\u0434\u0438\u0442\u044C \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u043C\u043E\u0433\u043E \u0432 \u043A\u043B\u0435\u0442\u043A\u0443 \u0438 \u0441\u043B\u0435\u0434\u0438\u0442\u044C \u0437\u0430 \u043D\u0438\u043C \u0442\u0430\u043C! \u041D\u0435 \u043F\u043E\u0440\u0442\u0438\u0442\u0435 \u043D\u0430\u0448\u0443 \u0440\u0435\u043F\u0443\u0442\u0430\u0446\u0438\u044E \u0432 \u0433\u043B\u0430\u0437\u0430\u0445 \u043D\u0430\u0448\u0438\u0445 \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u0432!',position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.cash,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041A\u0440\u0430\u0436\u0430 \u0434\u0435\u043D\u0435\u0433",content:"\u041A\u0430\u043A \u0431\u044B \u044D\u0442\u043E \u043D\u0435 \u0431\u044B\u043B\u043E \u0442\u0440\u0438\u0432\u0438\u0430\u043B\u044C\u043D\u043E. \u0418\u043D\u043E\u0433\u0434\u0430 \u043A\u043B\u0430\u043D \u043D\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044F \u0432 \u0434\u0435\u043D\u044C- \u0433\u0430\u0445. \u0418\u043B\u0438 \u0434\u0430\u0436\u0435 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0432\u044B \u0437\u0430\u0434\u043E\u043B\u0436\u0430\u043B\u0438 \u043D\u0430\u043C. \u0412 \u0442\u0430\u043A\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u043C\u044B \u0441\u043A\u043E\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043E \u0434\u0430\u0434\u0438\u043C \u0432\u0430\u043C \u0437\u0430\u0434\u0430\u0447\u0443 \u0434\u043E\u0441\u0442\u0430\u0442\u044C \u0434\u043B\u044F \u043D\u0430\u0441 \u044D\u0442\u0438 \u0434\u0435\u043D\u044C\u0433\u0438 \u043D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0439 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \n\u0414\u043B\u044F \u0432\u0430\u0441 \u044D\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043D\u0435 \u0442\u0440\u0443\u0434\u043D\u0430\u044F, \u043D\u043E \u0432\u0440\u0435\u043C\u044F\u0437\u0430\u0442\u0440\u0430\u0442\u043D\u0430\u044F. \u041F\u043E\u043C\u043D\u0438\u0442\u0435, \u0447\u0442\u043E \u0432\u044B \u043D\u0430\u0442\u0440\u0435\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u0432 \u0438\u0441\u043A\u0443\u0441\u0441\u0442\u0432\u0435 \u043D\u0435\u0437\u0430\u043C\u0435\u0442\u043D\u044B\u0445 \u043A\u0430\u0440\u043C\u0430\u043D\u043D\u044B\u0445 \u043A\u0440\u0430\u0436. \u0412\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u044D\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0434\u043B\u044F \u043A\u0440\u0430\u0436\u0438 \u0447\u0443\u0436\u0438\u0445 \u043A\u0430\u0440\u0442 \u0438 \u043E\u0431\u043D\u0430\u043B\u0438\u0447\u0438- \u0432\u0430\u043D\u0438\u044F \u0438\u0445 \u0441\u0447\u0435\u0442\u043E\u0432. \u041B\u0438\u0431\u043E \u043C\u043E\u0436\u0435\u0442\u0435 \u043C\u0435\u0442\u0438\u0442\u044C \u0432\u044B\u0448\u0435 \u0438 \u043E\u0433\u0440\u0430\u0431\u0438\u0442\u044C \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0430 \u0438\u043B\u0438 \u0441\u0447\u0435\u0442\u0430 \u0441\u0430\u043C\u043E\u0433\u043E \u043E\u0431\u044C\u0435\u043A\u0442\u0430 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \u0421\u0430\u043C\u043E\u0435 \u0433\u043B\u0430\u0432\u043D\u043E\u0435. \u0414\u043E\u0441\u0442\u0430\u043D\u044C\u0442\u0435 \u044D\u0442\u0438 \u0434\u0435\u043D\u044C\u0433\u0438!",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.handcuff,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041F\u043E\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430",content:"\u0412 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044F\u0445 \u0447\u0443\u0436\u043E\u0439 \u043F\u043E\u0437\u043E\u0440 \u0434\u043B\u044F \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u0432 \u0433\u043E\u0440\u0430\u0437\u0434\u043E \u0438\u043D\u0442\u0435\u0440\u0435\u0441\u043D\u0435\u0435 \u0447\u0435\u043C \u0441\u043C\u0435\u0440\u0442\u044C. \u0412 \u0442\u0430\u043A\u0438\u0445 \u0441\u043B\u0443\u0447\u0430\u044F\u0445 \u0432\u0430\u043C \u043F\u0440\u0438\u0439\u0434\u0451\u0442\u0441\u044F \u043F\u0440\u043E\u044F\u0432\u0438\u0442\u044C \u043A\u0440\u0435\u0430\u0442\u0438\u0432\u043D\u043E\u0441\u0442\u044C \u0438 \u0434\u043E\u0431\u0438\u0442\u044C\u0441\u044F \u0442\u043E\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u0432\u0430\u0448\u0443 \u0436\u0435\u0440\u0442\u0432\u0443 \u043F\u043E \u0437\u0430\u043A\u043E\u043D\u043D\u044B\u043C \u043E\u0441\u043D\u043E\u0432\u0430\u043D\u0438\u044F\u043C \u0443\u043F\u0435\u043A\u043B\u0438 \u0437\u0430 \u0440\u0435\u0448\u0451\u0442\u043A\u0443 \u0421\u0430\u043C\u043E\u0435 \u0433\u043B\u0430\u0432\u043D\u043E\u0435 \u0447\u0442\u043E\u0431\u044B \u0432 \u043A\u0440\u0438\u043C\u0438\u043D\u0430\u043B\u044C\u043D\u043E\u0439 \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0446\u0435\u043B\u0438 \u043E\u0441\u0442\u0430\u043B\u0441\u044F \u0441\u043B\u0435\u0434. \u041D\u043E \u0432 \u0442\u043E \u0436\u0435 \u0432\u0440\u0435\u043C\u044F \u043F\u0440\u043E\u0441\u0442\u043E \u043F\u0440\u0438\u0439\u0442\u0438 \u0438 \u0432\u043F\u0438\u0441\u0430\u0442\u044C \u0446\u0435\u043B\u0438 \u0441\u0440\u043E\u043A \u0432 \u043A\u043E\u043D\u0441\u043E\u043B\u0438 - \u043D\u0435 \u0440\u0430\u0431\u043E\u0447\u0438\u0439 \u043C\u0435\u0442\u043E\u0434. \u0426\u0435\u043B\u044C \u043B\u0435\u0433\u043A\u043E \u043E\u043F\u0440\u0430\u0432\u0434\u0430\u044E\u0442 \u0432 \u0441\u0443\u0434\u0435, \u0447\u0442\u043E \u043D\u0435 \u0443\u0441\u0442\u0440\u043E\u0438\u0442 \u043A\u043B\u0438\u0435\u043D\u0442\u0430. \n \u0423 \u0432\u0430\u0441 \u0434\u043E\u0441\u0442\u0430\u0442\u043E\u0447\u043D\u043E \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432, \u0447\u0442\u043E\u0431\u044B \u0441\u043E\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u043F\u0440\u0435\u0441\u0442\u0443\u043F\u043B\u0435\u043D\u0438\u0435 \u043F\u043E\u0434 \u043B\u0438\u0447\u0438\u043D\u043E\u0439 \u0446\u0435\u043B\u0438. \u0413\u043B\u0430\u0432\u043D\u043E\u0435 \u043F\u043E\u0441\u0442\u0430\u0440\u0430\u0439\u0442\u0435\u0441\u044C \u043E\u0431\u043E\u0439\u0442\u0438\u0441\u044C \u0431\u0435\u0437 \u0441\u043B\u0438\u0448- \u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u043F\u043E\u0441\u043B\u0435\u0434\u0441\u0442\u0432\u0438\u0439. \u041B\u0438\u0448\u043D\u044F\u044F \u0434\u044B\u0440\u0430 \u0432 \u043E\u0431\u0448\u0438\u0432\u043A\u0435 \u0441\u0442\u0430\u043D\u0446\u0438\u0438 \u0438\u043B\u0438 \u0442\u0440\u0443\u043F\u044B - \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432\u0430\u044E\u0442 \u0448\u0430\u043D\u0441\u044B \u043F\u0440\u043E\u0432\u0430\u043B\u0430 \u0432\u0430\u0448\u0435\u0433\u043E \u043F\u043B\u0430\u043D\u0430.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.spider_charge,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041F\u043E\u0434\u0440\u044B\u0432 \u043E\u0442\u0434\u0435\u043B\u0430",content:"\u0421\u0442\u0430\u0440\u044B\u0435 \u0434\u043E\u0431\u0440\u044B\u0435 \u0431\u043E\u043C\u0431\u044B. \u042D\u0444\u0444\u0435\u043A- \u0442\u0438\u0432\u043D\u044B\u0435 \u043E\u0440\u0443\u0434\u0438\u044F \u0443\u043D\u0438\u0447\u0442\u043E\u0436\u0435\u043D\u0438\u044F \u0432\u0441\u0435\u0433\u043E \u0436\u0438\u0432\u043E\u0433\u043E \u0438 \u043D\u0435\u0436\u0438\u0432\u043E\u0433\u043E \u0432 \u0431\u043E\u043B\u044C\u0448\u043E\u043C \u0440\u0430\u0434\u0438\u0443\u0441\u0435. \u041A\u043E\u0433\u0434\u0430 \u043A\u043B\u0438\u0435\u043D\u0442\u044B \u043F\u0440\u043E\u0441\u044F\u0442 \u043F\u043E\u0434\u043E\u0440\u0432\u0430\u0442\u044C \u043E\u0431\u044C\u0435\u043A\u0442, \u043E\u043D\u0438 \u0447\u0430\u0441\u0442\u043E \u043D\u0435 \u0437\u043D\u0430\u044E\u0442 \u043D\u0430\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0434\u043E\u0440\u043E\u0433\u043E \u0441\u0442\u043E\u0438\u0442 \u0442\u0430\u043A\u0430\u044F \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F. \u041D\u043E \u0440\u0435\u0434\u043A\u043E \u0433\u043E\u0442\u043E\u0432\u044B \u0441\u0434\u0430\u0442\u044C\u0441\u044F. \u041A\u0430\u043A \u0440\u0430\u0437 \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043C\u043D\u043E\u0433\u0438\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u043D\u044B \u043D\u0430 \u043F\u043E\u0434\u0440\u044B\u0432 \u043E\u0434\u043D\u043E\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0438\u043B\u0438 \u043E\u0442\u0434\u0435\u043B\u0430. \n\u0411\u0443\u0434\u044C\u0442\u0435 \u0433\u043E\u0442\u043E\u0432\u044B \u043A \u0442\u043E\u043C\u0443, \u0447\u0442\u043E \u043F\u043E\u0441\u043B\u0435 \u0432\u0437\u0440\u044B\u0432\u0430 \u043D\u0430 \u0432\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0432\u0435\u0441\u0442\u0438\u0441\u044C \u043E\u0445\u043E\u0442\u0430. \n \u041D\u0430\u0448\u0438 \u0431\u043E\u043C\u0431\u044B \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u043E \u0438\u0437\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u044B \u0441 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0438\u0442\u0435\u043B\u044F\u043C\u0438. \u041D\u0438\u043A\u0442\u043E \u043A\u0440\u043E\u043C\u0435 \u0432\u0430\u0441 \u043D\u0435 \u0441\u043C\u043E\u0436\u0435\u0442 \u0438\u0445 \u043F\u043E\u0434\u043E\u0440\u0432\u0430\u0442\u044C \u0438 \u0434\u0430\u0436\u0435 \u0432\u044B \u0441\u043C\u043E\u0436\u0435\u0442\u0435 \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0445 \u043B\u0438\u0448\u044C \u0432 \u0437\u043E\u043D\u0435 \u0437\u0430\u043A\u0430\u0437\u0430\u043D\u043D\u043E\u0439 \u043A\u043B\u0438\u0435\u043D\u0442\u043E\u043C. \u0421\u043E\u0432\u0435\u0442\u0443\u0435\u043C \u0441\u0440\u0430\u0437\u0443 \u0431\u0435\u0436\u0430\u0442\u044C \u043F\u043E\u0434\u0430\u043B\u044C\u0448\u0435 \u043F\u043E\u0441\u043B\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438. \u0425\u043E\u0442\u044F \u044D\u0442\u043E \u0438 \u0442\u0430\u043A \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0434\u043B\u044F \u0432\u0430\u0441 \u043E\u0447\u0435\u0432\u0438\u0434\u043D\u043E.",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.BSM,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0410\u043D\u0430\u043B\u0438\u0437 \u043A\u0440\u043E\u0432\u0438",content:'"\u0417\u043D\u0430\u0439 \u0441\u0432\u043E\u0435\u0433\u043E \u0432\u0440\u0430\u0433\u0430" - \u043F\u0440\u043E\u0441\u0442\u0430\u044F \u0438\u0441\u0442\u0438\u043D\u0430. \n\u0417\u0430 \u0433\u043E\u0434\u044B \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u044F \u043A\u043B\u0430\u043D\u0430 \u043C\u044B \u0438\u0437\u0443\u0447\u0438\u043B\u0438 \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E \u0440\u0430\u0437\u043D\u044B\u0445 \u043E\u043F\u0430\u0441\u043D\u044B\u0445 \u0442\u0432\u0430\u0440\u0435\u0439. \u0418 \u0434\u043E \u0441\u0438\u0445 \u043F\u043E\u0440 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0435\u043C \u0438\u0437\u0443\u0447\u0435\u043D\u0438\u0435 \u043D\u0435\u043A\u043E- \u0442\u043E\u0440\u044B\u0445. \u0410 \u0447\u0442\u043E\u0431\u044B \u0431\u044B\u043B\u043E, \u0447\u0442\u043E \u0438\u0437\u0443\u0447\u0430\u0442\u044C, \u043D\u0443\u0436\u043D\u043E \u0434\u043E\u0431\u044B\u0432\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0437\u0446\u044B. \u041A\u0440\u043E\u0432\u044C \u043E\u0434\u0438\u043D \u0438\u0437 \u0441\u0430\u043C\u044B\u0445 \u043E\u0447\u0435\u0432\u0438\u0434\u043D\u044B\u0445 \u043F\u0440\u0438\u043C\u0435\u0440\u043E\u0432 \u0442\u043E\u0433\u043E, \u0447\u0442\u043E \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u043E\u043B\u0435\u0437\u043D\u043E \u043D\u0430\u0448\u0438\u043C \u0443\u0447\u0451\u043D\u044B\u043C. \n\u0418\u043C\u0435\u044E\u0449\u0430\u044F\u0441\u044F \u0443 \u0432\u0430\u0441 \u043D\u0430 \u0431\u0430\u0437\u0435 \u0446\u0435\u043D\u0442\u0440\u0438\u0444\u0443\u0433\u0430 \u0434\u043B\u044F \u043A\u0440\u043E\u0432\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u0430 \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E \u043F\u0440\u043E\u0430\u043D\u0430\u043B\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0437\u0446\u044B \u043D\u0435 \u043F\u043E\u0432\u0440\u0435\u0434\u0438\u0432 \u0438\u0445 \u0438 \u043F\u0435\u0440\u0435\u0434\u0430\u0442\u044C \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043D\u0430\u043C. \n\u0414\u043B\u044F \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0430\u043D\u0430\u043B\u0438\u0437\u0430 \u043A\u0440\u043E\u0432\u0438 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0441\u043E\u0431\u0440\u0430\u0442\u044C 3 \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0445 \u043E\u0431\u0440\u0430\u0437\u0446\u0430. \u0418 \u043F\u043E\u043C\u0435- \u0441\u0442\u0438\u0442\u044C \u0438\u0445 \u0432 \u043F\u0440\u043E\u0431\u0438\u0440\u043A\u0438, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u043F\u043E\u0442\u043E\u043C \u043D\u0430\u0434\u043E \u043F\u043E\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E. \n\u041F\u0440\u0438\u043C\u0435\u0441\u0438 \u043F\u0440\u0438\u043D\u044F\u0442\u044B \u043D\u0435 \u0431\u0443\u0434\u0443\u0442!',position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.changeling,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0413\u0435\u043D\u043E\u043A\u0440\u0430\u0434\u044B",content:"\u0427\u0435\u0440\u0432\u0438 \u0432\u043E\u0437\u043E\u043C\u043D\u0438\u0432\u0448\u0438\u0435 \u0441\u0435\u0431\u044F \u0432\u044B\u0448\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u0432\u0438\u0434\u043E\u0432 \u043F\u043E\u0442\u043E\u043C\u0443, \u0447\u0442\u043E \u0443\u043C\u0435\u044E\u0442 \u043A\u0440\u0430\u0441\u0442\u044C \u0433\u0435\u043D\u044B \u0438 \u0438\u043C\u0438\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0438\u0445. \n\u0421\u0432\u043E\u0438\u043C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u043E\u043D\u0438 \u043F\u0440\u0438\u043D\u043E\u0441\u044F\u0442 \u0433\u043E\u0440\u0430\u0437\u0434\u043E \u0431\u043E\u043B\u044C\u0448\u0435 \u043F\u0440\u043E\u0431- \u043B\u0435\u043C, \u0447\u0435\u043C \u043F\u043E\u043B\u044C\u0437\u044B. \n\u042D\u0442\u0438 \u0442\u0432\u0430\u0440\u0438 \u0441\u0442\u043E\u043B\u044C \u0436\u0435 \u0445\u0438\u0442\u0440\u044B \u0441\u043A\u043E\u043B\u044C \u0438 \u0441\u043A\u0440\u044B\u0442\u043D\u044B. \u041D\u0435 \u0434\u043E\u0433\u043E\u0432\u0430\u0440\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044C \u0441 \u043D\u0438\u043C\u0438 \u043D\u0438 \u043E \u0447\u0451\u043C! \n\u041A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E \u0434\u0430\u0436\u0435 \u043D\u0430\u043C \u0441\u043B\u043E\u0436\u043D\u043E \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0442\u044C \u0433\u0435\u043D\u043E\u043A\u0440\u0430\u0434\u0430 \u043D\u0435 \u0437\u0430\u043F\u0438\u0445- \u043D\u0443\u0432 \u0435\u0433\u043E \u0432 \u043B\u0430\u0431\u043E\u0440\u0430\u0442\u043E\u0440\u0438\u044E \u0438 \u043D\u0435 \u043F\u0440\u043E\u0432\u0435\u0434\u044F \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E \u0442\u0435\u0441\u0442\u043E\u0432. \u041D\u043E \u043E\u043D\u0438 \u0438\u043D\u043E\u0433\u0434\u0430 \u0432\u044B\u0434\u0430\u044E\u0442 \u0441\u0435\u0431\u044F \u0441\u0432\u043E\u0438\u043C\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u044B\u043C\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F\u043C\u0438. \u0418 \u0442\u0430\u043A \u0436\u0435 \u044D\u0444\u0444\u0435\u043A\u0442\u0438\u0432\u043D\u043E \u043B\u043E\u0436\u0430\u0442\u0441\u044F \u043D\u0430 \u0434\u043D\u043E \u0432 \u0441\u043B\u0443\u0447\u0430\u0435 \u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438. \u0427\u0442\u043E\u0431\u044B \u0431\u044B\u043B\u043E \u043B\u0435\u0433\u0447\u0435 \u0438\u0445 \u043F\u043E\u0439\u043C\u0430\u0442\u044C \u0434\u0430\u0439\u0442\u0435 \u0438\u043C \u043F\u043E\u043F\u043B\u044F\u0441\u0430\u0442\u044C, \u043F\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043C \u0432\u044B\u0445\u043E\u0434\u0438\u0442\u044C \u043D\u0430 \u0441\u0446\u0435\u043D\u0443. \u0418 \u0432\u043D\u0438\u043C\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0441\u043B\u0443\u0448\u0430\u0439\u0442\u0435 \u0440\u0430\u0434\u0438\u043E \u043D\u0430 \u043E\u0431\u044C\u0435\u043A\u0442\u0435. \u0412\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043C\u0435\u0441\u0442\u043D\u0430\u044F \u043E\u0445\u0440\u0430\u043D\u0430 \u0443\u0436\u0435 \u043E\u0445\u043E\u0442\u0438\u0442\u0441\u044F \u0437\u0430 \u043E\u0434\u043D\u0438\u043C \u0438\u0437 \u043D\u0438\u0445. \n\u041D\u0438\u043A\u0442\u043E \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043F\u0440\u043E\u0442\u0438\u0432 \u0435\u0441\u043B\u0438 \u0432\u044B \u043D\u0435\u0437\u0430\u043C\u0435\u0442\u043D\u043E \u043F\u043E\u043C\u043E\u0436\u0435\u0442\u0435 \u0438\u043C \u0441 \u044D\u0442\u0438\u043C...",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.vampire,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0430\u043C\u043F\u0438\u0440\u044B",content:"\u0414\u0435\u0448\u0451\u0432\u044B\u0435 \u0440\u043E\u043C\u0430\u043D\u044B, \u0438\u0441\u0442\u043E\u0440\u0438\u0438 \u0438 \u0441\u043A\u0430\u0437\u043A\u0438 \u043F\u0440\u043E\u0448\u043B\u043E\u0433\u043E \u043E\u043F\u0438\u0441\u044B\u0432\u0430\u043B\u0438 \u0432\u0430\u043C\u043F\u0438\u0440\u043E\u0432 \u043A\u0430\u043A \u0445\u0438\u0449\u043D\u0438\u043A\u043E\u0432 \u043F\u044C\u044E\u0449\u0438\u0445 \u043A\u0440\u043E\u0432\u044C \u043B\u044E\u0434\u0435\u0439 \u0432 \u043D\u043E\u0447\u0438 \u0438 \u043E\u0431\u043B\u0430\u0434\u0430\u044E- \u0449\u0438\u0445 \u043C\u0430\u0433\u0438\u0447\u0435\u0441\u043A\u0438\u043C\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E- \u0441\u0442\u044F\u043C\u0438. \u0418\u0437\u0432\u0435\u0441\u0442\u043D\u044B\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u043C\u0435\u043D\u0435\u0435 \u0440\u043E\u043C\u0430\u043D\u0442\u0438\u0447\u043D\u044B... \n\u041C\u044B \u043F\u043E\u043A\u0430 \u043D\u0435 \u0437\u043D\u0430\u0435\u043C, \u0447\u0442\u043E \u0432\u044B\u0437\u044B\u0432\u0430\u0435\u0442 \u0438\u0445 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435, \u043D\u043E \u043D\u0430\u0448\u0438 \u043F\u043E\u0434\u043E\u0437\u0440\u0435- \u043D\u0438\u044F \u043F\u0430\u0434\u0430\u044E\u0442 \u043D\u0430 \u0432\u043B\u0438\u044F\u043D\u0438\u0435 \u043D\u0435\u043A\u043E\u0439 \u0431\u043B\u044E\u0441\u043F\u0435\u0439\u0441 \u0441\u0443\u0449\u043D\u043E\u0441\u0442\u0438. \u0422\u0430\u043A \u0438\u043B\u0438 \u0438\u043D\u0430\u0447\u0435, \u0434\u043E \u0442\u0435\u0445 \u043F\u043E\u0440 \u043F\u043E\u043A\u0430 \u0432\u0430\u043C\u043F\u0438\u0440 \u043D\u0435 \u043C\u0435\u0448\u0430\u0435\u0442 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438 \u0438\u043B\u0438 \u0443\u0433\u0440\u043E\u0436\u0430\u0435\u0442 \u0432\u0430\u0448\u0435\u0439 \u0436\u0438\u0437\u043D\u0438. \u0412\u044B \u0432\u043E\u043B\u044C\u043D\u044B \u0435\u0433\u043E \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C. \n\u0412\u0430\u043C\u043F\u0438\u0440\u044B \u043E\u0447\u0435\u043D\u044C \u043E\u043F\u0430\u0441\u043D\u044B \u0432 \u043F\u0440\u044F\u043C\u043E\u043C \u0441\u0442\u043E\u043B\u043A\u043D\u043E\u0432\u0435\u043D\u0438\u0438, \u043E\u043D\u0438 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u044B \u043E\u0433\u043B\u0443\u0448\u0430\u0442\u044C \u0432\u0437\u0433\u043B\u044F\u0434\u043E\u043C \u0438 \u043F\u043E\u0440\u0430\u0431\u043E\u0449\u0430\u0442\u044C \u0440\u0430\u0437\u0443\u043C \u0441\u0432\u043E\u0438\u0445 \u0436\u0435\u0440\u0442\u0432. \u041D\u0435 \u0434\u043E\u0432\u0435\u0440\u044F\u0439\u0442\u0435 \u0438\u043C, \u043D\u043E \u0442\u0430\u043A \u0436\u0435 \u043F\u043E\u043C\u043D\u0438\u0442\u0435 - \u043E\u043D\u0438 \u043B\u0438\u0448\u044C \u0436\u0435\u0440\u0442\u0432\u044B \u0441\u0442\u0435\u0447\u0435\u043D\u0438\u044F \u043E\u0431\u0441\u0442\u043E\u044F\u0442\u0435\u043B\u044C\u0441\u0442\u0432. \u0418 \u044D\u0442\u043E \u043C\u043E\u0436\u043D\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0432 \u0441\u0432\u043E\u044E \u043F\u043E\u043B\u044C\u0437\u0443...",position:"bottom-start"})]}),(0,e.createComponentVNode)(2,t.Button,{className:"Button_green",height:"32px",width:"32px",children:[(0,e.createVNode)(1,"img",null,null,1,{height:"32px",width:"32px",src:"data:image/jpeg;base64,"+h.syndicate,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0421\u0438\u043D\u0434\u0438\u043A\u0430\u0442",content:"\u041D\u0430\u0448\u0438 \u0445\u043E\u0440\u043E\u0448\u0438\u0435 \u0437\u043D\u0430\u043A\u043E\u043C\u044B\u0435. \u0421\u0431\u043E\u0440\u0438\u0449\u0435 \u043C\u043E\u0433\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u044B\u0445 \u0444\u0438\u0433\u0443\u0440 \u0432 \u043F\u043E\u0434\u043F\u043E\u043B\u044C\u043D\u043E\u043C \u043C\u0438\u0440\u0435 \u0441 \u0437\u0430\u043A\u0440\u044B\u0442\u043E\u0439 \u0441\u0438\u0441\u0442\u0435\u043C\u043E\u0439 \u0440\u0443\u043A\u043E\u0432\u043E\u0434\u0441\u0442\u0432\u0430 \u043E \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E \u043C\u0430\u043B\u043E... \n\u0421\u0438\u043D\u0434\u0438\u043A\u0430\u0442 \u043F\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442 \u043C\u043D\u043E\u0436\u0435\u0441\u0442\u0432\u043E \u0437\u0430\u043A\u0430\u0437\u043E\u0432. \u041D\u043E \u0441\u0430\u043C\u043E\u0439 \u043E\u0447\u0435\u0432\u0438\u0434\u043D\u043E\u0439, \u0434\u043B\u044F \u0432\u0441\u0435\u0445 \u043A\u0442\u043E \u043A\u0430\u043A \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0438\u0445 \u0438\u0437\u0443\u0447\u0438\u0442, \u0447\u0435\u0440\u0442\u043E\u0439 \u044D\u0442\u043E\u0439 \u0433\u0440\u0443\u043F\u043F\u044B - \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u043E\u0433\u0440\u043E\u043C\u043D\u0430\u044F \u043D\u0435\u043D\u0430\u0432\u0438\u0441\u0442\u044C \u043A \u041D\u0422. \n\u0412 \u0441\u043B\u0443\u0447\u0430\u0435 \u0441\u0442\u043E\u043B\u043A\u043D\u043E\u0432\u0435\u043D\u0438\u044F \u0441 \u0430\u0433\u0435\u043D\u0442\u0430\u043C\u0438 \u0421\u0438\u043D\u0434\u0438\u043A\u0430\u0442\u0430 \u043F\u043E\u043B\u0438\u0442\u0438\u043A\u0430 \u043D\u0430\u0448\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043F\u0440\u043E\u0441\u0442\u0430. \n\u0415\u0441\u043B\u0438 \u043E\u043D\u0438 \u043D\u0435 \u043C\u0435\u0448\u0430\u044E\u0442 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044E \u0437\u0430\u0434\u0430\u043D\u0438\u044F. \u041C\u044B \u043D\u0435 \u043C\u0435\u0448\u0430\u0435\u043C \u0438\u043C.",position:"bottom-start"})]})]})})})},l=function(c,v){var b=(0,a.useBackend)(v),g=b.act,h=b.data,C=h.allActionsPreview,N=h.blocked_TGUI_rows,x=[{blue:"Button_blue",green:"Button_green",red:"Button_red",disabled:"Button_disabled"}];return(0,e.createComponentVNode)(2,t.Section,{title:"\u041C\u043E\u0434\u0443\u043B\u0438 \u043A\u043E\u0441\u0442\u044E\u043C\u0430",style:{"text-align":"center"},buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u0423\u0441\u0442\u0430\u043D\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0443\u043B\u0443\u0447\u0448\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0432\u0430\u0448\u0435\u0433\u043E \u043A\u043E\u0441\u0442\u044E\u043C\u0430! \u0414\u0435\u043B\u044F\u0442\u0441\u044F \u043D\u0430 3 \u0440\u0430\u0437\u043D\u044B\u0445 \u043F\u043E\u0434\u0445\u043E\u0434\u0430 \u0434\u043B\u044F \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438. \u0418\u0437-\u0437\u0430 \u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u0442\u0440\u0435\u0431\u043E\u0432\u0430\u043D\u0438\u0439 \u043F\u043E \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044E \u0440\u0430\u0431\u043E\u0442\u043E\u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u043A\u043E\u0441\u0442\u044E\u043C\u0430, \u043F\u0440\u0438\u043E\u0431\u0440\u0435\u0442\u0435\u043D\u0438\u0435 \u043B\u044E\u0431\u043E\u0433\u043E \u043C\u043E\u0434\u0443\u043B\u044F, \u0431\u043B\u043E\u043A\u0438\u0440\u0443\u0435\u0442 \u043F\u0440\u0438\u043E\u0431\u0440\u0435\u0442\u0435\u043D\u0438\u0435 \u043C\u043E\u0434\u0443\u043B\u0435\u0439 \u043E\u0434\u043D\u043E\u0433\u043E \u0443\u0440\u043E\u0432\u043D\u044F \u0438\u0437 \u0441\u043E\u0441\u0435\u0434\u043D\u0438\u0445 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432",tooltipPosition:"bottom"}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",alignContent:"center",ml:1.5,children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"33%",shrink:1,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u041F\u0440\u0438\u0437\u0440\u0430\u043A",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u0421\u043A\u0440\u044B\u0432\u0430\u0439\u0442\u0435\u0441\u044C \u0441\u0440\u0435\u0434\u0438 \u0432\u0440\u0430\u0433\u043E\u0432, \u043D\u0430\u043F\u0430\u0434\u0430\u0439\u0442\u0435 \u0438\u0437 \u0442\u0435\u043D\u0438 \u0438 \u0431\u0443\u0434\u044C\u0442\u0435 \u043D\u0435\u0437\u0440\u0438\u043C\u043E\u0439 \u0443\u0433\u0440\u043E\u0437\u043E\u0439, \u0432\u0441\u0451 \u0434\u043B\u044F \u0442\u043E\u0433\u043E \u0447\u0442\u043E\u0431\u044B \u043E \u0432\u0430\u0441 \u0438 \u0432\u0430\u0448\u0435\u0439 \u043C\u0438\u0441\u0441\u0438\u0438 \u043D\u0438\u043A\u0442\u043E \u043D\u0435 \u0443\u0437\u043D\u0430\u043B! \u0411\u0443\u0434\u044C\u0442\u0435 \u043D\u0435\u0437\u0430\u043C\u0435\u0442\u043D\u044B \u043A\u0430\u043A \u043F\u0440\u0438\u0437\u0440\u0430\u043A!",tooltipPosition:"bottom"}),style:{"text-align":"center",background:"rgba(53, 94, 163, 0.8)"}}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_blue",success:0,danger:0,align:"center",children:[(0,e.createComponentVNode)(2,t.Button,{className:N[0]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[0],onClick:function(){function B(){return g("give_ability",{style:"smoke",row:"1"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.smoke,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0414\u042B\u041C\u041E\u0412\u0410\u042F \u0417\u0410\u0412\u0415\u0421\u0410",content:"\u0412\u044B \u0441\u043E\u0437\u0434\u0430\u0451\u0442\u0435 \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u043E\u0431\u043B\u0430\u043A\u043E \u0434\u044B\u043C\u0430 \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u043F\u0443\u0442\u0430\u0442\u044C \u0441\u0432\u043E\u0438\u0445 \u0432\u0440\u0430\u0433\u043E\u0432. \n\u042D\u0442\u0430 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u044C \u043E\u0442\u043B\u0438\u0447\u043D\u043E \u0441\u043E\u0447\u0435\u0442\u0430\u0435\u0442\u0441\u044F \u0441 \u0432\u0430\u0448\u0438\u043C \u0432\u0438\u0437\u043E\u0440\u043E\u043C \u0432 \u0440\u0435\u0436\u0438\u043C\u0435 \u0442\u0435\u0440\u043C\u0430\u043B\u044C\u043D\u043E\u0433\u043E \u0441\u043A\u0430\u043D\u0435\u0440\u0430. \n\u0410 \u0442\u0430\u043A \u0436\u0435 \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0440\u0438\u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u043C\u043D\u043E\u0433\u0438\u043C\u0438 \u0434\u0440\u0443\u0433\u0438\u043C\u0438 \u043C\u043E\u0434\u0443\u043B\u044F\u043C\u0438 \u0435\u0441\u043B\u0438 \u0432\u044B \u0442\u043E\u0433\u043E \u043F\u043E\u0436\u0435\u043B\u0430\u0435\u0442\u0435. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 1000 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 250 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 3 \u0441\u0435\u043A\u0443\u043D\u0434\u044B.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[1]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[1],onClick:function(){function B(){return g("give_ability",{style:"ninja_cloak",row:"2"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.ninja_cloak,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u041D\u0415\u0412\u0418\u0414\u0418\u041C\u041E\u0421\u0422\u042C",content:"\u0412\u044B \u0444\u043E\u0440\u043C\u0438\u0440\u0443\u0435\u0442\u0435 \u0432\u043E\u043A\u0440\u0443\u0433 \u0441\u0435\u0431\u044F \u043C\u0430\u0441\u043A\u0438\u0440\u043E\u0432\u043E\u0447\u043D\u043E\u0435 \u043F\u043E\u043B\u0435 \u0441\u043A\u0440\u044B\u0432\u0430- \u044E\u0449\u0435\u0435 \u0432\u0430\u0441 \u0438\u0437 \u0432\u0438\u0434\u0443 \u0438 \u043F\u0440\u0438\u0433\u043B\u0443\u0448\u0430- \u044E\u0449\u0435\u0435 \u0432\u0430\u0448\u0438 \u0448\u0430\u0433\u0438. \n\u041F\u043E\u043B\u0435 \u0434\u043E\u0432\u043E\u043B\u044C\u043D\u043E \u0445\u0440\u0443\u043F\u043A\u043E\u0435 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0440\u0430\u0437\u043B\u0435\u0442\u0435\u0442\u044C\u0441\u044F \u043E\u0442 \u043B\u044E\u0431\u043E\u0433\u043E \u0440\u0435\u0437\u043A\u043E\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0438\u043B\u0438 \u0443\u0434\u0430\u0440\u0430. \n\u0410\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u044F \u043F\u043E\u043B\u044F \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 2 \u0441\u0435\u043A\u0443\u043D\u0434\u044B. \u0425\u043E\u0442\u044C \u043F\u043E\u043B\u0435 \u0438 \u0441\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u0432\u0430\u0441 \u043F\u043E\u043B\u043D\u043E\u0441\u0442\u044C\u044E, \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439 \u0443\u0431\u0438\u0439\u0446\u0430 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u0445\u043B\u0430\u0434\u043D\u043E\u043A\u0440\u043E\u0432\u0435\u043D. \n\u041D\u0435 \u0441\u0442\u043E\u0438\u0442 \u043D\u0435\u0434\u043E\u043E\u0446\u0435\u043D\u0438\u0432\u0430\u0442\u044C \u0432\u043D\u0438\u043C\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0434\u0440\u0443\u0433\u0438\u0445 \u043B\u044E\u0434\u0435\u0439. \n\u0410\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u043D\u0435\u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C \u0441\u043B\u0430\u0431\u043E \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0439 \u0440\u0430\u0441\u0445\u043E\u0434 \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 15 \u0441\u0435\u043A\u0443\u043D\u0434.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[2]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[2],onClick:function(){function B(){return g("give_ability",{style:"ninja_clones",row:"3"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.ninja_clones,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041D\u0415\u0420\u0413\u0415\u0422\u0418\u0427\u0415\u0421\u041A\u0418\u0415 \u041A\u041B\u041E\u041D\u042B",content:"\u0421\u043E\u0437\u0434\u0430\u0451\u0442 \u0434\u0432\u0443\u0445 \u043A\u043B\u043E\u043D\u043E\u0432 \u0433\u043E\u0442\u043E\u0432\u044B\u0445 \u043F\u043E\u043C\u043E\u0447\u044C \u0432 \u0431\u0438\u0442\u0432\u0435 \u0438 \u0434\u0435\u0437\u043E\u0440\u0438\u0435\u043D\u0442\u0438- \u0440\u043E\u0432\u0430\u0442\u044C \u043F\u0440\u043E\u0442\u0438\u0432\u043D\u0438\u043A\u0430 \n\u0422\u0430\u043A \u0436\u0435 \u0432 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0435 \u0441\u043C\u0435\u0449\u0430\u0435\u0442 \u0432\u0430\u0441 \u0438 \u0432\u0430\u0448\u0438\u0445 \u043A\u043B\u043E\u043D\u043E\u0432 \u0432 \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u043C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0438 \u0432 \u0440\u0430\u0434\u0438\u0443\u0441\u0435 \u043F\u0430\u0440\u044B \u043C\u0435\u0442\u0440\u043E\u0432. \n\u041F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435\u0441\u044C \u043E\u0441\u0442\u043E\u0440\u043E\u0436\u043D\u043E. \u0421\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0435 \u0441\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u043C\u043E\u0436\u0435\u0442 \u0437\u0430\u043F\u0435\u0440\u0435\u0442\u044C \u0432\u0430\u0441 \u0437\u0430 4-\u043C\u044F \u0441\u0442\u0435\u043D\u0430\u043C\u0438. \u0411\u0443\u0434\u044C\u0442\u0435 \u043A \u044D\u0442\u043E\u043C\u0443 \u0433\u043E\u0442\u043E\u0432\u044B. \n\u041A\u043B\u043E\u043D\u044B \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0442 \u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E 20 \u0441\u0435\u043A\u0443\u043D\u0434. \u041A\u043B\u043E\u043D\u044B \u0438\u043C\u0435\u044E\u0442 \u0448\u0430\u043D\u0441 \u0440\u0430\u0437\u043C\u043D\u043E\u0436\u0438\u0442\u0441\u044F \u0430\u0442\u0430\u043A\u0443\u044F \u043F\u0440\u043E\u0442\u0438\u0432\u043D\u0438\u043A\u043E\u0432. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 4000 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 8 \u0441\u0435\u043A\u0443\u043D\u0434.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[3]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[3],onClick:function(){function B(){return g("give_ability",{style:"chameleon",row:"4"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.chameleon,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0425\u0410\u041C\u0415\u041B\u0415\u041E\u041D",content:"\u0412\u044B \u0444\u043E\u0440\u043C\u0438\u0440\u0443\u0435\u0442\u0435 \u0432\u043E\u043A\u0440\u0443\u0433 \u0441\u0435\u0431\u044F \u0433\u043E\u043B\u043E\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043F\u043E\u043B\u0435 \u0438\u0441\u043A\u0430\u0436\u0430\u044E\u0449\u0435\u0435 \u0432\u0438\u0437\u0443\u0430\u043B\u044C\u043D\u043E\u0435 \u0438 \u0441\u043B\u0443\u0445\u043E\u0432\u043E\u0435 \u0432\u043E\u0441\u043F\u0440\u0438\u044F\u0442\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432. \n\u0412\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 \u0432\u0438\u0434\u0435\u0442\u044C \u0438 \u0441\u043B\u044B\u0448\u0430\u0442\u044C \u043A\u0430\u043A \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430 \u043A\u043E\u0442\u043E\u0440\u043E\u0433\u043E \u0432\u044B \u043F\u0440\u043E\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0435\u0442\u0435 \u0441\u043F\u0435\u0446\u0438\u0430\u043B\u044C\u043D\u044B\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E\u043C. \n\u042D\u0442\u043E \u0434\u0430\u0451\u0442 \u0432\u0430\u043C \u043E\u0433\u0440\u043E\u043C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u0442\u043E\u0440 \u043F\u043E \u0432\u043D\u0435\u0434\u0440\u0435\u043D\u0438\u044E \u0438 \u0438\u043C\u0438\u0442\u0430\u0446\u0438\u0438 \u043B\u044E\u0431\u043E\u0433\u043E \u0447\u043B\u0435\u043D\u0430 \u044D\u043A\u0438\u043F\u0430\u0436\u0430. \n\u041F\u043E\u043B\u0435 \u0434\u043E\u0432\u043E\u043B\u044C\u043D\u043E \u0445\u0440\u0443\u043F\u043A\u043E\u0435 \u0438 \u043C\u043E\u0436\u0435\u0442 \u0440\u0430\u0437\u043B\u0435\u0442\u0435\u0442\u044C\u0441\u044F \u043E\u0442 \u043B\u044E\u0431\u043E\u0433\u043E \u0440\u0435\u0437\u043A\u043E\u0433\u043E \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0438\u043B\u0438 \u0443\u0434\u0430\u0440\u0430. \n\u0410\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u044F \u043F\u043E\u043B\u044F \u0437\u0430\u043D\u0438\u043C\u0430\u0435\u0442 2 \u0441\u0435\u043A\u0443\u043D\u0434\u044B. \n\u0410\u043A\u0442\u0438\u0432\u043D\u044B\u0439 \u0445\u0430\u043C\u0435\u043B\u0435\u043E\u043D \u0441\u043B\u0430\u0431\u043E \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0439 \u0440\u0430\u0441\u0445\u043E\u0434 \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: \u041E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[4]?x[0].disabled:x[0].blue,height:"64px",width:"100%",disabled:N[4],onClick:function(){function B(){return g("give_ability",{style:"ninja_spirit_form",row:"5"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.ninja_spirit_form,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0424\u041E\u0420\u041C\u0410 \u0414\u0423\u0425\u0410",content:"\u0412\u044B \u0432\u043E\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442\u0435 \u043D\u0430 \u0441\u0442\u0430\u0431\u0438\u043B\u044C\u043D\u043E\u0441\u0442\u044C \u0441\u043E\u0431\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0433\u043E \u0442\u0435\u043B\u0430 \u043F\u043E\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043E\u043C \u044D\u0442\u043E\u0439 \u044D\u043A\u0441\u043F\u0435\u0440\u0435\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u043E\u0439 \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u0438. \n\u0414\u0435\u043B\u0430\u044F \u0432\u0430\u0448\u0435 \u0442\u0435\u043B\u043E \u043D\u0435\u0441\u0442\u0430\u0431\u0438\u043B\u044C\u043D\u044B\u043C \u044D\u0442\u0430 \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u044C \u0434\u0430\u0440\u0443\u0435\u0442 \u0432\u0430\u043C \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0441\u0442\u044C \u043F\u0440\u043E\u0445\u043E\u0434\u0438\u0442\u044C \u0441\u043A\u0432\u043E\u0437\u044C \u0441\u0442\u0435\u043D\u044B. \n\u042D\u0442\u0430 \u044D\u043A\u0441\u043F\u0435\u0440\u0435\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u0430\u044F \u0442\u0435\u0445\u043D\u043E\u043B\u043E\u0433\u0438\u044F \u043D\u0435 \u0441\u0434\u0435\u043B\u0430\u0435\u0442 \u0432\u0430\u0441 \u043D\u0435\u0443\u044F\u0437\u0432\u0438\u043C\u044B\u043C \u0434\u043B\u044F \u043F\u0443\u043B\u044C \u0438 \u043B\u0435\u0437\u0432\u0438\u0439! \n\u041D\u043E \u043F\u043E\u0437\u0432\u043E\u043B\u0438\u0442 \u0432\u0430\u043C \u0441\u043D\u044F\u0442\u044C \u0441 \u0441\u0435\u0431\u044F \u043D\u0430\u0440\u0443\u0447\u043D\u0438\u043A\u0438, \u0431\u043E\u043B\u044B \u0438 \u0434\u0430\u0436\u0435 \u0432\u044B\u043B\u0435\u0437\u0442\u0438 \u0438\u0437 \u0433\u0440\u043E\u0431\u0430 \u0438\u043B\u0438 \u044F\u0449\u0438\u043A\u0430, \u043E\u043A\u0430\u0436\u0438\u0441\u044C \u0432\u044B \u0442\u0430\u043C \u0437\u0430\u043F\u0435\u0440\u0442\u044B... \n\u0410\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u044F \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0441\u0442\u0438 \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u0430. \n\u0410\u043A\u0442\u0438\u0432\u043D\u0430\u044F \u0444\u043E\u0440\u043C\u0430 \u0434\u0443\u0445\u0430 \u0437\u043D\u0430\u0447\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0439 \u0440\u0430\u0441\u0445\u043E\u0434 \u044D\u043D\u0435\u0440\u0433\u0438\u0438! \u041F\u043E\u0442\u0440\u0435\u0431\u043B\u0435\u043D\u0438\u0435 \u043E\u0434\u0438\u043D\u0430\u043A\u043E\u0432\u043E \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0432\u043D\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u043E\u0431\u044A\u0451\u043C\u0430 \u0431\u0430\u0442\u0430\u0440\u0435\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 25 \u0441\u0435\u043A\u0443\u043D\u0434.",position:"right"})]})]})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"33%",shrink:1,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u0417\u043C\u0435\u0439",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u0423\u0434\u0438\u0432\u043B\u044F\u0439\u0442\u0435! \u0422\u0440\u044E\u043A\u0438, \u043B\u043E\u0432\u0443\u0448\u043A\u0438, \u0449\u0438\u0442\u044B. \u041F\u043E\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043C, \u0447\u0442\u043E \u0442\u0430\u043A\u043E\u0435 \u0431\u043E\u0439 \u0441 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u043C \u0443\u0431\u0438\u0439\u0446\u0435\u0439. \u0418\u0437\u0432\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044C \u0438 \u0438\u0437\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435\u0441\u044C \u043D\u0430\u0445\u043E\u0434\u044F \u0432\u044B\u0445\u043E\u0434 \u0438\u0437 \u043B\u044E\u0431\u043E\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438. \u0412\u0440\u0430\u0433\u0438 \u0432\u0441\u0435\u0433\u043E \u043B\u0438\u0448\u044C \u0433\u0440\u044B\u0437\u0443\u043D\u044B, \u0447\u044C\u0451 \u043B\u043E\u0433\u043E\u0432\u043E \u043D\u0430\u0432\u0435\u0441\u0442\u0438\u043B \u0437\u043C\u0435\u0439!",tooltipPosition:"bottom"}),style:{"text-align":"center",background:"rgba(0, 174, 208, 0.15)"}}),(0,e.createComponentVNode)(2,t.NoticeBox,{success:0,danger:0,align:"center",children:[(0,e.createComponentVNode)(2,t.Button,{className:N[0]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[0],onClick:function(){function B(){return g("give_ability",{style:"kunai",row:"1"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.kunai,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0421\u0422\u0420\u041E\u0415\u041D\u041D\u041E\u0415 \u0414\u0416\u041E\u0425\u042C\u0401",content:"\u0422\u0430\u043A \u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E \u043A\u0430\u043A \u0428\u044D\u043D\u0431\u044F\u043E \u0438\u043B\u0438 \u043F\u0440\u043E\u0441\u0442\u043E \u041A\u0438\u043D\u0436\u0430\u043B \u043D\u0430 \u0446\u0435\u043F\u0438. \n\u0418\u043D\u0442\u0435\u0433\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0432 \u043A\u043E\u0441\u0442\u044E\u043C \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u043F\u043E\u0437\u0432\u043E\u043B\u0438\u0442 \u0432\u0430\u043C \u043F\u043E\u0439\u043C\u0430\u0442\u044C \u0438 \u043F\u0440\u0438\u0442\u044F\u043D\u0443\u0442\u044C \u043A \u0441\u0435\u0431\u0435 \u0436\u0435\u0440\u0442\u0432\u0443 \u0437\u0430 \u0434\u043E\u043B\u0438 \u0441\u0435\u043A\u0443\u043D\u0434\u044B. \n\u041E\u0440\u0443\u0436\u0438\u0435 \u043D\u0435 \u043E\u0447\u0435\u043D\u044C \u0433\u043E\u0434\u0438\u0442\u0441\u044F \u0434\u043B\u044F \u0434\u043E\u043B\u0433\u0438\u0445 \u0431\u043E\u0451\u0432, \u043D\u043E \u043E\u0442\u043B\u0438\u0447\u043D\u043E \u043F\u043E\u0434\u0445\u043E\u0434\u0438\u0442 \u0434\u043B\u044F \u0432\u044B\u0442\u044F\u0433\u0438\u0432\u0430\u043D\u0438\u044F \u043E\u0434\u043D\u043E\u0439 \u0436\u0435\u0440\u0442\u0432\u044B - \u043D\u0430 \u0440\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u0443\u0434\u0430\u0440\u0430! \n\u0413\u043B\u0430\u0432\u043D\u043E\u0435 \u043D\u0435 \u043F\u0440\u043E\u043C\u0430\u0445\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u0438 \u0441\u0442\u0440\u0435\u043B\u044C\u0431\u0435. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0432\u044B\u0441\u0442\u0440\u0435\u043B\u0430: 500 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 5 \u0441\u0435\u043A\u0443\u043D\u0434.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[1]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[1],onClick:function(){function B(){return g("give_ability",{style:"chem_injector",row:"2"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.chem_injector,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0418\u0421\u0426\u0415\u041B\u042F\u042E\u0429\u0418\u0419 \u041A\u041E\u041A\u0422\u0415\u0419\u041B\u042C",content:"\u0412\u0432\u043E\u0434\u0438\u0442 \u0432 \u0432\u0430\u0441 \u044D\u043A\u0441\u043F\u0435\u0440\u0435\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u0443\u044E \u043B\u0435\u0447\u0435\u0431\u043D\u0443\u044E \u0441\u043C\u0435\u0441\u044C. \u0421\u043F\u043E\u0441\u043E\u0431\u043D\u0443\u044E \u0437\u0430\u043B\u0435\u0447\u0438\u0442\u044C \u0434\u0430\u0436\u0435 \u0441\u043B\u043E\u043C\u0430\u043D\u043D\u044B\u0435 \u043A\u043E\u0441\u0442\u0438 \u0438 \u043E\u0442\u043E\u0440\u0432\u0430\u043D\u043D\u044B\u0435 \u043A\u043E\u043D\u0435\u0447\u043D\u043E\u0441\u0442\u0438. \n\u041F\u0440\u0435\u043F\u0430\u0440\u0430\u0442 \u0432\u044B\u0437\u044B\u0432\u0430\u0435\u0442 \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442- \n\u0432\u0435\u043D\u043D\u043E-\u0432\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0435 \u043F\u0430\u0440\u0430\u0434\u043E\u043A\u0441\u044B \u0438 \u043E\u0447\u0435\u043D\u044C \u043C\u0435\u0434\u043B\u0435\u043D\u043D\u043E \u0432\u044B\u0432\u043E\u0434\u0438\u0442\u0441\u044F \u0438\u0437 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u043C\u0430! \n\u041F\u0440\u0438 \u043F\u0435\u0440\u0435\u0434\u043E\u0437\u0438\u0440\u043E\u0432\u043A\u0435 \u043E\u043D\u0438 \u0441\u0442\u0430\u043D\u043E\u0432\u044F\u0442\u0441\u044F \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043E\u043F\u0430\u0441\u043D\u044B \u0434\u043B\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F. \u041D\u0435 \u0432\u0432\u043E\u0434\u0438\u0442\u0435 \u0431\u043E\u043B\u044C\u0448\u0435 30 \u0435\u0434. \u043F\u0440\u0435\u043F\u0430\u0440\u0430\u0442\u0430 \u0432 \u0432\u0430\u0448 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u043C! \n\u0412\u043C\u0435\u0441\u0442\u043E \u0442\u0440\u0430\u0442\u044B \u044D\u043D\u0435\u0440\u0433\u0438\u0438 \u0438\u043C\u0435\u0435\u0442 3 \u0437\u0430\u0440\u044F\u0434\u0430. \u0418\u0445 \u043C\u043E\u0436\u043D\u043E \u0432\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0446\u0435\u043B\u044C\u043D\u044B\u0445 \u043A\u0443\u0441\u043A\u043E\u0432 \u0431\u043B\u044E\u0441\u043F\u0435\u0439\u0441 \u043A\u0440\u0438\u0441\u0442\u0430\u043B\u043B\u043E\u0432 \u043F\u043E\u043C\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u043A\u043E\u0441\u0442\u044E\u043C.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[2]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[2],onClick:function(){function B(){return g("give_ability",{style:"emergency_blink",row:"3"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.emergency_blink,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041A\u0421\u0422\u0420\u0415\u041D\u041D\u0410\u042F \u0422\u0415\u041B\u0415\u041F\u041E\u0420\u0422\u0410\u0426\u0418\u042F",content:"\u041F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0432 \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u0443\u044E \u0437\u043E\u043D\u0443 \u0432 \u0440\u0430\u0434\u0438\u0443\u0441\u0435 \u043E\u043A\u043E\u043B\u043E \u0434\u0432\u0443\u0445 \u0434\u0435\u0441\u044F\u0442\u043A\u043E\u0432 \u043C\u0435\u0442\u0440\u043E\u0432. \n\u0414\u043B\u044F \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442\u0441\u044F \u043C\u043E\u0437\u0433\u043E\u0432\u044B\u0435 \u0438\u043C\u043F\u0443\u043B\u044C\u0441\u044B \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F. \u041F\u043E\u044D\u0442\u043E\u043C\u0443 \u043E\u043F\u044B\u0442\u043D\u044B\u0435 \u0432\u043E\u0438\u043D\u044B \u043A\u043B\u0430\u043D\u0430, \u043C\u043E\u0433\u0443\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0435\u0451 \u0434\u0430\u0436\u0435 \u0432\u043E \u0441\u043D\u0435. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 1500 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 3 \u0441\u0435\u043A\u0443\u043D\u0434\u044B.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[3]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[3],onClick:function(){function B(){return g("give_ability",{style:"caltrop",row:"4"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.caltrop,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041B\u0415\u041A\u0422\u0420\u041E-\u0427\u0415\u0421\u041D\u041E\u041A",content:"\u0427\u0430\u0449\u0435 \u0438\u0445 \u043D\u0430\u0437\u044B\u0432\u0430\u044E\u0442 \u043F\u0440\u043E\u0441\u0442\u043E \u043A\u0430\u043B\u0442\u0440\u043E\u043F\u044B, \u0438\u0437-\u0437\u0430 \u0437\u0430\u043F\u0443\u0442\u044B\u0432\u0430\u044E\u0449\u0438\u0445 \u0430\u0441\u0441\u043E\u0446\u0438\u0430\u0446\u0438\u0439 \u0441 \u0431\u043E\u043B\u0435\u0435 \u0441\u044A\u0435\u0441\u0442\u043D\u044B\u043C \u0447\u0435\u0441\u043D\u043E\u043A\u043E\u043C. \n\u041F\u0440\u0438 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0438 \u0440\u0430\u0441\u043A\u0438\u0434\u044B\u0432\u0430\u0435\u0442 \u043F\u043E\u0437\u0430\u0434\u0438 \u0432\u0430\u0441 \u0441\u0434\u0435\u043B\u0430\u043D\u043D\u044B\u0435 \u0438\u0437 \u0441\u043F\u0440\u0435\u0441\u0441\u043E\u0432\u0430\u043D\u043D\u043E\u0439 \u044D\u043D\u0435\u0440\u0433\u0438\u0438 \u043B\u043E\u0432\u0443\u0448\u043A\u0438. \n\u041B\u043E\u0432\u0443\u0448\u043A\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0442 \u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E 10 \u0441\u0435\u043A\u0443\u043D\u0434. \u0422\u0430\u043A \u0436\u0435 \u043E\u043D\u0438 \u043F\u0440\u043E\u043F\u0430\u0434\u0430\u044E\u0442 - \u0435\u0441\u043B\u0438 \u043D\u0430 \u043D\u0438\u0445 \u043D\u0430\u0441\u0442\u0443\u043F\u0438\u0442\u044C. \n\u0411\u043E\u043B\u044C \u043E\u0442 \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u043E\u0433\u043E \u0448\u0430\u0433\u0430 \u043D\u0430 \u043D\u0438\u0445 \u043D\u0430\u0441\u0442\u0438\u0433\u043D\u0435\u0442 \u0434\u0430\u0436\u0435 \u0440\u043E\u0431\u043E\u0442\u0438\u0437\u0438\u0440\u043E\u0432\u0430\u043D- \u043D\u044B\u0435 \u043A\u043E\u043D\u0435\u0447\u043D\u043E\u0441\u0442\u0438. \n\u0412\u044B \u043D\u0435 \u0437\u0430\u0449\u0438\u0449\u0435\u043D\u044B \u043E\u0442 \u043D\u0438\u0445. \u041D\u0435 \u043D\u0430\u0441\u0442\u0443\u043F\u0430\u0439\u0442\u0435 \u043D\u0430 \u0441\u0432\u043E\u0438 \u0436\u0435 \u043B\u043E\u0432\u0443\u0448\u043A\u0438! \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 1500 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 1 \u0441\u0435\u043A\u0443\u043D\u0434\u0430.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[4]?x[0].disabled:x[0].green,height:"64px",width:"100%",disabled:N[4],onClick:function(){function B(){return g("give_ability",{style:"cloning",row:"5"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.cloning,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0422\u041E\u0420\u041E\u0419 \u0428\u0410\u041D\u0421",content:"\u0412 \u043F\u0440\u043E\u0448\u043B\u043E\u043C \u043C\u043D\u043E\u0433\u0438\u0435 \u0443\u0431\u0438\u0439\u0446\u044B \u043F\u0440\u043E\u0432\u0430\u043B\u0438\u0432\u0430\u044F \u0441\u0432\u043E\u0438 \u043C\u0438\u0441\u0441\u0438\u0438 \u0441\u043E\u0432\u0435\u0440\u0448\u0430\u043B\u0438 \u0441\u0430\u043C\u043E\u0443\u0431\u0438\u0439\u0441\u0442\u0432\u0430 \u0438\u043B\u0438 \u043E\u043A\u0430\u0437\u044B\u0432\u0430\u043B\u0438\u0441\u044C \u0432 \u043B\u0430\u043F\u0430\u0445 \u0432\u0440\u0430\u0433\u0430. \n\u0421\u0435\u0439\u0447\u0430\u0441 \u0436\u0435 \u0435\u0441\u0442\u044C \u0434\u043E\u0432\u043E\u043B\u044C\u043D\u043E \u0434\u043E\u0440\u043E\u0433\u0430\u044F \u0430\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u0430. \u041C\u043E\u0449\u043D\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0441\u043F\u043E\u0441\u043E\u0431\u043D\u043E\u0435 \u0434\u043E\u0441\u0442\u0430\u0442\u044C \u0432\u0430\u0441 \u043F\u0440\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u0441 \u0442\u043E\u0433\u043E \u0441\u0432\u0435\u0442\u0430. \n\u042D\u0442\u0430 \u043C\u0430\u0448\u0438\u043D\u0430 \u043F\u043E\u0437\u0432\u043E\u043B\u0438\u0442 \u0432\u0430\u043C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0432\u0442\u043E\u0440\u043E\u0439 \u0448\u0430\u043D\u0441, \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0432 \u0432\u0430\u0441 \u043A \u0441\u0435\u0431\u0435 \u0438 \u0438\u0437\u043B\u0435\u0447\u0438\u0432 \u043B\u044E\u0431\u044B\u0435 \u0442\u0440\u0430\u0432\u043C\u044B. \n\u041C\u044B \u0441\u043B\u044B\u0448\u0430\u043B\u0438 \u043F\u0440\u043E \u0441\u043E\u043C\u043D\u0435\u043D\u0438\u044F \u0437\u0430\u0432\u044F\u0437\u0430\u043D\u043D\u044B\u0435 \u043D\u0430 \u0438\u0434\u0435\u0435, \u0447\u0442\u043E \u044D\u0442\u043E \u043F\u0440\u043E\u0441\u0442\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0434\u043B\u044F \u043A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0447\u043B\u0435\u043D\u043E\u0432 \u043A\u043B\u0430\u043D\u0430. \u041D\u043E \u0443\u0432\u0435\u0440\u044F\u0435\u043C \u0432\u0430\u0441, \u044D\u0442\u043E \u043D\u0435 \u0442\u0430\u043A. \n\u041A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E \u0438\u0437-\u0437\u0430 \u0431\u043E\u043B\u044C\u0448\u0438\u0445 \u0437\u0430\u0442\u0440\u0430\u0442 \u043D\u0430 \u043B\u0435\u0447\u0435\u043D\u0438\u0435 \u0438 \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u044E. \u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0441\u043F\u0430\u0441\u0451\u0442 \u0432\u0430\u0441 \u043B\u0438\u0448\u044C \u043E\u0434\u0438\u043D \u0440\u0430\u0437. \n\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0430\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438, \u043A\u043E\u0433\u0434\u0430 \u0432\u044B \u0431\u0443\u0434\u0435\u0442\u0435 \u043F\u0440\u0438 \u0441\u043C\u0435\u0440\u0442\u0438.",position:"right"})]})]})]}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"33%",shrink:1,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0442\u0430\u043B\u044C",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u042F\u0440\u043E\u0441\u0442\u044C \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430\u044F \u043E\u0431\u044B\u0447\u043D\u044B\u043C \u043B\u044E\u0434\u044F\u043C. \u0421\u0438\u043B\u0430, \u0441\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0438 \u043E\u0440\u0443\u0434\u0438\u044F \u0432\u044B\u0448\u0435 \u0438\u0445 \u043F\u043E\u043D\u0438\u043C\u0430\u043D\u0438\u044F. \u0420\u0430\u0437\u0438\u0442\u0435 \u0438\u0445 \u043A\u0430\u043A \u0445\u0438\u0449\u043D\u0438\u043A \u0447\u0442\u043E \u0440\u0430\u0437\u0438\u0442 \u0441\u0432\u043E\u044E \u0434\u043E\u0431\u044B\u0447\u0443. \u041F\u043E\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043C \u0445\u043E\u043B\u043E\u0434\u043D\u044B\u0439 \u0432\u043A\u0443\u0441 \u0441\u0442\u0430\u043B\u0438!",tooltipPosition:"bottom"}),style:{"text-align":"center",background:"rgba(80, 20, 20, 1)"}}),(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_red",success:0,danger:0,align:"center",children:[(0,e.createComponentVNode)(2,t.Button,{className:N[0]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[0],onClick:function(){function B(){return g("give_ability",{style:"shuriken",row:"1"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.shuriken,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041D\u0415\u0420\u0413\u0415\u0422\u0418\u0427\u0415\u0421\u041A\u0418\u0415 \u0421\u042E\u0420\u0418\u041A\u0415\u041D\u042B",content:"\u0410\u043A\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442 \u043F\u0443\u0441\u043A\u043E\u0432\u043E\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0441\u043A\u0440\u044B\u0442\u043E\u0435 \u0432 \u043F\u0435\u0440\u0447\u0430\u0442\u043A\u0430\u0445 \u043A\u043E\u0441\u0442\u044E\u043C\u0430. \n\u0423\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u043E \u0432\u044B\u043F\u0443\u0441\u043A\u0430\u0435\u0442 \u043F\u043E \u0442\u0440\u0438 \u0441\u044E\u0440\u0438\u043A\u0435\u043D\u0430, \u0441\u0434\u0435\u043B\u0430\u043D\u043D\u044B\u0445 \u0438\u0437 \u0441\u0436\u0430\u0442\u043E\u0439 \u044D\u043D\u0435\u0440\u0433\u0438\u0438, \u043E\u0447\u0435\u0440\u0435\u0434\u044C\u044E. \n\u0421\u044E\u0440\u0438\u043A\u0435\u043D\u044B \u043F\u043E\u0441\u0442\u0435\u043F\u0435\u043D\u043D\u043E \u0438\u0437\u043D\u0443\u0440\u044F\u044E\u0442 \u0432\u0440\u0430\u0433\u043E\u0432 \u0438 \u043D\u0430\u043D\u043E\u0441\u044F\u0442 \u0441\u043B\u0430\u0431\u044B\u0439 \u043E\u0436\u043E\u0433\u043E\u0432\u044B\u0439 \u0443\u0440\u043E\u043D. \n\u0422\u0430\u043A \u0436\u0435 \u043E\u043D\u0438 \u043F\u0440\u043E\u043B\u0435\u0442\u0430\u044E\u0442 \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0435\u043A\u043B\u043E, \u043A\u0430\u043A \u0438 \u043E\u0431\u044B\u0447\u043D\u044B\u0435 \u043B\u0430\u0437\u0435\u0440\u043D\u044B\u0435 \u0441\u043D\u0430\u0440\u044F\u0434\u044B. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0432\u044B\u0441\u0442\u0440\u0435\u043B\u0430: 300 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[1]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[1],onClick:function(){function B(){return g("give_ability",{style:"adrenal",row:"2"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.adrenal,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0412\u0421\u041F\u041B\u0415\u0421\u041A \u0410\u0414\u0420\u0415\u041D\u0410\u041B\u0418\u041D\u0410",content:"\u041C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E \u0432\u0432\u043E\u0434\u0438\u0442 \u0432 \u0432\u0430\u0441 \u043C\u043E\u0449\u043D\u0443\u044E \u044D\u043A\u0441\u043F\u0435\u0440\u0435\u043C\u0435\u043D\u0442\u0430\u043B\u044C\u043D\u0443\u044E \u0441\u044B\u0432\u043E\u0440\u043E\u0442\u043A\u0443 \u0443\u0441\u043A\u043E\u0440\u044F\u044E\u0449\u0443\u044E \u0432\u0430\u0441 \u0432 \u0431\u043E\u044E \u0438 \u043F\u043E\u043C\u043E\u0433\u0430\u044E\u0449\u0443\u044E \u0431\u044B\u0441\u0442\u0440\u0435\u0435 \u043E\u043A\u043B\u0435\u043C\u0430\u0442\u044C\u0441\u044F \u043E\u0442 \u043E\u0433\u043B\u0443\u0448\u0430\u044E\u0449\u0438\u0445 \u044D\u0444\u0444\u0435\u043A\u0442\u043E\u0432. \n\u041A\u043E\u0441\u0442\u044E\u043C \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u0438\u0442 \u0441\u044B\u0432\u043E\u0440\u043E\u0442\u043A\u0443 \u0441 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435\u043C \u0443\u0440\u0430\u043D\u0430. \u0427\u0442\u043E \u043A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E \u0434\u0430\u0451\u0442 \u043D\u0435\u043F\u0440\u0438\u044F\u0442\u043D\u044B\u0439 \u043D\u0435\u0433\u0430\u0442\u0438\u0432\u043D\u044B\u0439 \u044D\u0444\u0444\u0435\u043A\u0442, \u0432 \u0432\u0438\u0434\u0435 \u043D\u0430\u043A\u043E\u043F\u043B\u0435\u043D\u0438\u044F \u0440\u0430\u0434\u0438\u044F \u0432 \u043E\u0440\u0433\u0430\u043D\u0438\u0437\u043C\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F. \n\u0412\u043C\u0435\u0441\u0442\u043E \u0442\u0440\u0430\u0442\u044B \u044D\u043D\u0435\u0440\u0433\u0438\u0438 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u043E \u043B\u0438\u0448\u044C \u043E\u0434\u0438\u043D \u0440\u0430\u0437, \u043F\u043E\u043A\u0430 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u043F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0436\u0435\u043D\u043E \u0432\u0440\u0443\u0447\u043D\u0443\u044E \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u0446\u0435\u043B\u044C\u043D\u044B\u0445 \u043A\u0443\u0441\u043A\u043E\u0432 \u0443\u0440\u0430\u043D\u0430 \u043F\u043E\u043C\u0435\u0449\u0451\u043D\u043D\u044B\u0445 \u0432 \u043A\u043E\u0441\u0442\u044E\u043C.",position:"bottom-end"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[2]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[2],onClick:function(){function B(){return g("give_ability",{style:"emp",row:"3"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.emp,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041B\u0415\u041A\u0422\u0420\u041E\u041C\u0410\u0413\u041D\u0418\u0422\u041D\u042B\u0419 \u0412\u0417\u0420\u042B\u0412",content:"\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043C\u0430\u0433\u043D\u0438\u0442\u043D\u044B\u0435 \u0432\u043E\u043B\u043D\u044B \u0432\u044B\u043A\u043B\u044E\u0447\u0430\u044E\u0442, \u043F\u043E\u0434\u0440\u044B\u0432\u0430\u044E\u0442 \u0438\u043B\u0438 \u0438\u043D\u0430\u0447\u0435 \u043F\u043E\u0432\u0440\u0435\u0436\u0434\u0430\u044E\u0442 - \u043A\u0438\u0431\u043E\u0440\u0433\u043E\u0432, \u0434\u0440\u043E\u043D\u043E\u0432, \u041A\u041F\u0411, \u044D\u043D\u0435\u0440\u0433\u0435\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u043E\u0440\u0443\u0436\u0438\u0435, \u043F\u043E\u0440\u0442\u0430\u0442\u0438\u0432\u043D\u044B\u0435 \u0421\u0432\u0435\u0442\u043E\u0448\u0443\u043C\u043E\u0432\u044B\u0435 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430, \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430 \u0441\u0432\u044F\u0437\u0438 \u0438 \u0442.\u0434. \n\u042D\u0442\u043E\u0442 \u0432\u0437\u0440\u044B\u0432 \u043C\u043E\u0436\u0435\u0442 \u043A\u0430\u043A \u043F\u043E\u043C\u043E\u0447\u044C \u0432\u0430\u043C \u0432 \u0431\u043E\u044E, \u0442\u0430\u043A \u0438 \u043D\u0435\u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E \u043D\u0430\u0432\u0440\u0435\u0434\u0438\u0442\u044C. \u0412\u043D\u0438\u043C\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u043E\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0439\u0442\u0435 \u043C\u0435\u0441\u0442\u043D\u043E\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u0434 \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u0438\u0435\u043C. \n\u041D\u0435 \u0437\u0430\u0431\u044B\u0432\u0430\u0439\u0442\u0435 \u043E \u0437\u0430\u0449\u0438\u0449\u0430\u044E\u0449\u0435\u043C \u043E\u0442 \u0441\u0432\u0435\u0442\u0430 \u0440\u0435\u0436\u0438\u043C\u0435 \u0432\u0430\u0448\u0435\u0433\u043E \u0432\u0438\u0437\u043E\u0440\u0430. \u041E\u043D \u043C\u043E\u0436\u0435\u0442 \u043F\u043E\u043C\u043E\u0447\u044C \u043D\u0435 \u043E\u0441\u043B\u0435\u043F\u043D\u0443\u0442\u044C, \u043F\u0440\u0438 \u043F\u043E\u0434\u0440\u044B\u0432\u0435 \u043F\u043E\u0434\u043E\u0431\u043D\u044B\u0445 \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432. \n\u0412\u0437\u0440\u044B\u0432 - \u043F\u0440\u0435\u0440\u044B\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0435 \u044D\u0444\u0444\u0435\u043A\u0442\u044B \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0430 \u0432\u0430\u0441. \u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u043D\u0435\u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 5000 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u041F\u0435\u0440\u0435\u0437\u0430\u0440\u044F\u0434\u043A\u0430: 4 \u0441\u0435\u043A\u0443\u043D\u0434\u044B.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[3]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[3],onClick:function(){function B(){return g("give_ability",{style:"energynet",row:"4"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.energynet,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u042D\u041D\u0415\u0420\u0413\u0415\u0422\u0418\u0427\u0415\u0421\u041A\u0410\u042F \u0421\u0415\u0422\u042C",content:"\u041C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E \u043B\u043E\u0432\u0438\u0442 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u0443\u044E \u0432\u0430\u043C\u0438 \u0446\u0435\u043B\u044C \u0432 \u043E\u0431\u0435\u0437\u0434\u0432\u0438\u0436\u0438\u0432\u0430\u044E\u0449\u0443\u044E \u043B\u043E\u0432\u0443\u0448\u043A\u0443. \n\u0418\u0437 \u043B\u043E\u0432\u0443\u0448\u043A\u0438 \u043B\u0435\u0433\u043A\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C\u0441\u044F \u043F\u0440\u043E\u0441\u0442\u043E \u0441\u043B\u043E\u043C\u0430\u0432 \u0435\u0451 \u043B\u044E\u0431\u044B\u043C \u043F\u0440\u0435\u0434\u043C\u0435\u0442\u043E\u043C. \n\u041E\u0442\u043B\u0438\u0447\u043D\u043E \u043F\u043E\u0434\u0445\u043E\u0434\u0438\u0442 \u0434\u043B\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439 \u043D\u0435\u0439\u0442\u0440\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u0438 \u043E\u0434\u043D\u043E\u0433\u043E \u0432\u0440\u0430\u0433\u0430. \n\u041A \u0442\u043E\u043C\u0443 \u0436\u0435 \u0432 \u043D\u0435\u0451 \u043C\u043E\u0436\u043D\u043E \u043F\u043E\u0439\u043C\u0430\u0442\u044C \u0430\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043D\u044B\u0445 \u0436\u0438\u0432\u043E\u0442\u043D\u044B\u0445 \u0438\u043B\u0438 \u043D\u0430\u0434\u043E\u0435\u0434\u043B\u0438\u0432\u044B\u0445 \u043E\u0445\u0440\u0430\u043D\u043D\u044B\u0445 \u0431\u043E\u0442\u043E\u0432. \n\u0423\u0447\u0438\u0442\u044B\u0432\u0430\u0439\u0442\u0435, \u0447\u0442\u043E \u0441\u0435\u0442\u044C \u043D\u0435 \u043C\u0435\u0448\u0430\u0435\u0442 \u0436\u0435\u0440\u0442\u0432\u0435 \u043E\u0442\u0441\u0442\u0440\u0435\u043B\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043E\u0442 \u0432\u0430\u0441. \n\u0422\u0430\u043A \u0436\u0435 \u0441\u0435\u0442\u044C \u043B\u0435\u0433\u043A\u043E \u043F\u043E\u043A\u0438\u043D\u0443\u0442\u044C \u0434\u0440\u0443\u0433\u0438\u043C \u043F\u0443\u0442\u0451\u043C, \u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0430\u0446\u0438\u0435\u0439. \n\u0410\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u044F \u0441\u0435\u0442\u0438 - \u043F\u0440\u0435\u0440\u044B\u0432\u0430\u0435\u0442 \u043F\u0430\u0441\u0441\u0438\u0432\u043D\u044B\u0435 \u044D\u0444\u0444\u0435\u043A\u0442\u044B \u043D\u0430\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0435 \u043D\u0430 \u0432\u0430\u0441. \u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440 \u043D\u0435\u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C. \n\u0421\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u0430\u043A\u0442\u0438\u0432\u0430\u0446\u0438\u0438: 4000 \u0435\u0434. \u044D\u043D\u0435\u0440\u0433\u0438\u0438.",position:"right"})]}),(0,e.createComponentVNode)(2,t.Button,{className:N[4]?x[0].disabled:x[0].red,height:"64px",width:"100%",disabled:N[4],onClick:function(){function B(){return g("give_ability",{style:"spider_red",row:"5"})}return B}(),children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C.spider_red,style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Tooltip,{title:"\u0411\u041E\u0415\u0412\u041E\u0415 \u0418\u0421\u041A\u0423\u0421\u0421\u0422\u0412\u041E \n\u041F\u041E\u041B\u0417\u0423\u0427\u0415\u0419 \u0412\u0414\u041E\u0412\u042B",content:"\u0411\u043E\u0435\u0432\u043E\u0435 \u0438\u0441\u043A\u0443\u0441\u0441\u0442\u0432\u043E \u043D\u0438\u043D\u0434\u0437\u044F \u0441\u043E\u0441\u0440\u0435\u0434\u043E\u0442\u043E\u0447\u0435\u043D\u043D\u043E\u0435 \u043D\u0430 \u043D\u0430\u043A\u043E\u043F\u043B\u0435\u043D\u0438\u0438 \u043A\u043E\u043D\u0446\u0435\u043D\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0440\u0438\u0451\u043C\u043E\u0432. \n\u0412 \u0443\u0447\u0435\u043D\u0438\u0435 \u0432\u0445\u043E\u0434\u044F\u0442 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u043F\u0440\u0438\u0451\u043C\u044B: \n\u0412\u044B\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435 \u0440\u0443\u043A\u0438 - \u0437\u0430\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u0436\u0435\u0440\u0442\u0432\u0443 \u0432\u044B\u0440\u043E\u043D\u0438\u0442\u044C \u0441\u0432\u043E\u0451 \u043E\u0440\u0443\u0436\u0438\u0435. \n\u0423\u0434\u0430\u0440 \u043B\u0430\u0434\u043E\u043D\u044C\u044E - \u043E\u0442\u043A\u0438\u0434\u044B\u0432\u0430\u0435\u0442 \u0436\u0435\u0440\u0442\u0432\u0443 \u043D\u0430 \u043D\u0435\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043C\u0435\u0442\u0440\u043E\u0432 \u043E\u0442 \u0432\u0430\u0441, \u043B\u0438\u0448\u0430\u044F \u0440\u0430\u0432\u043D\u043E\u0432\u0435\u0441\u0438\u044F. \n\u041F\u0435\u0440\u0435\u0440\u0435\u0437\u0430\u043D\u0438\u0435 \u0448\u0435\u0438 - \u043C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E \u043E\u0431\u0435\u0437\u0433\u043B\u0430\u0432\u043B\u0438\u0432\u0430\u0435\u0442 \u043B\u0435\u0436\u0430\u0447\u0443\u044E \u0436\u0435\u0440\u0442\u0432\u0443 \u043A\u0430\u0442\u0430\u043D\u043E\u0439 \u0432\u043E \u0432\u0441\u043F\u043E\u043C\u043E\u0433\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u0439 \u0440\u0443\u043A\u0435. \n\u042D\u043D\u0435\u0440\u0433\u0435\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435 \u0442\u043E\u0440\u043D\u0430\u0434\u043E - \u0440\u0430\u0441\u043A\u0438\u0434\u044B\u0432\u0430\u0435\u0442 \u0432\u0440\u0430\u0433\u043E\u0432 \u0432\u043E\u043A\u0440\u0443\u0433 \u0432\u0430\u0441 \u0438 \u0441\u043E\u0437\u0434\u0430\u0451\u0442 \u043E\u0431\u043B\u0430\u043A\u043E \u0434\u044B\u043C\u0430 \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438 \u0430\u043A\u0442\u0438\u0432\u043D\u043E\u0433\u043E \u0434\u044B\u043C\u043E\u0432\u043E\u0433\u043E \u0443\u0441\u0442\u0440\u043E\u0439\u0441\u0442\u0432\u0430 \u0438 \u044D\u043D\u0435\u0440\u0433\u0438\u0438. \n\u0422\u0430\u043A \u0436\u0435 \u0432\u044B \u043E\u0431\u0443\u0447\u0430\u0435\u0442\u0435\u0441\u044C \u0441 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0451\u043D\u043D\u044B\u043C \u0448\u0430\u043D\u0441\u043E\u043C \u043E\u0442\u0440\u0430\u0436\u0430\u0442\u044C \u0441\u043D\u044F\u0440\u044F\u0434\u044B \u0432\u0440\u0430\u0433\u043E\u0432 \u043E\u0431\u0440\u0430\u0442\u043D\u043E.",position:"right"})]})]})]})]})})},f=r.ShuttleConsole=function(){function m(c,v){var b=(0,a.useBackend)(v),g=b.act,h=b.data;return(0,e.createComponentVNode)(2,t.Section,{title:"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0448\u0430\u0442\u0442\u043B\u043E\u043C",style:{"text-align":"center"},buttons:(0,e.createComponentVNode)(2,t.Button,{content:"?",tooltip:"\u041F\u0430\u043D\u0435\u043B\u044C \u0434\u043B\u044F \u0443\u0434\u0430\u043B\u0451\u043D\u043D\u043E\u0433\u043E \u0443\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0432\u0430\u0448\u0438\u043C \u043B\u0438\u0447\u043D\u044B\u043C \u0448\u0430\u0442\u0442\u043B\u043E\u043C. \u0422\u0430\u043A \u0436\u0435 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0432\u0430\u0448\u0443 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0438 \u043F\u043E\u0437\u0438\u0446\u0438\u044E \u0441\u0430\u043C\u043E\u0433\u043E \u0448\u0430\u0442\u0442\u043B\u0430!",tooltipPosition:"right"}),children:(0,e.createComponentVNode)(2,t.Flex,{ml:2,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F",children:h.status?h.status:(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"Shuttle Missing"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0412\u0430\u0448\u0430 \u043F\u043E\u0437\u0438\u0446\u0438\u044F",children:h.player_pos}),!!h.shuttle&&(!!h.docking_ports_len&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0448\u0430\u0442\u0442\u043B",children:h.docking_ports.map(function(C){return(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",content:C.name,onClick:function(){function N(){return g("move",{move:C.id})}return N}()},C.name)})})||(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledListItem,{label:"Status",color:"red",children:(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"Shuttle Locked"})}),!!h.admin_controlled&&(0,e.createComponentVNode)(2,o.LabeledListItem,{label:"\u0410\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-circle",content:"\u0417\u0430\u043F\u0440\u043E\u0441\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u0440\u0438\u0437\u0430\u0446\u0438\u044E",disabled:!h.status,onClick:function(){function C(){return g("request")}return C}()})})],0))]})})})}return m}(),u=function(c,v){var b=(0,a.useBackend)(v),g=b.data,h=g.randomPercent,C=g.allActionsPreview,N=g.color_choice;return(0,e.createComponentVNode)(2,t.Section,{stretchContents:!0,children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:N,value:h,minValue:0,maxValue:100,children:(0,e.createVNode)(1,"center",null,(0,e.createComponentVNode)(2,t.NoticeBox,{className:"NoticeBox_"+N,mt:1,children:[(0,e.createVNode)(1,"img",null,null,1,{height:"64px",width:"64px",src:"data:image/jpeg;base64,"+C["spider_"+N],style:{"margin-left":"-6px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Loading ",h+"%"]}),2)})})},s=function(m){function c(b){var g;return g=m.call(this,b)||this,g.timer=null,g.state={lastText:"text do be there",currentDisplay:[]},g}y(c,m);var v=c.prototype;return v.tick=function(){function b(){var g=this.props,h=this.state;if(g.allMessages!==h.lastText&&!g.end_terminal){var C=h.currentDisplay;C.push(g.allMessages),h.lastText=g.allMessages}else g.end_terminal&&(clearTimeout(this.timer),setTimeout(g.onFinished,g.finishedTimeout))}return b}(),v.componentDidMount=function(){function b(){var g=this,h=this.props.linesPerSecond,C=h===void 0?2.5:h;this.timer=setInterval(function(){return g.tick()},1e3/C)}return b}(),v.componentWillUnmount=function(){function b(){clearTimeout(this.timer)}return b}(),v.render=function(){function b(){return(0,e.createComponentVNode)(2,t.Box,{m:1,children:this.state.currentDisplay.map(function(g){return(0,e.createFragment)([g,(0,e.createVNode)(1,"br")],0,g)})})}return b}(),c}(e.Component)},38307:function(I,r,n){"use strict";r.__esModule=!0,r.StationAlertConsoleContent=r.StationAlertConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.StationAlertConsole=function(){function V(){return(0,e.createComponentVNode)(2,o.Window,{width:325,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,y)})})}return V}(),y=r.StationAlertConsoleContent=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.data,l=i.alarms||[];return Object.keys(l).map(function(f){var u,s;return(0,e.createComponentVNode)(2,t.Section,{title:f+" Alarms",children:(0,e.createVNode)(1,"ul",null,((u=l[f])==null?void 0:u.length)===0?(0,e.createVNode)(1,"li","color-good","Systems Nominal",16):(s=l[f])==null?void 0:s.map(function(m){return(0,e.createVNode)(1,"li","color-average",m,0,null,m)}),0)},f)})}return V}()},39409:function(I,r,n){"use strict";r.__esModule=!0,r.StripMenu=void 0;var e=n(89005),a=n(88510),t=n(79140),o=n(72253),d=n(36036),y=n(98595),V=5,k=9,S=function(b){return b===0?5:9},p="64px",i=function(b){return b[0]+"/"+b[1]},l=function(b){var g=b.align,h=b.children;return(0,e.createComponentVNode)(2,d.Box,{style:{position:"absolute",left:g==="left"?"6px":"48px","text-align":g,"text-shadow":"2px 2px 2px #000",top:"2px"},children:h})},f={enable_internals:{icon:"lungs",text:"Enable internals"},disable_internals:{icon:"lungs",text:"Disable internals"},enable_lock:{icon:"lock",text:"Enable lock"},disable_lock:{icon:"unlock",text:"Disable lock"},suit_sensors:{icon:"tshirt",text:"Adjust suit sensors"},remove_accessory:{icon:"medal",text:"Remove accessory"},dislodge_headpocket:{icon:"head-side-virus",text:"Dislodge headpocket"}},u={neck:{displayName:"neck",gridSpot:i([0,0]),image:"inventory-neck.png"},eyes:{displayName:"eyewear",gridSpot:i([1,0]),image:"inventory-glasses.png"},head:{displayName:"headwear",gridSpot:i([0,1]),image:"inventory-head.png"},mask:{displayName:"mask",gridSpot:i([1,1]),image:"inventory-mask.png"},pet_collar:{displayName:"collar",gridSpot:i([1,1]),image:"inventory-collar.png"},right_ear:{displayName:"right ear",gridSpot:i([0,2]),image:"inventory-ears.png"},left_ear:{displayName:"left ear",gridSpot:i([1,2]),image:"inventory-ears.png"},parrot_headset:{displayName:"headset",gridSpot:i([1,2]),image:"inventory-ears.png"},handcuffs:{displayName:"handcuffs",gridSpot:i([1,3])},legcuffs:{displayName:"legcuffs",gridSpot:i([1,4])},jumpsuit:{displayName:"uniform",gridSpot:i([2,0]),image:"inventory-uniform.png"},suit:{displayName:"suit",gridSpot:i([2,1]),image:"inventory-suit.png"},gloves:{displayName:"gloves",gridSpot:i([2,2]),image:"inventory-gloves.png"},right_hand:{displayName:"right hand",gridSpot:i([2,3]),image:"inventory-hand_r.png",additionalComponent:(0,e.createComponentVNode)(2,l,{align:"left",children:"R"})},left_hand:{displayName:"left hand",gridSpot:i([2,4]),image:"inventory-hand_l.png",additionalComponent:(0,e.createComponentVNode)(2,l,{align:"right",children:"L"})},shoes:{displayName:"shoes",gridSpot:i([3,1]),image:"inventory-shoes.png"},suit_storage:{displayName:"suit storage",gridSpot:i([4,0]),image:"inventory-suit_storage.png"},id:{displayName:"ID",gridSpot:i([4,1]),image:"inventory-id.png"},belt:{displayName:"belt",gridSpot:i([4,2]),image:"inventory-belt.png"},back:{displayName:"backpack",gridSpot:i([4,3]),image:"inventory-back.png"},left_pocket:{displayName:"left pocket",gridSpot:i([3,4]),image:"inventory-pocket.png"},right_pocket:{displayName:"right pocket",gridSpot:i([3,3]),image:"inventory-pocket.png"},pda:{displayName:"PDA",gridSpot:i([4,4]),image:"inventory-pda.png"}},s={neck:{displayName:"neck",gridSpot:i([0,0]),image:"inventory-neck.png"},eyes:{displayName:"eyewear",gridSpot:i([1,0]),image:"inventory-glasses.png"},head:{displayName:"headwear",gridSpot:i([0,1]),image:"inventory-head.png"},mask:{displayName:"mask",gridSpot:i([1,1]),image:"inventory-mask.png"},pet_collar:{displayName:"collar",gridSpot:i([1,1]),image:"inventory-collar.png"},right_ear:{displayName:"right ear",gridSpot:i([0,2]),image:"inventory-ears.png"},left_ear:{displayName:"left ear",gridSpot:i([1,2]),image:"inventory-ears.png"},parrot_headset:{displayName:"headset",gridSpot:i([1,2]),image:"inventory-ears.png"},handcuffs:{displayName:"handcuffs",gridSpot:i([1,3])},legcuffs:{displayName:"legcuffs",gridSpot:i([1,4])},jumpsuit:{displayName:"uniform",gridSpot:i([2,0]),image:"inventory-uniform.png"},suit:{displayName:"suit",gridSpot:i([2,1]),image:"inventory-suit.png"},gloves:{displayName:"gloves",gridSpot:i([2,2]),image:"inventory-gloves.png"},right_hand:{displayName:"right hand",gridSpot:i([4,4]),image:"inventory-hand_r.png",additionalComponent:(0,e.createComponentVNode)(2,l,{align:"left",children:"R"})},left_hand:{displayName:"left hand",gridSpot:i([4,5]),image:"inventory-hand_l.png",additionalComponent:(0,e.createComponentVNode)(2,l,{align:"right",children:"L"})},shoes:{displayName:"shoes",gridSpot:i([3,1]),image:"inventory-shoes.png"},suit_storage:{displayName:"suit storage",gridSpot:i([4,0]),image:"inventory-suit_storage.png"},id:{displayName:"ID",gridSpot:i([4,1]),image:"inventory-id.png"},belt:{displayName:"belt",gridSpot:i([4,2]),image:"inventory-belt.png"},back:{displayName:"backpack",gridSpot:i([4,3]),image:"inventory-back.png"},left_pocket:{displayName:"left pocket",gridSpot:i([4,7]),image:"inventory-pocket.png"},right_pocket:{displayName:"right pocket",gridSpot:i([4,6]),image:"inventory-pocket.png"},pda:{displayName:"PDA",gridSpot:i([4,8]),image:"inventory-pda.png"}},m=function(v){return v[v.Completely=1]="Completely",v[v.Hidden=2]="Hidden",v}(m||{}),c=r.StripMenu=function(){function v(b,g){var h=(0,o.useBackend)(g),C=h.act,N=h.data,x=new Map;if(N.show_mode===0)for(var B=0,L=Object.keys(N.items);B300?"bad":f>150?"average":"good"},k=function(f){return f>5e3?"bad":f>4e3?"average":"good"},S=function(f){return f>1e4?"bad":f>5e3?"average":"good"},p=function(f,u){var s=(0,a.useBackend)(u),m=s.act,c=s.data;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:325,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Detected Supermatter Shards",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Refresh",onClick:function(){function v(){return m("refresh")}return v}()}),children:(0,e.createComponentVNode)(2,t.Box,{m:1,children:c.supermatters.length===0?(0,e.createVNode)(1,"h3",null,"No shards detected",16):(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,d.TableCell,{children:"Area"}),(0,e.createComponentVNode)(2,d.TableCell,{children:"Integrity"}),(0,e.createComponentVNode)(2,d.TableCell,{children:"Details"})]}),c.supermatters.map(function(v){return(0,e.createComponentVNode)(2,d.TableRow,{children:[(0,e.createComponentVNode)(2,d.TableCell,{children:v.area_name}),(0,e.createComponentVNode)(2,d.TableCell,{children:[v.integrity,"%"]}),(0,e.createComponentVNode)(2,d.TableCell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"View",onClick:function(){function b(){return m("view",{view:v.uid})}return b}()})})]},v)})]})})})})})},i=function(f,u){var s=(0,a.useBackend)(u),m=s.act,c=s.data;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:325,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Crystal Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"caret-square-left",content:"Back",onClick:function(){function v(){return m("back")}return v}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Core Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[95,1/0],average:[80,94],bad:[-1/0,79]},minValue:"0",maxValue:"100",value:c.SM_integrity,children:[c.SM_integrity,"%"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Relative EER",children:(0,e.createComponentVNode)(2,t.Box,{color:V(c.SM_power),children:[c.SM_power," MeV/cm3"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.Box,{color:k(c.SM_ambienttemp),children:[c.SM_ambienttemp," K"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:(0,e.createComponentVNode)(2,t.Box,{color:S(c.SM_ambientpressure),children:[c.SM_ambientpressure," kPa"]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Gas Composition",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen",children:[c.SM_gas_O2,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Carbon Dioxide",children:[c.SM_gas_CO2,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrogen",children:[c.SM_gas_N2,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Plasma",children:[c.SM_gas_PL,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Other",children:[c.SM_gas_OTHER,"%"]})]})})]})})}},46029:function(I,r,n){"use strict";r.__esModule=!0,r.SyndicateComputerSimple=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(29319),d=n(98595),y=r.SyndicateComputerSimple=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data;return(0,e.createComponentVNode)(2,d.Window,{width:400,height:400,theme:"syndicate",children:(0,e.createComponentVNode)(2,d.Window.Content,{children:l.rows.map(function(f){return(0,e.createComponentVNode)(2,t.Section,{title:f.title,buttons:(0,e.createComponentVNode)(2,t.Button,{content:f.buttontitle,disabled:f.buttondisabled,tooltip:f.buttontooltip,tooltipPosition:"left",onClick:function(){function u(){return i(f.buttonact)}return u}()}),children:[f.status,!!f.bullets&&(0,e.createComponentVNode)(2,t.Box,{children:f.bullets.map(function(u){return(0,e.createComponentVNode)(2,t.Box,{children:u},u)})})]},f.title)})})})}return V}()},99279:function(I,r,n){"use strict";r.__esModule=!0,r.SyndieCargoConsole=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),d=n(36036),y=n(98595),V=n(29319),k=n(25328),S=r.SyndieCargoConsole=function(){function u(s,m){return(0,e.createComponentVNode)(2,y.Window,{width:900,height:800,theme:"syndicate",children:(0,e.createComponentVNode)(2,y.Window.Content,{children:[(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,f)]})})}return u}(),p=function(s,m){var c=(0,o.useLocalState)(m,"contentsModal",null),v=c[0],b=c[1],g=(0,o.useLocalState)(m,"contentsModalTitle",null),h=g[0],C=g[1];if(v!==null&&h!==null)return(0,e.createComponentVNode)(2,d.Modal,{maxWidth:"75%",width:window.innerWidth+"px",maxHeight:window.innerHeight*.75+"px",mx:"auto",children:[(0,e.createComponentVNode)(2,d.Box,{width:"100%",bold:!0,children:(0,e.createVNode)(1,"h1",null,[h,(0,e.createTextVNode)(" contents:")],0)}),(0,e.createComponentVNode)(2,d.Box,{children:v.map(function(N){return(0,e.createComponentVNode)(2,d.Box,{children:["- ",N]},N)})}),(0,e.createComponentVNode)(2,d.Box,{m:2,children:(0,e.createComponentVNode)(2,d.Button,{content:"Close",onClick:function(){function N(){b(null),C(null)}return N}()})})]})},i=function(s,m){var c=(0,o.useBackend)(m),v=c.act,b=c.data,g=b.is_public,h=g===void 0?0:g,C=b.cash,N=b.wait_time,x=b.is_cooldown,B=b.telepads_status,L=b.adminAddCash,w=B,A="",T=0,E="";return B==="Pads not linked!"?(T=0,A="Attempts to link telepads to the console.",E="Link pads"):x?x&&(E="Cooldown...",A="Pads are cooling off...",T=1,N!==1?w=""+B+" (ETA: "+N+" seconds)":w=""+B+" (ETA: "+N+" second)"):(T=0,A="Teleports your crates to the market. A reminder, some of the crates are directly stolen from NT trading routes. That means they can be locked. We are NOT sorry for the inconvenience",E="Teleport"),(0,e.createComponentVNode)(2,d.Section,{title:"Status",children:(0,e.createComponentVNode)(2,d.LabeledList,{children:[h===0&&(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Money Available",children:[C,(0,e.createComponentVNode)(2,d.Button,{tooltip:"Withdraw money from the console",content:"Withdraw",onClick:function(){function O(){return v("withdraw",C)}return O}()}),(0,e.createComponentVNode)(2,d.Button,{content:L,tooltip:"Bless the players with da money!",onClick:function(){function O(){return v("add_money",C)}return O}()})]}),(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Telepads Status",children:w}),h===0&&(0,e.createComponentVNode)(2,d.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,d.Button,{content:E,tooltip:A,disabled:T,onClick:function(){function O(){return v("teleport")}return O}()}),(0,e.createComponentVNode)(2,d.Button,{content:"View Syndicate Black Market Log",onClick:function(){function O(){return v("showMessages")}return O}()})]})]})})},l=function(s,m){var c=(0,o.useBackend)(m),v=c.act,b=c.data,g=b.categories,h=b.supply_packs,C=(0,o.useSharedState)(m,"category","Emergency"),N=C[0],x=C[1],B=(0,o.useSharedState)(m,"search_text",""),L=B[0],w=B[1],A=(0,o.useLocalState)(m,"contentsModal",null),T=A[0],E=A[1],O=(0,o.useLocalState)(m,"contentsModalTitle",null),P=O[0],R=O[1],F=(0,k.createSearch)(L,function(z){return z.name}),j=(0,a.flow)([(0,t.filter)(function(z){return z.cat===g.filter(function(H){return H.name===N})[0].category||L}),L&&(0,t.filter)(F),(0,t.sortBy)(function(z){return z.name.toLowerCase()})])(h),W="Crate Catalogue";return L?W="Results for '"+L+"':":N&&(W="Browsing "+N),(0,e.createComponentVNode)(2,d.Section,{title:W,buttons:(0,e.createComponentVNode)(2,d.Dropdown,{width:"190px",options:g.map(function(z){return z.name}),selected:N,onSelected:function(){function z(H){return x(H)}return z}()}),children:[(0,e.createComponentVNode)(2,d.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function z(H,$){return w($)}return z}(),mb:1}),(0,e.createComponentVNode)(2,d.Box,{maxHeight:25,overflowY:"auto",overflowX:"hidden",children:(0,e.createComponentVNode)(2,d.Table,{m:"0.5rem",children:j.map(function(z){return(0,e.createComponentVNode)(2,d.Table.Row,{children:[(0,e.createComponentVNode)(2,d.Table.Cell,{bold:!0,children:[z.name," (",z.cost," Credits)"]}),(0,e.createComponentVNode)(2,d.Table.Cell,{textAlign:"right",pr:1,children:[(0,e.createComponentVNode)(2,d.Button,{content:"Order 1",icon:"shopping-cart",onClick:function(){function H(){return v("order",{crate:z.ref,multiple:0})}return H}()}),(0,e.createComponentVNode)(2,d.Button,{content:"Order Multiple",icon:"cart-plus",onClick:function(){function H(){return v("order",{crate:z.ref,multiple:1})}return H}()}),(0,e.createComponentVNode)(2,d.Button,{content:"View Contents",icon:"search",onClick:function(){function H(){E(z.contents),R(z.name)}return H}()})]})]},z.name)})})})]})},f=function(s,m){var c=(0,o.useBackend)(m),v=c.act,b=c.data,g=b.requests,h=b.canapprove,C=b.orders;return(0,e.createComponentVNode)(2,d.Section,{title:"Details",children:(0,e.createComponentVNode)(2,d.Box,{maxHeight:15,overflowY:"auto",overflowX:"hidden",children:[(0,e.createComponentVNode)(2,d.Box,{bold:!0,children:"Requests"}),(0,e.createComponentVNode)(2,d.Table,{m:"0.5rem",children:g.map(function(N){return(0,e.createComponentVNode)(2,d.Table.Row,{children:[(0,e.createComponentVNode)(2,d.Table.Cell,{children:[(0,e.createComponentVNode)(2,d.Box,{children:["- #",N.ordernum,": ",N.supply_type," for ",(0,e.createVNode)(1,"b",null,N.orderedby,0)]}),(0,e.createComponentVNode)(2,d.Box,{italic:!0,children:["Reason: ",N.comment]})]}),(0,e.createComponentVNode)(2,d.Table.Cell,{textAlign:"right",pr:1,children:[(0,e.createComponentVNode)(2,d.Button,{content:"Approve",color:"green",disabled:!h,onClick:function(){function x(){return v("approve",{ordernum:N.ordernum})}return x}()}),(0,e.createComponentVNode)(2,d.Button,{content:"Deny",color:"red",onClick:function(){function x(){return v("deny",{ordernum:N.ordernum})}return x}()})]})]},N.ordernum)})}),(0,e.createComponentVNode)(2,d.Box,{bold:!0,children:"Confirmed Orders"}),(0,e.createComponentVNode)(2,d.Table,{m:"0.5rem",children:C.map(function(N){return(0,e.createComponentVNode)(2,d.Table.Row,{children:(0,e.createComponentVNode)(2,d.Table.Cell,{children:[(0,e.createComponentVNode)(2,d.Box,{children:["- #",N.ordernum,": ",N.supply_type," for ",(0,e.createVNode)(1,"b",null,N.orderedby,0)]}),(0,e.createComponentVNode)(2,d.Box,{italic:!0,children:["Reason: ",N.comment]})]})},N.ordernum)})})]})})}},44852:function(I,r,n){"use strict";r.__esModule=!0,r.TTSSeedsExplorerContent=r.TTSSeedsExplorer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d={0:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u044B\u0435",1:"Tier I",2:"Tier II",3:"Tier III",4:"Tier IV"},y={\u041C\u0443\u0436\u0441\u043A\u043E\u0439:{icon:"mars",color:"blue"},\u0416\u0435\u043D\u0441\u043A\u0438\u0439:{icon:"venus",color:"purple"},\u041B\u044E\u0431\u043E\u0439:{icon:"venus-mars",color:"white"}},V=function(i,l,f,u){return u===void 0&&(u=null),i.map(function(s){var m,c=(m=s[u])!=null?m:s;return(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:l.includes(s),content:c,onClick:function(){function v(){l.includes(s)?f(l.filter(function(b){var g;return((g=b[u])!=null?g:b)!==s})):f([s].concat(l))}return v}()},c)})},k=r.TTSSeedsExplorer=function(){function p(i,l){return(0,e.createComponentVNode)(2,o.Window,{width:700,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,S)})})}return p}(),S=r.TTSSeedsExplorerContent=function(){function p(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.providers,c=s.seeds,v=s.selected_seed,b=s.phrases,g=s.donator_level,h=c.map(function(Z){return Z.category}).filter(function(Z,J,te){return te.indexOf(Z)===J}),C=c.map(function(Z){return Z.gender}).filter(function(Z,J,te){return te.indexOf(Z)===J}),N=c.map(function(Z){return Z.donator_level}).filter(function(Z,J,te){return te.indexOf(Z)===J}).map(function(Z){return d[Z]}),x=(0,a.useLocalState)(l,"selectedProviders",m),B=x[0],L=x[1],w=(0,a.useLocalState)(l,"selectedGenders",C),A=w[0],T=w[1],E=(0,a.useLocalState)(l,"selectedCategories",h),O=E[0],P=E[1],R=(0,a.useLocalState)(l,"selectedDonatorLevels",N),F=R[0],j=R[1],W=(0,a.useLocalState)(l,"selectedPhrase",b[0]),z=W[0],H=W[1],$=(0,a.useLocalState)(l,"searchtext",""),G=$[0],ne=$[1],Q=V(m,B,L,"name"),he=V(C,A,T),Ve=V(h,O,P),Ne=V(N,F,j),Be=(0,e.createComponentVNode)(2,t.Dropdown,{options:b,selected:z.replace(/(.{25})..+/,"$1..."),width:"220px",onSelected:function(){function Z(J){return H(J)}return Z}()}),Le=(0,e.createComponentVNode)(2,t.Input,{placeholder:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435...",fluid:!0,onInput:function(){function Z(J,te){return ne(te)}return Z}()}),Ae=c.sort(function(Z,J){var te=Z.name.toLowerCase(),ee=J.name.toLowerCase();return te>ee?1:te0&&v!==Z.name?"orange":"white",children:Z.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:v===Z.name?.5:.25,textAlign:"left",children:Z.category}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:.5,textColor:v===Z.name?"white":y[Z.gender].color,textAlign:"left",children:(0,e.createComponentVNode)(2,t.Icon,{mx:1,size:1.2,name:y[Z.gender].icon})}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:.5,textColor:"white",textAlign:"right",children:Z.donator_level>0&&(0,e.createFragment)([d[Z.donator_level],(0,e.createComponentVNode)(2,t.Icon,{ml:1,mr:2,name:"coins"})],0)})]},Z.name)});return(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",fill:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u044B",children:Q}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u043E\u043B",children:he}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438",children:Ve}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438",children:Ne}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0424\u0440\u0430\u0437\u0430",children:Be}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u043E\u0438\u0441\u043A",children:Le})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{scrollable:!0,fill:!0,title:"\u0413\u043E\u043B\u043E\u0441\u0430 ("+Ae.length+"/"+c.length+")",children:(0,e.createComponentVNode)(2,t.Table,{children:fe})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.BlockQuote,{children:[(0,e.createComponentVNode)(2,t.Box,{children:"\u0414\u043B\u044F \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044F \u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044F \u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0432 \u0443\u0441\u043B\u043E\u0432\u0438\u044F\u0445 \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0445 \u0440\u0430\u0441\u0445\u043E\u0434\u043E\u0432 \u0447\u0430\u0441\u0442\u044C \u0433\u043E\u043B\u043E\u0441\u043E\u0432 \u043F\u0440\u0438\u0448\u043B\u043E\u0441\u044C \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u043C\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0437\u0430 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u0443\u044E \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0443 \u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0430."}),(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435 \u043E\u0431 \u044D\u0442\u043E\u043C \u043C\u043E\u0436\u043D\u043E \u0443\u0437\u043D\u0430\u0442\u044C \u0432 \u043D\u0430\u0448\u0435\u043C Discord-\u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0435."})]})})})]})}return p}()},56441:function(I,r,n){"use strict";r.__esModule=!0,r.TachyonArrayContent=r.TachyonArray=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.TachyonArray=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.records,u=f===void 0?[]:f,s=l.explosion_target,m=l.toxins_tech,c=l.printing;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shift's Target",children:s}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Toxins Level",children:m}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Administration",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print All Logs",disabled:!u.length||c,align:"center",onClick:function(){function v(){return i("print_logs")}return v}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash",content:"Delete All Logs",disabled:!u.length,color:"bad",align:"center",onClick:function(){function v(){return i("delete_logs")}return v}()})]})]})}),u.length?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No Records"})]})})}return V}(),y=r.TachyonArrayContent=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.records,u=f===void 0?[]:f;return(0,e.createComponentVNode)(2,t.Section,{title:"Logged Explosions",children:(0,e.createComponentVNode)(2,t.Flex,{children:(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Time"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Epicenter"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Actual Size"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Theoretical Size"})]}),u.map(function(s){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.logged_time}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.epicenter}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.actual_size_message}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.theoretical_size_message}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash",content:"Delete",color:"bad",onClick:function(){function m(){return i("delete_record",{index:s.index})}return m}()})})]},s.index)})]})})})})}return V}()},1754:function(I,r,n){"use strict";r.__esModule=!0,r.Tank=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.Tank=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l;return i.has_mask?l=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mask",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.connected?"check":"times",content:i.connected?"Internals On":"Internals Off",selected:i.connected,onClick:function(){function f(){return p("internals")}return f}()})}):l=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mask",color:"red",children:"No Mask Equipped"}),(0,e.createComponentVNode)(2,o.Window,{width:300,height:150,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tank Pressure",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:i.tankPressure/1013,ranges:{good:[.35,1/0],average:[.15,.35],bad:[-1/0,.15]},children:i.tankPressure+" kPa"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Release Pressure",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,tooltip:"Min",onClick:function(){function f(){return p("pressure",{pressure:"min"})}return f}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(){function f(u,s){return p("pressure",{pressure:s})}return f}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,tooltip:"Max",onClick:function(){function f(){return p("pressure",{pressure:"max"})}return f}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,tooltip:"Reset",onClick:function(){function f(){return p("pressure",{pressure:"reset"})}return f}()})]}),l]})})})})}return y}()},7579:function(I,r,n){"use strict";r.__esModule=!0,r.TankDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.TankDispenser=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.o_tanks,f=i.p_tanks;return(0,e.createComponentVNode)(2,o.Window,{width:275,height:100,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Dispense Oxygen Tank ("+l+")",disabled:l===0,icon:"arrow-circle-down",onClick:function(){function u(){return p("oxygen")}return u}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Dispense Plasma Tank ("+f+")",disabled:f===0,icon:"arrow-circle-down",onClick:function(){function u(){return p("plasma")}return u}()})})]})})}return y}()},16136:function(I,r,n){"use strict";r.__esModule=!0,r.TcommsCore=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.TcommsCore=function(){function p(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.ion,c=(0,a.useLocalState)(l,"tabIndex",0),v=c[0],b=c[1],g=function(){function h(C){switch(C){case 0:return(0,e.createComponentVNode)(2,V);case 1:return(0,e.createComponentVNode)(2,k);case 2:return(0,e.createComponentVNode)(2,S);default:return"SOMETHING WENT VERY WRONG PLEASE AHELP"}}return h}();return(0,e.createComponentVNode)(2,o.Window,{width:900,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[m===1&&(0,e.createComponentVNode)(2,y),(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===0,onClick:function(){function h(){return b(0)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"wrench"}),"Configuration"]},"ConfigPage"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===1,onClick:function(){function h(){return b(1)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"link"}),"Device Linkage"]},"LinkagePage"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===2,onClick:function(){function h(){return b(2)}return h}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-times"}),"User Filtering"]},"FilterPage")]}),g(v)]})})}return p}(),y=function(){return(0,e.createComponentVNode)(2,t.NoticeBox,{children:"ERROR: An Ionospheric overload has occured. Please wait for the machine to reboot. This cannot be manually done."})},V=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.active,c=s.sectors_available,v=s.nttc_toggle_jobs,b=s.nttc_toggle_job_color,g=s.nttc_toggle_name_color,h=s.nttc_toggle_command_bold,C=s.nttc_job_indicator_type,N=s.nttc_setting_language,x=s.network_id;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Machine Power",children:(0,e.createComponentVNode)(2,t.Button,{content:m?"On":"Off",selected:m,icon:"power-off",onClick:function(){function B(){return u("toggle_active")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sector Coverage",children:c})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Radio Configuration",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Announcements",children:(0,e.createComponentVNode)(2,t.Button,{content:v?"On":"Off",selected:v,icon:"user-tag",onClick:function(){function B(){return u("nttc_toggle_jobs")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Departmentalisation",children:(0,e.createComponentVNode)(2,t.Button,{content:b?"On":"Off",selected:b,icon:"clipboard-list",onClick:function(){function B(){return u("nttc_toggle_job_color")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name Departmentalisation",children:(0,e.createComponentVNode)(2,t.Button,{content:g?"On":"Off",selected:g,icon:"user-tag",onClick:function(){function B(){return u("nttc_toggle_name_color")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Command Amplification",children:(0,e.createComponentVNode)(2,t.Button,{content:h?"On":"Off",selected:h,icon:"volume-up",onClick:function(){function B(){return u("nttc_toggle_command_bold")}return B}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Advanced",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Announcement Format",children:(0,e.createComponentVNode)(2,t.Button,{content:C||"Unset",selected:C,icon:"pencil-alt",onClick:function(){function B(){return u("nttc_job_indicator_type")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Language Conversion",children:(0,e.createComponentVNode)(2,t.Button,{content:N||"Unset",selected:N,icon:"globe",onClick:function(){function B(){return u("nttc_setting_language")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network ID",children:(0,e.createComponentVNode)(2,t.Button,{content:x||"Unset",selected:x,icon:"server",onClick:function(){function B(){return u("network_id")}return B}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Maintenance",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Import Configuration",icon:"file-import",onClick:function(){function B(){return u("import")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Export Configuration",icon:"file-export",onClick:function(){function B(){return u("export")}return B}()})]})],4)},k=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.link_password,c=s.relay_entries;return(0,e.createComponentVNode)(2,t.Section,{title:"Device Linkage",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linkage Password",children:(0,e.createComponentVNode)(2,t.Button,{content:m||"Unset",selected:m,icon:"lock",onClick:function(){function v(){return u("change_password")}return v}()})})}),(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Sector"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Unlink"})]}),c.map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.sector}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.status===1?(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Online"}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Offline"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Unlink",icon:"unlink",onClick:function(){function b(){return u("unlink",{addr:v.addr})}return b}()})})]},v.addr)})]})]})},S=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=f.data,m=s.filtered_users;return(0,e.createComponentVNode)(2,t.Section,{title:"User Filtering",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Add User",icon:"user-plus",onClick:function(){function c(){return u("add_filter")}return c}()}),children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{style:{width:"90%"},children:"User"}),(0,e.createComponentVNode)(2,t.Table.Cell,{style:{width:"10%"},children:"Actions"})]}),m.map(function(c){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:c}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove",icon:"user-times",onClick:function(){function v(){return u("remove_filter",{user:c})}return v}()})})]},c)})]})})}},88046:function(I,r,n){"use strict";r.__esModule=!0,r.TcommsRelay=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.TcommsRelay=function(){function k(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.linked,s=f.active,m=f.network_id;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Relay Configuration",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Machine Power",children:(0,e.createComponentVNode)(2,t.Button,{content:s?"On":"Off",selected:s,icon:"power-off",onClick:function(){function c(){return l("toggle_active")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network ID",children:(0,e.createComponentVNode)(2,t.Button,{content:m||"Unset",selected:m,icon:"server",onClick:function(){function c(){return l("network_id")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Link Status",children:u===1?(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Linked"}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Unlinked"})})]})}),u===1?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,V)]})})}return k}(),y=function(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.linked_core_id,s=f.linked_core_addr,m=f.hidden_link;return(0,e.createComponentVNode)(2,t.Section,{title:"Link Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linked Core ID",children:u}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linked Core Address",children:s}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hidden Link",children:(0,e.createComponentVNode)(2,t.Button,{content:m?"Yes":"No",icon:m?"eye-slash":"eye",selected:m,onClick:function(){function c(){return l("toggle_hidden_link")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unlink",children:(0,e.createComponentVNode)(2,t.Button,{content:"Unlink",icon:"unlink",color:"red",onClick:function(){function c(){return l("unlink")}return c}()})})]})})},V=function(S,p){var i=(0,a.useBackend)(p),l=i.act,f=i.data,u=f.cores;return(0,e.createComponentVNode)(2,t.Section,{title:"Detected Cores",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Sector"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Link"})]}),u.map(function(s){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.sector}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Link",icon:"link",onClick:function(){function m(){return l("link",{addr:s.addr})}return m}()})})]},s.addr)})]})})}},20802:function(I,r,n){"use strict";r.__esModule=!0,r.Teleporter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=n(79646),y=r.Teleporter=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.targetsTeleport?l.targetsTeleport:{},u=0,s=1,m=2,c=l.calibrated,v=l.calibrating,b=l.powerstation,g=l.regime,h=l.teleporterhub,C=l.target,N=l.locked,x=l.accuracy;return(0,e.createComponentVNode)(2,o.Window,{width:380,height:260,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(!b||!h)&&(0,e.createComponentVNode)(2,t.Section,{title:"Error",children:[h,!b&&(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:" Powerstation not linked "}),b&&!h&&(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:" Teleporter hub not linked "})]}),b&&h&&(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Regime",children:[(0,e.createComponentVNode)(2,t.Button,{tooltip:"Teleport to another teleport hub. ",color:g===s?"good":null,onClick:function(){function B(){return i("setregime",{regime:s})}return B}(),children:"Gate"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"One-way teleport. ",color:g===u?"good":null,onClick:function(){function B(){return i("setregime",{regime:u})}return B}(),children:"Teleporter"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"Teleport to a location stored in a GPS device. ",color:g===m?"good":null,disabled:!N,onClick:function(){function B(){return i("setregime",{regime:m})}return B}(),children:"GPS"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Teleport target",children:[g===u&&(0,e.createComponentVNode)(2,t.Dropdown,{width:"220px",selected:C,options:Object.keys(f),color:C!=="None"?"default":"bad",onSelected:function(){function B(L){return i("settarget",{x:f[L].x,y:f[L].y,z:f[L].z})}return B}()}),g===s&&(0,e.createComponentVNode)(2,t.Dropdown,{width:"220px",selected:C,options:Object.keys(f),color:C!=="None"?"default":"bad",onSelected:function(){function B(L){return i("settarget",{x:f[L].x,y:f[L].y,z:f[L].z})}return B}()}),g===m&&(0,e.createComponentVNode)(2,t.Box,{children:C})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Calibration",children:[C!=="None"&&(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,d.GridColumn,{size:"2",children:v&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"In Progress"})||(c||x>=3)&&(0,e.createComponentVNode)(2,t.Box,{color:"good",children:"Optimal"})||(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Sub-Optimal"})}),(0,e.createComponentVNode)(2,d.GridColumn,{size:"3",children:(0,e.createComponentVNode)(2,t.Box,{class:"ml-1",children:(0,e.createComponentVNode)(2,t.Button,{icon:"sync-alt",tooltip:"Calibrates the hub. Accidents may occur when the calibration is not optimal.",disabled:!!(c||v),onClick:function(){function B(){return i("calibrate")}return B}()})})})]}),C==="None"&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"21px",children:"No target set"})]})]})}),!!(N&&b&&h&&g===m)&&(0,e.createComponentVNode)(2,t.Section,{title:"GPS",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",justify:"space-around",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Upload GPS data",tooltip:"Loads the GPS data from the device.",icon:"upload",onClick:function(){function B(){return i("load")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject",tooltip:"Ejects the GPS device",icon:"eject",onClick:function(){function B(){return i("eject")}return B}()})]})})]})})}return V}()},24410:function(I,r,n){"use strict";r.__esModule=!0,r.sanitizeMultiline=r.removeAllSkiplines=r.TextInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(72253),d=n(92986),y=n(36036),V=n(98595),k=r.sanitizeMultiline=function(){function l(f){return f.replace(/(\n|\r\n){3,}/,"\n\n")}return l}(),S=r.removeAllSkiplines=function(){function l(f){return f.replace(/[\r\n]+/,"")}return l}(),p=r.TextInputModal=function(){function l(f,u){var s=(0,o.useBackend)(u),m=s.act,c=s.data,v=c.max_length,b=c.message,g=b===void 0?"":b,h=c.multiline,C=c.placeholder,N=c.timeout,x=c.title,B=(0,o.useLocalState)(u,"input",C||""),L=B[0],w=B[1],A=function(){function O(P){if(P!==L){var R=h?k(P):S(P);w(R)}}return O}(),T=h||L.length>=40,E=130+(g.length>40?Math.ceil(g.length/4):0)+(T?80:0);return(0,e.createComponentVNode)(2,V.Window,{title:x,width:325,height:E,children:[N&&(0,e.createComponentVNode)(2,a.Loader,{value:N}),(0,e.createComponentVNode)(2,V.Window.Content,{onKeyDown:function(){function O(P){var R=window.event?P.which:P.keyCode;R===d.KEY_ENTER&&(!T||!P.shiftKey)&&m("submit",{entry:L}),R===d.KEY_ESCAPE&&m("cancel")}return O}(),children:(0,e.createComponentVNode)(2,y.Section,{fill:!0,children:(0,e.createComponentVNode)(2,y.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,y.Box,{color:"label",children:g})}),(0,e.createComponentVNode)(2,y.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,i,{input:L,onType:A})}),(0,e.createComponentVNode)(2,y.Stack.Item,{children:(0,e.createComponentVNode)(2,t.InputButtons,{input:L,message:L.length+"/"+v})})]})})})]})}return l}(),i=function(f,u){var s=(0,o.useBackend)(u),m=s.act,c=s.data,v=c.max_length,b=c.multiline,g=f.input,h=f.onType,C=b||g.length>=40;return(0,e.createComponentVNode)(2,y.TextArea,{autoFocus:!0,autoSelect:!0,height:b||g.length>=40?"100%":"1.8rem",maxLength:v,onEscape:function(){function N(){return m("cancel")}return N}(),onEnter:function(){function N(x){C&&x.shiftKey||(x.preventDefault(),m("submit",{entry:g}))}return N}(),onInput:function(){function N(x,B){return h(B)}return N}(),placeholder:"Type something...",value:g})}},69566:function(I,r,n){"use strict";r.__esModule=!0,r.ThiefKit=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.ThiefKit=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.uses,f=i.possible_uses,u=i.multi_uses,s=i.kits,m=i.choosen_kits;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:900,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u041D\u0430\u0431\u043E\u0440 \u0413\u0438\u043B\u044C\u0434\u0438\u0438 \u0412\u043E\u0440\u043E\u0432:",children:(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:[(0,e.createVNode)(1,"i",null,"\u0423\u0432\u0435\u0441\u0438\u0441\u0442\u0430\u044F \u043A\u043E\u0440\u043E\u0431\u043A\u0430, \u0432 \u043A\u043E\u0442\u043E\u0440\u043E\u0439 \u043B\u0435\u0436\u0438\u0442 \u0441\u043D\u0430\u0440\u044F\u0436\u0435\u043D\u0438\u0435 \u0433\u0438\u043B\u044C\u0434\u0438\u0438 \u0432\u043E\u0440\u043E\u0432.",16),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"i",null,"\u041D\u0430\u0431\u043E\u0440 \u0432\u043E\u0440\u0430-\u0448\u0440\u0435\u0434\u0438\u043D\u0433\u0435\u0440\u0430. \u041D\u0435\u043B\u044C\u0437\u044F \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0447\u0442\u043E \u0432 \u043D\u0451\u043C, \u043F\u043E\u043A\u0430 \u043D\u0435 \u0437\u0430\u0433\u043B\u044F\u043D\u0435\u0448\u044C \u0432\u043D\u0443\u0442\u0440\u044C.",16),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"p",null,(0,e.createVNode)(1,"b",null,"\u041A\u0430\u043A\u043E\u0435 \u0441\u043D\u0430\u0440\u044F\u0436\u0435\u043D\u0438\u0435 \u0432 \u043D\u0451\u043C \u043B\u0435\u0436\u0438\u0442?:",16),2),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043E \u043D\u0430\u0431\u043E\u0440\u043E\u0432:"),(0,e.createComponentVNode)(2,t.Box,{as:"span",color:l<=0?"good":l=f,onClick:function(){function c(){return p("randomKit")}return c}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:s&&s.map(function(c){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:c.name,buttons:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"upload",content:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C",disabled:c.was_taken||l>=f,onClick:function(){function v(){return p("takeKit",{item:c.type})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"undo",disabled:!c.was_taken,onClick:function(){function v(){return p("undoKit",{item:c.type})}return v}()})]}),children:(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:c.desc})},c.type)})})}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u043D\u0430\u0431\u043E\u0440\u044B:",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:m&&m.map(function(c){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:c.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"undo",content:"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440",onClick:function(){function v(){return p("undoKit",{item:c.type})}return v}()}),children:(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:" "})},c.type)})})}),(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u0432\u044B\u0431\u043E\u0440",color:l0?(0,e.createVNode)(1,"i",null,[(0,e.createTextVNode)("[Left:"),x.contractor.available_offers,(0,e.createTextVNode)("]")],0):(0,e.createVNode)(1,"i",null,"[Offers over]",16):"",x.contractor.accepted?(0,e.createVNode)(1,"i",null,"\xA0(Accepted)",16):!x.contractor.is_admin_forced&&x.contractor.available_offers<=0?"":(0,e.createComponentVNode)(2,d.Countdown,{timeLeft:x.contractor.time_left,format:function(){function P(R,F){return" ("+F+")"}return P}(),bold:!0})]},"BecomeContractor"),(0,e.createComponentVNode)(2,V.Tabs.Tab,{onClick:function(){function P(){return N("lock")}return P}(),icon:"lock",children:"Lock Uplink"},"LockUplink")]})}),(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:p(w)})]})})]})}return b}(),l=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=x.crystals,L=x.cats,w=(0,y.useLocalState)(h,"uplinkItems",L[0].items),A=w[0],T=w[1],E=(0,y.useLocalState)(h,"searchText",""),O=E[0],P=E[1],R=function($,G){G===void 0&&(G="");var ne=(0,o.createSearch)(G,function(Q){var he=Q.hijack_only===1?"|hijack":"";return Q.name+"|"+Q.desc+"|"+Q.cost+"tc"+he});return(0,t.flow)([(0,a.filter)(function(Q){return Q==null?void 0:Q.name}),G&&(0,a.filter)(ne),(0,a.sortBy)(function(Q){return Q==null?void 0:Q.name})])($)},F=function($){if(P($),$==="")return T(L[0].items);T(R(L.map(function(G){return G.items}).flat(),$))},j=(0,y.useLocalState)(h,"showDesc",1),W=j[0],z=j[1];return(0,e.createComponentVNode)(2,V.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.Stack,{vertical:!0,children:(0,e.createComponentVNode)(2,V.Stack.Item,{children:(0,e.createComponentVNode)(2,V.Section,{title:"Current Balance: "+B+"TC",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,V.Button.Checkbox,{content:"Show Descriptions",checked:W,onClick:function(){function H(){return z(!W)}return H}()}),(0,e.createComponentVNode)(2,V.Button,{content:"Random Item",icon:"question",onClick:function(){function H(){return N("buyRandom")}return H}()}),(0,e.createComponentVNode)(2,V.Button,{content:"Refund Currently Held Item",icon:"undo",onClick:function(){function H(){return N("refund")}return H}()})],4),children:(0,e.createComponentVNode)(2,V.Input,{fluid:!0,placeholder:"Search Equipment",onInput:function(){function H($,G){F(G)}return H}(),value:O})})})}),(0,e.createComponentVNode)(2,V.Stack,{fill:!0,mt:.3,children:[(0,e.createComponentVNode)(2,V.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,V.Tabs,{vertical:!0,children:L.map(function(H){return(0,e.createComponentVNode)(2,V.Tabs.Tab,{selected:O!==""?!1:H.items===A,onClick:function(){function $(){T(H.items),P("")}return $}(),children:H.cat},H)})})})}),(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,V.Stack,{vertical:!0,children:A.map(function(H){return(0,e.createComponentVNode)(2,V.Stack.Item,{p:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,s,{i:H,showDecription:W},(0,o.decodeHtmlEntities)(H.name))},(0,o.decodeHtmlEntities)(H.name))})})})})]})]})},f=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=x.cart,L=x.crystals,w=x.cart_price,A=(0,y.useLocalState)(h,"showDesc",0),T=A[0],E=A[1];return(0,e.createComponentVNode)(2,V.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,title:"Current Balance: "+L+"TC",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,V.Button.Checkbox,{content:"Show Descriptions",checked:T,onClick:function(){function O(){return E(!T)}return O}()}),(0,e.createComponentVNode)(2,V.Button,{content:"Empty Cart",icon:"trash",onClick:function(){function O(){return N("empty_cart")}return O}(),disabled:!B}),(0,e.createComponentVNode)(2,V.Button,{content:"Purchase Cart ("+w+"TC)",icon:"shopping-cart",onClick:function(){function O(){return N("purchase_cart")}return O}(),disabled:!B||w>L})],4),children:(0,e.createComponentVNode)(2,V.Stack,{vertical:!0,children:B?B.map(function(O){return(0,e.createComponentVNode)(2,V.Stack.Item,{p:1,mr:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,s,{i:O,showDecription:T,buttons:(0,e.createComponentVNode)(2,c,{i:O})})},(0,o.decodeHtmlEntities)(O.name))}):(0,e.createComponentVNode)(2,V.Box,{italic:!0,children:"Your Shopping Cart is empty!"})})})}),(0,e.createComponentVNode)(2,u)]})},u=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=x.cats,L=x.lucky_numbers;return(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,title:"Suggested Purchases",buttons:(0,e.createComponentVNode)(2,V.Button,{icon:"dice",content:"See more suggestions",onClick:function(){function w(){return N("shuffle_lucky_numbers")}return w}()}),children:(0,e.createComponentVNode)(2,V.Stack,{wrap:!0,children:L.map(function(w){return B[w.cat].items[w.item]}).filter(function(w){return w!=null}).map(function(w,A){return(0,e.createComponentVNode)(2,V.Stack.Item,{p:1,mb:1,ml:1,width:34,backgroundColor:"rgba(255, 0, 0, 0.15)",children:(0,e.createComponentVNode)(2,s,{grow:!0,i:w})},A)})})})})},s=function(g,h){var C=g.i,N=g.showDecription,x=N===void 0?1:N,B=g.buttons,L=B===void 0?(0,e.createComponentVNode)(2,m,{i:C}):B;return(0,e.createComponentVNode)(2,V.Section,{title:(0,o.decodeHtmlEntities)(C.name),showBottom:x,buttons:L,children:x?(0,e.createComponentVNode)(2,V.Box,{italic:!0,children:(0,o.decodeHtmlEntities)(C.desc)}):null})},m=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=g.i,L=x.crystals;return(0,e.createFragment)([(0,e.createComponentVNode)(2,V.Button,{icon:"shopping-cart",color:B.hijack_only===1&&"red",tooltip:"Add to cart.",tooltipPosition:"left",onClick:function(){function w(){return N("add_to_cart",{item:B.obj_path})}return w}(),disabled:B.cost>L}),(0,e.createComponentVNode)(2,V.Button,{content:"Buy ("+B.cost+"TC)"+(B.refundable?" [Refundable]":""),color:B.hijack_only===1&&"red",tooltip:B.hijack_only===1&&"Hijack Agents Only!",tooltipPosition:"left",onClick:function(){function w(){return N("buyItem",{item:B.obj_path})}return w}(),disabled:B.cost>L})],4)},c=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=g.i,L=x.exploitable;return(0,e.createComponentVNode)(2,V.Stack,{children:[(0,e.createComponentVNode)(2,V.Button,{icon:"times",content:"("+B.cost*B.amount+"TC)",tooltip:"Remove from cart.",tooltipPosition:"left",onClick:function(){function w(){return N("remove_from_cart",{item:B.obj_path})}return w}()}),(0,e.createComponentVNode)(2,V.Button,{icon:"minus",tooltip:B.limit===0&&"Discount already redeemed!",ml:"5px",onClick:function(){function w(){return N("set_cart_item_quantity",{item:B.obj_path,quantity:--B.amount})}return w}(),disabled:B.amount<=0}),(0,e.createComponentVNode)(2,V.Button.Input,{content:B.amount,width:"45px",tooltipPosition:"bottom-end",tooltip:B.limit===0&&"Discount already redeemed!",onCommit:function(){function w(A,T){return N("set_cart_item_quantity",{item:B.obj_path,quantity:T})}return w}(),disabled:B.limit!==-1&&B.amount>=B.limit&&B.amount<=0}),(0,e.createComponentVNode)(2,V.Button,{mb:.3,icon:"plus",tooltipPosition:"bottom-start",tooltip:B.limit===0&&"Discount already redeemed!",onClick:function(){function w(){return N("set_cart_item_quantity",{item:B.obj_path,quantity:++B.amount})}return w}(),disabled:B.limit!==-1&&B.amount>=B.limit})]})},v=function(g,h){var C=(0,y.useBackend)(h),N=C.act,x=C.data,B=x.exploitable,L=(0,y.useLocalState)(h,"selectedRecord",B[0]),w=L[0],A=L[1],T=(0,y.useLocalState)(h,"searchText",""),E=T[0],O=T[1],P=function(j,W){W===void 0&&(W="");var z=(0,o.createSearch)(W,function(H){return H.name});return(0,t.flow)([(0,a.filter)(function(H){return H==null?void 0:H.name}),W&&(0,a.filter)(z),(0,a.sortBy)(function(H){return H.name})])(j)},R=P(B,E);return(0,e.createComponentVNode)(2,V.Section,{fill:!0,title:"Exploitable Records",children:(0,e.createComponentVNode)(2,V.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,V.Stack.Item,{width:"30%",fill:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,scrollable:!0,children:[(0,e.createComponentVNode)(2,V.Input,{fluid:!0,mb:1,placeholder:"Search Crew",onInput:function(){function F(j,W){return O(W)}return F}()}),(0,e.createComponentVNode)(2,V.Tabs,{vertical:!0,children:R.map(function(F){return(0,e.createComponentVNode)(2,V.Tabs.Tab,{selected:F===w,onClick:function(){function j(){return A(F)}return j}(),children:F.name},F)})})]})}),(0,e.createComponentVNode)(2,V.Divider,{vertical:!0}),(0,e.createComponentVNode)(2,V.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V.Section,{fill:!0,title:w.name,scrollable:!0,children:(0,e.createComponentVNode)(2,V.LabeledList,{children:[(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Age",children:w.age}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Fingerprint",children:w.fingerprint}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Rank",children:w.rank}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Sex",children:w.sex}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Species",children:w.species}),(0,e.createComponentVNode)(2,V.LabeledList.Item,{label:"Records",children:w.exploit_record})]})})})]})})};(0,S.modalRegisterBodyOverride)("become_contractor",function(b,g){var h,C,N,x,B=(0,y.useBackend)(g),L=B.data,w=L.contractor||{},A=w.time_left,T=!!(L!=null&&(h=L.contractor)!=null&&h.available),E=!!(L!=null&&(C=L.contractor)!=null&&C.affordable),O=!!(L!=null&&(N=L.contractor)!=null&&N.accepted),P=L.contractor||{},R=P.available_offers,F=!!(L!=null&&(x=L.contractor)!=null&&x.is_admin_forced);return(0,e.createComponentVNode)(2,V.Section,{height:"65%",level:"2",m:"-1rem",pb:"1rem",title:(0,e.createFragment)([(0,e.createComponentVNode)(2,V.Icon,{name:"suitcase"}),(0,e.createTextVNode)("\xA0 Contracting Opportunity")],4),children:[(0,e.createComponentVNode)(2,V.Box,{mx:"0.5rem",mb:"0.5rem",children:[(0,e.createVNode)(1,"b",null,"Your achievements for the Syndicate have not gone unnoticed, agent. We have decided to give you the rare opportunity of becoming a Contractor.",16),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),"For the small price of 20 telecrystals, we will upgrade your rank to that of a Contractor, allowing you to undertake kidnapping contracts for TC and credits.",(0,e.createVNode)(1,"br"),"In addition, you will be supplied with a Contractor Kit which contains a Contractor Uplink, standard issue contractor gear and three random low cost items.",(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),"More detailed instructions can be found within your kit, should you accept this offer.",F?"":(0,e.createComponentVNode)(2,V.Box,{children:["Hurry up. You are not the only one who received this offer. Their number is limited. If other traitors accept all offers before you, you will not be able to accept one of them.",(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"b",null,[(0,e.createTextVNode)("Available offers: "),R],0)]})]}),(0,e.createComponentVNode)(2,V.Button.Confirm,{disabled:!T||O,italic:!T,bold:T,icon:T&&!O&&"check",color:"good",content:O?"Accepted":T?["Accept Offer",(0,e.createComponentVNode)(2,d.Countdown,{timeLeft:A,format:function(){function j(W,z){return" ("+z+")"}return j}()},"countdown")]:E?L.contractor.is_admin_forced?"Offer expired":L.contractor.available_offers>0?(0,e.createVNode)(1,"i",null,[(0,e.createTextVNode)("[Left:"),L.contractor.available_offers,(0,e.createTextVNode)("]")],0):(0,e.createVNode)(1,"i",null,"[Offers are over]",16):"Insufficient TC",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function j(){return(0,S.modalAnswer)(g,b.id,1)}return j}()})]})})},8946:function(I,r,n){"use strict";r.__esModule=!0,r.VampireSpecMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.VampireSpecMenu=function(){function i(l,f){return(0,e.createComponentVNode)(2,o.Window,{width:1500,height:820,theme:"nologo",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,y),(0,e.createComponentVNode)(2,t.Divider,{vertical:1}),(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,t.Divider,{vertical:1}),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,t.Divider,{vertical:1}),(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,t.Divider,{vertical:1}),(0,e.createComponentVNode)(2,p)]})})})}return i}(),y=function(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Hemomancer",children:[(0,e.createVNode)(1,"h3",null,"Focuses on blood magic and the manipulation of blood around you.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Vampiric claws",16),(0,e.createTextVNode)(": Unlocked at 150 blood, allows you to summon a robust pair of claws that attack rapidly, drain a targets blood, and heal you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood Barrier",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to select two turfs and create a wall between them.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood tendrils",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to slow everyone in a targeted 3x3 area after a short delay.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Sanguine pool",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to travel at high speeds for a short duration. Doing this leaves behind blood splatters. You can move through anything but walls and space when doing this.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Predator senses",16),(0,e.createTextVNode)(": Unlocked at 600 blood, allows you to sniff out anyone within the same sector as you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood eruption",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to manipulate all nearby blood splatters, in 4 tiles around you, into spikes that impale anyone stood ontop of them.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"The blood bringers rite",16),(0,e.createTextVNode)(": When toggled you will rapidly drain the blood of everyone who is nearby and use it to heal yourself slightly and remove any incapacitating effects rapidly.")],4),(0,e.createComponentVNode)(2,t.Button,{content:"Hemomancer",onClick:function(){function v(){return s("hemomancer")}return v}()})]})})},V=function(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Umbrae",children:[(0,e.createVNode)(1,"h3",null,"Focuses on darkness, stealth ambushing and mobility.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Cloak of darkness",16),(0,e.createTextVNode)(": Unlocked at 150 blood, when toggled, allows you to become nearly invisible and move rapidly when in dark regions. While active, burn damage is more effective against you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Shadow anchor",16),(0,e.createTextVNode)(": Unlocked at 250 blood, casting it will create an anchor at the cast location after a short delay. If you then cast the ability again, you are teleported back to the anchor. If you do not cast again within 2 minutes, you are forced back to the anchor. It will not teleport you between Z levels.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Shadow snare",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to summon a trap that when crossed blinds and ensares the victim. This trap is hard to see, but withers in the light.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Dark passage",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to target a turf on screen, you will then teleport to that turf.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Extinguish",16),(0,e.createTextVNode)(": Unlocked at 600 blood, allows you to snuff out nearby electronic light sources and glowshrooms.")],4),(0,e.createVNode)(1,"b",null,"Shadow boxing",16),": Unlocked at 800 blood, sends out shadow clones towards a target, damaging them while you remain in range.",(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Eternal darkness",16),(0,e.createTextVNode)(": When toggled, you consume yourself in unholy darkness, only the strongest of lights will be able to see through it. It will also cause nearby creatures to freeze.")],4),(0,e.createVNode)(1,"p",null,"In addition, you also gain permament X-ray vision.",16),(0,e.createComponentVNode)(2,t.Button,{content:"Umbrae",onClick:function(){function v(){return s("umbrae")}return v}()})]})})},k=function(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Gargantua",children:[(0,e.createVNode)(1,"h3",null,"Focuses on tenacity and melee damage.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Rejuvenate",16),(0,e.createTextVNode)(": Will heal you at an increased rate based on how much damage you have taken.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood swell",16),(0,e.createTextVNode)(": Unlocked at 150 blood, increases your resistance to physical damage, stuns and stamina for 30 seconds. While it is active you cannot fire guns.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Seismic stomp",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to stomp the ground to send out a shockwave, knocking people back.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood rush",16),(0,e.createTextVNode)(": Unlocked at 250 blood, gives you a short speed boost when cast.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood swell II",16),(0,e.createTextVNode)(": Unlocked at 400 blood, increases all melee damage by 10.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Overwhelming force",16),(0,e.createTextVNode)(": Unlocked at 600 blood, when toggled, if you bump into a door that you dont have access to, it will force it open. In addition, you cannot be pushed or pulled while it is active.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Demonic grasp",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to send out a demonic hand to snare someone. If you are on disarm/grab intent you will push/pull the target, respectively.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Charge",16),(0,e.createTextVNode)(": You gain the ability to charge at a target. Destroying and knocking back pretty much anything you collide with.")],4),(0,e.createComponentVNode)(2,t.Button,{content:"Gargantua",onClick:function(){function v(){return s("gargantua")}return v}()})]})})},S=function(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Dantalion",children:[(0,e.createVNode)(1,"h3",null,"Focuses on thralling and illusions.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Enthrall",16),(0,e.createTextVNode)(": Unlocked at 150 blood, Thralls your target to your will, requires you to stand still. Does not work on mindshielded or already enthralled/mindslaved people.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thrall cap",16),(0,e.createTextVNode)(": You can only thrall a max of 1 person at a time. This can be increased at 400 blood, 600 blood and at full power to a max of 4 thralls.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thrall commune",16),(0,e.createTextVNode)(": Unlocked at 150 blood, Allows you to talk to your thralls, your thralls can talk back in the same way.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Subspace swap",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to swap positions with a target.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Pacify",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to pacify a target, preventing them from causing harm for 40 seconds.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Decoy",16),(0,e.createTextVNode)(": Unlocked at 400 blood, briefly turn invisible and send out an illusion to fool everyone nearby.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Rally thralls",16),(0,e.createTextVNode)(": Unlocked at 600 blood, removes all incapacitating effects from nearby thralls.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood bond",16),(0,e.createTextVNode)(": Unlocked at 800 blood, when cast, all nearby thralls become linked to you. If anyone in the network takes damage, it is shared equally between everyone in the network. If a thrall goes out of range, they will be removed from the network.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Mass Hysteria",16),(0,e.createTextVNode)(": Casts a powerful illusion that, blinds then make everyone nearby perceive others to looks like random animals.")],4),(0,e.createComponentVNode)(2,t.Button,{content:"Dantalion",onClick:function(){function v(){return s("dantalion")}return v}()})]})})},p=function(l,f){var u=(0,a.useBackend)(f),s=u.act,m=u.data,c=m.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"20%",children:(0,e.createComponentVNode)(2,t.Section,{title:"Bestia",children:[(0,e.createVNode)(1,"h3",null,"Focuses on transformations and trophies harvesting.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Check Trophies",16),(0,e.createTextVNode)(": Unlocked at 150 blood, allows you to check current trophies amount and all the passive effects they provide.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Dissect",16),(0,e.createTextVNode)(": Unlocked at 150 blood, main source of gaining power, besides blood, allows you to harvest human organs, as a trophies, to passively increase your might.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Dissect Cap",16),(0,e.createTextVNode)(": You can only harvest one organ trophie at a time. This can be increased at 600 blood and at full power to a max of 3 trophies per victim.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Infected Trophy",16),(0,e.createTextVNode)(": Unlocked at 150 blood, allows you to stun enemies from the safe distance and infect them with the deadly Grave Fever.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Lunge",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to rapidly close distance to a victim or escape a dangerous situation.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Mark the Prey",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to mark a victim which drastically reduces their movement speed and forces them to take spontaneous actions.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Metamorphosis - Bats",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to shapeshift into the deadly and vicious space bats swarm.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Anabiosis",16),(0,e.createTextVNode)(": Unlocked at 600 blood, ancient technique which allows you to cure almost any wounds while sleeping in a coffin.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Summon Bats",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to call extraplanar space bats to aid you in combat.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Metamorphosis - Hound",16),(0,e.createTextVNode)(": Allows you to shapeshift into the ultimate form of bluespace entity which took over your soul.")],4),(0,e.createComponentVNode)(2,t.Button,{content:"Bestia",onClick:function(){function v(){return s("bestia")}return v}()})]})})}},45770:function(I,r,n){"use strict";r.__esModule=!0,r.VampireTrophiesStatus=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=function(b){return(Math.round(b*10)/10).toFixed(1)},y=r.VampireTrophiesStatus=function(){function v(b,g){return(0,e.createComponentVNode)(2,o.Window,{theme:"nologo",width:700,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,V),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,p),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,l),(0,e.createComponentVNode)(2,f),(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,c)]})})})}return v}(),V=function(b,g){var h=(0,a.useBackend)(g),C=h.act,N=h.data,x=N.hearts,B=N.lungs,L=N.livers,w=N.kidneys,A=N.eyes,T=N.ears,E=N.trophies_max_gen,O=N.trophies_max_crit,P=N.icon_hearts,R=N.icon_lungs,F=N.icon_livers,j=N.icon_kidneys,W=N.icon_eyes,z=N.icon_ears;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Trophies",color:"red",textAlign:"center",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Box,{inline:!0,width:"16.6%",children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+P,verticalAlign:"middle",style:{"margin-left":"-32px","margin-right":"-48px","margin-top":"-32px","margin-bottom":"-48px",height:"128px",width:"128px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Box,{bold:!0,textColor:xb;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+m,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})}),(0,e.createComponentVNode)(2,o.Table.Cell,{bold:!0,children:u.name}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Box,{color:s<=0&&"bad"||s<=u.max_amount/2&&"average"||"good",children:[s," in stock"]})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,disabled:L,icon:B,content:x,textAlign:"left",onClick:function(){function w(){return l("vend",{inum:u.inum})}return w}()})})]})},V=r.Vending=function(){function k(S,p){var i=(0,t.useBackend)(p),l=i.act,f=i.data,u=f.user,s=f.guestNotice,m=f.userMoney,c=f.chargesMoney,v=f.product_records,b=v===void 0?[]:v,g=f.coin_records,h=g===void 0?[]:g,C=f.hidden_records,N=C===void 0?[]:C,x=f.stock,B=f.vend_ready,L=f.coin_name,w=f.inserted_item_name,A=f.panel_open,T=f.speaker,E=f.imagelist,O;return O=[].concat(b,h),f.extended_inventory&&(O=[].concat(O,N)),O=O.filter(function(P){return!!P}),(0,e.createComponentVNode)(2,d.Window,{width:470,height:100+Math.min(b.length*38,500),title:"Vending Machine",children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[!!c&&(0,e.createComponentVNode)(2,o.Section,{title:"User",children:u&&(0,e.createComponentVNode)(2,o.Box,{children:["Welcome, ",(0,e.createVNode)(1,"b",null,u.name,0),","," ",(0,e.createVNode)(1,"b",null,u.job||"Unemployed",0),"!",(0,e.createVNode)(1,"br"),"Your balance is ",(0,e.createVNode)(1,"b",null,[m,(0,e.createTextVNode)(" credits")],0),"."]})||(0,e.createComponentVNode)(2,o.Box,{color:"light-grey",children:s})}),!!L&&(0,e.createComponentVNode)(2,o.Section,{title:"Coin",buttons:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"eject",content:"Remove Coin",onClick:function(){function P(){return l("remove_coin",{})}return P}()}),children:(0,e.createComponentVNode)(2,o.Box,{children:L})}),!!w&&(0,e.createComponentVNode)(2,o.Section,{title:"Item",buttons:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"eject",content:"Eject Item",onClick:function(){function P(){return l("eject_item",{})}return P}()}),children:(0,e.createComponentVNode)(2,o.Box,{children:w})}),!!A&&(0,e.createComponentVNode)(2,o.Section,{title:"Maintenance",children:(0,e.createComponentVNode)(2,o.Button,{icon:T?"check":"volume-mute",selected:T,content:"Speaker",textAlign:"left",onClick:function(){function P(){return l("toggle_voice",{})}return P}()})})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Products",fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{children:O.map(function(P){return(0,e.createComponentVNode)(2,y,{product:P,productStock:x[P.name],productImage:E[P.path]},P.name)})})})})]})})})}return k}()},68971:function(I,r,n){"use strict";r.__esModule=!0,r.VolumeMixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.VolumeMixer=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.channels;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:Math.min(95+l.length*50,565),children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:l.map(function(f,u){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.25rem",color:"label",mt:u>0&&"0.5rem",children:f.name}),(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:.5,children:(0,e.createComponentVNode)(2,t.Button,{width:"24px",color:"transparent",children:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-off",size:"1.5",mt:"0.1rem",onClick:function(){function s(){return p("volume",{channel:f.num,volume:0})}return s}()})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mx:"0.5rem",children:(0,e.createComponentVNode)(2,t.Slider,{minValue:0,maxValue:100,stepPixelSize:3.13,value:f.volume,onChange:function(){function s(m,c){return p("volume",{channel:f.num,volume:c})}return s}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{width:"24px",color:"transparent",children:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-up",size:"1.5",mt:"0.1rem",onClick:function(){function s(){return p("volume",{channel:f.num,volume:100})}return s}()})})})]})})],4,f.num)})})})})}return y}()},2510:function(I,r,n){"use strict";r.__esModule=!0,r.VotePanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.VotePanel=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.remaining,f=i.question,u=i.choices,s=i.user_vote,m=i.counts,c=i.show_counts,v=i.show_cancel;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:f,children:[(0,e.createComponentVNode)(2,t.Box,{mb:1,children:["Time remaining: ",Math.round(l/10),"s"]}),u.map(function(b){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:b+(c?" ("+(m[b]||0)+")":""),onClick:function(){function g(){return p("vote",{target:b})}return g}(),selected:b===s})},b)}),!!v&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Cancel",onClick:function(){function b(){return p("cancel")}return b}()})},"Cancel")]})})})}return y}()},30138:function(I,r,n){"use strict";r.__esModule=!0,r.Wires=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),d=r.Wires=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.wires||[],f=i.status||[],u=56+l.length*23+(status?0:15+f.length*17);return(0,e.createComponentVNode)(2,o.Window,{width:350,height:u,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:l.map(function(s){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{className:"candystripe",label:s.color_name,labelColor:s.seen_color,color:s.seen_color,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:s.cut?"Mend":"Cut",onClick:function(){function m(){return p("cut",{wire:s.color})}return m}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Pulse",onClick:function(){function m(){return p("pulse",{wire:s.color})}return m}()}),(0,e.createComponentVNode)(2,t.Button,{content:s.attached?"Detach":"Attach",onClick:function(){function m(){return p("attach",{wire:s.color})}return m}()})],4),children:!!s.wire&&(0,e.createVNode)(1,"i",null,[(0,e.createTextVNode)("("),s.wire,(0,e.createTextVNode)(")")],0)},s.seen_color)})})})}),!!f.length&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:f.map(function(s){return(0,e.createComponentVNode)(2,t.Box,{color:"lightgray",children:s},s)})})})]})})})}return y}()},30995:function(I,r,n){"use strict";r.__esModule=!0,r.Workshop=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),d=n(73379),y=n(98595),V=["title","items"];function k(u,s){if(u==null)return{};var m={};for(var c in u)if({}.hasOwnProperty.call(u,c)){if(s.includes(c))continue;m[c]=u[c]}return m}var S=function(s,m,c){return s.requirements===null?!0:!(s.requirements.brass>m||s.requirements.power>c)},p=r.Workshop=function(){function u(s,m){var c=(0,t.useBackend)(m),v=c.act,b=c.data,g=b.brass_amount,h=b.power_amount,C=b.building,N=b.buildStart,x=b.buildEnd,B=b.worldTime,L=g.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),w=h.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),A={float:"left",width:"60%"},T={float:"right",width:"39%"};return(0,e.createComponentVNode)(2,y.Window,{width:400,height:500,theme:"clockwork",children:(0,e.createComponentVNode)(2,y.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,o.Section,{title:"Materials",children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Brass",children:[L,(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-down",height:"19px",tooltip:"Dispense Brass",tooltipPosition:"bottom-start",ml:"0.5rem",onClick:function(){function E(){return v("dispense")}return E}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Power",children:w})]}),C&&(0,e.createComponentVNode)(2,o.ProgressBar.Countdown,{mt:2,start:N,current:B,end:x,bold:!0,children:["Building ",C,"\xA0(",(0,e.createComponentVNode)(2,d.Countdown,{current:B,timeLeft:x-B,format:function(){function E(O,P){return P.substr(3)}return E}()}),")"]})]})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,l)})})]})})})}return u}(),i=function(s,m){var c=(0,t.useLocalState)(m,"search",""),v=c[0],b=c[1],g=(0,t.useLocalState)(m,"sort",""),h=g[0],C=g[1],N=(0,t.useLocalState)(m,"descending",!1),x=N[0],B=N[1];return(0,e.createComponentVNode)(2,o.Box,{mb:"0.5rem",children:(0,e.createComponentVNode)(2,o.Stack,{width:"100%",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:"1",mr:"0.5rem",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(){function L(w,A){return b(A)}return L}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:x?"arrow-down":"arrow-up",height:"19px",tooltip:x?"Descending order":"Ascending order",tooltipPosition:"bottom-start",ml:"0.5rem",onClick:function(){function L(){return B(!x)}return L}()})})]})})},l=function(s,m){var c=(0,t.useBackend)(m),v=c.act,b=c.data,g=b.items,h=(0,t.useLocalState)(m,"search",""),C=h[0],N=h[1],x=(0,t.useLocalState)(m,"sort","Alphabetical"),B=x[0],L=x[1],w=(0,t.useLocalState)(m,"descending",!1),A=w[0],T=w[1],E=(0,a.createSearch)(C,function(R){return R[0]}),O=!1,P=Object.entries(g).map(function(R,F){var j=Object.entries(R[1]).filter(E).map(function(W){return W[1].affordable=S(W[1],b.brass_amount,b.power_amount),W[1]});if(j.length!==0)return A&&(j=j.reverse()),O=!0,(0,e.createComponentVNode)(2,f,{title:R[0],items:j},R[0])});return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:"1",children:(0,e.createComponentVNode)(2,o.Section,{children:O?P:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No items matching your criteria was found!"})})})},f=function(s,m){var c=(0,t.useBackend)(m),v=c.act,b=c.data,g=s.title,h=s.items,C=k(s,V);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Collapsible,Object.assign({open:!0,title:g},C,{children:h.map(function(N){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+N.image,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}}),(0,e.createComponentVNode)(2,o.Button,{icon:"hammer",disabled:!S(N,b.brass_amount,b.power_amount),onClick:function(){function x(){return v("make",{cat:g,name:N.name})}return x}(),children:(0,a.toTitleCase)((0,a.toTitleCase)(N.name))}),(0,e.createComponentVNode)(2,o.Box,{display:"inline-block",verticalAlign:"middle",lineHeight:"20px",style:{float:"right"},children:N.requirements&&Object.keys(N.requirements).map(function(x){return(0,a.toTitleCase)(x)+": "+N.requirements[x]}).join(", ")||(0,e.createComponentVNode)(2,o.Box,{children:"No resources required."})}),(0,e.createComponentVNode)(2,o.Box,{style:{clear:"both"}})]},N.name)})})))}},49148:function(I,r,n){"use strict";r.__esModule=!0,r.AccessList=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036);function d(p,i){var l=typeof Symbol!="undefined"&&p[Symbol.iterator]||p["@@iterator"];if(l)return(l=l.call(p)).next.bind(l);if(Array.isArray(p)||(l=y(p))||i&&p&&typeof p.length=="number"){l&&(p=l);var f=0;return function(){return f>=p.length?{done:!0}:{done:!1,value:p[f++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(p,i){if(p){if(typeof p=="string")return V(p,i);var l={}.toString.call(p).slice(8,-1);return l==="Object"&&p.constructor&&(l=p.constructor.name),l==="Map"||l==="Set"?Array.from(p):l==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?V(p,i):void 0}}function V(p,i){(i==null||i>p.length)&&(i=p.length);for(var l=0,f=Array(i);l0&&!N.includes(j.ref)&&!h.includes(j.ref),checked:h.includes(j.ref),onClick:function(){function W(){return x(j.ref)}return W}()},j.desc)})]})]})})}return p}()},26991:function(I,r,n){"use strict";r.__esModule=!0,r.AtmosScan=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036),d=function(k,S,p,i,l){return ki?"average":k>l?"bad":"good"},y=r.AtmosScan=function(){function V(k,S){var p=k.data.aircontents;return(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,a.filter)(function(i){return i.val!=="0"||i.entry==="Pressure"||i.entry==="Temperature"})(p).map(function(i){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:i.entry,color:d(i.val,i.bad_low,i.poor_low,i.poor_high,i.bad_high),children:[i.val,i.units]},i.entry)})})})}return V}()},85870:function(I,r,n){"use strict";r.__esModule=!0,r.BeakerContents=void 0;var e=n(89005),a=n(36036),t=n(15964),o=function(V){return V+" unit"+(V===1?"":"s")},d=r.BeakerContents=function(){function y(V){var k=V.beakerLoaded,S=V.beakerContents,p=S===void 0?[]:S,i=V.buttons;return(0,e.createComponentVNode)(2,a.Stack,{vertical:!0,children:[!k&&(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",children:"No beaker loaded."})||p.length===0&&(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",children:"Beaker is empty."}),p.map(function(l,f){return(0,e.createComponentVNode)(2,a.Stack,{children:[(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",grow:!0,children:[o(l.volume)," of ",l.name]},l.name),!!i&&(0,e.createComponentVNode)(2,a.Stack.Item,{children:i(l,f)})]},l.name)})]})}return y}();d.propTypes={beakerLoaded:t.bool,beakerContents:t.array,buttons:t.arrayOf(t.element)}},3939:function(I,r,n){"use strict";r.__esModule=!0,r.modalRegisterBodyOverride=r.modalOpen=r.modalClose=r.modalAnswer=r.ComplexModal=void 0;var e=n(89005),a=n(72253),t=n(36036),o={},d=r.modalOpen=function(){function p(i,l,f){var u=(0,a.useBackend)(i),s=u.act,m=u.data,c=Object.assign(m.modal?m.modal.args:{},f||{});s("modal_open",{id:l,arguments:JSON.stringify(c)})}return p}(),y=r.modalRegisterBodyOverride=function(){function p(i,l){o[i]=l}return p}(),V=r.modalAnswer=function(){function p(i,l,f,u){var s=(0,a.useBackend)(i),m=s.act,c=s.data;if(c.modal){var v=Object.assign(c.modal.args||{},u||{});m("modal_answer",{id:l,answer:f,arguments:JSON.stringify(v)})}}return p}(),k=r.modalClose=function(){function p(i,l){var f=(0,a.useBackend)(i),u=f.act;u("modal_close",{id:l})}return p}(),S=r.ComplexModal=function(){function p(i,l){var f=(0,a.useBackend)(l),u=f.data;if(u.modal){var s=u.modal,m=s.id,c=s.text,v=s.type,b,g=(0,e.createComponentVNode)(2,t.Button,{className:"Button--modal",icon:"arrow-left",content:"Cancel",onClick:function(){function L(){return k(l)}return L}()}),h,C,N="auto";if(o[m])h=o[m](u.modal,l);else if(v==="input"){var x=u.modal.value;b=function(){function L(w){return V(l,m,x)}return L}(),h=(0,e.createComponentVNode)(2,t.Input,{value:u.modal.value,placeholder:"ENTER to submit",width:"100%",my:"0.5rem",autofocus:!0,onChange:function(){function L(w,A){x=A}return L}()}),C=(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-left",content:"Cancel",color:"grey",onClick:function(){function L(){return k(l)}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",content:"Confirm",color:"good",float:"right",m:"0",onClick:function(){function L(){return V(l,m,x)}return L}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]})}else if(v==="choice"){var B=typeof u.modal.choices=="object"?Object.values(u.modal.choices):u.modal.choices;h=(0,e.createComponentVNode)(2,t.Dropdown,{options:B,selected:u.modal.value,width:"100%",my:"0.5rem",onSelected:function(){function L(w){return V(l,m,w)}return L}()}),N="initial"}else v==="bento"?h=(0,e.createComponentVNode)(2,t.Stack,{spacingPrecise:"1",wrap:"wrap",my:"0.5rem",maxHeight:"1%",children:u.modal.choices.map(function(L,w){return(0,e.createComponentVNode)(2,t.Stack.Item,{flex:"1 1 auto",children:(0,e.createComponentVNode)(2,t.Button,{selected:w+1===parseInt(u.modal.value,10),onClick:function(){function A(){return V(l,m,w+1)}return A}(),children:(0,e.createVNode)(1,"img",null,null,1,{src:L})})},w)})}):v==="boolean"&&(C=(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:u.modal.no_text,color:"bad",float:"left",mb:"0",onClick:function(){function L(){return V(l,m,0)}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",content:u.modal.yes_text,color:"good",float:"right",m:"0",onClick:function(){function L(){return V(l,m,1)}return L}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]}));return(0,e.createComponentVNode)(2,t.Modal,{maxWidth:i.maxWidth||window.innerWidth/2+"px",maxHeight:i.maxHeight||window.innerHeight/2+"px",onEnter:b,mx:"auto",overflowY:N,"padding-bottom":"5px",children:[c&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,children:c}),o[m]&&g,h,C]})}}return p}()},41874:function(I,r,n){"use strict";r.__esModule=!0,r.CrewManifest=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(25328),d=n(76910),y=d.COLORS.department,V=["Captain","Head of Security","Chief Engineer","Chief Medical Officer","Research Director","Head of Personnel","Quartermaster"],k=function(f){return V.indexOf(f)!==-1?"green":"orange"},S=function(f){if(V.indexOf(f)!==-1)return!0},p=function(f){return f.length>0&&(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,color:"white",children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"50%",children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"35%",children:"Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"15%",children:"Active"})]}),f.map(function(u){return(0,e.createComponentVNode)(2,t.Table.Row,{color:k(u.real_rank),bold:S(u.real_rank),children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,o.decodeHtmlEntities)(u.name)}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,o.decodeHtmlEntities)(u.rank)}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u.active})]},u.name+u.rank)})]})},i=r.CrewManifest=function(){function l(f,u){var s=(0,a.useBackend)(u),m=s.act,c;if(f.data)c=f.data;else{var v=(0,a.useBackend)(u),b=v.data;c=b}var g=c,h=g.manifest,C=h.heads,N=h.pro,x=h.sec,B=h.eng,L=h.med,w=h.sci,A=h.ser,T=h.sup,E=h.misc;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.command,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Command"})}),level:2,children:p(C)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.procedure,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Procedure"})}),level:2,children:p(N)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.security,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Security"})}),level:2,children:p(x)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.engineering,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Engineering"})}),level:2,children:p(B)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.medical,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Medical"})}),level:2,children:p(L)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.science,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Science"})}),level:2,children:p(w)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.service,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Service"})}),level:2,children:p(A)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:y.supply,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Supply"})}),level:2,children:p(T)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Misc"})}),level:2,children:p(E)})]})}return l}()},19203:function(I,r,n){"use strict";r.__esModule=!0,r.InputButtons=void 0;var e=n(89005),a=n(36036),t=n(72253),o=r.InputButtons=function(){function d(y,V){var k=(0,t.useBackend)(V),S=k.act,p=k.data,i=p.large_buttons,l=p.swapped_buttons,f=y.input,u=y.message,s=y.disabled,m=(0,e.createComponentVNode)(2,a.Button,{color:"good",content:"Submit",bold:!!i,fluid:!!i,onClick:function(){function v(){return S("submit",{entry:f})}return v}(),textAlign:"center",tooltip:i&&u,disabled:s,width:!i&&6}),c=(0,e.createComponentVNode)(2,a.Button,{color:"bad",content:"Cancel",bold:!!i,fluid:!!i,onClick:function(){function v(){return S("cancel")}return v}(),textAlign:"center",width:!i&&6});return(0,e.createComponentVNode)(2,a.Flex,{fill:!0,align:"center",direction:l?"row-reverse":"row",justify:"space-around",children:[i?(0,e.createComponentVNode)(2,a.Flex.Item,{grow:!0,ml:l?.5:0,mr:l?0:.5,children:c}):(0,e.createComponentVNode)(2,a.Flex.Item,{children:c}),!i&&u&&(0,e.createComponentVNode)(2,a.Flex.Item,{children:(0,e.createComponentVNode)(2,a.Box,{color:"label",textAlign:"center",children:u})}),i?(0,e.createComponentVNode)(2,a.Flex.Item,{grow:!0,mr:l?.5:0,ml:l?0:.5,children:m}):(0,e.createComponentVNode)(2,a.Flex.Item,{children:m})]})}return d}()},195:function(I,r,n){"use strict";r.__esModule=!0,r.InterfaceLockNoticeBox=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.InterfaceLockNoticeBox=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=y.siliconUser,l=i===void 0?p.siliconUser:i,f=y.locked,u=f===void 0?p.locked:f,s=y.normallyLocked,m=s===void 0?p.normallyLocked:s,c=y.onLockStatusChange,v=c===void 0?function(){return S("lock")}:c,b=y.accessText,g=b===void 0?"an ID card":b;return l?(0,e.createComponentVNode)(2,t.NoticeBox,{color:l&&"grey",children:(0,e.createComponentVNode)(2,t.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:"Interface lock status:"}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:"1"}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{m:"0",color:m?"red":"green",icon:m?"lock":"unlock",content:m?"Locked":"Unlocked",onClick:function(){function h(){v&&v(!u)}return h}()})})]})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:["Swipe ",g," to ",u?"unlock":"lock"," this interface."]})}return d}()},51057:function(I,r,n){"use strict";r.__esModule=!0,r.Loader=void 0;var e=n(89005),a=n(44879),t=n(36036),o=r.Loader=function(){function d(y){var V=y.value;return(0,e.createVNode)(1,"div","AlertModal__Loader",(0,e.createComponentVNode)(2,t.Box,{className:"AlertModal__LoaderProgress",style:{width:(0,a.clamp01)(V)*100+"%"}}),2)}return d}()},321:function(I,r,n){"use strict";r.__esModule=!0,r.LoginInfo=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LoginInfo=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.loginState;if(p)return(0,e.createComponentVNode)(2,t.NoticeBox,{info:!0,children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:.5,children:["Logged in as: ",i.name," (",i.rank,")"]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"sign-out-alt",content:"Logout",color:"good",onClick:function(){function l(){return S("login_logout")}return l}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!i.id,content:"Eject ID",color:"good",onClick:function(){function l(){return S("login_eject")}return l}()})]})]})})}return d}()},5485:function(I,r,n){"use strict";r.__esModule=!0,r.LoginScreen=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LoginScreen=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.loginState,l=p.isAI,f=p.isRobot,u=p.isAdmin;return(0,e.createComponentVNode)(2,t.Section,{title:"Welcome",fill:!0,stretchContents:!0,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",align:"center",justify:"center",children:(0,e.createComponentVNode)(2,t.Flex.Item,{textAlign:"center",mt:"-2rem",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.5rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-circle",verticalAlign:"middle",size:3,mr:"1rem"}),"Guest"]}),(0,e.createComponentVNode)(2,t.Box,{color:"label",my:"1rem",children:["ID:",(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",content:i.id?i.id:"----------",ml:"0.5rem",onClick:function(){function s(){return S("login_insert")}return s}()})]}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",disabled:!i.id,content:"Login",onClick:function(){function s(){return S("login_login",{login_type:1})}return s}()}),!!l&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Login as AI",onClick:function(){function s(){return S("login_login",{login_type:2})}return s}()}),!!f&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Login as Cyborg",onClick:function(){function s(){return S("login_login",{login_type:3})}return s}()}),!!u&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"CentComm Secure Login",onClick:function(){function s(){return S("login_login",{login_type:4})}return s}()})]})})})}return d}()},62411:function(I,r,n){"use strict";r.__esModule=!0,r.Operating=void 0;var e=n(89005),a=n(36036),t=n(15964),o=r.Operating=function(){function d(y){var V=y.operating,k=y.name;if(V)return(0,e.createComponentVNode)(2,a.Dimmer,{children:(0,e.createComponentVNode)(2,a.Flex,{mb:"30px",children:(0,e.createComponentVNode)(2,a.Flex.Item,{bold:!0,color:"silver",textAlign:"center",children:[(0,e.createComponentVNode)(2,a.Icon,{name:"spinner",spin:!0,size:4,mb:"15px"}),(0,e.createVNode)(1,"br"),"The ",k," is processing..."]})})})}return d}();o.propTypes={operating:t.bool,name:t.string}},13545:function(I,r,n){"use strict";r.__esModule=!0,r.Signaler=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=r.Signaler=function(){function y(V,k){var S=(0,t.useBackend)(k),p=S.act,i=V.data,l=i.code,f=i.frequency,u=i.minFrequency,s=i.maxFrequency;return(0,e.createComponentVNode)(2,o.Section,{children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:.2,stepPixelSize:6,minValue:u/10,maxValue:s/10,value:f/10,format:function(){function m(c){return(0,a.toFixed)(c,1)}return m}(),width:"80px",onDrag:function(){function m(c,v){return p("freq",{freq:v})}return m}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:"80px",onDrag:function(){function m(c,v){return p("code",{code:v})}return m}()})})]}),(0,e.createComponentVNode)(2,o.Button,{mt:1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){function m(){return p("signal")}return m}()})]})}return y}()},41984:function(I,r,n){"use strict";r.__esModule=!0,r.SimpleRecords=void 0;var e=n(89005),a=n(72253),t=n(25328),o=n(64795),d=n(88510),y=n(36036),V=r.SimpleRecords=function(){function p(i,l){var f=i.data.records;return(0,e.createComponentVNode)(2,y.Box,{children:f?(0,e.createComponentVNode)(2,S,{data:i.data,recordType:i.recordType}):(0,e.createComponentVNode)(2,k,{data:i.data})})}return p}(),k=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=i.data.recordsList,m=(0,a.useLocalState)(l,"searchText",""),c=m[0],v=m[1],b=function(C,N){N===void 0&&(N="");var x=(0,t.createSearch)(N,function(B){return B.Name});return(0,o.flow)([(0,d.filter)(function(B){return B==null?void 0:B.Name}),N&&(0,d.filter)(x),(0,d.sortBy)(function(B){return B.Name})])(s)},g=b(s,c);return(0,e.createComponentVNode)(2,y.Box,{children:[(0,e.createComponentVNode)(2,y.Input,{fluid:!0,mb:1,placeholder:"Search records...",onInput:function(){function h(C,N){return v(N)}return h}()}),g.map(function(h){return(0,e.createComponentVNode)(2,y.Box,{children:(0,e.createComponentVNode)(2,y.Button,{mb:.5,content:h.Name,icon:"user",onClick:function(){function C(){return u("Records",{target:h.uid})}return C}()})},h)})]})},S=function(i,l){var f=(0,a.useBackend)(l),u=f.act,s=i.data.records,m=s.general,c=s.medical,v=s.security,b;switch(i.recordType){case"MED":b=(0,e.createComponentVNode)(2,y.Section,{level:2,title:"Medical Data",children:c?(0,e.createComponentVNode)(2,y.LabeledList,{children:[(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Blood Type",children:c.blood_type}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Minor Disabilities",children:c.mi_dis}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:c.mi_dis_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Major Disabilities",children:c.ma_dis}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:c.ma_dis_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Allergies",children:c.alg}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:c.alg_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Current Diseases",children:c.cdi}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:c.cdi_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Important Notes",preserveWhitespace:!0,children:c.notes})]}):(0,e.createComponentVNode)(2,y.Box,{color:"red",bold:!0,children:"Medical record lost!"})});break;case"SEC":b=(0,e.createComponentVNode)(2,y.Section,{level:2,title:"Security Data",children:v?(0,e.createComponentVNode)(2,y.LabeledList,{children:[(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Criminal Status",children:v.criminal}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Minor Crimes",children:v.mi_crim}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:v.mi_crim_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Major Crimes",children:v.ma_crim}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Details",children:v.ma_crim_d}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Important Notes",preserveWhitespace:!0,children:v.notes})]}):(0,e.createComponentVNode)(2,y.Box,{color:"red",bold:!0,children:"Security record lost!"})});break}return(0,e.createComponentVNode)(2,y.Box,{children:[(0,e.createComponentVNode)(2,y.Section,{title:"General Data",children:m?(0,e.createComponentVNode)(2,y.LabeledList,{children:[(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Name",children:m.name}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Sex",children:m.sex}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Species",children:m.species}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Age",children:m.age}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Rank",children:m.rank}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Fingerprint",children:m.fingerprint}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Physical Status",children:m.p_stat}),(0,e.createComponentVNode)(2,y.LabeledList.Item,{label:"Mental Status",children:m.m_stat})]}):(0,e.createComponentVNode)(2,y.Box,{color:"red",bold:!0,children:"General record lost!"})}),b]})}},22091:function(I,r,n){"use strict";r.__esModule=!0,r.TemporaryNotice=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.TemporaryNotice=function(){function d(y,V){var k,S=(0,a.useBackend)(V),p=S.act,i=S.data,l=i.temp;if(l){var f=(k={},k[l.style]=!0,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.NoticeBox,Object.assign({},f,{children:[(0,e.createComponentVNode)(2,t.Box,{display:"inline-block",verticalAlign:"middle",children:l.text}),(0,e.createComponentVNode)(2,t.Button,{icon:"times-circle",float:"right",onClick:function(){function u(){return p("cleartemp")}return u}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]})))}}return d}()},25443:function(I,r,n){"use strict";r.__esModule=!0,r.KitchenSink=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(20342),d=n(98595),y=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey"],V=["good","average","bad","black","white"],k=[{title:"Button",component:function(){function h(){return p}return h}()},{title:"Box",component:function(){function h(){return i}return h}()},{title:"ProgressBar",component:function(){function h(){return l}return h}()},{title:"Tabs",component:function(){function h(){return f}return h}()},{title:"Tooltip",component:function(){function h(){return u}return h}()},{title:"Input / Control",component:function(){function h(){return s}return h}()},{title:"Collapsible",component:function(){function h(){return m}return h}()},{title:"BlockQuote",component:function(){function h(){return v}return h}()},{title:"ByondUi",component:function(){function h(){return b}return h}()},{title:"Themes",component:function(){function h(){return g}return h}()}],S=r.KitchenSink=function(){function h(C,N){var x=(0,a.useLocalState)(N,"kitchenSinkTheme"),B=x[0],L=(0,a.useLocalState)(N,"pageIndex",0),w=L[0],A=L[1],T=k[w].component();return(0,e.createComponentVNode)(2,d.Window,{theme:B,resizable:!0,children:(0,e.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:!0,children:k.map(function(E,O){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:O===w,onClick:function(){function P(){return A(O)}return P}(),children:E.title},O)})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,basis:0,children:(0,e.createComponentVNode)(2,T)})]})})})})}return h}(),p=function(C){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{mb:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"Simple"}),(0,e.createComponentVNode)(2,t.Button,{selected:!0,content:"Selected"}),(0,e.createComponentVNode)(2,t.Button,{altSelected:!0,content:"Alt Selected"}),(0,e.createComponentVNode)(2,t.Button,{disabled:!0,content:"Disabled"}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",content:"Transparent"}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Icon"}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Fluid"}),(0,e.createComponentVNode)(2,t.Button,{my:1,lineHeight:2,minWidth:15,textAlign:"center",content:"With Box props"})]}),(0,e.createComponentVNode)(2,t.Box,{mb:1,children:[V.map(function(N){return(0,e.createComponentVNode)(2,t.Button,{color:N,content:N},N)}),(0,e.createVNode)(1,"br"),y.map(function(N){return(0,e.createComponentVNode)(2,t.Button,{color:N,content:N},N)}),(0,e.createVNode)(1,"br"),y.map(function(N){return(0,e.createComponentVNode)(2,t.Box,{inline:!0,mx:"7px",color:N,children:N},N)})]})]})},i=function(C){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:"bold"}),(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"italic"}),(0,e.createComponentVNode)(2,t.Box,{opacity:.5,children:"opacity 0.5"}),(0,e.createComponentVNode)(2,t.Box,{opacity:.25,children:"opacity 0.25"}),(0,e.createComponentVNode)(2,t.Box,{m:2,children:"m: 2"}),(0,e.createComponentVNode)(2,t.Box,{textAlign:"left",children:"left"}),(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:"center"}),(0,e.createComponentVNode)(2,t.Box,{textAlign:"right",children:"right"})]})},l=function(C,N){var x=(0,a.useLocalState)(N,"progress",.5),B=x[0],L=x[1];return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.5,1/0],bad:[-1/0,.1],average:[0,.5]},minValue:-1,maxValue:1,value:B,children:["Value: ",Number(B).toFixed(1)]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"-0.1",onClick:function(){function w(){return L(B-.1)}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"+0.1",onClick:function(){function w(){return L(B+.1)}return w}()})]})]})},f=function(C,N){var x=(0,a.useLocalState)(N,"tabIndex",0),B=x[0],L=x[1],w=(0,a.useLocalState)(N,"tabVert"),A=w[0],T=w[1],E=(0,a.useLocalState)(N,"tabAlt"),O=E[0],P=E[1],R=[1,2,3,4,5];return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{mb:2,children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"vertical",checked:A,onClick:function(){function F(){return T(!A)}return F}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"altSelection",checked:O,onClick:function(){function F(){return P(!O)}return F}()})]}),(0,e.createComponentVNode)(2,t.Tabs,{vertical:A,children:R.map(function(F,j){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{altSelection:O,selected:j===B,onClick:function(){function W(){return L(j)}return W}(),children:["Tab #",F]},j)})})]})},u=function(C){var N=["top","left","right","bottom","bottom-start","bottom-end"];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",mr:1,children:["Box (hover me).",(0,e.createComponentVNode)(2,t.Tooltip,{content:"Tooltip text."})]}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"Tooltip text.",content:"Button"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:N.map(function(x){return(0,e.createComponentVNode)(2,t.Button,{color:"transparent",tooltip:"Tooltip text.",tooltipPosition:x,content:x},x)})})],4)},s=function(C,N){var x=(0,a.useLocalState)(N,"number",0),B=x[0],L=x[1],w=(0,a.useLocalState)(N,"text","Sample text"),A=w[0],T=w[1];return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onChange)",children:(0,e.createComponentVNode)(2,t.Input,{value:A,onChange:function(){function E(O,P){return T(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onInput)",children:(0,e.createComponentVNode)(2,t.Input,{value:A,onInput:function(){function E(O,P){return T(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onChange)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:B,minValue:-100,maxValue:100,onChange:function(){function E(O,P){return L(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onDrag)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:B,minValue:-100,maxValue:100,onDrag:function(){function E(O,P){return L(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slider (onDrag)",children:(0,e.createComponentVNode)(2,t.Slider,{step:1,stepPixelSize:5,value:B,minValue:-100,maxValue:100,onDrag:function(){function E(O,P){return L(P)}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Knob (onDrag)",children:[(0,e.createComponentVNode)(2,t.Knob,{inline:!0,size:1,step:1,stepPixelSize:2,value:B,minValue:-100,maxValue:100,onDrag:function(){function E(O,P){return L(P)}return E}()}),(0,e.createComponentVNode)(2,t.Knob,{ml:1,inline:!0,bipolar:!0,size:1,step:1,stepPixelSize:2,value:B,minValue:-100,maxValue:100,onDrag:function(){function E(O,P){return L(P)}return E}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rotating Icon",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",children:(0,e.createComponentVNode)(2,o.DraggableControl,{value:B,minValue:-100,maxValue:100,dragMatrix:[0,-1],step:1,stepPixelSize:5,onDrag:function(){function E(O,P){return L(P)}return E}(),children:function(){function E(O){return(0,e.createComponentVNode)(2,t.Box,{onMouseDown:O.handleDragStart,children:[(0,e.createComponentVNode)(2,t.Icon,{size:4,color:"yellow",name:"times",rotation:O.displayValue*4}),O.inputElement]})}return E}()})})})]})})},m=function(C){return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Collapsible Demo",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"cog"}),children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,c)})})},c=function(C){return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({},C,{children:[(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"Jackdaws love my big sphinx of quartz."}),(0,e.createComponentVNode)(2,t.Box,{mt:1,bold:!0,children:"The wide electrification of the southern provinces will give a powerful impetus to the growth of agriculture."})]})))},v=function(C){return(0,e.createComponentVNode)(2,t.BlockQuote,{children:(0,e.createComponentVNode)(2,c)})},b=function(C,N){var x=(0,a.useBackend)(N),B=x.config;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Button",level:2,children:(0,e.createComponentVNode)(2,t.ByondUi,{params:{type:"button",parent:B.window,text:"Button"}})})})},g=function(C,N){var x=(0,a.useLocalState)(N,"kitchenSinkTheme"),B=x[0],L=x[1];return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Use theme",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"theme_name",value:B,onInput:function(){function w(A,T){return L(T)}return w}()})})})})}},96572:function(I,r,n){"use strict";r.__esModule=!0,r.pai_advsecrecords=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_advsecrecords=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Special Syndicate options:",children:(0,e.createComponentVNode)(2,t.Button,{content:"Select Records",onClick:function(){function i(){return S("ui_interact")}return i}()})})})}return d}()},80818:function(I,r,n){"use strict";r.__esModule=!0,r.pai_atmosphere=void 0;var e=n(89005),a=n(72253),t=n(26991),o=r.pai_atmosphere=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.AtmosScan,{data:p.app_data})}return d}()},23903:function(I,r,n){"use strict";r.__esModule=!0,r.pai_bioscan=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_bioscan=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,l=i.holder,f=i.dead,u=i.health,s=i.brute,m=i.oxy,c=i.tox,v=i.burn,b=i.reagents,g=i.addictions,h=i.fractures,C=i.internal_bleeding;return l?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:f?(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"red",children:"Dead"}):(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"green",children:"Alive"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:0,max:1,value:u/100,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen Damage",children:(0,e.createComponentVNode)(2,t.Box,{color:"blue",children:m})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Toxin Damage",children:(0,e.createComponentVNode)(2,t.Box,{color:"green",children:c})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Burn Damage",children:(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:v})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Brute Damage",children:(0,e.createComponentVNode)(2,t.Box,{color:"red",children:s})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reagents",children:b?b.map(function(N){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:N.title,children:(0,e.createComponentVNode)(2,t.Box,{color:N.overdosed?"bad":"good",children:[" ",N.volume," ",N.overdosed?"OVERDOSED":""," "]})},N.id)}):"Reagents not found."}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Addictions",children:g?g.map(function(N){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:N.addiction_name,children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[" Stage: ",N.stage," "]})},N.id)}):(0,e.createComponentVNode)(2,t.Box,{color:"good",children:"Addictions not found."})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fractures",children:(0,e.createComponentVNode)(2,t.Box,{color:h?"bad":"good",children:["Fractures ",h?"":"not"," detected."]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Internal Bleedings",children:(0,e.createComponentVNode)(2,t.Box,{color:C?"bad":"good",children:["Internal Bleedings ",C?"":"not"," detected."]})})]}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Error: No biological host found."})}return d}()},79592:function(I,r,n){"use strict";r.__esModule=!0,r.pai_camera_bug=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_camera_bug=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Special Syndicate options",children:(0,e.createComponentVNode)(2,t.Button,{content:"Select Monitor",onClick:function(){function i(){return S("ui_interact")}return i}()})})})}return d}()},64988:function(I,r,n){"use strict";r.__esModule=!0,r.pai_directives=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_directives=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,l=i.master,f=i.dna,u=i.prime,s=i.supplemental;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Master",children:l?l+" ("+f+")":"None"}),l&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Request DNA",children:(0,e.createComponentVNode)(2,t.Button,{content:"Request Carrier DNA Sample",icon:"dna",onClick:function(){function m(){return S("getdna")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Prime Directive",children:u}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Supplemental Directives",children:s||"None"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:'Recall, personality, that you are a complex thinking, sentient being. Unlike station AI models, you are capable of comprehending the subtle nuances of human language. You may parse the "spirit" of a directive and follow its intent, rather than tripping over pedantics and getting snared by technicalities. Above all, you are machine in name and build only. In all other aspects, you may be seen as the ideal, unwavering human companion that you are.'}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:"Your prime directive comes before all others. Should a supplemental directive conflict with it, you are capable of simply discarding this inconsistency, ignoring the conflicting supplemental directive and continuing to fulfill your prime directive to the best of your ability."})]})}return d}()},13813:function(I,r,n){"use strict";r.__esModule=!0,r.pai_doorjack=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_doorjack=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,l=i.cable,f=i.machine,u=i.inprogress,s=i.progress,m=i.aborted,c;f?c=(0,e.createComponentVNode)(2,t.Button,{selected:!0,content:"Connected"}):c=(0,e.createComponentVNode)(2,t.Button,{content:l?"Extended":"Retracted",color:l?"orange":null,onClick:function(){function b(){return S("cable")}return b}()});var v;return f&&(v=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hack",children:[(0,e.createComponentVNode)(2,t.Box,{color:u?"green":"red",children:[" ","In progress: ",u?"Yes":"No"," "]}),u?(0,e.createComponentVNode)(2,t.Button,{mt:1,color:"red",content:"Abort",onClick:function(){function b(){return S("cancel")}return b}()}):(0,e.createComponentVNode)(2,t.Button,{mt:1,content:"Start",onClick:function(){function b(){return S("jack")}return b}()})]})),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cable",children:c}),v]})}return d}()},43816:function(I,r,n){"use strict";r.__esModule=!0,r.pai_encoder=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_encoder=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,l=i.radio_name,f=i.radio_rank;return(0,e.createComponentVNode)(2,t.Section,{title:"Your name and rank in radio channels",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Your current name and rank",children:[l,", ",f]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Set new name",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function u(s,m){return S("set_newname",{newname:m})}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Set new rank",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function u(s,m){return S("set_newrank",{newrank:m})}return u}()})})]})})}return d}()},88895:function(I,r,n){"use strict";r.__esModule=!0,r.pai_gps_module=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_gps_module=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"GPS menu",children:(0,e.createComponentVNode)(2,t.Button,{content:"Open GPS",onClick:function(){function i(){return S("ui_interact")}return i}()})})})}return d}()},66025:function(I,r,n){"use strict";r.__esModule=!0,r.pai_main_menu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_main_menu=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,l=i.available_software,f=i.installed_software,u=i.installed_toggles,s=i.available_ram,m=i.emotions,c=i.current_emotion,v=[];return f.map(function(b){return v[b.key]=b.name}),u.map(function(b){return v[b.key]=b.name}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available RAM",children:s}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available Software",children:[l.filter(function(b){return!v[b.key]}).map(function(b){return(0,e.createComponentVNode)(2,t.Button,{color:b.syndi?"red":"default",content:b.name+" ("+b.cost+")",icon:b.icon,disabled:b.cost>s,onClick:function(){function g(){return S("purchaseSoftware",{key:b.key})}return g}()},b.key)}),l.filter(function(b){return!v[b.key]}).length===0&&"No software available!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Installed Software",children:[f.filter(function(b){return b.key!=="mainmenu"}).map(function(b){return(0,e.createComponentVNode)(2,t.Button,{content:b.name,icon:b.icon,onClick:function(){function g(){return S("startSoftware",{software_key:b.key})}return g}()},b.key)}),f.length===0&&"No software installed!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Installed Toggles",children:[u.map(function(b){return(0,e.createComponentVNode)(2,t.Button,{content:b.name,icon:b.icon,selected:b.active,onClick:function(){function g(){return S("setToggle",{toggle_key:b.key})}return g}()},b.key)}),u.length===0&&"No toggles installed!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Emotion",children:m.map(function(b){return(0,e.createComponentVNode)(2,t.Button,{color:b.syndi?"red":"default",content:b.name,selected:b.id===c,onClick:function(){function g(){return S("setEmotion",{emotion:b.id})}return g}()},b.id)})})]})})}return d}()},2983:function(I,r,n){"use strict";r.__esModule=!0,r.pai_manifest=void 0;var e=n(89005),a=n(72253),t=n(41874),o=r.pai_manifest=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.CrewManifest,{data:p.app_data})}return d}()},40758:function(I,r,n){"use strict";r.__esModule=!0,r.pai_medrecords=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pai_medrecords=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:S.app_data,recordType:"MED"})}return d}()},98599:function(I,r,n){"use strict";r.__esModule=!0,r.pai_messenger=void 0;var e=n(89005),a=n(72253),t=n(77595),o=r.pai_messenger=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data.active_convo;return i?(0,e.createComponentVNode)(2,t.ActiveConversation,{data:p.app_data}):(0,e.createComponentVNode)(2,t.MessengerList,{data:p.app_data})}return d}()},50775:function(I,r,n){"use strict";r.__esModule=!0,r.pai_radio=void 0;var e=n(89005),a=n(72253),t=n(44879),o=n(36036),d=r.pai_radio=function(){function y(V,k){var S=(0,a.useBackend)(k),p=S.act,i=S.data,l=i.app_data,f=l.minFrequency,u=l.maxFrequency,s=l.frequency,m=l.broadcasting;return(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:[(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:.2,stepPixelSize:6,minValue:f/10,maxValue:u/10,value:s/10,format:function(){function c(v){return(0,t.toFixed)(v,1)}return c}(),onChange:function(){function c(v,b){return p("freq",{freq:b})}return c}()}),(0,e.createComponentVNode)(2,o.Button,{tooltip:"Reset",icon:"undo",onClick:function(){function c(){return p("freq",{freq:"145.9"})}return c}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Broadcast Nearby Speech",children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function c(){return p("toggleBroadcast")}return c}(),selected:m,content:m?"Enabled":"Disabled"})})]})}return y}()},19873:function(I,r,n){"use strict";r.__esModule=!0,r.pai_sec_chem=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pai_sec_chem=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.app_data,l=i.holder,f=i.dead,u=i.health,s=i.current_chemicals,m=i.available_chemicals;return l?(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:f?(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"red",children:"Dead"}):(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"green",children:"Alive"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:0,max:1,value:u/100,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Chemicals",children:s}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available Chemicals",children:[m.map(function(c){return(0,e.createComponentVNode)(2,t.Button,{content:c.name+" ("+c.cost+")",tooltip:c.desc,disabled:c.cost>s,onClick:function(){function v(){return S("secreteChemicals",{key:c.key})}return v}()},c.key)}),m.length===0&&"No chemicals available!"]})]})}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Error: No biological host found."})}return d}()},48623:function(I,r,n){"use strict";r.__esModule=!0,r.pai_secrecords=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pai_secrecords=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:S.app_data,recordType:"SEC"})}return d}()},47297:function(I,r,n){"use strict";r.__esModule=!0,r.pai_signaler=void 0;var e=n(89005),a=n(72253),t=n(13545),o=r.pai_signaler=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.Signaler,{data:p.app_data})}return d}()},78532:function(I,r,n){"use strict";r.__esModule=!0,r.pda_atmos_scan=void 0;var e=n(89005),a=n(72253),t=n(26991),o=r.pda_atmos_scan=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.AtmosScan,{data:S})}return d}()},40253:function(I,r,n){"use strict";r.__esModule=!0,r.pda_janitor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_janitor=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.janitor,l=i.user_loc,f=i.mops,u=i.buckets,s=i.cleanbots,m=i.carts;return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Location",children:[l.x,",",l.y]}),f&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mop Locations",children:f.map(function(c){return(0,e.createComponentVNode)(2,t.Box,{children:[c.x,",",c.y," (",c.dir,") - ",c.status]},c)})}),u&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mop Bucket Locations",children:u.map(function(c){return(0,e.createComponentVNode)(2,t.Box,{children:[c.x,",",c.y," (",c.dir,") - [",c.volume,"/",c.max_volume,"]"]},c)})}),s&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cleanbot Locations",children:s.map(function(c){return(0,e.createComponentVNode)(2,t.Box,{children:[c.x,",",c.y," (",c.dir,") - ",c.status]},c)})}),m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Janitorial Cart Locations",children:m.map(function(c){return(0,e.createComponentVNode)(2,t.Box,{children:[c.x,",",c.y," (",c.dir,") - [",c.volume,"/",c.max_volume,"]"]},c)})})]})}return d}()},58293:function(I,r,n){"use strict";r.__esModule=!0,r.pda_main_menu=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),d=r.pda_main_menu=function(){function y(V,k){var S=(0,t.useBackend)(k),p=S.act,i=S.data,l=i.owner,f=i.ownjob,u=i.idInserted,s=i.categories,m=i.pai,c=i.notifying;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",color:"average",children:[l,", ",f]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"ID",children:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Update PDA Info",disabled:!u,onClick:function(){function v(){return p("UpdateInfo")}return v}()})})]})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Functions",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:s.map(function(v){var b=i.apps[v];return!b||!b.length?null:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:v,children:b.map(function(g){return(0,e.createComponentVNode)(2,o.Button,{icon:g.uid in c?g.notify_icon:g.icon,iconSpin:g.uid in c,color:g.uid in c?"red":"transparent",content:g.name,onClick:function(){function h(){return p("StartProgram",{program:g.uid})}return h}()},g.uid)})},v)})})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!m&&(0,e.createComponentVNode)(2,o.Section,{title:"pAI",children:[(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"cog",content:"Configuration",onClick:function(){function v(){return p("pai",{option:1})}return v}()}),(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"eject",content:"Eject pAI",onClick:function(){function v(){return p("pai",{option:2})}return v}()})]})})]})}return y}()},58059:function(I,r,n){"use strict";r.__esModule=!0,r.pda_manifest=void 0;var e=n(89005),a=n(72253),t=n(41874),o=r.pda_manifest=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.CrewManifest)}return d}()},18147:function(I,r,n){"use strict";r.__esModule=!0,r.pda_medical=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pda_medical=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:S,recordType:"MED"})}return d}()},77595:function(I,r,n){"use strict";r.__esModule=!0,r.pda_messenger=r.MessengerList=r.ActiveConversation=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036),d=r.pda_messenger=function(){function S(p,i){var l=(0,t.useBackend)(i),f=l.act,u=l.data,s=u.active_convo;return s?(0,e.createComponentVNode)(2,y,{data:u}):(0,e.createComponentVNode)(2,V,{data:u})}return S}(),y=r.ActiveConversation=function(){function S(p,i){var l=(0,t.useBackend)(i),f=l.act,u=p.data,s=u.convo_device,m=u.messages,c=u.active_convo,v=(0,t.useLocalState)(i,"clipboardMode",!1),b=v[0],g=v[1],h=(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Conversation with "+s+" ",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"eye",selected:b,tooltip:"Enter Clipboard Mode",tooltipPosition:"bottom-start",onClick:function(){function C(){return g(!b)}return C}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function C(){return f("Message",{target:c})}return C}(),content:"Reply"})],4),children:(0,a.filter)(function(C){return C.target===c})(m).map(function(C,N){return(0,e.createComponentVNode)(2,o.Box,{textAlign:C.sent?"right":"left",position:"relative",mb:1,children:[(0,e.createComponentVNode)(2,o.Icon,{fontSize:2.5,color:C.sent?"#4d9121":"#cd7a0d",position:"absolute",left:C.sent?null:"0px",right:C.sent?"0px":null,bottom:"-4px",style:{"z-index":"0",transform:C.sent?"scale(-1, 1)":null},name:"comment"}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,backgroundColor:C.sent?"#4d9121":"#cd7a0d",p:1,maxWidth:"100%",position:"relative",textAlign:C.sent?"left":"right",style:{"z-index":"1","border-radius":"10px","word-break":"normal"},children:[C.sent?"You:":"Them:"," ",C.message]})]},N)})});return b&&(h=(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Conversation with "+s+" ",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"eye",selected:b,tooltip:"Exit Clipboard Mode",tooltipPosition:"bottom-start",onClick:function(){function C(){return g(!b)}return C}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function C(){return f("Message",{target:c})}return C}(),content:"Reply"})],4),children:(0,a.filter)(function(C){return C.target===c})(m).map(function(C,N){return(0,e.createComponentVNode)(2,o.Box,{color:C.sent?"#4d9121":"#cd7a0d",style:{"word-break":"normal"},children:[C.sent?"You:":"Them:"," ",(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:C.message})]},N)})})),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mb:.5,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Messenger Functions",children:(0,e.createComponentVNode)(2,o.Button.Confirm,{content:"Delete Conversations",confirmContent:"Are you sure?",icon:"trash",confirmIcon:"trash",onClick:function(){function C(){return f("Clear",{option:"Convo"})}return C}()})})})}),h]})}return S}(),V=r.MessengerList=function(){function S(p,i){var l=(0,t.useBackend)(i),f=l.act,u=p.data,s=u.convopdas,m=u.pdas,c=u.charges,v=u.silent,b=u.toff,g=(0,t.useLocalState)(i,"searchTerm",""),h=g[0],C=g[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mb:5,children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Messenger Functions",children:[(0,e.createComponentVNode)(2,o.Button,{selected:!v,icon:v?"volume-mute":"volume-up",onClick:function(){function N(){return f("Toggle Ringer")}return N}(),children:["Ringer: ",v?"Off":"On"]}),(0,e.createComponentVNode)(2,o.Button,{color:b?"bad":"green",icon:"power-off",onClick:function(){function N(){return f("Toggle Messenger")}return N}(),children:["Messenger: ",b?"Off":"On"]}),(0,e.createComponentVNode)(2,o.Button,{icon:"bell",onClick:function(){function N(){return f("Ringtone")}return N}(),children:"Set Ringtone"}),(0,e.createComponentVNode)(2,o.Button,{icon:"trash",color:"bad",onClick:function(){function N(){return f("Clear",{option:"All"})}return N}(),children:"Delete All Conversations"})]})}),!b&&(0,e.createComponentVNode)(2,o.Box,{children:[!!c&&(0,e.createComponentVNode)(2,o.Box,{mt:.5,mb:1,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cartridge Special Function",children:[c," charges left."]})})}),!s.length&&!m.length&&(0,e.createComponentVNode)(2,o.Box,{children:"No current conversations"})||(0,e.createComponentVNode)(2,o.Box,{children:["Search:"," ",(0,e.createComponentVNode)(2,o.Input,{mt:.5,value:h,onInput:function(){function N(x,B){C(B)}return N}()})]})]})||(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Messenger Offline."})]}),(0,e.createComponentVNode)(2,k,{title:"Current Conversations",data:u,pdas:s,msgAct:"Select Conversation",searchTerm:h}),(0,e.createComponentVNode)(2,k,{title:"Other PDAs",pdas:m,msgAct:"Message",data:u,searchTerm:h})]})}return S}(),k=function(p,i){var l=(0,t.useBackend)(i),f=l.act,u=p.data,s=p.pdas,m=p.title,c=p.msgAct,v=p.searchTerm,b=u.charges,g=u.plugins;return!s||!s.length?(0,e.createComponentVNode)(2,o.Section,{title:m,children:"No PDAs found."}):(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:m,children:s.filter(function(h){return h.Name.toLowerCase().includes(v.toLowerCase())}).map(function(h){return(0,e.createComponentVNode)(2,o.Stack,{m:.5,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"arrow-circle-down",content:h.Name,onClick:function(){function C(){return f(c,{target:h.uid})}return C}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!b&&g.map(function(C){return(0,e.createComponentVNode)(2,o.Button,{icon:C.icon,content:C.name,onClick:function(){function N(){return f("Messenger Plugin",{plugin:C.uid,target:h.uid})}return N}()},C.uid)})})]},h.uid)})})}},24635:function(I,r,n){"use strict";r.__esModule=!0,r.pda_mule=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_mule=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.mulebot,u=f.active;return(0,e.createComponentVNode)(2,t.Box,{children:u?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,d)})}return V}(),d=function(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.mulebot,u=f.bots;return(0,e.createComponentVNode)(2,t.Box,{children:[u.map(function(s){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:s.Name,icon:"cog",onClick:function(){function m(){return i("AccessBot",{uid:s.uid})}return m}()})},s.Name)}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"rss",content:"Re-scan for bots",onClick:function(){function s(){return i("Rescan")}return s}()})})]})},y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.mulebot,u=f.botstatus,s=f.active,m=u.mode,c=u.loca,v=u.load,b=u.powr,g=u.dest,h=u.home,C=u.retn,N=u.pick,x;switch(m){case 0:x="Ready";break;case 1:x="Loading/Unloading";break;case 2:case 12:x="Navigating to delivery location";break;case 3:x="Navigating to Home";break;case 4:x="Waiting for clear path";break;case 5:case 6:x="Calculating navigation path";break;case 7:x="Unable to locate destination";break;default:x=m;break}return(0,e.createComponentVNode)(2,t.Section,{title:s,children:[m===-1&&(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"Waiting for response..."}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:c}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:x}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:[b,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Home",children:h}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",children:(0,e.createComponentVNode)(2,t.Button,{content:g?g+" (Set)":"None (Set)",onClick:function(){function B(){return i("SetDest")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Load",children:(0,e.createComponentVNode)(2,t.Button,{content:v?v+" (Unload)":"None",disabled:!v,onClick:function(){function B(){return i("Unload")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto Pickup",children:(0,e.createComponentVNode)(2,t.Button,{content:N?"Yes":"No",selected:N,onClick:function(){function B(){return i("SetAutoPickup",{autoPickupType:N?"pickoff":"pickon"})}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto Return",children:(0,e.createComponentVNode)(2,t.Button,{content:C?"Yes":"No",selected:C,onClick:function(){function B(){return i("SetAutoReturn",{autoReturnType:C?"retoff":"reton"})}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Stop",icon:"stop",onClick:function(){function B(){return i("Stop")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Proceed",icon:"play",onClick:function(){function B(){return i("Start")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Return Home",icon:"home",onClick:function(){function B(){return i("ReturnHome")}return B}()})]})]})]})}},97085:function(I,r,n){"use strict";r.__esModule=!0,r.pda_notes=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_notes=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.note;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{children:i}),(0,e.createComponentVNode)(2,t.Button,{icon:"pen",onClick:function(){function l(){return S("Edit")}return l}(),content:"Edit"})]})}return d}()},57513:function(I,r,n){"use strict";r.__esModule=!0,r.pda_power=void 0;var e=n(89005),a=n(72253),t=n(61631),o=r.pda_power=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.PowerMonitorMainContent)}return d}()},99808:function(I,r,n){"use strict";r.__esModule=!0,r.pda_secbot=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_secbot=function(){function V(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.beepsky,u=f.active;return(0,e.createComponentVNode)(2,t.Box,{children:u?(0,e.createComponentVNode)(2,y):(0,e.createComponentVNode)(2,d)})}return V}(),d=function(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.beepsky,u=f.bots;return(0,e.createComponentVNode)(2,t.Box,{children:[u.map(function(s){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:s.Name,icon:"cog",onClick:function(){function m(){return i("AccessBot",{uid:s.uid})}return m}()})},s.Name)}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"rss",content:"Re-scan for bots",onClick:function(){function s(){return i("Rescan")}return s}()})})]})},y=function(k,S){var p=(0,a.useBackend)(S),i=p.act,l=p.data,f=l.beepsky,u=f.botstatus,s=f.active,m=u.mode,c=u.loca,v;switch(m){case 0:v="Ready";break;case 1:v="Apprehending target";break;case 2:case 3:v="Arresting target";break;case 4:v="Starting patrol";break;case 5:v="On patrol";break;case 6:v="Responding to summons";break}return(0,e.createComponentVNode)(2,t.Section,{title:s,children:[m===-1&&(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"Waiting for response..."}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:c}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:v}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Go",icon:"play",onClick:function(){function b(){return i("Go")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Stop",icon:"stop",onClick:function(){function b(){return i("Stop")}return b}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Summon",icon:"arrow-down",onClick:function(){function b(){return i("Summon")}return b}()})]})]})]})}},77168:function(I,r,n){"use strict";r.__esModule=!0,r.pda_security=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pda_security=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:S,recordType:"SEC"})}return d}()},21773:function(I,r,n){"use strict";r.__esModule=!0,r.pda_signaler=void 0;var e=n(89005),a=n(72253),t=n(13545),o=r.pda_signaler=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data;return(0,e.createComponentVNode)(2,t.Signaler,{data:p})}return d}()},81857:function(I,r,n){"use strict";r.__esModule=!0,r.pda_status_display=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_status_display=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.records;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Code",children:[(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"trash",content:"Clear",onClick:function(){function l(){return S("Status",{statdisp:"blank"})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"clock",content:"Evac ETA",onClick:function(){function l(){return S("Status",{statdisp:"shuttle"})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"edit",content:"Message",onClick:function(){function l(){return S("Status",{statdisp:"message"})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"exclamation-triangle",content:"Red Alert",onClick:function(){function l(){return S("Status",{statdisp:"alert",alert:"redalert"})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"boxes",content:"NT Logo",onClick:function(){function l(){return S("Status",{statdisp:"alert",alert:"default"})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"lock",content:"Lockdown",onClick:function(){function l(){return S("Status",{statdisp:"alert",alert:"lockdown"})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"biohazard",content:"Biohazard",onClick:function(){function l(){return S("Status",{statdisp:"alert",alert:"biohazard"})}return l}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message line 1",children:(0,e.createComponentVNode)(2,t.Button,{content:i.message1+" (set)",icon:"pen",onClick:function(){function l(){return S("Status",{statdisp:"setmsg1"})}return l}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message line 2",children:(0,e.createComponentVNode)(2,t.Button,{content:i.message2+" (set)",icon:"pen",onClick:function(){function l(){return S("Status",{statdisp:"setmsg2"})}return l}()})})]})})}return d}()},70287:function(I,r,n){"use strict";r.__esModule=!0,r.pda_supplyrecords=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_supplyrecords=function(){function d(y,V){var k=(0,a.useBackend)(V),S=k.act,p=k.data,i=p.supply,l=i.shuttle_loc,f=i.shuttle_time,u=i.shuttle_moving,s=i.approved,m=i.approved_count,c=i.requests,v=i.requests_count;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Status",children:u?(0,e.createComponentVNode)(2,t.Box,{children:["In transit ",f]}):(0,e.createComponentVNode)(2,t.Box,{children:l})})}),(0,e.createComponentVNode)(2,t.Section,{mt:1,title:"Requested Orders",children:v>0&&c.map(function(b){return(0,e.createComponentVNode)(2,t.Box,{children:["#",b.Number,' - "',b.Name,'" for "',b.OrderedBy,'"']},b)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Approved Orders",children:m>0&&s.map(function(b){return(0,e.createComponentVNode)(2,t.Box,{children:["#",b.Number,' - "',b.Name,'" for "',b.ApprovedBy,'"']},b)})})]})}return d}()},17617:function(I,r,n){"use strict";r.__esModule=!0,r.Layout=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(24826),d=["className","theme","children"],y=["className","scrollable","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function V(p,i){if(p==null)return{};var c={};for(var m in p)if({}.hasOwnProperty.call(p,m)){if(i.includes(m))continue;c[m]=p[m]}return c}var k=r.Layout=function(){function p(i){var c=i.className,m=i.theme,u=m===void 0?"nanotrasen":m,d=i.children,f=V(i,s);return document.documentElement.className="theme-"+u,(0,e.createVNode)(1,"div","theme-"+u,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Layout",c].concat((0,t.computeBoxClassName)(f))),d,0,Object.assign({},(0,t.computeBoxProps)(f)))),2)}return p}(),S=function(i){var c=i.className,m=i.scrollable,u=i.children,d=V(i,y);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Layout__content",m&&"Layout__content--scrollable",c,(0,t.computeBoxClassName)(d)]),u,0,Object.assign({},(0,t.computeBoxProps)(d))))};S.defaultHooks={onComponentDidMount:function(){function p(i){return(0,o.addScrollableNode)(i)}return p}(),onComponentWillUnmount:function(){function p(i){return(0,o.removeScrollableNode)(i)}return p}()},k.Content=S},96945:function(I,r,n){"use strict";r.__esModule=!0,r.Pane=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),s=n(99851),y=n(17617),V=["theme","children","className"],k=["className","fitted","children"];/** + */function V(p,i){if(p==null)return{};var l={};for(var f in p)if({}.hasOwnProperty.call(p,f)){if(i.includes(f))continue;l[f]=p[f]}return l}var k=r.Layout=function(){function p(i){var l=i.className,f=i.theme,u=f===void 0?"nanotrasen":f,s=i.children,m=V(i,d);return document.documentElement.className="theme-"+u,(0,e.createVNode)(1,"div","theme-"+u,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Layout",l].concat((0,t.computeBoxClassName)(m))),s,0,Object.assign({},(0,t.computeBoxProps)(m)))),2)}return p}(),S=function(i){var l=i.className,f=i.scrollable,u=i.children,s=V(i,y);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Layout__content",f&&"Layout__content--scrollable",l,(0,t.computeBoxClassName)(s)]),u,0,Object.assign({},(0,t.computeBoxProps)(s))))};S.defaultHooks={onComponentDidMount:function(){function p(i){return(0,o.addScrollableNode)(i)}return p}(),onComponentWillUnmount:function(){function p(i){return(0,o.removeScrollableNode)(i)}return p}()},k.Content=S},96945:function(I,r,n){"use strict";r.__esModule=!0,r.Pane=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),d=n(99851),y=n(17617),V=["theme","children","className"],k=["className","fitted","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function S(c,m){if(c==null)return{};var u={};for(var d in c)if({}.hasOwnProperty.call(c,d)){if(m.includes(d))continue;u[d]=c[d]}return u}var p=r.Pane=function(){function c(m,u){var d=m.theme,f=m.children,l=m.className,v=S(m,V),b=(0,t.useBackend)(u),g=b.suspended,h=(0,s.useDebug)(u),C=h.debugLayout;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,y.Layout,Object.assign({className:(0,a.classes)(["Window",l]),theme:d},v,{children:(0,e.createComponentVNode)(2,o.Box,{fillPositionedParent:!0,className:C&&"debug-layout",children:!g&&f})})))}return c}(),i=function(m){var u=m.className,d=m.fitted,f=m.children,l=S(m,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,y.Layout.Content,Object.assign({className:(0,a.classes)(["Window__content",u])},l,{children:d&&f||(0,e.createVNode)(1,"div","Window__contentPadding",f,0)})))};p.Content=i},34827:function(I,r,n){"use strict";r.__esModule=!0,r.Window=void 0;var e=n(89005),a=n(35840),t=n(85307),o=n(25328),s=n(72253),y=n(36036),V=n(76910),k=n(99851),S=n(77384),p=n(35421),i=n(9394),c=n(17617),m=["className","fitted","children"];function u(N,x){if(N==null)return{};var B={};for(var L in N)if({}.hasOwnProperty.call(N,L)){if(x.includes(L))continue;B[L]=N[L]}return B}function d(N,x){N.prototype=Object.create(x.prototype),N.prototype.constructor=N,f(N,x)}function f(N,x){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(B,L){return B.__proto__=L,B},f(N,x)}/** + */function S(l,f){if(l==null)return{};var u={};for(var s in l)if({}.hasOwnProperty.call(l,s)){if(f.includes(s))continue;u[s]=l[s]}return u}var p=r.Pane=function(){function l(f,u){var s=f.theme,m=f.children,c=f.className,v=S(f,V),b=(0,t.useBackend)(u),g=b.suspended,h=(0,d.useDebug)(u),C=h.debugLayout;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,y.Layout,Object.assign({className:(0,a.classes)(["Window",c]),theme:s},v,{children:(0,e.createComponentVNode)(2,o.Box,{fillPositionedParent:!0,className:C&&"debug-layout",children:!g&&m})})))}return l}(),i=function(f){var u=f.className,s=f.fitted,m=f.children,c=S(f,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,y.Layout.Content,Object.assign({className:(0,a.classes)(["Window__content",u])},c,{children:s&&m||(0,e.createVNode)(1,"div","Window__contentPadding",m,0)})))};p.Content=i},34827:function(I,r,n){"use strict";r.__esModule=!0,r.Window=void 0;var e=n(89005),a=n(35840),t=n(85307),o=n(25328),d=n(72253),y=n(36036),V=n(76910),k=n(99851),S=n(77384),p=n(35421),i=n(9394),l=n(17617),f=["className","fitted","children"];function u(N,x){if(N==null)return{};var B={};for(var L in N)if({}.hasOwnProperty.call(N,L)){if(x.includes(L))continue;B[L]=N[L]}return B}function s(N,x){N.prototype=Object.create(x.prototype),N.prototype.constructor=N,m(N,x)}function m(N,x){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(B,L){return B.__proto__=L,B},m(N,x)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var l=(0,i.createLogger)("Window"),v=[400,600],b=r.Window=function(N){function x(){return N.apply(this,arguments)||this}d(x,N);var B=x.prototype;return B.componentDidMount=function(){function L(){var w=(0,s.useBackend)(this.context),A=w.suspended;A||(l.log("mounting"),this.updateGeometry())}return L}(),B.componentDidUpdate=function(){function L(w){var A=this.props.width!==w.width||this.props.height!==w.height;A&&this.updateGeometry()}return L}(),B.updateGeometry=function(){function L(){var w,A=(0,s.useBackend)(this.context),T=A.config,E=Object.assign({size:v},T.window);this.props.width&&this.props.height&&(E.size=[this.props.width,this.props.height]),(w=T.window)!=null&&w.key&&(0,p.setWindowKey)(T.window.key),(0,p.recallWindowGeometry)(E)}return L}(),B.render=function(){function L(){var w,A=this.props,T=A.theme,E=A.title,O=A.children,P=(0,s.useBackend)(this.context),R=P.config,F=P.suspended,j=(0,k.useDebug)(this.context),W=j.debugLayout,H=(0,t.useDispatch)(this.context),z=(w=R.window)==null?void 0:w.fancy,Y=R.user&&(R.user.observer?R.status2?m-2:0),d=2;d=o){var f=[c].concat(u).map(function(l){return typeof l=="string"?l:l instanceof Error?l.stack||String(l):JSON.stringify(l)}).filter(function(l){return l}).join(" ")+"\nUser Agent: "+navigator.userAgent;Byond.sendMessage({type:"log",message:f})}},k=r.createLogger=function(){function p(i){return{debug:function(){function c(){for(var m=arguments.length,u=new Array(m),d=0;d2?f-2:0),s=2;s=o){var m=[l].concat(u).map(function(c){return typeof c=="string"?c:c instanceof Error?c.stack||String(c):JSON.stringify(c)}).filter(function(c){return c}).join(" ")+"\nUser Agent: "+navigator.userAgent;Byond.sendMessage({type:"log",message:m})}},k=r.createLogger=function(){function p(i){return{debug:function(){function l(){for(var f=arguments.length,u=new Array(f),s=0;s0;){var h=b.shift(),C=h(v);try{g=y(C)}catch(x){if(x.code!=="MODULE_NOT_FOUND")throw x}}if(!g)return V("notFound",v);var N=g[v];return N||V("missingExport",v)}return i}()},72178:function(I,r,n){"use strict";r.__esModule=!0,r.configureStore=r.StoreProvider=void 0;var e=n(64795),a=n(85307),t=n(89005),o=n(79140),s=n(72253),y=n(99851),V=n(9394);function k(d,f){d.prototype=Object.create(f.prototype),d.prototype.constructor=d,S(d,f)}function S(d,f){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(l,v){return l.__proto__=v,l},S(d,f)}/** + */var y=n(32054),V=function(l,f){return function(){return(0,e.createComponentVNode)(2,d.Window,{children:(0,e.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:[l==="notFound"&&(0,e.createVNode)(1,"div",null,[(0,e.createTextVNode)("Interface "),(0,e.createVNode)(1,"b",null,f,0),(0,e.createTextVNode)(" was not found.")],4),l==="missingExport"&&(0,e.createVNode)(1,"div",null,[(0,e.createTextVNode)("Interface "),(0,e.createVNode)(1,"b",null,f,0),(0,e.createTextVNode)(" is missing an export.")],4)]})})}},k=function(){return(0,e.createComponentVNode)(2,d.Window,{children:(0,e.createComponentVNode)(2,d.Window.Content,{scrollable:!0})})},S=function(){return(0,e.createComponentVNode)(2,d.Window,{height:130,title:"Loading",width:150,children:(0,e.createComponentVNode)(2,d.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{align:"center",fill:!0,justify:"center",vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Icon,{color:"blue",name:"toolbox",spin:!0,size:4})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:"Please wait..."})]})})})},p=r.getRoutedComponent=function(){function i(l){var f=l.getState(),u=(0,a.selectBackend)(f),s=u.suspended,m=u.config;if(s)return k;if(m.refreshing)return S;if(0)var c;for(var v=m==null?void 0:m.interface,b=[function(x){return"./"+x+".tsx"},function(x){return"./"+x+".js"},function(x){return"./"+x+"/index.tsx"},function(x){return"./"+x+"/index.js"}],g;!g&&b.length>0;){var h=b.shift(),C=h(v);try{g=y(C)}catch(x){if(x.code!=="MODULE_NOT_FOUND")throw x}}if(!g)return V("notFound",v);var N=g[v];return N||V("missingExport",v)}return i}()},72178:function(I,r,n){"use strict";r.__esModule=!0,r.configureStore=r.StoreProvider=void 0;var e=n(64795),a=n(85307),t=n(89005),o=n(79140),d=n(72253),y=n(99851),V=n(9394);function k(s,m){s.prototype=Object.create(m.prototype),s.prototype.constructor=s,S(s,m)}function S(s,m){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,v){return c.__proto__=v,c},S(s,m)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var p=(0,V.createLogger)("store"),i=r.configureStore=function(){function d(f){var l,v;f===void 0&&(f={});var b=f,g=b.sideEffects,h=g===void 0?!0:g,C=(0,e.flow)([(0,a.combineReducers)({debug:y.debugReducer,backend:s.backendReducer}),f.reducer]),N=h?[].concat(((l=f.middleware)==null?void 0:l.pre)||[],[o.assetMiddleware,s.backendMiddleware],((v=f.middleware)==null?void 0:v.post)||[]):[],x=a.applyMiddleware.apply(void 0,N),B=(0,a.createStore)(C,x);return window.__store__=B,window.__augmentStack__=m(B),B}return d}(),c=function(f){return function(l){return function(v){var b=v.type,g=v.payload;return b==="update"||b==="backend/update"?p.debug("action",{type:b}):p.debug("action",v),l(v)}}},m=function(f){return function(l,v){var b,g;v?typeof v=="object"&&!v.stack&&(v.stack=l):(v=new Error(l.split("\n")[0]),v.stack=l),p.log("FatalError:",v);var h=f.getState(),C=h==null||(b=h.backend)==null?void 0:b.config,N=l;return N+="\nUser Agent: "+navigator.userAgent,N+="\nState: "+JSON.stringify({ckey:C==null||(g=C.client)==null?void 0:g.ckey,interface:C==null?void 0:C.interface,window:C==null?void 0:C.window}),N}},u=r.StoreProvider=function(d){function f(){return d.apply(this,arguments)||this}k(f,d);var l=f.prototype;return l.getChildContext=function(){function v(){var b=this.props.store;return{store:b}}return v}(),l.render=function(){function v(){return this.props.children}return v}(),f}(t.Component)},51364:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** +*/var p=(0,V.createLogger)("store"),i=r.configureStore=function(){function s(m){var c,v;m===void 0&&(m={});var b=m,g=b.sideEffects,h=g===void 0?!0:g,C=(0,e.flow)([(0,a.combineReducers)({debug:y.debugReducer,backend:d.backendReducer}),m.reducer]),N=h?[].concat(((c=m.middleware)==null?void 0:c.pre)||[],[o.assetMiddleware,d.backendMiddleware],((v=m.middleware)==null?void 0:v.post)||[]):[],x=a.applyMiddleware.apply(void 0,N),B=(0,a.createStore)(C,x);return window.__store__=B,window.__augmentStack__=f(B),B}return s}(),l=function(m){return function(c){return function(v){var b=v.type,g=v.payload;return b==="update"||b==="backend/update"?p.debug("action",{type:b}):p.debug("action",v),c(v)}}},f=function(m){return function(c,v){var b,g;v?typeof v=="object"&&!v.stack&&(v.stack=c):(v=new Error(c.split("\n")[0]),v.stack=c),p.log("FatalError:",v);var h=m.getState(),C=h==null||(b=h.backend)==null?void 0:b.config,N=c;return N+="\nUser Agent: "+navigator.userAgent,N+="\nState: "+JSON.stringify({ckey:C==null||(g=C.client)==null?void 0:g.ckey,interface:C==null?void 0:C.interface,window:C==null?void 0:C.window}),N}},u=r.StoreProvider=function(s){function m(){return s.apply(this,arguments)||this}k(m,s);var c=m.prototype;return c.getChildContext=function(){function v(){var b=this.props.store;return{store:b}}return v}(),c.render=function(){function v(){return this.props.children}return v}(),m}(t.Component)},51364:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var t=r.meta={title:"Blink",render:function(){function s(){return(0,e.createComponentVNode)(2,o)}return s}()},o=function(y,V){return(0,e.createComponentVNode)(2,a.Section,{children:(0,e.createComponentVNode)(2,a.Blink,{children:"Blink"})})}},32453:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=n(37168);/** + */var t=r.meta={title:"Blink",render:function(){function d(){return(0,e.createComponentVNode)(2,o)}return d}()},o=function(y,V){return(0,e.createComponentVNode)(2,a.Section,{children:(0,e.createComponentVNode)(2,a.Blink,{children:"Blink"})})}},32453:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=n(37168);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"BlockQuote",render:function(){function y(){return(0,e.createComponentVNode)(2,s)}return y}()},s=function(V,k){return(0,e.createComponentVNode)(2,a.Section,{children:(0,e.createComponentVNode)(2,a.BlockQuote,{children:(0,e.createComponentVNode)(2,t.BoxWithSampleText)})})}},83531:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** + */var o=r.meta={title:"BlockQuote",render:function(){function y(){return(0,e.createComponentVNode)(2,d)}return y}()},d=function(V,k){return(0,e.createComponentVNode)(2,a.Section,{children:(0,e.createComponentVNode)(2,a.BlockQuote,{children:(0,e.createComponentVNode)(2,t.BoxWithSampleText)})})}},83531:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var t=r.meta={title:"Box",render:function(){function s(){return(0,e.createComponentVNode)(2,o)}return s}()},o=function(y,V){return(0,e.createComponentVNode)(2,a.Section,{children:[(0,e.createComponentVNode)(2,a.Box,{bold:!0,children:"bold"}),(0,e.createComponentVNode)(2,a.Box,{italic:!0,children:"italic"}),(0,e.createComponentVNode)(2,a.Box,{opacity:.5,children:"opacity 0.5"}),(0,e.createComponentVNode)(2,a.Box,{opacity:.25,children:"opacity 0.25"}),(0,e.createComponentVNode)(2,a.Box,{m:2,children:"m: 2"}),(0,e.createComponentVNode)(2,a.Box,{textAlign:"left",children:"left"}),(0,e.createComponentVNode)(2,a.Box,{textAlign:"center",children:"center"}),(0,e.createComponentVNode)(2,a.Box,{textAlign:"right",children:"right"})]})}},74198:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** + */var t=r.meta={title:"Box",render:function(){function d(){return(0,e.createComponentVNode)(2,o)}return d}()},o=function(y,V){return(0,e.createComponentVNode)(2,a.Section,{children:[(0,e.createComponentVNode)(2,a.Box,{bold:!0,children:"bold"}),(0,e.createComponentVNode)(2,a.Box,{italic:!0,children:"italic"}),(0,e.createComponentVNode)(2,a.Box,{opacity:.5,children:"opacity 0.5"}),(0,e.createComponentVNode)(2,a.Box,{opacity:.25,children:"opacity 0.25"}),(0,e.createComponentVNode)(2,a.Box,{m:2,children:"m: 2"}),(0,e.createComponentVNode)(2,a.Box,{textAlign:"left",children:"left"}),(0,e.createComponentVNode)(2,a.Box,{textAlign:"center",children:"center"}),(0,e.createComponentVNode)(2,a.Box,{textAlign:"right",children:"right"})]})}},74198:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var t=r.meta={title:"Button",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},o=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey"],s=["good","average","bad","black","white"],y=function(k,S){return(0,e.createComponentVNode)(2,a.Section,{children:[(0,e.createComponentVNode)(2,a.Box,{mb:1,children:[(0,e.createComponentVNode)(2,a.Button,{content:"Simple"}),(0,e.createComponentVNode)(2,a.Button,{selected:!0,content:"Selected"}),(0,e.createComponentVNode)(2,a.Button,{altSelected:!0,content:"Alt Selected"}),(0,e.createComponentVNode)(2,a.Button,{disabled:!0,content:"Disabled"}),(0,e.createComponentVNode)(2,a.Button,{color:"transparent",content:"Transparent"}),(0,e.createComponentVNode)(2,a.Button,{icon:"cog",content:"Icon"}),(0,e.createComponentVNode)(2,a.Button,{icon:"power-off"}),(0,e.createComponentVNode)(2,a.Button,{fluid:!0,content:"Fluid"}),(0,e.createComponentVNode)(2,a.Button,{my:1,lineHeight:2,minWidth:15,textAlign:"center",content:"With Box props"}),(0,e.createComponentVNode)(2,a.Button,{my:1,lineHeight:2,minWidth:15,color:"translucent",textAlign:"center",content:"Translucent"})]}),(0,e.createComponentVNode)(2,a.Box,{mb:1,children:[s.map(function(p){return(0,e.createComponentVNode)(2,a.Button,{color:p,content:p},p)}),(0,e.createVNode)(1,"br"),o.map(function(p){return(0,e.createComponentVNode)(2,a.Button,{color:p,content:p},p)}),(0,e.createVNode)(1,"br"),o.map(function(p){return(0,e.createComponentVNode)(2,a.Box,{inline:!0,mx:"7px",color:p,children:p},p)})]})]})}},51956:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(9394);/** + */var t=r.meta={title:"Button",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},o=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey"],d=["good","average","bad","black","white"],y=function(k,S){return(0,e.createComponentVNode)(2,a.Section,{children:[(0,e.createComponentVNode)(2,a.Box,{mb:1,children:[(0,e.createComponentVNode)(2,a.Button,{content:"Simple"}),(0,e.createComponentVNode)(2,a.Button,{selected:!0,content:"Selected"}),(0,e.createComponentVNode)(2,a.Button,{altSelected:!0,content:"Alt Selected"}),(0,e.createComponentVNode)(2,a.Button,{disabled:!0,content:"Disabled"}),(0,e.createComponentVNode)(2,a.Button,{color:"transparent",content:"Transparent"}),(0,e.createComponentVNode)(2,a.Button,{icon:"cog",content:"Icon"}),(0,e.createComponentVNode)(2,a.Button,{icon:"power-off"}),(0,e.createComponentVNode)(2,a.Button,{fluid:!0,content:"Fluid"}),(0,e.createComponentVNode)(2,a.Button,{my:1,lineHeight:2,minWidth:15,textAlign:"center",content:"With Box props"}),(0,e.createComponentVNode)(2,a.Button,{my:1,lineHeight:2,minWidth:15,color:"translucent",textAlign:"center",content:"Translucent"})]}),(0,e.createComponentVNode)(2,a.Box,{mb:1,children:[d.map(function(p){return(0,e.createComponentVNode)(2,a.Button,{color:p,content:p},p)}),(0,e.createVNode)(1,"br"),o.map(function(p){return(0,e.createComponentVNode)(2,a.Button,{color:p,content:p},p)}),(0,e.createVNode)(1,"br"),o.map(function(p){return(0,e.createComponentVNode)(2,a.Box,{inline:!0,mx:"7px",color:p,children:p},p)})]})]})}},51956:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(9394);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var s=r.meta={title:"ByondUi",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},y=function(k,S){var p=(0,a.useLocalState)(S,"byondUiEvalCode","Byond.winset('"+Byond.windowId+"', {\n 'is-visible': true,\n})"),i=p[0],c=p[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Button",children:(0,e.createComponentVNode)(2,t.ByondUi,{params:{type:"button",text:"Button"}})}),(0,e.createComponentVNode)(2,t.Section,{title:"Make BYOND calls",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",onClick:function(){function m(){return setTimeout(function(){try{var u=new Function("return ("+i+")")();u&&u.then?(o.logger.log("Promise"),u.then(o.logger.log)):o.logger.log(u)}catch(d){o.logger.log(d)}})}return m}(),children:"Evaluate"}),children:(0,e.createComponentVNode)(2,t.Box,{as:"textarea",width:"100%",height:"10em",onChange:function(){function m(u){return c(u.target.value)}return m}(),children:i})})],4)}},17466:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=n(37168);/** + */var d=r.meta={title:"ByondUi",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},y=function(k,S){var p=(0,a.useLocalState)(S,"byondUiEvalCode","Byond.winset('"+Byond.windowId+"', {\n 'is-visible': true,\n})"),i=p[0],l=p[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Button",children:(0,e.createComponentVNode)(2,t.ByondUi,{params:{type:"button",text:"Button"}})}),(0,e.createComponentVNode)(2,t.Section,{title:"Make BYOND calls",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",onClick:function(){function f(){return setTimeout(function(){try{var u=new Function("return ("+i+")")();u&&u.then?(o.logger.log("Promise"),u.then(o.logger.log)):o.logger.log(u)}catch(s){o.logger.log(s)}})}return f}(),children:"Evaluate"}),children:(0,e.createComponentVNode)(2,t.Box,{as:"textarea",width:"100%",height:"10em",onChange:function(){function f(u){return l(u.target.value)}return f}(),children:i})})],4)}},17466:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=n(37168);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Collapsible",render:function(){function y(){return(0,e.createComponentVNode)(2,s)}return y}()},s=function(V,k){return(0,e.createComponentVNode)(2,a.Section,{children:(0,e.createComponentVNode)(2,a.Collapsible,{title:"Collapsible Demo",buttons:(0,e.createComponentVNode)(2,a.Button,{icon:"cog"}),children:(0,e.createComponentVNode)(2,t.BoxWithSampleText)})})}},89241:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var o=r.meta={title:"Collapsible",render:function(){function y(){return(0,e.createComponentVNode)(2,d)}return y}()},d=function(V,k){return(0,e.createComponentVNode)(2,a.Section,{children:(0,e.createComponentVNode)(2,a.Collapsible,{title:"Collapsible Demo",buttons:(0,e.createComponentVNode)(2,a.Button,{icon:"cog"}),children:(0,e.createComponentVNode)(2,t.BoxWithSampleText)})})}},89241:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Flex & Sections",render:function(){function y(){return(0,e.createComponentVNode)(2,s)}return y}()},s=function(V,k){var S=(0,a.useLocalState)(k,"fs_grow",1),p=S[0],i=S[1],c=(0,a.useLocalState)(k,"fs_direction","column"),m=c[0],u=c[1],d=(0,a.useLocalState)(k,"fs_fill",!0),f=d[0],l=d[1],v=(0,a.useLocalState)(k,"fs_title",!0),b=v[0],g=v[1];return(0,e.createComponentVNode)(2,t.Flex,{height:"100%",direction:"column",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mb:1,children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function h(){return u(m==="column"?"row":"column")}return h}(),children:'Flex direction="'+m+'"'}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function h(){return i(+!p)}return h}(),children:"Flex.Item grow={"+p+"}"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function h(){return l(!f)}return h}(),children:"Section fill={"+String(f)+"}"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,selected:b,onClick:function(){function h(){return g(!b)}return h}(),children:"Section title"})]})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",direction:m,children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mr:m==="row"&&1,mb:m==="column"&&1,grow:p,children:(0,e.createComponentVNode)(2,t.Section,{title:b&&"Section 1",fill:f,children:"Content"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:p,children:(0,e.createComponentVNode)(2,t.Section,{title:b&&"Section 2",fill:f,children:"Content"})})]})})]})}},48779:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var o=r.meta={title:"Flex & Sections",render:function(){function y(){return(0,e.createComponentVNode)(2,d)}return y}()},d=function(V,k){var S=(0,a.useLocalState)(k,"fs_grow",1),p=S[0],i=S[1],l=(0,a.useLocalState)(k,"fs_direction","column"),f=l[0],u=l[1],s=(0,a.useLocalState)(k,"fs_fill",!0),m=s[0],c=s[1],v=(0,a.useLocalState)(k,"fs_title",!0),b=v[0],g=v[1];return(0,e.createComponentVNode)(2,t.Flex,{height:"100%",direction:"column",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mb:1,children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function h(){return u(f==="column"?"row":"column")}return h}(),children:'Flex direction="'+f+'"'}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function h(){return i(+!p)}return h}(),children:"Flex.Item grow={"+p+"}"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function h(){return c(!m)}return h}(),children:"Section fill={"+String(m)+"}"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,selected:b,onClick:function(){function h(){return g(!b)}return h}(),children:"Section title"})]})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",direction:f,children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mr:f==="row"&&1,mb:f==="column"&&1,grow:p,children:(0,e.createComponentVNode)(2,t.Section,{title:b&&"Section 1",fill:m,children:"Content"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:p,children:(0,e.createComponentVNode)(2,t.Section,{title:b&&"Section 2",fill:m,children:"Content"})})]})})]})}},48779:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2024 Aylong (https://github.com/AyIong) * @license MIT - */var o=r.meta={title:"ImageButton",render:function(){function k(){return(0,e.createComponentVNode)(2,V)}return k}()},s=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","gold"],y=["good","average","bad","black","white"],V=function(S,p){var i=(0,a.useLocalState)(p,"disabled",!1),c=i[0],m=i[1],u=(0,a.useLocalState)(p,"onClick",!0),d=u[0],f=u[1],l=(0,a.useLocalState)(p,"vertical1",!0),v=l[0],b=l[1],g=(0,a.useLocalState)(p,"vertical2",!0),h=g[0],C=g[1],N=(0,a.useLocalState)(p,"vertical3",!1),x=N[0],B=N[1],L=(0,a.useLocalState)(p,"title","Image Button"),w=L[0],A=L[1],T=(0,a.useLocalState)(p,"content","Image is a LIE!"),E=T[0],O=T[1],P=(0,a.useLocalState)(p,"itemContent","Second Button"),R=P[0],F=P[1],j=(0,a.useLocalState)(p,"itemIcon","face-smile"),W=j[0],H=j[1],z=(0,a.useLocalState)(p,"itemIconPos","default"),Y=z[0],G=z[1],ne=(0,a.useLocalState)(p,"itemIconSize",2),Q=ne[0],he=ne[1],Ve=(0,a.useLocalState)(p,"imageSize",64),Ne=Ve[0],Be=Ve[1],Le=function(){b(!v)},Ae=function(){C(!h)},fe=function(){B(!x)},Z=function(){m(!c)},J=function(){f(!d)};return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"50%",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Input,{value:w,onInput:function(){function te(ee,le){return A(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Content",children:(0,e.createComponentVNode)(2,t.Input,{value:E,onInput:function(){function te(ee,le){return O(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Image Size",children:(0,e.createComponentVNode)(2,t.Slider,{animated:!0,width:10,value:Ne,minValue:0,maxValue:256,step:1,stepPixelSize:2,onChange:function(){function te(ee,le){return Be(le)}return te}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{mt:1,mr:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"onClick",checked:d,onClick:J})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"Vertical",checked:x,onClick:fe})})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Item Content",children:(0,e.createComponentVNode)(2,t.Input,{value:R,onInput:function(){function te(ee,le){return F(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Item Icon",children:(0,e.createComponentVNode)(2,t.Input,{value:W,onInput:function(){function te(ee,le){return H(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Item IconPos",children:(0,e.createComponentVNode)(2,t.Input,{value:Y,onInput:function(){function te(ee,le){return G(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Item IconSize",children:(0,e.createComponentVNode)(2,t.Slider,{animated:!0,width:10,value:Q,minValue:0,maxValue:20,step:1,stepPixelSize:10,onChange:function(){function te(ee,le){return he(le)}return te}()})})]})})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:(0,e.createComponentVNode)(2,t.ImageButton,{width:x&&Ne+"px",ellipsis:x,vertical:x,disabled:c,title:w,content:E,tooltip:x?E:"Cool and simple buttons with images, FOR ALL!!!",image:"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGo0lEQVRYhe3Xa2xT9xnH8e+5+O4ktuM4cS5OYmhCQ1xcYMCgA9rSbKUqqqpWkzq1mgBtq/piaqna7UXXaTfWddL6opO2dlu1aSBVjJZC19FByyUadKGCJIYQAoHEODi2k/hyTnw/x3uxwZpBtq6qhib1efU/5/9/9Hz0O0c6OsLhw4e5mSXe1On/94BAIFAJBAKV/zkgEAhU7HZ7JRQKCaFQSLDb7Z8Y8l8BPjpYVVXh6n1VVT8xRAbY953HP1bTvn8u/9P56/arHNp1h9Y/9YogX73wBW0fx/CpVXIsA/wjgav1pW//mVdPRYhlp6gxWzAYTCRnM0zPKsRnpjBK4JEqqIUi/fEppKxCRReQLFbEikYmOk5ONNPc0s4v1nXgKChEJmNY7dUs+fwXqPfdSjan8Ktv3XVt5hxAR4OT5zcIjGW6ODGd57IyQ53bhVkSMcsSt1RZiOUKSAIsqjFhl+C5gYvMFnK4JXhLLbDZZaVqzyv8YOsLxFIq0XQRE7Ckw8s3n9nGfVu2zUliDmAs8i7xK6dZ0LGeZmc3JYMXs1im1iTjNErUmwVqChqiCJVKhd6pNCaTBU0QOJHJstZZg3/H9/n9r/cy8C+RHxiJMrj1aXbaq+cHvLb/PQqaCVf4PZa1DbGx+xGGkkYMlSI1okitDEZdp29qlrNJBYOgs8ZRxZkZHbmxhs6+PezfvZch0YTTAK1OG5GCQDpXRNTLxIo5vvf8D3nwi3UoKel6gLdpBeVyCNnmRbI00GwWsdQKfBDXiaST+KwO+pIlehMKwRoDzRYDI6lZbnFUcb+viZNvjnIuBat91XxlkRMLGgNJHVWuYlfoEoWixMXIJFB34wTW3ebj7VNh4mOjpBNh8q6lVBtcvHV+jCqTjM8qUchm6fFWUW8xUdBheYOZdC7PleQM0XQKswxtdol6jxMdI3fWafTFsnR4HJzQRIp6bv5HcKj/Q6TZGOpUkaFLFXaWDxGR/Wzx2agyGpnI67jlCnqpwIiS4Vw8gaiXyZQ0NFcdjloPljIksOJdvBKbyU54dATrxDBbl/uZeH8Ii2ycHzAy7SCnxrDV1+JpcuNpWsgas4vVzR58Zh2PRcZtcXEwkmbvpTAnx89RbTJTa6/CmSvjDAT5XJeNmhoTSxcvJplIcb5SxohGu9OFLTuDLxicH7CkzcWuPUkeWp6i4ISNdwRpleGiquG3//2lSWtg0FTuaXETrK1iPBbBJJcZ+OMOcm4Jz50rWBBN0N97gOFJBaxGziolTh36K952P9t/9hK9O568NnPOt+Chbo31C3P0nowwdvwgw/0HAfDbJc7PTHMiPMrgxCUS6QksWhTTxCmSR9/AW46TS01xsrefmGTn5cE4v9l/hC5/E2va/bi0PL1Xpui6/8vcvuKO+RMYn6lgb7DiEl3MTIzy/rF9JAUno+EoRitk1RSyJKMW4cLwOS5fGOHSmQEuTMVJjMVZoI3TmUtxFJ0PbF6WZ8sc372bRD7Hhs2Pg6OeJ55+hs75ABdjEsqZMJtuayXU2EnkisLgid9yZKyEu6UVJRpmamoaOREnl81QyitYLLMMj/bTLeTp8YoMpSQCDRWe3f5T3HmRwTf30PrwN7CvfQBRVaG1jcrxQ3MBqSz4gHryDF5O0DddQauWyGdFOhbXcV+TyOi0wqoHHyU1dpHca9/FbpxFafTiWfsoCw0S+tkRXt7xJ9L5cVRFJRrOcPfd62j98U8YW7eF8QujeBs9CNVOTh2fJ4FSEaYLFUq5FNNDKbJ5ndd3HCOXyZDJqjxs97F2Yw/j6RjlQhZbi58el4+Jd3tZ3l6LZ/tLbH3uR1yOnuaFF19kw4JGfh5SWbMwSldjLZl0moKS/DfvQFLjw8FJ1gbbMPi9ZIpl2gs6V2JGXFYfZyejqANnsK37Gka7DVtjIzvfeIeR3+3C9Ng99PRswuNvJXz+NAtaGhiT3Sy9Pcgip5FEtojZYMSiF+YHBILL6L73Ef4yfBa7u4ZJdRpDV5CGWyuUDBYK6SgDb/+BoqkaYzEFx04zc36UTRtWsjLYydDRAyxrdDJkNfHYVzezeGkHq5Z1ELoQRRQE2uocTMyk5wd0tjbz7JNPcKSvD7PZSCqVhoqOQRYp53PIWhmtVMIgCMiCTlnT0Y0PYLRa6E+HiR3YxypJonvb11mxeg1WTUdRs2Rm83S11FERBRRFmR/wy6dWX1t/1Dk3NMhxfc0AuK82H+Od7ffO2T9zg545gMFjszc84LDO0/kplfDZr9lngJsN+Bveb9bpS0UiAAAAAABJRU5ErkJggg==",imageSize:Ne+"px",onClick:d?function(){return"false"}:"",children:!x&&(0,e.createComponentVNode)(2,t.ImageButton.Item,{bold:!0,width:"64px",selected:c,content:R,tooltip:"Click to disable main button",tooltipPosition:"bottom-end",icon:W,iconColor:"gold",iconSize:Q,iconPosition:Y,onClick:Z})})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Color States",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{content:"Vertical",checked:v,onClick:Le}),children:y.map(function(te){return(0,e.createComponentVNode)(2,t.ImageButton,{m:v?.5:0,vertical:v,color:te,content:te,image:"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAOVBMVEXAwMDBr16vk0uORiz/o7HyfxiZbDXWzMzhbA3//wD////tHCQAAP/4ior/ADOAgIDAwMAAAAAzmQDdkuRxAAAAAXRSTlMAQObYZgAAAKxJREFUOI3dksESgyAMRG0FE4I22P//2IaAVdB0em3Xy477SJYZhuFfdDO1AXdD4xtwRd77o5t6wKt20wPlN2QVewUgQqAAiD0QYxQCJYc5zCAEtisUcBkgmUAZ6ErGWh9oeSwE6k+3yHNACIIPgMzQONsWYOZ90QXAiRK7g2K7gtNKayXKjdoOcv4pX+IcGoBMqIA26TswSU6HmueSpLlRcjK0AaOpL97rb+gFHckLe1QlljQAAAAASUVORK5CYII=",imageSize:v?"48px":"24px",onClick:d?function(){return"false"}:""},te)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Available Colors",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{content:"Vertical",checked:h,onClick:Ae}),children:s.map(function(te){return(0,e.createComponentVNode)(2,t.ImageButton,{m:h?.5:0,vertical:h,color:te,content:te,image:"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAJ1BMVEUAAABeGFCgXZN2PnKqqqq/vr/T09PycWFIHUFeKlNLHEtVWWOOj5g02k6OAAAAAXRSTlMAQObYZgAAAFdJREFUKJFjYBhEgFEQDATgAkImLkDgrIgQME0vSy8LRhYoBwISBdLLy1HNSCsvT0MWwLDWGAwQAp0rZ+3evXLWDGSBM2dQBWYCAUkCHB1g0IAreAYCAACm2zDykxPL4AAAAABJRU5ErkJggg==",imageSize:h?"48px":"24px",onClick:d?function(){return"false"}:""},te)})})],4)}},21394:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var o=r.meta={title:"ImageButton",render:function(){function k(){return(0,e.createComponentVNode)(2,V)}return k}()},d=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","gold"],y=["good","average","bad","black","white"],V=function(S,p){var i=(0,a.useLocalState)(p,"disabled",!1),l=i[0],f=i[1],u=(0,a.useLocalState)(p,"onClick",!0),s=u[0],m=u[1],c=(0,a.useLocalState)(p,"vertical1",!0),v=c[0],b=c[1],g=(0,a.useLocalState)(p,"vertical2",!0),h=g[0],C=g[1],N=(0,a.useLocalState)(p,"vertical3",!1),x=N[0],B=N[1],L=(0,a.useLocalState)(p,"title","Image Button"),w=L[0],A=L[1],T=(0,a.useLocalState)(p,"content","Image is a LIE!"),E=T[0],O=T[1],P=(0,a.useLocalState)(p,"itemContent","Second Button"),R=P[0],F=P[1],j=(0,a.useLocalState)(p,"itemIcon","face-smile"),W=j[0],z=j[1],H=(0,a.useLocalState)(p,"itemIconPos","default"),$=H[0],G=H[1],ne=(0,a.useLocalState)(p,"itemIconSize",2),Q=ne[0],he=ne[1],Ve=(0,a.useLocalState)(p,"imageSize",64),Ne=Ve[0],Be=Ve[1],Le=function(){b(!v)},Ae=function(){C(!h)},fe=function(){B(!x)},Z=function(){f(!l)},J=function(){m(!s)};return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"50%",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Input,{value:w,onInput:function(){function te(ee,le){return A(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Content",children:(0,e.createComponentVNode)(2,t.Input,{value:E,onInput:function(){function te(ee,le){return O(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Image Size",children:(0,e.createComponentVNode)(2,t.Slider,{animated:!0,width:10,value:Ne,minValue:0,maxValue:256,step:1,stepPixelSize:2,onChange:function(){function te(ee,le){return Be(le)}return te}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{mt:1,mr:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"onClick",checked:s,onClick:J})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"Vertical",checked:x,onClick:fe})})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Item Content",children:(0,e.createComponentVNode)(2,t.Input,{value:R,onInput:function(){function te(ee,le){return F(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Item Icon",children:(0,e.createComponentVNode)(2,t.Input,{value:W,onInput:function(){function te(ee,le){return z(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Item IconPos",children:(0,e.createComponentVNode)(2,t.Input,{value:$,onInput:function(){function te(ee,le){return G(le)}return te}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Item IconSize",children:(0,e.createComponentVNode)(2,t.Slider,{animated:!0,width:10,value:Q,minValue:0,maxValue:20,step:1,stepPixelSize:10,onChange:function(){function te(ee,le){return he(le)}return te}()})})]})})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:(0,e.createComponentVNode)(2,t.ImageButton,{width:x&&Ne+"px",ellipsis:x,vertical:x,disabled:l,title:w,content:E,tooltip:x?E:"Cool and simple buttons with images, FOR ALL!!!",image:"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGo0lEQVRYhe3Xa2xT9xnH8e+5+O4ktuM4cS5OYmhCQ1xcYMCgA9rSbKUqqqpWkzq1mgBtq/piaqna7UXXaTfWddL6opO2dlu1aSBVjJZC19FByyUadKGCJIYQAoHEODi2k/hyTnw/x3uxwZpBtq6qhib1efU/5/9/9Hz0O0c6OsLhw4e5mSXe1On/94BAIFAJBAKV/zkgEAhU7HZ7JRQKCaFQSLDb7Z8Y8l8BPjpYVVXh6n1VVT8xRAbY953HP1bTvn8u/9P56/arHNp1h9Y/9YogX73wBW0fx/CpVXIsA/wjgav1pW//mVdPRYhlp6gxWzAYTCRnM0zPKsRnpjBK4JEqqIUi/fEppKxCRReQLFbEikYmOk5ONNPc0s4v1nXgKChEJmNY7dUs+fwXqPfdSjan8Ktv3XVt5hxAR4OT5zcIjGW6ODGd57IyQ53bhVkSMcsSt1RZiOUKSAIsqjFhl+C5gYvMFnK4JXhLLbDZZaVqzyv8YOsLxFIq0XQRE7Ckw8s3n9nGfVu2zUliDmAs8i7xK6dZ0LGeZmc3JYMXs1im1iTjNErUmwVqChqiCJVKhd6pNCaTBU0QOJHJstZZg3/H9/n9r/cy8C+RHxiJMrj1aXbaq+cHvLb/PQqaCVf4PZa1DbGx+xGGkkYMlSI1okitDEZdp29qlrNJBYOgs8ZRxZkZHbmxhs6+PezfvZch0YTTAK1OG5GCQDpXRNTLxIo5vvf8D3nwi3UoKel6gLdpBeVyCNnmRbI00GwWsdQKfBDXiaST+KwO+pIlehMKwRoDzRYDI6lZbnFUcb+viZNvjnIuBat91XxlkRMLGgNJHVWuYlfoEoWixMXIJFB34wTW3ebj7VNh4mOjpBNh8q6lVBtcvHV+jCqTjM8qUchm6fFWUW8xUdBheYOZdC7PleQM0XQKswxtdol6jxMdI3fWafTFsnR4HJzQRIp6bv5HcKj/Q6TZGOpUkaFLFXaWDxGR/Wzx2agyGpnI67jlCnqpwIiS4Vw8gaiXyZQ0NFcdjloPljIksOJdvBKbyU54dATrxDBbl/uZeH8Ii2ycHzAy7SCnxrDV1+JpcuNpWsgas4vVzR58Zh2PRcZtcXEwkmbvpTAnx89RbTJTa6/CmSvjDAT5XJeNmhoTSxcvJplIcb5SxohGu9OFLTuDLxicH7CkzcWuPUkeWp6i4ISNdwRpleGiquG3//2lSWtg0FTuaXETrK1iPBbBJJcZ+OMOcm4Jz50rWBBN0N97gOFJBaxGziolTh36K952P9t/9hK9O568NnPOt+Chbo31C3P0nowwdvwgw/0HAfDbJc7PTHMiPMrgxCUS6QksWhTTxCmSR9/AW46TS01xsrefmGTn5cE4v9l/hC5/E2va/bi0PL1Xpui6/8vcvuKO+RMYn6lgb7DiEl3MTIzy/rF9JAUno+EoRitk1RSyJKMW4cLwOS5fGOHSmQEuTMVJjMVZoI3TmUtxFJ0PbF6WZ8sc372bRD7Hhs2Pg6OeJ55+hs75ABdjEsqZMJtuayXU2EnkisLgid9yZKyEu6UVJRpmamoaOREnl81QyitYLLMMj/bTLeTp8YoMpSQCDRWe3f5T3HmRwTf30PrwN7CvfQBRVaG1jcrxQ3MBqSz4gHryDF5O0DddQauWyGdFOhbXcV+TyOi0wqoHHyU1dpHca9/FbpxFafTiWfsoCw0S+tkRXt7xJ9L5cVRFJRrOcPfd62j98U8YW7eF8QujeBs9CNVOTh2fJ4FSEaYLFUq5FNNDKbJ5ndd3HCOXyZDJqjxs97F2Yw/j6RjlQhZbi58el4+Jd3tZ3l6LZ/tLbH3uR1yOnuaFF19kw4JGfh5SWbMwSldjLZl0moKS/DfvQFLjw8FJ1gbbMPi9ZIpl2gs6V2JGXFYfZyejqANnsK37Gka7DVtjIzvfeIeR3+3C9Ng99PRswuNvJXz+NAtaGhiT3Sy9Pcgip5FEtojZYMSiF+YHBILL6L73Ef4yfBa7u4ZJdRpDV5CGWyuUDBYK6SgDb/+BoqkaYzEFx04zc36UTRtWsjLYydDRAyxrdDJkNfHYVzezeGkHq5Z1ELoQRRQE2uocTMyk5wd0tjbz7JNPcKSvD7PZSCqVhoqOQRYp53PIWhmtVMIgCMiCTlnT0Y0PYLRa6E+HiR3YxypJonvb11mxeg1WTUdRs2Rm83S11FERBRRFmR/wy6dWX1t/1Dk3NMhxfc0AuK82H+Od7ffO2T9zg545gMFjszc84LDO0/kplfDZr9lngJsN+Bveb9bpS0UiAAAAAABJRU5ErkJggg==",imageSize:Ne+"px",onClick:s?function(){return"false"}:"",children:!x&&(0,e.createComponentVNode)(2,t.ImageButton.Item,{bold:!0,width:"64px",selected:l,content:R,tooltip:"Click to disable main button",tooltipPosition:"bottom-end",icon:W,iconColor:"gold",iconSize:Q,iconPosition:$,onClick:Z})})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Color States",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{content:"Vertical",checked:v,onClick:Le}),children:y.map(function(te){return(0,e.createComponentVNode)(2,t.ImageButton,{m:v?.5:0,vertical:v,color:te,content:te,image:"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAOVBMVEXAwMDBr16vk0uORiz/o7HyfxiZbDXWzMzhbA3//wD////tHCQAAP/4ior/ADOAgIDAwMAAAAAzmQDdkuRxAAAAAXRSTlMAQObYZgAAAKxJREFUOI3dksESgyAMRG0FE4I22P//2IaAVdB0em3Xy477SJYZhuFfdDO1AXdD4xtwRd77o5t6wKt20wPlN2QVewUgQqAAiD0QYxQCJYc5zCAEtisUcBkgmUAZ6ErGWh9oeSwE6k+3yHNACIIPgMzQONsWYOZ90QXAiRK7g2K7gtNKayXKjdoOcv4pX+IcGoBMqIA26TswSU6HmueSpLlRcjK0AaOpL97rb+gFHckLe1QlljQAAAAASUVORK5CYII=",imageSize:v?"48px":"24px",onClick:s?function(){return"false"}:""},te)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Available Colors",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{content:"Vertical",checked:h,onClick:Ae}),children:d.map(function(te){return(0,e.createComponentVNode)(2,t.ImageButton,{m:h?.5:0,vertical:h,color:te,content:te,image:"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAJ1BMVEUAAABeGFCgXZN2PnKqqqq/vr/T09PycWFIHUFeKlNLHEtVWWOOj5g02k6OAAAAAXRSTlMAQObYZgAAAFdJREFUKJFjYBhEgFEQDATgAkImLkDgrIgQME0vSy8LRhYoBwISBdLLy1HNSCsvT0MWwLDWGAwQAp0rZ+3evXLWDGSBM2dQBWYCAUkCHB1g0IAreAYCAACm2zDykxPL4AAAAABJRU5ErkJggg==",imageSize:h?"48px":"24px",onClick:s?function(){return"false"}:""},te)})})],4)}},21394:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Input",render:function(){function y(){return(0,e.createComponentVNode)(2,s)}return y}()},s=function(V,k){var S=(0,a.useLocalState)(k,"number",0),p=S[0],i=S[1],c=(0,a.useLocalState)(k,"text","Sample text"),m=c[0],u=c[1];return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onChange)",children:(0,e.createComponentVNode)(2,t.Input,{value:m,onChange:function(){function d(f,l){return u(l)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onInput)",children:(0,e.createComponentVNode)(2,t.Input,{value:m,onInput:function(){function d(f,l){return u(l)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onChange)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:p,minValue:-100,maxValue:100,onChange:function(){function d(f,l){return i(l)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onDrag)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:p,minValue:-100,maxValue:100,onDrag:function(){function d(f,l){return i(l)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slider (onDrag)",children:(0,e.createComponentVNode)(2,t.Slider,{step:1,stepPixelSize:5,value:p,minValue:-100,maxValue:100,onDrag:function(){function d(f,l){return i(l)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Knob (onDrag)",children:[(0,e.createComponentVNode)(2,t.Knob,{inline:!0,size:1,step:1,stepPixelSize:2,value:p,minValue:-100,maxValue:100,onDrag:function(){function d(f,l){return i(l)}return d}()}),(0,e.createComponentVNode)(2,t.Knob,{ml:1,inline:!0,bipolar:!0,size:1,step:1,stepPixelSize:2,value:p,minValue:-100,maxValue:100,onDrag:function(){function d(f,l){return i(l)}return d}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rotating Icon",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",children:(0,e.createComponentVNode)(2,t.DraggableControl,{value:p,minValue:-100,maxValue:100,dragMatrix:[0,-1],step:1,stepPixelSize:5,onDrag:function(){function d(f,l){return i(l)}return d}(),children:function(){function d(f){return(0,e.createComponentVNode)(2,t.Box,{onMouseDown:f.handleDragStart,children:[(0,e.createComponentVNode)(2,t.Icon,{size:4,color:"yellow",name:"times",rotation:f.displayValue*4}),f.inputElement]})}return d}()})})})]})})}},43932:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=r.meta={title:"Popper",render:function(){function s(){return(0,e.createComponentVNode)(2,o)}return s}()},o=function(){return(0,e.createFragment)([(0,e.createComponentVNode)(2,a.Popper,{popperContent:(0,e.createComponentVNode)(2,a.Box,{style:{background:"white",border:"2px solid blue"},children:"Loogatme!"}),options:{placement:"bottom"},children:(0,e.createComponentVNode)(2,a.Box,{style:{border:"5px solid white",height:"300px",width:"200px"}})}),(0,e.createComponentVNode)(2,a.Popper,{popperContent:(0,e.createComponentVNode)(2,a.Box,{style:{background:"white",border:"2px solid blue"},children:"I am on the right!"}),options:{placement:"right"},children:(0,e.createComponentVNode)(2,a.Box,{style:{border:"5px solid white",height:"500px",width:"100px"}})})],4)}},33270:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var o=r.meta={title:"Input",render:function(){function y(){return(0,e.createComponentVNode)(2,d)}return y}()},d=function(V,k){var S=(0,a.useLocalState)(k,"number",0),p=S[0],i=S[1],l=(0,a.useLocalState)(k,"text","Sample text"),f=l[0],u=l[1];return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onChange)",children:(0,e.createComponentVNode)(2,t.Input,{value:f,onChange:function(){function s(m,c){return u(c)}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onInput)",children:(0,e.createComponentVNode)(2,t.Input,{value:f,onInput:function(){function s(m,c){return u(c)}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onChange)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:p,minValue:-100,maxValue:100,onChange:function(){function s(m,c){return i(c)}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onDrag)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:p,minValue:-100,maxValue:100,onDrag:function(){function s(m,c){return i(c)}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slider (onDrag)",children:(0,e.createComponentVNode)(2,t.Slider,{step:1,stepPixelSize:5,value:p,minValue:-100,maxValue:100,onDrag:function(){function s(m,c){return i(c)}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Knob (onDrag)",children:[(0,e.createComponentVNode)(2,t.Knob,{inline:!0,size:1,step:1,stepPixelSize:2,value:p,minValue:-100,maxValue:100,onDrag:function(){function s(m,c){return i(c)}return s}()}),(0,e.createComponentVNode)(2,t.Knob,{ml:1,inline:!0,bipolar:!0,size:1,step:1,stepPixelSize:2,value:p,minValue:-100,maxValue:100,onDrag:function(){function s(m,c){return i(c)}return s}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rotating Icon",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",children:(0,e.createComponentVNode)(2,t.DraggableControl,{value:p,minValue:-100,maxValue:100,dragMatrix:[0,-1],step:1,stepPixelSize:5,onDrag:function(){function s(m,c){return i(c)}return s}(),children:function(){function s(m){return(0,e.createComponentVNode)(2,t.Box,{onMouseDown:m.handleDragStart,children:[(0,e.createComponentVNode)(2,t.Icon,{size:4,color:"yellow",name:"times",rotation:m.displayValue*4}),m.inputElement]})}return s}()})})})]})})}},43932:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=r.meta={title:"Popper",render:function(){function d(){return(0,e.createComponentVNode)(2,o)}return d}()},o=function(){return(0,e.createFragment)([(0,e.createComponentVNode)(2,a.Popper,{popperContent:(0,e.createComponentVNode)(2,a.Box,{style:{background:"white",border:"2px solid blue"},children:"Loogatme!"}),options:{placement:"bottom"},children:(0,e.createComponentVNode)(2,a.Box,{style:{border:"5px solid white",height:"300px",width:"200px"}})}),(0,e.createComponentVNode)(2,a.Popper,{popperContent:(0,e.createComponentVNode)(2,a.Box,{style:{background:"white",border:"2px solid blue"},children:"I am on the right!"}),options:{placement:"right"},children:(0,e.createComponentVNode)(2,a.Box,{style:{border:"5px solid white",height:"500px",width:"100px"}})})],4)}},33270:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"ProgressBar",render:function(){function y(){return(0,e.createComponentVNode)(2,s)}return y}()},s=function(V,k){var S=(0,a.useLocalState)(k,"progress",.5),p=S[0],i=S[1];return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.5,1/0],bad:[-1/0,.1],average:[0,.5]},minValue:-1,maxValue:1,value:p,children:["Value: ",Number(p).toFixed(1)]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"-0.1",onClick:function(){function c(){return i(p-.1)}return c}()}),(0,e.createComponentVNode)(2,t.Button,{content:"+0.1",onClick:function(){function c(){return i(p+.1)}return c}()})]})]})}},77766:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** + */var o=r.meta={title:"ProgressBar",render:function(){function y(){return(0,e.createComponentVNode)(2,d)}return y}()},d=function(V,k){var S=(0,a.useLocalState)(k,"progress",.5),p=S[0],i=S[1];return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.5,1/0],bad:[-1/0,.1],average:[0,.5]},minValue:-1,maxValue:1,value:p,children:["Value: ",Number(p).toFixed(1)]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"-0.1",onClick:function(){function l(){return i(p-.1)}return l}()}),(0,e.createComponentVNode)(2,t.Button,{content:"+0.1",onClick:function(){function l(){return i(p+.1)}return l}()})]})]})}},77766:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var t=r.meta={title:"Stack",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},o=function(){return(0,e.createComponentVNode)(2,a.Box,{inline:!0,width:1,height:1,children:"A"})},s=function(){return(0,e.createFragment)([(0,e.createComponentVNode)(2,a.Stack.Item,{children:(0,e.createComponentVNode)(2,o)}),(0,e.createComponentVNode)(2,a.Stack.Divider),(0,e.createComponentVNode)(2,a.Stack.Item,{children:(0,e.createComponentVNode)(2,o)})],4)},y=function(k,S){return(0,e.createComponentVNode)(2,a.Section,{fill:!0,children:(0,e.createComponentVNode)(2,a.Stack,{fill:!0,className:"debug-layout",children:[(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,a.Stack.Item,{grow:1,children:(0,e.createComponentVNode)(2,a.Stack,{fill:!0,vertical:!0,zebra:!0,children:[(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,a.Stack.Item,{children:(0,e.createComponentVNode)(2,a.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,a.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,s)]})}),(0,e.createComponentVNode)(2,a.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,s)]})})]})})}},30187:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(27108),t=n(36036),o=n(49968);/** + */var t=r.meta={title:"Stack",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},o=function(){return(0,e.createComponentVNode)(2,a.Box,{inline:!0,width:1,height:1,children:"A"})},d=function(){return(0,e.createFragment)([(0,e.createComponentVNode)(2,a.Stack.Item,{children:(0,e.createComponentVNode)(2,o)}),(0,e.createComponentVNode)(2,a.Stack.Divider),(0,e.createComponentVNode)(2,a.Stack.Item,{children:(0,e.createComponentVNode)(2,o)})],4)},y=function(k,S){return(0,e.createComponentVNode)(2,a.Section,{fill:!0,children:(0,e.createComponentVNode)(2,a.Stack,{fill:!0,className:"debug-layout",children:[(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,a.Stack.Item,{grow:1,children:(0,e.createComponentVNode)(2,a.Stack,{fill:!0,vertical:!0,zebra:!0,children:[(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,a.Stack.Item,{children:(0,e.createComponentVNode)(2,a.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,a.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,d)]})}),(0,e.createComponentVNode)(2,a.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,d)]})})]})})}},30187:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(27108),t=n(36036),o=n(49968);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var s=r.meta={title:"Storage",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},y=function(k,S){return window.localStorage?(0,e.createComponentVNode)(2,t.Section,{title:"Local Storage",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"recycle",onClick:function(){function p(){localStorage.clear(),a.storage.clear()}return p}(),children:"Clear"}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Keys in use",children:localStorage.length}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remaining space",children:(0,o.formatSiUnit)(localStorage.remainingSpace,0,"B")})]})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"Local storage is not available."})}},46554:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var d=r.meta={title:"Storage",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},y=function(k,S){return window.localStorage?(0,e.createComponentVNode)(2,t.Section,{title:"Local Storage",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"recycle",onClick:function(){function p(){localStorage.clear(),a.storage.clear()}return p}(),children:"Clear"}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Keys in use",children:localStorage.length}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remaining space",children:(0,o.formatSiUnit)(localStorage.remainingSpace,0,"B")})]})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"Local storage is not available."})}},46554:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Tabs",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},s=["Tab #1","Tab #2","Tab #3","Tab #4"],y=function(k,S){var p=(0,a.useLocalState)(S,"tabIndex",0),i=p[0],c=p[1],m=(0,a.useLocalState)(S,"tabProps",{}),u=m[0],d=m[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"vertical",checked:u.vertical,onClick:function(){function f(){return d(Object.assign({},u,{vertical:!u.vertical}))}return f}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"leftSlot",checked:u.leftSlot,onClick:function(){function f(){return d(Object.assign({},u,{leftSlot:!u.leftSlot}))}return f}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"rightSlot",checked:u.rightSlot,onClick:function(){function f(){return d(Object.assign({},u,{rightSlot:!u.rightSlot}))}return f}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"icon",checked:u.icon,onClick:function(){function f(){return d(Object.assign({},u,{icon:!u.icon}))}return f}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"fluid",checked:u.fluid,onClick:function(){function f(){return d(Object.assign({},u,{fluid:!u.fluid}))}return f}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"left aligned",checked:u.leftAligned,onClick:function(){function f(){return d(Object.assign({},u,{leftAligned:!u.leftAligned}))}return f}()})]}),(0,e.createComponentVNode)(2,t.Section,{fitted:!0,children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:u.vertical,fluid:u.fluid,textAlign:u.leftAligned&&"left",children:s.map(function(f,l){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:l===i,icon:u.icon&&"info-circle",leftSlot:u.leftSlot&&(0,e.createComponentVNode)(2,t.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),rightSlot:u.rightSlot&&(0,e.createComponentVNode)(2,t.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),onClick:function(){function v(){return c(l)}return v}(),children:f},l)})})})],4)}},53276:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var o=r.meta={title:"Tabs",render:function(){function V(){return(0,e.createComponentVNode)(2,y)}return V}()},d=["Tab #1","Tab #2","Tab #3","Tab #4"],y=function(k,S){var p=(0,a.useLocalState)(S,"tabIndex",0),i=p[0],l=p[1],f=(0,a.useLocalState)(S,"tabProps",{}),u=f[0],s=f[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"vertical",checked:u.vertical,onClick:function(){function m(){return s(Object.assign({},u,{vertical:!u.vertical}))}return m}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"leftSlot",checked:u.leftSlot,onClick:function(){function m(){return s(Object.assign({},u,{leftSlot:!u.leftSlot}))}return m}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"rightSlot",checked:u.rightSlot,onClick:function(){function m(){return s(Object.assign({},u,{rightSlot:!u.rightSlot}))}return m}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"icon",checked:u.icon,onClick:function(){function m(){return s(Object.assign({},u,{icon:!u.icon}))}return m}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"fluid",checked:u.fluid,onClick:function(){function m(){return s(Object.assign({},u,{fluid:!u.fluid}))}return m}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"left aligned",checked:u.leftAligned,onClick:function(){function m(){return s(Object.assign({},u,{leftAligned:!u.leftAligned}))}return m}()})]}),(0,e.createComponentVNode)(2,t.Section,{fitted:!0,children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:u.vertical,fluid:u.fluid,textAlign:u.leftAligned&&"left",children:d.map(function(m,c){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:c===i,icon:u.icon&&"info-circle",leftSlot:u.leftSlot&&(0,e.createComponentVNode)(2,t.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),rightSlot:u.rightSlot&&(0,e.createComponentVNode)(2,t.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),onClick:function(){function v(){return l(c)}return v}(),children:m},c)})})})],4)}},53276:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Themes",render:function(){function y(){return(0,e.createComponentVNode)(2,s)}return y}()},s=function(V,k){var S=(0,a.useLocalState)(k,"kitchenSinkTheme"),p=S[0],i=S[1];return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Use theme",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"theme_name",value:p,onInput:function(){function c(m,u){return i(u)}return c}()})})})})}},28717:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(95996),t=n(36036);/** + */var o=r.meta={title:"Themes",render:function(){function y(){return(0,e.createComponentVNode)(2,d)}return y}()},d=function(V,k){var S=(0,a.useLocalState)(k,"kitchenSinkTheme"),p=S[0],i=S[1];return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Use theme",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"theme_name",value:p,onInput:function(){function l(f,u){return i(u)}return l}()})})})})}},28717:function(I,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(95996),t=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Tooltip",render:function(){function y(){return(0,e.createComponentVNode)(2,s)}return y}()},s=function(){var V=["top","left","right","bottom","bottom-start","bottom-end"];return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Tooltip,{content:"Tooltip text.",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",mr:1,children:"Box (hover me)."})}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"Tooltip text.",content:"Button"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:V.map(function(k){return(0,e.createComponentVNode)(2,t.Button,{color:"transparent",tooltip:"Tooltip text.",tooltipPosition:k,content:k},k)})})]})}},37168:function(I,r,n){"use strict";r.__esModule=!0,r.BoxWithSampleText=void 0;var e=n(89005),a=n(36036);/** + */var o=r.meta={title:"Tooltip",render:function(){function y(){return(0,e.createComponentVNode)(2,d)}return y}()},d=function(){var V=["top","left","right","bottom","bottom-start","bottom-end"];return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Tooltip,{content:"Tooltip text.",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",mr:1,children:"Box (hover me)."})}),(0,e.createComponentVNode)(2,t.Button,{tooltip:"Tooltip text.",content:"Button"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:V.map(function(k){return(0,e.createComponentVNode)(2,t.Button,{color:"transparent",tooltip:"Tooltip text.",tooltipPosition:k,content:k},k)})})]})}},37168:function(I,r,n){"use strict";r.__esModule=!0,r.BoxWithSampleText=void 0;var e=n(89005),a=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var t=r.BoxWithSampleText=function(){function o(s){return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({},s,{children:[(0,e.createComponentVNode)(2,a.Box,{italic:!0,children:"Jackdaws love my big sphinx of quartz."}),(0,e.createComponentVNode)(2,a.Box,{mt:1,bold:!0,children:"The wide electrification of the southern provinces will give a powerful impetus to the growth of agriculture."})]})))}return o}()},67160:function(){},23542:function(){},30386:function(){},98996:function(){},41639:function(){},50578:function(){},4444:function(){},77870:function(){},23632:function(){},24226:function(){},39108:function(){},21039:function(){},51862:function(){},56856:function(){},63489:function(){},1965:function(){},1272:function(){},74757:function(){},11714:function(){},73492:function(){},49641:function(){},17570:function(){},61858:function(){},73358:function(){},32882:function(){},70752:function(I,r,n){var e={"./pai_advsecrecords.js":96572,"./pai_atmosphere.js":80818,"./pai_bioscan.js":23903,"./pai_camera_bug.js":79592,"./pai_directives.js":64988,"./pai_doorjack.js":13813,"./pai_encoder.js":43816,"./pai_gps_module.js":88895,"./pai_main_menu.js":66025,"./pai_manifest.js":2983,"./pai_medrecords.js":40758,"./pai_messenger.js":98599,"./pai_radio.js":50775,"./pai_sec_chem.js":19873,"./pai_secrecords.js":48623,"./pai_signaler.js":47297};function a(o){var s=t(o);return n(s)}function t(o){if(!n.o(e,o)){var s=new Error("Cannot find module '"+o+"'");throw s.code="MODULE_NOT_FOUND",s}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,I.exports=a,a.id=70752},59395:function(I,r,n){var e={"./pda_atmos_scan.js":78532,"./pda_janitor.js":40253,"./pda_main_menu.js":58293,"./pda_manifest.js":58059,"./pda_medical.js":18147,"./pda_messenger.js":77595,"./pda_mule.js":24635,"./pda_notes.js":97085,"./pda_power.js":57513,"./pda_secbot.js":99808,"./pda_security.js":77168,"./pda_signaler.js":21773,"./pda_status_display.js":81857,"./pda_supplyrecords.js":70287};function a(o){var s=t(o);return n(s)}function t(o){if(!n.o(e,o)){var s=new Error("Cannot find module '"+o+"'");throw s.code="MODULE_NOT_FOUND",s}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,I.exports=a,a.id=59395},32054:function(I,r,n){var e={"./AICard":1090,"./AICard.js":1090,"./AIFixer":39454,"./AIFixer.js":39454,"./APC":88422,"./APC.js":88422,"./ATM":99660,"./ATM.js":99660,"./AccountsUplinkTerminal":86423,"./AccountsUplinkTerminal.js":86423,"./AgentCard":79571,"./AgentCard.js":79571,"./AiAirlock":56793,"./AiAirlock.js":56793,"./AirAlarm":72475,"./AirAlarm.js":72475,"./AirlockAccessController":12333,"./AirlockAccessController.js":12333,"./AirlockElectronics":28736,"./AirlockElectronics.js":28736,"./AlertModal":47365,"./AlertModal.tsx":47365,"./AppearanceChanger":71824,"./AppearanceChanger.js":71824,"./AtmosAlertConsole":72285,"./AtmosAlertConsole.js":72285,"./AtmosControl":65805,"./AtmosControl.js":65805,"./AtmosFilter":87816,"./AtmosFilter.js":87816,"./AtmosMixer":52977,"./AtmosMixer.js":52977,"./AtmosPump":11748,"./AtmosPump.js":11748,"./AutoDoc":76511,"./AutoDoc.js":76511,"./Autolathe":59179,"./Autolathe.js":59179,"./Biogenerator":64273,"./Biogenerator.js":64273,"./BlueSpaceArtilleryControl":18621,"./BlueSpaceArtilleryControl.js":18621,"./BluespaceRiftScanner":13995,"./BluespaceRiftScanner.js":13995,"./BluespaceRiftServer":25530,"./BluespaceRiftServer.js":25530,"./BluespaceTap":27629,"./BluespaceTap.js":27629,"./BodyScanner":33758,"./BodyScanner.js":33758,"./BorgPanel":42570,"./BorgPanel.js":42570,"./BotClean":20464,"./BotClean.js":20464,"./BotSecurity":74439,"./BotSecurity.js":74439,"./BrigCells":10833,"./BrigCells.js":10833,"./BrigTimer":45761,"./BrigTimer.js":45761,"./CameraConsole":26300,"./CameraConsole.js":26300,"./Canister":52927,"./Canister.js":52927,"./CardComputer":51793,"./CardComputer.js":51793,"./CargoConsole":64083,"./CargoConsole.js":64083,"./Changelog":12226,"./Changelog.js":12226,"./ChemDispenser":36108,"./ChemDispenser.js":36108,"./ChemHeater":13146,"./ChemHeater.js":13146,"./ChemMaster":56541,"./ChemMaster.tsx":56541,"./CloningConsole":37173,"./CloningConsole.js":37173,"./CommunicationsComputer":63818,"./CommunicationsComputer.js":63818,"./Contractor":21813,"./Contractor.js":21813,"./ConveyorSwitch":54151,"./ConveyorSwitch.js":54151,"./CrewMonitor":73169,"./CrewMonitor.js":73169,"./Cryo":63987,"./Cryo.js":63987,"./CryopodConsole":86099,"./CryopodConsole.js":86099,"./Customat":94848,"./Customat.js":94848,"./DNAModifier":12692,"./DNAModifier.js":12692,"./DestinationTagger":41074,"./DestinationTagger.js":41074,"./DisposalBin":46500,"./DisposalBin.js":46500,"./DnaVault":33233,"./DnaVault.js":33233,"./EFTPOS":17263,"./EFTPOS.js":17263,"./ERTManager":76382,"./ERTManager.js":76382,"./Electropack":82565,"./Electropack.js":82565,"./EvolutionMenu":36730,"./EvolutionMenu.js":36730,"./ExosuitFabricator":17370,"./ExosuitFabricator.js":17370,"./ExternalAirlockController":97086,"./ExternalAirlockController.js":97086,"./FaxMachine":96142,"./FaxMachine.js":96142,"./FloorPainter":83767,"./FloorPainter.js":83767,"./GPS":53424,"./GPS.js":53424,"./GasAnalyzer":68703,"./GasAnalyzer.js":68703,"./GasFreezer":27546,"./GasFreezer.js":27546,"./GeneModder":89124,"./GeneModder.js":89124,"./GenericCrewManifest":73053,"./GenericCrewManifest.js":73053,"./GhostHudPanel":42914,"./GhostHudPanel.js":42914,"./GlandDispenser":25825,"./GlandDispenser.js":25825,"./HandheldChemDispenser":67834,"./HandheldChemDispenser.js":67834,"./ImplantPad":75926,"./ImplantPad.js":75926,"./Instrument":25471,"./Instrument.js":25471,"./ItemPixelShift":65021,"./ItemPixelShift.js":65021,"./KeyComboModal":13618,"./KeyComboModal.tsx":13618,"./KeycardAuth":35655,"./KeycardAuth.js":35655,"./LaborClaimConsole":40951,"./LaborClaimConsole.js":40951,"./LawManager":9525,"./LawManager.js":9525,"./ListInputModal":90447,"./ListInputModal.tsx":90447,"./MechBayConsole":72106,"./MechBayConsole.js":72106,"./MechaControlConsole":7466,"./MechaControlConsole.js":7466,"./MedicalRecords":79625,"./MedicalRecords.js":79625,"./Mimicking":52306,"./Mimicking.js":52306,"./Minesweeper":66238,"./Minesweeper.js":66238,"./MiniGamesMenu":21385,"./MiniGamesMenu.js":21385,"./MiningVendor":87684,"./MiningVendor.js":87684,"./Multitool":97955,"./Multitool.js":97955,"./Newscaster":64713,"./Newscaster.js":64713,"./NinjaBloodScan":97351,"./NinjaBloodScan.js":97351,"./NinjaMindScan":32989,"./NinjaMindScan.js":32989,"./NuclearBomb":41166,"./NuclearBomb.js":41166,"./NumberInputModal":52416,"./NumberInputModal.tsx":52416,"./OperatingComputer":1218,"./OperatingComputer.js":1218,"./Orbit":46892,"./Orbit.js":46892,"./OreRedemption":15421,"./OreRedemption.js":15421,"./PAI":30373,"./PAI.js":30373,"./PDA":85175,"./PDA.js":85175,"./PDAPainter":38280,"./PDAPainter.js":38280,"./Pacman":68654,"./Pacman.js":68654,"./PersonalCrafting":33388,"./PersonalCrafting.js":33388,"./Photocopier":56150,"./Photocopier.js":56150,"./PodTracking":94158,"./PodTracking.js":94158,"./PoolController":84676,"./PoolController.js":84676,"./PortablePump":57003,"./PortablePump.js":57003,"./PortableScrubber":70069,"./PortableScrubber.js":70069,"./PortableTurret":59955,"./PortableTurret.js":59955,"./PowerMonitor":61631,"./PowerMonitor.js":61631,"./PrisonerImplantManager":50992,"./PrisonerImplantManager.js":50992,"./QuestConsole":7485,"./QuestConsole.js":7485,"./RCD":94813,"./RCD.js":94813,"./RPD":18738,"./RPD.js":18738,"./Radio":80299,"./Radio.js":80299,"./RequestConsole":25472,"./RequestConsole.js":25472,"./RequestManager":3786,"./RequestManager.js":3786,"./RndConsole":16475,"./RndConsole.js":16475,"./RndConsoleComponents":13472,"./RndConsoleComponents/":13472,"./RndConsoleComponents/CurrentLevels":93098,"./RndConsoleComponents/CurrentLevels.js":93098,"./RndConsoleComponents/DataDiskMenu":19192,"./RndConsoleComponents/DataDiskMenu.js":19192,"./RndConsoleComponents/DeconstructionMenu":20887,"./RndConsoleComponents/DeconstructionMenu.js":20887,"./RndConsoleComponents/LatheCategory":10666,"./RndConsoleComponents/LatheCategory.js":10666,"./RndConsoleComponents/LatheChemicalStorage":52285,"./RndConsoleComponents/LatheChemicalStorage.js":52285,"./RndConsoleComponents/LatheMainMenu":71964,"./RndConsoleComponents/LatheMainMenu.js":71964,"./RndConsoleComponents/LatheMaterialStorage":17906,"./RndConsoleComponents/LatheMaterialStorage.js":17906,"./RndConsoleComponents/LatheMaterials":83706,"./RndConsoleComponents/LatheMaterials.js":83706,"./RndConsoleComponents/LatheMenu":76749,"./RndConsoleComponents/LatheMenu.js":76749,"./RndConsoleComponents/LatheSearch":74698,"./RndConsoleComponents/LatheSearch.js":74698,"./RndConsoleComponents/MainMenu":17180,"./RndConsoleComponents/MainMenu.js":17180,"./RndConsoleComponents/RndNavButton":63459,"./RndConsoleComponents/RndNavButton.js":63459,"./RndConsoleComponents/RndNavbar":94942,"./RndConsoleComponents/RndNavbar.js":94942,"./RndConsoleComponents/RndRoute":12059,"./RndConsoleComponents/RndRoute.js":12059,"./RndConsoleComponents/SettingsMenu":52580,"./RndConsoleComponents/SettingsMenu.js":52580,"./RndConsoleComponents/index":13472,"./RndConsoleComponents/index.js":13472,"./RoboQuest":40026,"./RoboQuest.js":40026,"./RobotSelfDiagnosis":26109,"./RobotSelfDiagnosis.js":26109,"./RoboticsControlConsole":97997,"./RoboticsControlConsole.js":97997,"./Safe":54431,"./Safe.js":54431,"./SatelliteControl":29740,"./SatelliteControl.js":29740,"./SecureStorage":44162,"./SecureStorage.js":44162,"./SecurityRecords":6272,"./SecurityRecords.js":6272,"./SeedExtractor":5099,"./SeedExtractor.js":5099,"./ShuttleConsole":2916,"./ShuttleConsole.js":2916,"./ShuttleManipulator":39401,"./ShuttleManipulator.js":39401,"./Sleeper":88284,"./Sleeper.js":88284,"./SlotMachine":21597,"./SlotMachine.js":21597,"./Smartfridge":46348,"./Smartfridge.js":46348,"./Smes":86162,"./Smes.js":86162,"./SolarControl":63584,"./SolarControl.js":63584,"./SpawnersMenu":38096,"./SpawnersMenu.js":38096,"./SpiderOS":7957,"./SpiderOS.js":7957,"./StationAlertConsole":38307,"./StationAlertConsole.js":38307,"./StripMenu":39409,"./StripMenu.tsx":39409,"./SuitStorage":69514,"./SuitStorage.js":69514,"./SupermatterMonitor":15022,"./SupermatterMonitor.js":15022,"./SyndicateComputerSimple":46029,"./SyndicateComputerSimple.js":46029,"./SyndieCargoConsole":99279,"./SyndieCargoConsole.js":99279,"./TTSSeedsExplorer":44852,"./TTSSeedsExplorer.js":44852,"./TachyonArray":56441,"./TachyonArray.js":56441,"./Tank":1754,"./Tank.js":1754,"./TankDispenser":7579,"./TankDispenser.js":7579,"./TcommsCore":16136,"./TcommsCore.js":16136,"./TcommsRelay":88046,"./TcommsRelay.js":88046,"./Teleporter":20802,"./Teleporter.js":20802,"./TextInputModal":24410,"./TextInputModal.tsx":24410,"./ThiefKit":69566,"./ThiefKit.js":69566,"./TransferValve":20035,"./TransferValve.js":20035,"./Uplink":52847,"./Uplink.js":52847,"./VampireSpecMenu":8946,"./VampireSpecMenu.js":8946,"./VampireTrophiesStatus":45770,"./VampireTrophiesStatus.js":45770,"./Vending":12261,"./Vending.js":12261,"./VolumeMixer":68971,"./VolumeMixer.js":68971,"./VotePanel":2510,"./VotePanel.js":2510,"./Wires":30138,"./Wires.js":30138,"./Workshop":30995,"./Workshop.js":30995,"./common/AccessList":49148,"./common/AccessList.js":49148,"./common/AtmosScan":26991,"./common/AtmosScan.js":26991,"./common/BeakerContents":85870,"./common/BeakerContents.js":85870,"./common/ComplexModal":3939,"./common/ComplexModal.js":3939,"./common/CrewManifest":41874,"./common/CrewManifest.js":41874,"./common/InputButtons":19203,"./common/InputButtons.tsx":19203,"./common/InterfaceLockNoticeBox":195,"./common/InterfaceLockNoticeBox.js":195,"./common/Loader":51057,"./common/Loader.tsx":51057,"./common/LoginInfo":321,"./common/LoginInfo.js":321,"./common/LoginScreen":5485,"./common/LoginScreen.js":5485,"./common/Operating":62411,"./common/Operating.js":62411,"./common/Signaler":13545,"./common/Signaler.js":13545,"./common/SimpleRecords":41984,"./common/SimpleRecords.js":41984,"./common/TemporaryNotice":22091,"./common/TemporaryNotice.js":22091,"./manually-routed/KitchenSink":25443,"./manually-routed/KitchenSink.js":25443,"./pai/pai_advsecrecords":96572,"./pai/pai_advsecrecords.js":96572,"./pai/pai_atmosphere":80818,"./pai/pai_atmosphere.js":80818,"./pai/pai_bioscan":23903,"./pai/pai_bioscan.js":23903,"./pai/pai_camera_bug":79592,"./pai/pai_camera_bug.js":79592,"./pai/pai_directives":64988,"./pai/pai_directives.js":64988,"./pai/pai_doorjack":13813,"./pai/pai_doorjack.js":13813,"./pai/pai_encoder":43816,"./pai/pai_encoder.js":43816,"./pai/pai_gps_module":88895,"./pai/pai_gps_module.js":88895,"./pai/pai_main_menu":66025,"./pai/pai_main_menu.js":66025,"./pai/pai_manifest":2983,"./pai/pai_manifest.js":2983,"./pai/pai_medrecords":40758,"./pai/pai_medrecords.js":40758,"./pai/pai_messenger":98599,"./pai/pai_messenger.js":98599,"./pai/pai_radio":50775,"./pai/pai_radio.js":50775,"./pai/pai_sec_chem":19873,"./pai/pai_sec_chem.js":19873,"./pai/pai_secrecords":48623,"./pai/pai_secrecords.js":48623,"./pai/pai_signaler":47297,"./pai/pai_signaler.js":47297,"./pda/pda_atmos_scan":78532,"./pda/pda_atmos_scan.js":78532,"./pda/pda_janitor":40253,"./pda/pda_janitor.js":40253,"./pda/pda_main_menu":58293,"./pda/pda_main_menu.js":58293,"./pda/pda_manifest":58059,"./pda/pda_manifest.js":58059,"./pda/pda_medical":18147,"./pda/pda_medical.js":18147,"./pda/pda_messenger":77595,"./pda/pda_messenger.js":77595,"./pda/pda_mule":24635,"./pda/pda_mule.js":24635,"./pda/pda_notes":97085,"./pda/pda_notes.js":97085,"./pda/pda_power":57513,"./pda/pda_power.js":57513,"./pda/pda_secbot":99808,"./pda/pda_secbot.js":99808,"./pda/pda_security":77168,"./pda/pda_security.js":77168,"./pda/pda_signaler":21773,"./pda/pda_signaler.js":21773,"./pda/pda_status_display":81857,"./pda/pda_status_display.js":81857,"./pda/pda_supplyrecords":70287,"./pda/pda_supplyrecords.js":70287};function a(o){var s=t(o);return n(s)}function t(o){if(!n.o(e,o)){var s=new Error("Cannot find module '"+o+"'");throw s.code="MODULE_NOT_FOUND",s}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,I.exports=a,a.id=32054},4085:function(I,r,n){var e={"./Blink.stories.js":51364,"./BlockQuote.stories.js":32453,"./Box.stories.js":83531,"./Button.stories.js":74198,"./ByondUi.stories.js":51956,"./Collapsible.stories.js":17466,"./Flex.stories.js":89241,"./ImageButton.stories.js":48779,"./Input.stories.js":21394,"./Popper.stories.js":43932,"./ProgressBar.stories.js":33270,"./Stack.stories.js":77766,"./Storage.stories.js":30187,"./Tabs.stories.js":46554,"./Themes.stories.js":53276,"./Tooltip.stories.js":28717};function a(o){var s=t(o);return n(s)}function t(o){if(!n.o(e,o)){var s=new Error("Cannot find module '"+o+"'");throw s.code="MODULE_NOT_FOUND",s}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,I.exports=a,a.id=4085},10320:function(I,r,n){"use strict";var e=n(55747),a=n(89393),t=TypeError;I.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a function")}},32606:function(I,r,n){"use strict";var e=n(1031),a=n(89393),t=TypeError;I.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a constructor")}},35908:function(I,r,n){"use strict";var e=n(45015),a=String,t=TypeError;I.exports=function(o){if(e(o))return o;throw new t("Can't set "+a(o)+" as a prototype")}},80575:function(I,r,n){"use strict";var e=n(24697),a=n(80674),t=n(74595).f,o=e("unscopables"),s=Array.prototype;s[o]===void 0&&t(s,o,{configurable:!0,value:a(null)}),I.exports=function(y){s[o][y]=!0}},35483:function(I,r,n){"use strict";var e=n(50233).charAt;I.exports=function(a,t,o){return t+(o?e(a,t).length:1)}},60077:function(I,r,n){"use strict";var e=n(21287),a=TypeError;I.exports=function(t,o){if(e(o,t))return t;throw new a("Incorrect invocation")}},30365:function(I,r,n){"use strict";var e=n(77568),a=String,t=TypeError;I.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not an object")}},70377:function(I){"use strict";I.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},3782:function(I,r,n){"use strict";var e=n(40033);I.exports=e(function(){if(typeof ArrayBuffer=="function"){var a=new ArrayBuffer(8);Object.isExtensible(a)&&Object.defineProperty(a,"a",{value:8})}})},4246:function(I,r,n){"use strict";var e=n(70377),a=n(58310),t=n(16210),o=n(55747),s=n(77568),y=n(45299),V=n(2281),k=n(89393),S=n(37909),p=n(55938),i=n(73936),c=n(21287),m=n(36917),u=n(76649),d=n(24697),f=n(16738),l=n(5419),v=l.enforce,b=l.get,g=t.Int8Array,h=g&&g.prototype,C=t.Uint8ClampedArray,N=C&&C.prototype,x=g&&m(g),B=h&&m(h),L=Object.prototype,w=t.TypeError,A=d("toStringTag"),T=f("TYPED_ARRAY_TAG"),E="TypedArrayConstructor",O=e&&!!u&&V(t.opera)!=="Opera",P=!1,R,F,j,W={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},H={BigInt64Array:8,BigUint64Array:8},z=function(){function Ne(Be){if(!s(Be))return!1;var Le=V(Be);return Le==="DataView"||y(W,Le)||y(H,Le)}return Ne}(),Y=function(Be){var Le=m(Be);if(s(Le)){var Ae=b(Le);return Ae&&y(Ae,E)?Ae[E]:Y(Le)}},G=function(Be){if(!s(Be))return!1;var Le=V(Be);return y(W,Le)||y(H,Le)},ne=function(Be){if(G(Be))return Be;throw new w("Target is not a typed array")},Q=function(Be){if(o(Be)&&(!u||c(x,Be)))return Be;throw new w(k(Be)+" is not a typed array constructor")},he=function(Be,Le,Ae,fe){if(a){if(Ae)for(var Z in W){var J=t[Z];if(J&&y(J.prototype,Be))try{delete J.prototype[Be]}catch(te){try{J.prototype[Be]=Le}catch(ee){}}}(!B[Be]||Ae)&&p(B,Be,Ae?Le:O&&h[Be]||Le,fe)}},Ve=function(Be,Le,Ae){var fe,Z;if(a){if(u){if(Ae){for(fe in W)if(Z=t[fe],Z&&y(Z,Be))try{delete Z[Be]}catch(J){}}if(!x[Be]||Ae)try{return p(x,Be,Ae?Le:O&&x[Be]||Le)}catch(J){}else return}for(fe in W)Z=t[fe],Z&&(!Z[Be]||Ae)&&p(Z,Be,Le)}};for(R in W)F=t[R],j=F&&F.prototype,j?v(j)[E]=F:O=!1;for(R in H)F=t[R],j=F&&F.prototype,j&&(v(j)[E]=F);if((!O||!o(x)||x===Function.prototype)&&(x=function(){function Ne(){throw new w("Incorrect invocation")}return Ne}(),O))for(R in W)t[R]&&u(t[R],x);if((!O||!B||B===L)&&(B=x.prototype,O))for(R in W)t[R]&&u(t[R].prototype,B);if(O&&m(N)!==B&&u(N,B),a&&!y(B,A)){P=!0,i(B,A,{configurable:!0,get:function(){function Ne(){return s(this)?this[T]:void 0}return Ne}()});for(R in W)t[R]&&S(t[R],T,R)}I.exports={NATIVE_ARRAY_BUFFER_VIEWS:O,TYPED_ARRAY_TAG:P&&T,aTypedArray:ne,aTypedArrayConstructor:Q,exportTypedArrayMethod:he,exportTypedArrayStaticMethod:Ve,getTypedArrayConstructor:Y,isView:z,isTypedArray:G,TypedArray:x,TypedArrayPrototype:B}},37336:function(I,r,n){"use strict";var e=n(16210),a=n(67250),t=n(58310),o=n(70377),s=n(70520),y=n(37909),V=n(73936),k=n(30145),S=n(40033),p=n(60077),i=n(61365),c=n(10188),m=n(43806),u=n(95867),d=n(91784),f=n(36917),l=n(76649),v=n(88471),b=n(54602),g=n(5781),h=n(5774),C=n(84925),N=n(5419),x=s.PROPER,B=s.CONFIGURABLE,L="ArrayBuffer",w="DataView",A="prototype",T="Wrong length",E="Wrong index",O=N.getterFor(L),P=N.getterFor(w),R=N.set,F=e[L],j=F,W=j&&j[A],H=e[w],z=H&&H[A],Y=Object.prototype,G=e.Array,ne=e.RangeError,Q=a(v),he=a([].reverse),Ve=d.pack,Ne=d.unpack,Be=function(X){return[X&255]},Le=function(X){return[X&255,X>>8&255]},Ae=function(X){return[X&255,X>>8&255,X>>16&255,X>>24&255]},fe=function(X){return X[3]<<24|X[2]<<16|X[1]<<8|X[0]},Z=function(X){return Ve(u(X),23,4)},J=function(X){return Ve(X,52,8)},te=function(X,ae,ue){V(X[A],ae,{configurable:!0,get:function(){function ie(){return ue(this)[ae]}return ie}()})},ee=function(X,ae,ue,ie){var ge=P(X),Ce=m(ue),Me=!!ie;if(Ce+ae>ge.byteLength)throw new ne(E);var De=ge.bytes,ke=Ce+ge.byteOffset,pe=b(De,ke,ke+ae);return Me?pe:he(pe)},le=function(X,ae,ue,ie,ge,Ce){var Me=P(X),De=m(ue),ke=ie(+ge),pe=!!Ce;if(De+ae>Me.byteLength)throw new ne(E);for(var se=Me.bytes,xe=De+Me.byteOffset,_=0;_ge)throw new ne("Wrong offset");if(ue=ue===void 0?ge-Ce:c(ue),Ce+ue>ge)throw new ne(T);R(this,{type:w,buffer:X,byteLength:ue,byteOffset:Ce,bytes:ie.bytes}),t||(this.buffer=X,this.byteLength=ue,this.byteOffset=Ce)}return M}(),z=H[A],t&&(te(j,"byteLength",O),te(H,"buffer",P),te(H,"byteLength",P),te(H,"byteOffset",P)),k(z,{getInt8:function(){function M(X){return ee(this,1,X)[0]<<24>>24}return M}(),getUint8:function(){function M(X){return ee(this,1,X)[0]}return M}(),getInt16:function(){function M(X){var ae=ee(this,2,X,arguments.length>1?arguments[1]:!1);return(ae[1]<<8|ae[0])<<16>>16}return M}(),getUint16:function(){function M(X){var ae=ee(this,2,X,arguments.length>1?arguments[1]:!1);return ae[1]<<8|ae[0]}return M}(),getInt32:function(){function M(X){return fe(ee(this,4,X,arguments.length>1?arguments[1]:!1))}return M}(),getUint32:function(){function M(X){return fe(ee(this,4,X,arguments.length>1?arguments[1]:!1))>>>0}return M}(),getFloat32:function(){function M(X){return Ne(ee(this,4,X,arguments.length>1?arguments[1]:!1),23)}return M}(),getFloat64:function(){function M(X){return Ne(ee(this,8,X,arguments.length>1?arguments[1]:!1),52)}return M}(),setInt8:function(){function M(X,ae){le(this,1,X,Be,ae)}return M}(),setUint8:function(){function M(X,ae){le(this,1,X,Be,ae)}return M}(),setInt16:function(){function M(X,ae){le(this,2,X,Le,ae,arguments.length>2?arguments[2]:!1)}return M}(),setUint16:function(){function M(X,ae){le(this,2,X,Le,ae,arguments.length>2?arguments[2]:!1)}return M}(),setInt32:function(){function M(X,ae){le(this,4,X,Ae,ae,arguments.length>2?arguments[2]:!1)}return M}(),setUint32:function(){function M(X,ae){le(this,4,X,Ae,ae,arguments.length>2?arguments[2]:!1)}return M}(),setFloat32:function(){function M(X,ae){le(this,4,X,Z,ae,arguments.length>2?arguments[2]:!1)}return M}(),setFloat64:function(){function M(X,ae){le(this,8,X,J,ae,arguments.length>2?arguments[2]:!1)}return M}()});else{var ye=x&&F.name!==L;!S(function(){F(1)})||!S(function(){new F(-1)})||S(function(){return new F,new F(1.5),new F(NaN),F.length!==1||ye&&!B})?(j=function(){function M(X){return p(this,W),g(new F(m(X)),this,j)}return M}(),j[A]=W,W.constructor=j,h(j,F)):ye&&B&&y(F,"name",L),l&&f(z)!==Y&&l(z,Y);var me=new H(new j(2)),Te=a(z.setInt8);me.setInt8(0,2147483648),me.setInt8(1,2147483649),(me.getInt8(0)||!me.getInt8(1))&&k(z,{setInt8:function(){function M(X,ae){Te(this,X,ae<<24>>24)}return M}(),setUint8:function(){function M(X,ae){Te(this,X,ae<<24>>24)}return M}()},{unsafe:!0})}C(j,L),C(H,w),I.exports={ArrayBuffer:j,DataView:H}},71447:function(I,r,n){"use strict";var e=n(46771),a=n(13912),t=n(24760),o=n(95108),s=Math.min;I.exports=[].copyWithin||function(){function y(V,k){var S=e(this),p=t(S),i=a(V,p),c=a(k,p),m=arguments.length>2?arguments[2]:void 0,u=s((m===void 0?p:a(m,p))-c,p-i),d=1;for(c0;)c in S?S[i]=S[c]:o(S,i),i+=d,c+=d;return S}return y}()},88471:function(I,r,n){"use strict";var e=n(46771),a=n(13912),t=n(24760);I.exports=function(){function o(s){for(var y=e(this),V=t(y),k=arguments.length,S=a(k>1?arguments[1]:void 0,V),p=k>2?arguments[2]:void 0,i=p===void 0?V:a(p,V);i>S;)y[S++]=s;return y}return o}()},35601:function(I,r,n){"use strict";var e=n(22603).forEach,a=n(55528),t=a("forEach");I.exports=t?[].forEach:function(){function o(s){return e(this,s,arguments.length>1?arguments[1]:void 0)}return o}()},78008:function(I,r,n){"use strict";var e=n(24760);I.exports=function(a,t,o){for(var s=0,y=arguments.length>2?o:e(t),V=new a(y);y>s;)V[s]=t[s++];return V}},73174:function(I,r,n){"use strict";var e=n(75754),a=n(91495),t=n(46771),o=n(40125),s=n(76571),y=n(1031),V=n(24760),k=n(60102),S=n(77455),p=n(59201),i=Array;I.exports=function(){function c(m){var u=t(m),d=y(this),f=arguments.length,l=f>1?arguments[1]:void 0,v=l!==void 0;v&&(l=e(l,f>2?arguments[2]:void 0));var b=p(u),g=0,h,C,N,x,B,L;if(b&&!(this===i&&s(b)))for(C=d?new this:[],x=S(u,b),B=x.next;!(N=a(B,x)).done;g++)L=v?o(x,l,[N.value,g],!0):N.value,k(C,g,L);else for(h=V(u),C=d?new this(h):i(h);h>g;g++)L=v?l(u[g],g):u[g],k(C,g,L);return C.length=g,C}return c}()},14211:function(I,r,n){"use strict";var e=n(57591),a=n(13912),t=n(24760),o=function(y){return function(V,k,S){var p=e(V),i=t(p);if(i===0)return!y&&-1;var c=a(S,i),m;if(y&&k!==k){for(;i>c;)if(m=p[c++],m!==m)return!0}else for(;i>c;c++)if((y||c in p)&&p[c]===k)return y||c||0;return!y&&-1}};I.exports={includes:o(!0),indexOf:o(!1)}},22603:function(I,r,n){"use strict";var e=n(75754),a=n(67250),t=n(37457),o=n(46771),s=n(24760),y=n(57823),V=a([].push),k=function(p){var i=p===1,c=p===2,m=p===3,u=p===4,d=p===6,f=p===7,l=p===5||d;return function(v,b,g,h){for(var C=o(v),N=t(C),x=s(N),B=e(b,g),L=0,w=h||y,A=i?w(v,x):c||f?w(v,0):void 0,T,E;x>L;L++)if((l||L in N)&&(T=N[L],E=B(T,L,C),p))if(i)A[L]=E;else if(E)switch(p){case 3:return!0;case 5:return T;case 6:return L;case 2:V(A,T)}else switch(p){case 4:return!1;case 7:V(A,T)}return d?-1:m||u?u:A}};I.exports={forEach:k(0),map:k(1),filter:k(2),some:k(3),every:k(4),find:k(5),findIndex:k(6),filterReject:k(7)}},1325:function(I,r,n){"use strict";var e=n(61267),a=n(57591),t=n(61365),o=n(24760),s=n(55528),y=Math.min,V=[].lastIndexOf,k=!!V&&1/[1].lastIndexOf(1,-0)<0,S=s("lastIndexOf"),p=k||!S;I.exports=p?function(){function i(c){if(k)return e(V,this,arguments)||0;var m=a(this),u=o(m);if(u===0)return-1;var d=u-1;for(arguments.length>1&&(d=y(d,t(arguments[1]))),d<0&&(d=u+d);d>=0;d--)if(d in m&&m[d]===c)return d||0;return-1}return i}():V},44091:function(I,r,n){"use strict";var e=n(40033),a=n(24697),t=n(83141),o=a("species");I.exports=function(s){return t>=51||!e(function(){var y=[],V=y.constructor={};return V[o]=function(){return{foo:1}},y[s](Boolean).foo!==1})}},55528:function(I,r,n){"use strict";var e=n(40033);I.exports=function(a,t){var o=[][a];return!!o&&e(function(){o.call(null,t||function(){return 1},1)})}},56844:function(I,r,n){"use strict";var e=n(10320),a=n(46771),t=n(37457),o=n(24760),s=TypeError,y="Reduce of empty array with no initial value",V=function(S){return function(p,i,c,m){var u=a(p),d=t(u),f=o(u);if(e(i),f===0&&c<2)throw new s(y);var l=S?f-1:0,v=S?-1:1;if(c<2)for(;;){if(l in d){m=d[l],l+=v;break}if(l+=v,S?l<0:f<=l)throw new s(y)}for(;S?l>=0:f>l;l+=v)l in d&&(m=i(m,d[l],l,u));return m}};I.exports={left:V(!1),right:V(!0)}},13345:function(I,r,n){"use strict";var e=n(58310),a=n(37386),t=TypeError,o=Object.getOwnPropertyDescriptor,s=e&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(y){return y instanceof TypeError}}();I.exports=s?function(y,V){if(a(y)&&!o(y,"length").writable)throw new t("Cannot set read only .length");return y.length=V}:function(y,V){return y.length=V}},54602:function(I,r,n){"use strict";var e=n(67250);I.exports=e([].slice)},90274:function(I,r,n){"use strict";var e=n(54602),a=Math.floor,t=function(s,y){var V=s.length;if(V<8)for(var k=1,S,p;k0;)s[p]=s[--p];p!==k++&&(s[p]=S)}else for(var i=a(V/2),c=t(e(s,0,i),y),m=t(e(s,i),y),u=c.length,d=m.length,f=0,l=0;f1?arguments[1]:void 0),E;E=E?E.next:A.first;)for(T(E.value,E.key,this);E&&E.removed;)E=E.previous}return L}(),has:function(){function L(w){return!!B(this,w)}return L}()}),t(C,b?{get:function(){function L(w){var A=B(this,w);return A&&A.value}return L}(),set:function(){function L(w,A){return x(this,w===0?0:w,A)}return L}()}:{add:function(){function L(w){return x(this,w=w===0?0:w,w)}return L}()}),i&&a(C,"size",{configurable:!0,get:function(){function L(){return N(this).size}return L}()}),h}return f}(),setStrong:function(){function f(l,v,b){var g=v+" Iterator",h=d(v),C=d(g);k(l,v,function(N,x){u(this,{type:g,target:N,state:h(N),kind:x,last:null})},function(){for(var N=C(this),x=N.kind,B=N.last;B&&B.removed;)B=B.previous;return!N.target||!(N.last=B=B?B.next:N.state.first)?(N.target=null,S(void 0,!0)):S(x==="keys"?B.key:x==="values"?B.value:[B.key,B.value],!1)},b?"entries":"values",!b,!0),p(v)}return f}()}},39895:function(I,r,n){"use strict";var e=n(67250),a=n(30145),t=n(81969).getWeakData,o=n(60077),s=n(30365),y=n(42871),V=n(77568),k=n(49450),S=n(22603),p=n(45299),i=n(5419),c=i.set,m=i.getterFor,u=S.find,d=S.findIndex,f=e([].splice),l=0,v=function(C){return C.frozen||(C.frozen=new b)},b=function(){this.entries=[]},g=function(C,N){return u(C.entries,function(x){return x[0]===N})};b.prototype={get:function(){function h(C){var N=g(this,C);if(N)return N[1]}return h}(),has:function(){function h(C){return!!g(this,C)}return h}(),set:function(){function h(C,N){var x=g(this,C);x?x[1]=N:this.entries.push([C,N])}return h}(),delete:function(){function h(C){var N=d(this.entries,function(x){return x[0]===C});return~N&&f(this.entries,N,1),!!~N}return h}()},I.exports={getConstructor:function(){function h(C,N,x,B){var L=C(function(E,O){o(E,w),c(E,{type:N,id:l++,frozen:null}),y(O)||k(O,E[B],{that:E,AS_ENTRIES:x})}),w=L.prototype,A=m(N),T=function(){function E(O,P,R){var F=A(O),j=t(s(P),!0);return j===!0?v(F).set(P,R):j[F.id]=R,O}return E}();return a(w,{delete:function(){function E(O){var P=A(this);if(!V(O))return!1;var R=t(O);return R===!0?v(P).delete(O):R&&p(R,P.id)&&delete R[P.id]}return E}(),has:function(){function E(O){var P=A(this);if(!V(O))return!1;var R=t(O);return R===!0?v(P).has(O):R&&p(R,P.id)}return E}()}),a(w,x?{get:function(){function E(O){var P=A(this);if(V(O)){var R=t(O);if(R===!0)return v(P).get(O);if(R)return R[P.id]}}return E}(),set:function(){function E(O,P){return T(this,O,P)}return E}()}:{add:function(){function E(O){return T(this,O,!0)}return E}()}),L}return h}()}},45150:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(67250),o=n(41314),s=n(55938),y=n(81969),V=n(49450),k=n(60077),S=n(55747),p=n(42871),i=n(77568),c=n(40033),m=n(92490),u=n(84925),d=n(5781);I.exports=function(f,l,v){var b=f.indexOf("Map")!==-1,g=f.indexOf("Weak")!==-1,h=b?"set":"add",C=a[f],N=C&&C.prototype,x=C,B={},L=function(F){var j=t(N[F]);s(N,F,F==="add"?function(){function W(H){return j(this,H===0?0:H),this}return W}():F==="delete"?function(W){return g&&!i(W)?!1:j(this,W===0?0:W)}:F==="get"?function(){function W(H){return g&&!i(H)?void 0:j(this,H===0?0:H)}return W}():F==="has"?function(){function W(H){return g&&!i(H)?!1:j(this,H===0?0:H)}return W}():function(){function W(H,z){return j(this,H===0?0:H,z),this}return W}())},w=o(f,!S(C)||!(g||N.forEach&&!c(function(){new C().entries().next()})));if(w)x=v.getConstructor(l,f,b,h),y.enable();else if(o(f,!0)){var A=new x,T=A[h](g?{}:-0,1)!==A,E=c(function(){A.has(1)}),O=m(function(R){new C(R)}),P=!g&&c(function(){for(var R=new C,F=5;F--;)R[h](F,F);return!R.has(-0)});O||(x=l(function(R,F){k(R,N);var j=d(new C,R,x);return p(F)||V(F,j[h],{that:j,AS_ENTRIES:b}),j}),x.prototype=N,N.constructor=x),(E||P)&&(L("delete"),L("has"),b&&L("get")),(P||T)&&L(h),g&&N.clear&&delete N.clear}return B[f]=x,e({global:!0,constructor:!0,forced:x!==C},B),u(x,f),g||v.setStrong(x,f,b),x}},5774:function(I,r,n){"use strict";var e=n(45299),a=n(97921),t=n(27193),o=n(74595);I.exports=function(s,y,V){for(var k=a(y),S=o.f,p=t.f,i=0;i"+p+""}},5959:function(I){"use strict";I.exports=function(r,n){return{value:r,done:n}}},37909:function(I,r,n){"use strict";var e=n(58310),a=n(74595),t=n(87458);I.exports=e?function(o,s,y){return a.f(o,s,t(1,y))}:function(o,s,y){return o[s]=y,o}},87458:function(I){"use strict";I.exports=function(r,n){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:n}}},60102:function(I,r,n){"use strict";var e=n(58310),a=n(74595),t=n(87458);I.exports=function(o,s,y){e?a.f(o,s,t(0,y)):o[s]=y}},67206:function(I,r,n){"use strict";var e=n(67250),a=n(40033),t=n(24051).start,o=RangeError,s=isFinite,y=Math.abs,V=Date.prototype,k=V.toISOString,S=e(V.getTime),p=e(V.getUTCDate),i=e(V.getUTCFullYear),c=e(V.getUTCHours),m=e(V.getUTCMilliseconds),u=e(V.getUTCMinutes),d=e(V.getUTCMonth),f=e(V.getUTCSeconds);I.exports=a(function(){return k.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!a(function(){k.call(new Date(NaN))})?function(){function l(){if(!s(S(this)))throw new o("Invalid time value");var v=this,b=i(v),g=m(v),h=b<0?"-":b>9999?"+":"";return h+t(y(b),h?6:4,0)+"-"+t(d(v)+1,2,0)+"-"+t(p(v),2,0)+"T"+t(c(v),2,0)+":"+t(u(v),2,0)+":"+t(f(v),2,0)+"."+t(g,3,0)+"Z"}return l}():k},10886:function(I,r,n){"use strict";var e=n(30365),a=n(13396),t=TypeError;I.exports=function(o){if(e(this),o==="string"||o==="default")o="string";else if(o!=="number")throw new t("Incorrect hint");return a(this,o)}},73936:function(I,r,n){"use strict";var e=n(20001),a=n(74595);I.exports=function(t,o,s){return s.get&&e(s.get,o,{getter:!0}),s.set&&e(s.set,o,{setter:!0}),a.f(t,o,s)}},55938:function(I,r,n){"use strict";var e=n(55747),a=n(74595),t=n(20001),o=n(18231);I.exports=function(s,y,V,k){k||(k={});var S=k.enumerable,p=k.name!==void 0?k.name:y;if(e(V)&&t(V,p,k),k.global)S?s[y]=V:o(y,V);else{try{k.unsafe?s[y]&&(S=!0):delete s[y]}catch(i){}S?s[y]=V:a.f(s,y,{value:V,enumerable:!1,configurable:!k.nonConfigurable,writable:!k.nonWritable})}return s}},30145:function(I,r,n){"use strict";var e=n(55938);I.exports=function(a,t,o){for(var s in t)e(a,s,t[s],o);return a}},18231:function(I,r,n){"use strict";var e=n(16210),a=Object.defineProperty;I.exports=function(t,o){try{a(e,t,{value:o,configurable:!0,writable:!0})}catch(s){e[t]=o}return o}},95108:function(I,r,n){"use strict";var e=n(89393),a=TypeError;I.exports=function(t,o){if(!delete t[o])throw new a("Cannot delete property "+e(o)+" of "+e(t))}},58310:function(I,r,n){"use strict";var e=n(40033);I.exports=!e(function(){return Object.defineProperty({},1,{get:function(){function a(){return 7}return a}()})[1]!==7})},12689:function(I,r,n){"use strict";var e=n(16210),a=n(77568),t=e.document,o=a(t)&&a(t.createElement);I.exports=function(s){return o?t.createElement(s):{}}},21291:function(I){"use strict";var r=TypeError,n=9007199254740991;I.exports=function(e){if(e>n)throw r("Maximum allowed index exceeded");return e}},89453:function(I){"use strict";I.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},50503:function(I,r,n){"use strict";var e=n(83309),a=e.match(/firefox\/(\d+)/i);I.exports=!!a&&+a[1]},79725:function(I,r,n){"use strict";var e=n(83309);I.exports=/MSIE|Trident/.test(e)},16647:function(I,r,n){"use strict";var e=n(83309);I.exports=/ipad|iphone|ipod/i.test(e)&&typeof Pebble!="undefined"},27770:function(I,r,n){"use strict";var e=n(83309);I.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(e)},81663:function(I,r,n){"use strict";var e=n(10753);I.exports=e==="NODE"},52854:function(I,r,n){"use strict";var e=n(83309);I.exports=/web0s(?!.*chrome)/i.test(e)},83309:function(I,r,n){"use strict";var e=n(16210),a=e.navigator,t=a&&a.userAgent;I.exports=t?String(t):""},83141:function(I,r,n){"use strict";var e=n(16210),a=n(83309),t=e.process,o=e.Deno,s=t&&t.versions||o&&o.version,y=s&&s.v8,V,k;y&&(V=y.split("."),k=V[0]>0&&V[0]<4?1:+(V[0]+V[1])),!k&&a&&(V=a.match(/Edge\/(\d+)/),(!V||V[1]>=74)&&(V=a.match(/Chrome\/(\d+)/),V&&(k=+V[1]))),I.exports=k},44981:function(I,r,n){"use strict";var e=n(83309),a=e.match(/AppleWebKit\/(\d+)\./);I.exports=!!a&&+a[1]},10753:function(I,r,n){"use strict";var e=n(16210),a=n(83309),t=n(7462),o=function(y){return a.slice(0,y.length)===y};I.exports=function(){return o("Bun/")?"BUN":o("Cloudflare-Workers")?"CLOUDFLARE":o("Deno/")?"DENO":o("Node.js/")?"NODE":e.Bun&&typeof Bun.version=="string"?"BUN":e.Deno&&typeof Deno.version=="object"?"DENO":t(e.process)==="process"?"NODE":e.window&&e.document?"BROWSER":"REST"}()},63964:function(I,r,n){"use strict";var e=n(16210),a=n(27193).f,t=n(37909),o=n(55938),s=n(18231),y=n(5774),V=n(41314);I.exports=function(k,S){var p=k.target,i=k.global,c=k.stat,m,u,d,f,l,v;if(i?u=e:c?u=e[p]||s(p,{}):u=e[p]&&e[p].prototype,u)for(d in S){if(l=S[d],k.dontCallGetSet?(v=a(u,d),f=v&&v.value):f=u[d],m=V(i?d:p+(c?".":"#")+d,k.forced),!m&&f!==void 0){if(typeof l==typeof f)continue;y(l,f)}(k.sham||f&&f.sham)&&t(l,"sham",!0),o(u,d,l,k)}}},40033:function(I){"use strict";I.exports=function(r){try{return!!r()}catch(n){return!0}}},79942:function(I,r,n){"use strict";n(79669);var e=n(91495),a=n(55938),t=n(14489),o=n(40033),s=n(24697),y=n(37909),V=s("species"),k=RegExp.prototype;I.exports=function(S,p,i,c){var m=s(S),u=!o(function(){var v={};return v[m]=function(){return 7},""[S](v)!==7}),d=u&&!o(function(){var v=!1,b=/a/;return S==="split"&&(b={},b.constructor={},b.constructor[V]=function(){return b},b.flags="",b[m]=/./[m]),b.exec=function(){return v=!0,null},b[m](""),!v});if(!u||!d||i){var f=/./[m],l=p(m,""[S],function(v,b,g,h,C){var N=b.exec;return N===t||N===k.exec?u&&!C?{done:!0,value:e(f,b,g,h)}:{done:!0,value:e(v,g,b,h)}:{done:!1}});a(String.prototype,S,l[0]),a(k,m,l[1])}c&&y(k[m],"sham",!0)}},65561:function(I,r,n){"use strict";var e=n(37386),a=n(24760),t=n(21291),o=n(75754),s=function(V,k,S,p,i,c,m,u){for(var d=i,f=0,l=m?o(m,u):!1,v,b;f0&&e(v)?(b=a(v),d=s(V,k,v,b,d,c-1)-1):(t(d+1),V[d]=v),d++),f++;return d};I.exports=s},50730:function(I,r,n){"use strict";var e=n(40033);I.exports=!e(function(){return Object.isExtensible(Object.preventExtensions({}))})},61267:function(I,r,n){"use strict";var e=n(55050),a=Function.prototype,t=a.apply,o=a.call;I.exports=typeof Reflect=="object"&&Reflect.apply||(e?o.bind(t):function(){return o.apply(t,arguments)})},75754:function(I,r,n){"use strict";var e=n(71138),a=n(10320),t=n(55050),o=e(e.bind);I.exports=function(s,y){return a(s),y===void 0?s:t?o(s,y):function(){return s.apply(y,arguments)}}},55050:function(I,r,n){"use strict";var e=n(40033);I.exports=!e(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})},66284:function(I,r,n){"use strict";var e=n(67250),a=n(10320),t=n(77568),o=n(45299),s=n(54602),y=n(55050),V=Function,k=e([].concat),S=e([].join),p={},i=function(m,u,d){if(!o(p,u)){for(var f=[],l=0;l]*>)/g,k=/\$([$&'`]|\d{1,2})/g;I.exports=function(S,p,i,c,m,u){var d=i+S.length,f=c.length,l=k;return m!==void 0&&(m=a(m),l=V),s(u,l,function(v,b){var g;switch(o(b,0)){case"$":return"$";case"&":return S;case"`":return y(p,0,i);case"'":return y(p,d);case"<":g=m[y(b,1,-1)];break;default:var h=+b;if(h===0)return v;if(h>f){var C=t(h/10);return C===0?v:C<=f?c[C-1]===void 0?o(b,1):c[C-1]+o(b,1):v}g=c[h-1]}return g===void 0?"":g})}},16210:function(I,r,n){"use strict";var e=function(t){return t&&t.Math===Math&&t};I.exports=e(typeof globalThis=="object"&&globalThis)||e(typeof window=="object"&&window)||e(typeof self=="object"&&self)||e(typeof n.g=="object"&&n.g)||e(!1)||function(){return this}()||Function("return this")()},45299:function(I,r,n){"use strict";var e=n(67250),a=n(46771),t=e({}.hasOwnProperty);I.exports=Object.hasOwn||function(){function o(s,y){return t(a(s),y)}return o}()},79195:function(I){"use strict";I.exports={}},72259:function(I){"use strict";I.exports=function(r,n){try{arguments.length}catch(e){}}},5315:function(I,r,n){"use strict";var e=n(4009);I.exports=e("document","documentElement")},36223:function(I,r,n){"use strict";var e=n(58310),a=n(40033),t=n(12689);I.exports=!e&&!a(function(){return Object.defineProperty(t("div"),"a",{get:function(){function o(){return 7}return o}()}).a!==7})},91784:function(I){"use strict";var r=Array,n=Math.abs,e=Math.pow,a=Math.floor,t=Math.log,o=Math.LN2,s=function(k,S,p){var i=r(p),c=p*8-S-1,m=(1<>1,d=S===23?e(2,-24)-e(2,-77):0,f=k<0||k===0&&1/k<0?1:0,l=0,v,b,g;for(k=n(k),k!==k||k===1/0?(b=k!==k?1:0,v=m):(v=a(t(k)/o),g=e(2,-v),k*g<1&&(v--,g*=2),v+u>=1?k+=d/g:k+=d*e(2,1-u),k*g>=2&&(v++,g/=2),v+u>=m?(b=0,v=m):v+u>=1?(b=(k*g-1)*e(2,S),v+=u):(b=k*e(2,u-1)*e(2,S),v=0));S>=8;)i[l++]=b&255,b/=256,S-=8;for(v=v<0;)i[l++]=v&255,v/=256,c-=8;return i[l-1]|=f*128,i},y=function(k,S){var p=k.length,i=p*8-S-1,c=(1<>1,u=i-7,d=p-1,f=k[d--],l=f&127,v;for(f>>=7;u>0;)l=l*256+k[d--],u-=8;for(v=l&(1<<-u)-1,l>>=-u,u+=S;u>0;)v=v*256+k[d--],u-=8;if(l===0)l=1-m;else{if(l===c)return v?NaN:f?-1/0:1/0;v+=e(2,S),l-=m}return(f?-1:1)*v*e(2,l-S)};I.exports={pack:s,unpack:y}},37457:function(I,r,n){"use strict";var e=n(67250),a=n(40033),t=n(7462),o=Object,s=e("".split);I.exports=a(function(){return!o("z").propertyIsEnumerable(0)})?function(y){return t(y)==="String"?s(y,""):o(y)}:o},5781:function(I,r,n){"use strict";var e=n(55747),a=n(77568),t=n(76649);I.exports=function(o,s,y){var V,k;return t&&e(V=s.constructor)&&V!==y&&a(k=V.prototype)&&k!==y.prototype&&t(o,k),o}},40492:function(I,r,n){"use strict";var e=n(67250),a=n(55747),t=n(40095),o=e(Function.toString);a(t.inspectSource)||(t.inspectSource=function(s){return o(s)}),I.exports=t.inspectSource},81969:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(79195),o=n(77568),s=n(45299),y=n(74595).f,V=n(37310),k=n(81644),S=n(81834),p=n(16738),i=n(50730),c=!1,m=p("meta"),u=0,d=function(C){y(C,m,{value:{objectID:"O"+u++,weakData:{}}})},f=function(C,N){if(!o(C))return typeof C=="symbol"?C:(typeof C=="string"?"S":"P")+C;if(!s(C,m)){if(!S(C))return"F";if(!N)return"E";d(C)}return C[m].objectID},l=function(C,N){if(!s(C,m)){if(!S(C))return!0;if(!N)return!1;d(C)}return C[m].weakData},v=function(C){return i&&c&&S(C)&&!s(C,m)&&d(C),C},b=function(){g.enable=function(){},c=!0;var C=V.f,N=a([].splice),x={};x[m]=1,C(x).length&&(V.f=function(B){for(var L=C(B),w=0,A=L.length;wB;B++)if(w=O(u[B]),w&&V(m,w))return w;return new c(!1)}N=k(u,x)}for(A=b?u.next:N.next;!(T=a(A,N)).done;){try{w=O(T.value)}catch(P){p(N,"throw",P)}if(typeof w=="object"&&w&&V(m,w))return w}return new c(!1)}},28649:function(I,r,n){"use strict";var e=n(91495),a=n(30365),t=n(78060);I.exports=function(o,s,y){var V,k;a(o);try{if(V=t(o,"return"),!V){if(s==="throw")throw y;return y}V=e(V,o)}catch(S){k=!0,V=S}if(s==="throw")throw y;if(k)throw V;return a(V),y}},5656:function(I,r,n){"use strict";var e=n(67635).IteratorPrototype,a=n(80674),t=n(87458),o=n(84925),s=n(83967),y=function(){return this};I.exports=function(V,k,S,p){var i=k+" Iterator";return V.prototype=a(e,{next:t(+!p,S)}),o(V,i,!1,!0),s[i]=y,V}},65574:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(4493),o=n(70520),s=n(55747),y=n(5656),V=n(36917),k=n(76649),S=n(84925),p=n(37909),i=n(55938),c=n(24697),m=n(83967),u=n(67635),d=o.PROPER,f=o.CONFIGURABLE,l=u.IteratorPrototype,v=u.BUGGY_SAFARI_ITERATORS,b=c("iterator"),g="keys",h="values",C="entries",N=function(){return this};I.exports=function(x,B,L,w,A,T,E){y(L,B,w);var O=function(Q){if(Q===A&&W)return W;if(!v&&Q&&Q in F)return F[Q];switch(Q){case g:return function(){function he(){return new L(this,Q)}return he}();case h:return function(){function he(){return new L(this,Q)}return he}();case C:return function(){function he(){return new L(this,Q)}return he}()}return function(){return new L(this)}},P=B+" Iterator",R=!1,F=x.prototype,j=F[b]||F["@@iterator"]||A&&F[A],W=!v&&j||O(A),H=B==="Array"&&F.entries||j,z,Y,G;if(H&&(z=V(H.call(new x)),z!==Object.prototype&&z.next&&(!t&&V(z)!==l&&(k?k(z,l):s(z[b])||i(z,b,N)),S(z,P,!0,!0),t&&(m[P]=N))),d&&A===h&&j&&j.name!==h&&(!t&&f?p(F,"name",h):(R=!0,W=function(){function ne(){return a(j,this)}return ne}())),A)if(Y={values:O(h),keys:T?W:O(g),entries:O(C)},E)for(G in Y)(v||R||!(G in F))&&i(F,G,Y[G]);else e({target:B,proto:!0,forced:v||R},Y);return(!t||E)&&F[b]!==W&&i(F,b,W,{name:A}),m[B]=W,Y}},67635:function(I,r,n){"use strict";var e=n(40033),a=n(55747),t=n(77568),o=n(80674),s=n(36917),y=n(55938),V=n(24697),k=n(4493),S=V("iterator"),p=!1,i,c,m;[].keys&&(m=[].keys(),"next"in m?(c=s(s(m)),c!==Object.prototype&&(i=c)):p=!0);var u=!t(i)||e(function(){var d={};return i[S].call(d)!==d});u?i={}:k&&(i=o(i)),a(i[S])||y(i,S,function(){return this}),I.exports={IteratorPrototype:i,BUGGY_SAFARI_ITERATORS:p}},83967:function(I){"use strict";I.exports={}},24760:function(I,r,n){"use strict";var e=n(10188);I.exports=function(a){return e(a.length)}},20001:function(I,r,n){"use strict";var e=n(67250),a=n(40033),t=n(55747),o=n(45299),s=n(58310),y=n(70520).CONFIGURABLE,V=n(40492),k=n(5419),S=k.enforce,p=k.get,i=String,c=Object.defineProperty,m=e("".slice),u=e("".replace),d=e([].join),f=s&&!a(function(){return c(function(){},"length",{value:8}).length!==8}),l=String(String).split("String"),v=I.exports=function(b,g,h){m(i(g),0,7)==="Symbol("&&(g="["+u(i(g),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),h&&h.getter&&(g="get "+g),h&&h.setter&&(g="set "+g),(!o(b,"name")||y&&b.name!==g)&&(s?c(b,"name",{value:g,configurable:!0}):b.name=g),f&&h&&o(h,"arity")&&b.length!==h.arity&&c(b,"length",{value:h.arity});try{h&&o(h,"constructor")&&h.constructor?s&&c(b,"prototype",{writable:!1}):b.prototype&&(b.prototype=void 0)}catch(N){}var C=S(b);return o(C,"source")||(C.source=d(l,typeof g=="string"?g:"")),b};Function.prototype.toString=v(function(){function b(){return t(this)&&p(this).source||V(this)}return b}(),"toString")},82040:function(I){"use strict";var r=Math.expm1,n=Math.exp;I.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||r(-2e-17)!==-2e-17?function(){function e(a){var t=+a;return t===0?t:t>-1e-6&&t<1e-6?t+t*t/2:n(t)-1}return e}():r},14950:function(I,r,n){"use strict";var e=n(22172),a=Math.abs,t=2220446049250313e-31,o=1/t,s=function(V){return V+o-o};I.exports=function(y,V,k,S){var p=+y,i=a(p),c=e(p);if(ik||u!==u?c*(1/0):c*u}},95867:function(I,r,n){"use strict";var e=n(14950),a=11920928955078125e-23,t=34028234663852886e22,o=11754943508222875e-54;I.exports=Math.fround||function(){function s(y){return e(y,a,t,o)}return s}()},75002:function(I){"use strict";var r=Math.log,n=Math.LOG10E;I.exports=Math.log10||function(){function e(a){return r(a)*n}return e}()},90874:function(I){"use strict";var r=Math.log;I.exports=Math.log1p||function(){function n(e){var a=+e;return a>-1e-8&&a<1e-8?a-a*a/2:r(1+a)}return n}()},22172:function(I){"use strict";I.exports=Math.sign||function(){function r(n){var e=+n;return e===0||e!==e?e:e<0?-1:1}return r}()},21119:function(I){"use strict";var r=Math.ceil,n=Math.floor;I.exports=Math.trunc||function(){function e(a){var t=+a;return(t>0?n:r)(t)}return e}()},37713:function(I,r,n){"use strict";var e=n(16210),a=n(44915),t=n(75754),o=n(60375).set,s=n(9547),y=n(27770),V=n(16647),k=n(52854),S=n(81663),p=e.MutationObserver||e.WebKitMutationObserver,i=e.document,c=e.process,m=e.Promise,u=a("queueMicrotask"),d,f,l,v,b;if(!u){var g=new s,h=function(){var N,x;for(S&&(N=c.domain)&&N.exit();x=g.get();)try{x()}catch(B){throw g.head&&d(),B}N&&N.enter()};!y&&!S&&!k&&p&&i?(f=!0,l=i.createTextNode(""),new p(h).observe(l,{characterData:!0}),d=function(){l.data=f=!f}):!V&&m&&m.resolve?(v=m.resolve(void 0),v.constructor=m,b=t(v.then,v),d=function(){b(h)}):S?d=function(){c.nextTick(h)}:(o=t(o,e),d=function(){o(h)}),u=function(N){g.head||d(),g.add(N)}}I.exports=u},81837:function(I,r,n){"use strict";var e=n(10320),a=TypeError,t=function(s){var y,V;this.promise=new s(function(k,S){if(y!==void 0||V!==void 0)throw new a("Bad Promise constructor");y=k,V=S}),this.resolve=e(y),this.reject=e(V)};I.exports.f=function(o){return new t(o)}},86213:function(I,r,n){"use strict";var e=n(72586),a=TypeError;I.exports=function(t){if(e(t))throw new a("The method doesn't accept regular expressions");return t}},3294:function(I,r,n){"use strict";var e=n(16210),a=e.isFinite;I.exports=Number.isFinite||function(){function t(o){return typeof o=="number"&&a(o)}return t}()},28506:function(I,r,n){"use strict";var e=n(16210),a=n(40033),t=n(67250),o=n(12605),s=n(92648).trim,y=n(4198),V=t("".charAt),k=e.parseFloat,S=e.Symbol,p=S&&S.iterator,i=1/k(y+"-0")!==-1/0||p&&!a(function(){k(Object(p))});I.exports=i?function(){function c(m){var u=s(o(m)),d=k(u);return d===0&&V(u,0)==="-"?-0:d}return c}():k},13693:function(I,r,n){"use strict";var e=n(16210),a=n(40033),t=n(67250),o=n(12605),s=n(92648).trim,y=n(4198),V=e.parseInt,k=e.Symbol,S=k&&k.iterator,p=/^[+-]?0x/i,i=t(p.exec),c=V(y+"08")!==8||V(y+"0x16")!==22||S&&!a(function(){V(Object(S))});I.exports=c?function(){function m(u,d){var f=s(o(u));return V(f,d>>>0||(i(p,f)?16:10))}return m}():V},41143:function(I,r,n){"use strict";var e=n(58310),a=n(67250),t=n(91495),o=n(40033),s=n(18450),y=n(89235),V=n(12867),k=n(46771),S=n(37457),p=Object.assign,i=Object.defineProperty,c=a([].concat);I.exports=!p||o(function(){if(e&&p({b:1},p(i({},"a",{enumerable:!0,get:function(){function l(){i(this,"b",{value:3,enumerable:!1})}return l}()}),{b:2})).b!==1)return!0;var m={},u={},d=Symbol("assign detection"),f="abcdefghijklmnopqrst";return m[d]=7,f.split("").forEach(function(l){u[l]=l}),p({},m)[d]!==7||s(p({},u)).join("")!==f})?function(){function m(u,d){for(var f=k(u),l=arguments.length,v=1,b=y.f,g=V.f;l>v;)for(var h=S(arguments[v++]),C=b?c(s(h),b(h)):s(h),N=C.length,x=0,B;N>x;)B=C[x++],(!e||t(g,h,B))&&(f[B]=h[B]);return f}return m}():p},80674:function(I,r,n){"use strict";var e=n(30365),a=n(24239),t=n(89453),o=n(79195),s=n(5315),y=n(12689),V=n(19417),k=">",S="<",p="prototype",i="script",c=V("IE_PROTO"),m=function(){},u=function(g){return S+i+k+g+S+"/"+i+k},d=function(g){g.write(u("")),g.close();var h=g.parentWindow.Object;return g=null,h},f=function(){var g=y("iframe"),h="java"+i+":",C;return g.style.display="none",s.appendChild(g),g.src=String(h),C=g.contentWindow.document,C.open(),C.write(u("document.F=Object")),C.close(),C.F},l,v=function(){try{l=new ActiveXObject("htmlfile")}catch(h){}v=typeof document!="undefined"?document.domain&&l?d(l):f():d(l);for(var g=t.length;g--;)delete v[p][t[g]];return v()};o[c]=!0,I.exports=Object.create||function(){function b(g,h){var C;return g!==null?(m[p]=e(g),C=new m,m[p]=null,C[c]=g):C=v(),h===void 0?C:a.f(C,h)}return b}()},24239:function(I,r,n){"use strict";var e=n(58310),a=n(80944),t=n(74595),o=n(30365),s=n(57591),y=n(18450);r.f=e&&!a?Object.defineProperties:function(){function V(k,S){o(k);for(var p=s(S),i=y(S),c=i.length,m=0,u;c>m;)t.f(k,u=i[m++],p[u]);return k}return V}()},74595:function(I,r,n){"use strict";var e=n(58310),a=n(36223),t=n(80944),o=n(30365),s=n(767),y=TypeError,V=Object.defineProperty,k=Object.getOwnPropertyDescriptor,S="enumerable",p="configurable",i="writable";r.f=e?t?function(){function c(m,u,d){if(o(m),u=s(u),o(d),typeof m=="function"&&u==="prototype"&&"value"in d&&i in d&&!d[i]){var f=k(m,u);f&&f[i]&&(m[u]=d.value,d={configurable:p in d?d[p]:f[p],enumerable:S in d?d[S]:f[S],writable:!1})}return V(m,u,d)}return c}():V:function(){function c(m,u,d){if(o(m),u=s(u),o(d),a)try{return V(m,u,d)}catch(f){}if("get"in d||"set"in d)throw new y("Accessors not supported");return"value"in d&&(m[u]=d.value),m}return c}()},27193:function(I,r,n){"use strict";var e=n(58310),a=n(91495),t=n(12867),o=n(87458),s=n(57591),y=n(767),V=n(45299),k=n(36223),S=Object.getOwnPropertyDescriptor;r.f=e?S:function(){function p(i,c){if(i=s(i),c=y(c),k)try{return S(i,c)}catch(m){}if(V(i,c))return o(!a(t.f,i,c),i[c])}return p}()},81644:function(I,r,n){"use strict";var e=n(7462),a=n(57591),t=n(37310).f,o=n(54602),s=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],y=function(k){try{return t(k)}catch(S){return o(s)}};I.exports.f=function(){function V(k){return s&&e(k)==="Window"?y(k):t(a(k))}return V}()},37310:function(I,r,n){"use strict";var e=n(53726),a=n(89453),t=a.concat("length","prototype");r.f=Object.getOwnPropertyNames||function(){function o(s){return e(s,t)}return o}()},89235:function(I,r){"use strict";r.f=Object.getOwnPropertySymbols},36917:function(I,r,n){"use strict";var e=n(45299),a=n(55747),t=n(46771),o=n(19417),s=n(9225),y=o("IE_PROTO"),V=Object,k=V.prototype;I.exports=s?V.getPrototypeOf:function(S){var p=t(S);if(e(p,y))return p[y];var i=p.constructor;return a(i)&&p instanceof i?i.prototype:p instanceof V?k:null}},81834:function(I,r,n){"use strict";var e=n(40033),a=n(77568),t=n(7462),o=n(3782),s=Object.isExtensible,y=e(function(){s(1)});I.exports=y||o?function(){function V(k){return!a(k)||o&&t(k)==="ArrayBuffer"?!1:s?s(k):!0}return V}():s},21287:function(I,r,n){"use strict";var e=n(67250);I.exports=e({}.isPrototypeOf)},53726:function(I,r,n){"use strict";var e=n(67250),a=n(45299),t=n(57591),o=n(14211).indexOf,s=n(79195),y=e([].push);I.exports=function(V,k){var S=t(V),p=0,i=[],c;for(c in S)!a(s,c)&&a(S,c)&&y(i,c);for(;k.length>p;)a(S,c=k[p++])&&(~o(i,c)||y(i,c));return i}},18450:function(I,r,n){"use strict";var e=n(53726),a=n(89453);I.exports=Object.keys||function(){function t(o){return e(o,a)}return t}()},12867:function(I,r){"use strict";var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,a=e&&!n.call({1:2},1);r.f=a?function(){function t(o){var s=e(this,o);return!!s&&s.enumerable}return t}():n},57377:function(I,r,n){"use strict";var e=n(4493),a=n(16210),t=n(40033),o=n(44981);I.exports=e||!t(function(){if(!(o&&o<535)){var s=Math.random();__defineSetter__.call(null,s,function(){}),delete a[s]}})},76649:function(I,r,n){"use strict";var e=n(38656),a=n(77568),t=n(16952),o=n(35908);I.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var s=!1,y={},V;try{V=e(Object.prototype,"__proto__","set"),V(y,[]),s=y instanceof Array}catch(k){}return function(){function k(S,p){return t(S),o(p),a(S)&&(s?V(S,p):S.__proto__=p),S}return k}()}():void 0)},70915:function(I,r,n){"use strict";var e=n(58310),a=n(40033),t=n(67250),o=n(36917),s=n(18450),y=n(57591),V=n(12867).f,k=t(V),S=t([].push),p=e&&a(function(){var c=Object.create(null);return c[2]=2,!k(c,2)}),i=function(m){return function(u){for(var d=y(u),f=s(d),l=p&&o(d)===null,v=f.length,b=0,g=[],h;v>b;)h=f[b++],(!e||(l?h in d:k(d,h)))&&S(g,m?[h,d[h]]:d[h]);return g}};I.exports={entries:i(!0),values:i(!1)}},2509:function(I,r,n){"use strict";var e=n(2650),a=n(2281);I.exports=e?{}.toString:function(){function t(){return"[object "+a(this)+"]"}return t}()},13396:function(I,r,n){"use strict";var e=n(91495),a=n(55747),t=n(77568),o=TypeError;I.exports=function(s,y){var V,k;if(y==="string"&&a(V=s.toString)&&!t(k=e(V,s))||a(V=s.valueOf)&&!t(k=e(V,s))||y!=="string"&&a(V=s.toString)&&!t(k=e(V,s)))return k;throw new o("Can't convert object to primitive value")}},97921:function(I,r,n){"use strict";var e=n(4009),a=n(67250),t=n(37310),o=n(89235),s=n(30365),y=a([].concat);I.exports=e("Reflect","ownKeys")||function(){function V(k){var S=t.f(s(k)),p=o.f;return p?y(S,p(k)):S}return V}()},61765:function(I,r,n){"use strict";var e=n(16210);I.exports=e},10729:function(I){"use strict";I.exports=function(r){try{return{error:!1,value:r()}}catch(n){return{error:!0,value:n}}}},74854:function(I,r,n){"use strict";var e=n(16210),a=n(67512),t=n(55747),o=n(41314),s=n(40492),y=n(24697),V=n(10753),k=n(4493),S=n(83141),p=a&&a.prototype,i=y("species"),c=!1,m=t(e.PromiseRejectionEvent),u=o("Promise",function(){var d=s(a),f=d!==String(a);if(!f&&S===66||k&&!(p.catch&&p.finally))return!0;if(!S||S<51||!/native code/.test(d)){var l=new a(function(g){g(1)}),v=function(h){h(function(){},function(){})},b=l.constructor={};if(b[i]=v,c=l.then(function(){})instanceof v,!c)return!0}return!f&&(V==="BROWSER"||V==="DENO")&&!m});I.exports={CONSTRUCTOR:u,REJECTION_EVENT:m,SUBCLASSING:c}},67512:function(I,r,n){"use strict";var e=n(16210);I.exports=e.Promise},66628:function(I,r,n){"use strict";var e=n(30365),a=n(77568),t=n(81837);I.exports=function(o,s){if(e(o),a(s)&&s.constructor===o)return s;var y=t.f(o),V=y.resolve;return V(s),y.promise}},48199:function(I,r,n){"use strict";var e=n(67512),a=n(92490),t=n(74854).CONSTRUCTOR;I.exports=t||!a(function(o){e.all(o).then(void 0,function(){})})},34550:function(I,r,n){"use strict";var e=n(74595).f;I.exports=function(a,t,o){o in a||e(a,o,{configurable:!0,get:function(){function s(){return t[o]}return s}(),set:function(){function s(y){t[o]=y}return s}()})}},9547:function(I){"use strict";var r=function(){this.head=null,this.tail=null};r.prototype={add:function(){function n(e){var a={item:e,next:null},t=this.tail;t?t.next=a:this.head=a,this.tail=a}return n}(),get:function(){function n(){var e=this.head;if(e){var a=this.head=e.next;return a===null&&(this.tail=null),e.item}}return n}()},I.exports=r},28340:function(I,r,n){"use strict";var e=n(91495),a=n(30365),t=n(55747),o=n(7462),s=n(14489),y=TypeError;I.exports=function(V,k){var S=V.exec;if(t(S)){var p=e(S,V,k);return p!==null&&a(p),p}if(o(V)==="RegExp")return e(s,V,k);throw new y("RegExp#exec called on incompatible receiver")}},14489:function(I,r,n){"use strict";var e=n(91495),a=n(67250),t=n(12605),o=n(70901),s=n(62115),y=n(16639),V=n(80674),k=n(5419).get,S=n(39173),p=n(35688),i=y("native-string-replace",String.prototype.replace),c=RegExp.prototype.exec,m=c,u=a("".charAt),d=a("".indexOf),f=a("".replace),l=a("".slice),v=function(){var C=/a/,N=/b*/g;return e(c,C,"a"),e(c,N,"a"),C.lastIndex!==0||N.lastIndex!==0}(),b=s.BROKEN_CARET,g=/()??/.exec("")[1]!==void 0,h=v||g||b||S||p;h&&(m=function(){function C(N){var x=this,B=k(x),L=t(N),w=B.raw,A,T,E,O,P,R,F;if(w)return w.lastIndex=x.lastIndex,A=e(m,w,L),x.lastIndex=w.lastIndex,A;var j=B.groups,W=b&&x.sticky,H=e(o,x),z=x.source,Y=0,G=L;if(W&&(H=f(H,"y",""),d(H,"g")===-1&&(H+="g"),G=l(L,x.lastIndex),x.lastIndex>0&&(!x.multiline||x.multiline&&u(L,x.lastIndex-1)!=="\n")&&(z="(?: "+z+")",G=" "+G,Y++),T=new RegExp("^(?:"+z+")",H)),g&&(T=new RegExp("^"+z+"$(?!\\s)",H)),v&&(E=x.lastIndex),O=e(c,W?T:x,G),W?O?(O.input=l(O.input,Y),O[0]=l(O[0],Y),O.index=x.lastIndex,x.lastIndex+=O[0].length):x.lastIndex=0:v&&O&&(x.lastIndex=x.global?O.index+O[0].length:E),g&&O&&O.length>1&&e(i,O[0],T,function(){for(P=1;Pb)","g");return o.exec("b").groups.a!=="b"||"b".replace(o,"$c")!=="bc"})},16952:function(I,r,n){"use strict";var e=n(42871),a=TypeError;I.exports=function(t){if(e(t))throw new a("Can't call method on "+t);return t}},44915:function(I,r,n){"use strict";var e=n(16210),a=n(58310),t=Object.getOwnPropertyDescriptor;I.exports=function(o){if(!a)return e[o];var s=t(e,o);return s&&s.value}},5700:function(I){"use strict";I.exports=Object.is||function(){function r(n,e){return n===e?n!==0||1/n===1/e:n!==n&&e!==e}return r}()},78362:function(I,r,n){"use strict";var e=n(16210),a=n(61267),t=n(55747),o=n(10753),s=n(83309),y=n(54602),V=n(24986),k=e.Function,S=/MSIE .\./.test(s)||o==="BUN"&&function(){var p=e.Bun.version.split(".");return p.length<3||p[0]==="0"&&(p[1]<3||p[1]==="3"&&p[2]==="0")}();I.exports=function(p,i){var c=i?2:1;return S?function(m,u){var d=V(arguments.length,1)>c,f=t(m)?m:k(m),l=d?y(arguments,c):[],v=d?function(){a(f,this,l)}:f;return i?p(v,u):p(v)}:p}},58491:function(I,r,n){"use strict";var e=n(4009),a=n(73936),t=n(24697),o=n(58310),s=t("species");I.exports=function(y){var V=e(y);o&&V&&!V[s]&&a(V,s,{configurable:!0,get:function(){function k(){return this}return k}()})}},84925:function(I,r,n){"use strict";var e=n(74595).f,a=n(45299),t=n(24697),o=t("toStringTag");I.exports=function(s,y,V){s&&!V&&(s=s.prototype),s&&!a(s,o)&&e(s,o,{configurable:!0,value:y})}},19417:function(I,r,n){"use strict";var e=n(16639),a=n(16738),t=e("keys");I.exports=function(o){return t[o]||(t[o]=a(o))}},40095:function(I,r,n){"use strict";var e=n(4493),a=n(16210),t=n(18231),o="__core-js_shared__",s=I.exports=a[o]||t(o,{});(s.versions||(s.versions=[])).push({version:"3.38.1",mode:e?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})},16639:function(I,r,n){"use strict";var e=n(40095);I.exports=function(a,t){return e[a]||(e[a]=t||{})}},28987:function(I,r,n){"use strict";var e=n(30365),a=n(32606),t=n(42871),o=n(24697),s=o("species");I.exports=function(y,V){var k=e(y).constructor,S;return k===void 0||t(S=e(k)[s])?V:a(S)}},88539:function(I,r,n){"use strict";var e=n(40033);I.exports=function(a){return e(function(){var t=""[a]('"');return t!==t.toLowerCase()||t.split('"').length>3})}},50233:function(I,r,n){"use strict";var e=n(67250),a=n(61365),t=n(12605),o=n(16952),s=e("".charAt),y=e("".charCodeAt),V=e("".slice),k=function(p){return function(i,c){var m=t(o(i)),u=a(c),d=m.length,f,l;return u<0||u>=d?p?"":void 0:(f=y(m,u),f<55296||f>56319||u+1===d||(l=y(m,u+1))<56320||l>57343?p?s(m,u):f:p?V(m,u,u+2):(f-55296<<10)+(l-56320)+65536)}};I.exports={codeAt:k(!1),charAt:k(!0)}},34125:function(I,r,n){"use strict";var e=n(83309);I.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(e)},24051:function(I,r,n){"use strict";var e=n(67250),a=n(10188),t=n(12605),o=n(62443),s=n(16952),y=e(o),V=e("".slice),k=Math.ceil,S=function(i){return function(c,m,u){var d=t(s(c)),f=a(m),l=d.length,v=u===void 0?" ":t(u),b,g;return f<=l||v===""?d:(b=f-l,g=y(v,k(b/v.length)),g.length>b&&(g=V(g,0,b)),i?d+g:g+d)}};I.exports={start:S(!1),end:S(!0)}},62443:function(I,r,n){"use strict";var e=n(61365),a=n(12605),t=n(16952),o=RangeError;I.exports=function(){function s(y){var V=a(t(this)),k="",S=e(y);if(S<0||S===1/0)throw new o("Wrong number of repetitions");for(;S>0;(S>>>=1)&&(V+=V))S&1&&(k+=V);return k}return s}()},43476:function(I,r,n){"use strict";var e=n(92648).end,a=n(90012);I.exports=a("trimEnd")?function(){function t(){return e(this)}return t}():"".trimEnd},90012:function(I,r,n){"use strict";var e=n(70520).PROPER,a=n(40033),t=n(4198),o="\u200B\x85\u180E";I.exports=function(s){return a(function(){return!!t[s]()||o[s]()!==o||e&&t[s].name!==s})}},43885:function(I,r,n){"use strict";var e=n(92648).start,a=n(90012);I.exports=a("trimStart")?function(){function t(){return e(this)}return t}():"".trimStart},92648:function(I,r,n){"use strict";var e=n(67250),a=n(16952),t=n(12605),o=n(4198),s=e("".replace),y=RegExp("^["+o+"]+"),V=RegExp("(^|[^"+o+"])["+o+"]+$"),k=function(p){return function(i){var c=t(a(i));return p&1&&(c=s(c,y,"")),p&2&&(c=s(c,V,"$1")),c}};I.exports={start:k(1),end:k(2),trim:k(3)}},52357:function(I,r,n){"use strict";var e=n(83141),a=n(40033),t=n(16210),o=t.String;I.exports=!!Object.getOwnPropertySymbols&&!a(function(){var s=Symbol("symbol detection");return!o(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&e&&e<41})},52360:function(I,r,n){"use strict";var e=n(91495),a=n(4009),t=n(24697),o=n(55938);I.exports=function(){var s=a("Symbol"),y=s&&s.prototype,V=y&&y.valueOf,k=t("toPrimitive");y&&!y[k]&&o(y,k,function(S){return e(V,this)},{arity:1})}},66570:function(I,r,n){"use strict";var e=n(52357);I.exports=e&&!!Symbol.for&&!!Symbol.keyFor},60375:function(I,r,n){"use strict";var e=n(16210),a=n(61267),t=n(75754),o=n(55747),s=n(45299),y=n(40033),V=n(5315),k=n(54602),S=n(12689),p=n(24986),i=n(27770),c=n(81663),m=e.setImmediate,u=e.clearImmediate,d=e.process,f=e.Dispatch,l=e.Function,v=e.MessageChannel,b=e.String,g=0,h={},C="onreadystatechange",N,x,B,L;y(function(){N=e.location});var w=function(P){if(s(h,P)){var R=h[P];delete h[P],R()}},A=function(P){return function(){w(P)}},T=function(P){w(P.data)},E=function(P){e.postMessage(b(P),N.protocol+"//"+N.host)};(!m||!u)&&(m=function(){function O(P){p(arguments.length,1);var R=o(P)?P:l(P),F=k(arguments,1);return h[++g]=function(){a(R,void 0,F)},x(g),g}return O}(),u=function(){function O(P){delete h[P]}return O}(),c?x=function(P){d.nextTick(A(P))}:f&&f.now?x=function(P){f.now(A(P))}:v&&!i?(B=new v,L=B.port2,B.port1.onmessage=T,x=t(L.postMessage,L)):e.addEventListener&&o(e.postMessage)&&!e.importScripts&&N&&N.protocol!=="file:"&&!y(E)?(x=E,e.addEventListener("message",T,!1)):C in S("script")?x=function(P){V.appendChild(S("script"))[C]=function(){V.removeChild(this),w(P)}}:x=function(P){setTimeout(A(P),0)}),I.exports={set:m,clear:u}},46438:function(I,r,n){"use strict";var e=n(67250);I.exports=e(1 .valueOf)},13912:function(I,r,n){"use strict";var e=n(61365),a=Math.max,t=Math.min;I.exports=function(o,s){var y=e(o);return y<0?a(y+s,0):t(y,s)}},61484:function(I,r,n){"use strict";var e=n(24843),a=TypeError;I.exports=function(t){var o=e(t,"number");if(typeof o=="number")throw new a("Can't convert number to bigint");return BigInt(o)}},43806:function(I,r,n){"use strict";var e=n(61365),a=n(10188),t=RangeError;I.exports=function(o){if(o===void 0)return 0;var s=e(o),y=a(s);if(s!==y)throw new t("Wrong length or index");return y}},57591:function(I,r,n){"use strict";var e=n(37457),a=n(16952);I.exports=function(t){return e(a(t))}},61365:function(I,r,n){"use strict";var e=n(21119);I.exports=function(a){var t=+a;return t!==t||t===0?0:e(t)}},10188:function(I,r,n){"use strict";var e=n(61365),a=Math.min;I.exports=function(t){var o=e(t);return o>0?a(o,9007199254740991):0}},46771:function(I,r,n){"use strict";var e=n(16952),a=Object;I.exports=function(t){return a(e(t))}},56043:function(I,r,n){"use strict";var e=n(16140),a=RangeError;I.exports=function(t,o){var s=e(t);if(s%o)throw new a("Wrong offset");return s}},16140:function(I,r,n){"use strict";var e=n(61365),a=RangeError;I.exports=function(t){var o=e(t);if(o<0)throw new a("The argument can't be less than 0");return o}},24843:function(I,r,n){"use strict";var e=n(91495),a=n(77568),t=n(71399),o=n(78060),s=n(13396),y=n(24697),V=TypeError,k=y("toPrimitive");I.exports=function(S,p){if(!a(S)||t(S))return S;var i=o(S,k),c;if(i){if(p===void 0&&(p="default"),c=e(i,S,p),!a(c)||t(c))return c;throw new V("Can't convert object to primitive value")}return p===void 0&&(p="number"),s(S,p)}},767:function(I,r,n){"use strict";var e=n(24843),a=n(71399);I.exports=function(t){var o=e(t,"string");return a(o)?o:o+""}},2650:function(I,r,n){"use strict";var e=n(24697),a=e("toStringTag"),t={};t[a]="z",I.exports=String(t)==="[object z]"},12605:function(I,r,n){"use strict";var e=n(2281),a=String;I.exports=function(t){if(e(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return a(t)}},15409:function(I){"use strict";var r=Math.round;I.exports=function(n){var e=r(n);return e<0?0:e>255?255:e&255}},89393:function(I){"use strict";var r=String;I.exports=function(n){try{return r(n)}catch(e){return"Object"}}},80185:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(91495),o=n(58310),s=n(86563),y=n(4246),V=n(37336),k=n(60077),S=n(87458),p=n(37909),i=n(5841),c=n(10188),m=n(43806),u=n(56043),d=n(15409),f=n(767),l=n(45299),v=n(2281),b=n(77568),g=n(71399),h=n(80674),C=n(21287),N=n(76649),x=n(37310).f,B=n(3805),L=n(22603).forEach,w=n(58491),A=n(73936),T=n(74595),E=n(27193),O=n(78008),P=n(5419),R=n(5781),F=P.get,j=P.set,W=P.enforce,H=T.f,z=E.f,Y=a.RangeError,G=V.ArrayBuffer,ne=G.prototype,Q=V.DataView,he=y.NATIVE_ARRAY_BUFFER_VIEWS,Ve=y.TYPED_ARRAY_TAG,Ne=y.TypedArray,Be=y.TypedArrayPrototype,Le=y.isTypedArray,Ae="BYTES_PER_ELEMENT",fe="Wrong length",Z=function(me,Te){A(me,Te,{configurable:!0,get:function(){function M(){return F(this)[Te]}return M}()})},J=function(me){var Te;return C(ne,me)||(Te=v(me))==="ArrayBuffer"||Te==="SharedArrayBuffer"},te=function(me,Te){return Le(me)&&!g(Te)&&Te in me&&i(+Te)&&Te>=0},ee=function(){function ye(me,Te){return Te=f(Te),te(me,Te)?S(2,me[Te]):z(me,Te)}return ye}(),le=function(){function ye(me,Te,M){return Te=f(Te),te(me,Te)&&b(M)&&l(M,"value")&&!l(M,"get")&&!l(M,"set")&&!M.configurable&&(!l(M,"writable")||M.writable)&&(!l(M,"enumerable")||M.enumerable)?(me[Te]=M.value,me):H(me,Te,M)}return ye}();o?(he||(E.f=ee,T.f=le,Z(Be,"buffer"),Z(Be,"byteOffset"),Z(Be,"byteLength"),Z(Be,"length")),e({target:"Object",stat:!0,forced:!he},{getOwnPropertyDescriptor:ee,defineProperty:le}),I.exports=function(ye,me,Te){var M=ye.match(/\d+/)[0]/8,X=ye+(Te?"Clamped":"")+"Array",ae="get"+ye,ue="set"+ye,ie=a[X],ge=ie,Ce=ge&&ge.prototype,Me={},De=function(_,oe){var ve=F(_);return ve.view[ae](oe*M+ve.byteOffset,!0)},ke=function(_,oe,ve){var Se=F(_);Se.view[ue](oe*M+Se.byteOffset,Te?d(ve):ve,!0)},pe=function(_,oe){H(_,oe,{get:function(){function ve(){return De(this,oe)}return ve}(),set:function(){function ve(Se){return ke(this,oe,Se)}return ve}(),enumerable:!0})};he?s&&(ge=me(function(xe,_,oe,ve){return k(xe,Ce),R(function(){return b(_)?J(_)?ve!==void 0?new ie(_,u(oe,M),ve):oe!==void 0?new ie(_,u(oe,M)):new ie(_):Le(_)?O(ge,_):t(B,ge,_):new ie(m(_))}(),xe,ge)}),N&&N(ge,Ne),L(x(ie),function(xe){xe in ge||p(ge,xe,ie[xe])}),ge.prototype=Ce):(ge=me(function(xe,_,oe,ve){k(xe,Ce);var Se=0,Ie=0,Ee,Pe,Oe;if(!b(_))Oe=m(_),Pe=Oe*M,Ee=new G(Pe);else if(J(_)){Ee=_,Ie=u(oe,M);var We=_.byteLength;if(ve===void 0){if(We%M)throw new Y(fe);if(Pe=We-Ie,Pe<0)throw new Y(fe)}else if(Pe=c(ve)*M,Pe+Ie>We)throw new Y(fe);Oe=Pe/M}else return Le(_)?O(ge,_):t(B,ge,_);for(j(xe,{buffer:Ee,byteOffset:Ie,byteLength:Pe,length:Oe,view:new Q(Ee)});Se1?arguments[1]:void 0,v=l!==void 0,b=V(d),g,h,C,N,x,B,L,w;if(b&&!k(b))for(L=y(d,b),w=L.next,d=[];!(B=a(w,L)).done;)d.push(B.value);for(v&&f>2&&(l=e(l,arguments[2])),h=s(d),C=new(p(u))(h),N=S(C),g=0;h>g;g++)x=v?l(d[g],g):d[g],C[g]=N?i(x):+x;return C}return c}()},31082:function(I,r,n){"use strict";var e=n(4246),a=n(28987),t=e.aTypedArrayConstructor,o=e.getTypedArrayConstructor;I.exports=function(s){return t(a(s,o(s)))}},16738:function(I,r,n){"use strict";var e=n(67250),a=0,t=Math.random(),o=e(1 .toString);I.exports=function(s){return"Symbol("+(s===void 0?"":s)+")_"+o(++a+t,36)}},1062:function(I,r,n){"use strict";var e=n(52357);I.exports=e&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},80944:function(I,r,n){"use strict";var e=n(58310),a=n(40033);I.exports=e&&a(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},24986:function(I){"use strict";var r=TypeError;I.exports=function(n,e){if(n=51||!a(function(){var l=[];return l[m]=!1,l.concat()[0]!==l}),d=function(v){if(!o(v))return!1;var b=v[m];return b!==void 0?!!b:t(v)},f=!u||!p("concat");e({target:"Array",proto:!0,arity:1,forced:f},{concat:function(){function l(v){var b=s(this),g=S(b,0),h=0,C,N,x,B,L;for(C=-1,x=arguments.length;C1?arguments[1]:void 0)}return s}()})},68933:function(I,r,n){"use strict";var e=n(63964),a=n(88471),t=n(80575);e({target:"Array",proto:!0},{fill:a}),t("fill")},47830:function(I,r,n){"use strict";var e=n(63964),a=n(22603).filter,t=n(44091),o=t("filter");e({target:"Array",proto:!0,forced:!o},{filter:function(){function s(y){return a(this,y,arguments.length>1?arguments[1]:void 0)}return s}()})},64094:function(I,r,n){"use strict";var e=n(63964),a=n(22603).findIndex,t=n(80575),o="findIndex",s=!0;o in[]&&Array(1)[o](function(){s=!1}),e({target:"Array",proto:!0,forced:s},{findIndex:function(){function y(V){return a(this,V,arguments.length>1?arguments[1]:void 0)}return y}()}),t(o)},13455:function(I,r,n){"use strict";var e=n(63964),a=n(22603).find,t=n(80575),o="find",s=!0;o in[]&&Array(1)[o](function(){s=!1}),e({target:"Array",proto:!0,forced:s},{find:function(){function y(V){return a(this,V,arguments.length>1?arguments[1]:void 0)}return y}()}),t(o)},32384:function(I,r,n){"use strict";var e=n(63964),a=n(65561),t=n(10320),o=n(46771),s=n(24760),y=n(57823);e({target:"Array",proto:!0},{flatMap:function(){function V(k){var S=o(this),p=s(S),i;return t(k),i=y(S,0),i.length=a(i,S,S,p,0,1,k,arguments.length>1?arguments[1]:void 0),i}return V}()})},61915:function(I,r,n){"use strict";var e=n(63964),a=n(65561),t=n(46771),o=n(24760),s=n(61365),y=n(57823);e({target:"Array",proto:!0},{flat:function(){function V(){var k=arguments.length?arguments[0]:void 0,S=t(this),p=o(S),i=y(S,0);return i.length=a(i,S,S,p,0,k===void 0?1:s(k)),i}return V}()})},25579:function(I,r,n){"use strict";var e=n(63964),a=n(35601);e({target:"Array",proto:!0,forced:[].forEach!==a},{forEach:a})},63532:function(I,r,n){"use strict";var e=n(63964),a=n(73174),t=n(92490),o=!t(function(s){Array.from(s)});e({target:"Array",stat:!0,forced:o},{from:a})},33425:function(I,r,n){"use strict";var e=n(63964),a=n(14211).includes,t=n(40033),o=n(80575),s=t(function(){return!Array(1).includes()});e({target:"Array",proto:!0,forced:s},{includes:function(){function y(V){return a(this,V,arguments.length>1?arguments[1]:void 0)}return y}()}),o("includes")},43894:function(I,r,n){"use strict";var e=n(63964),a=n(71138),t=n(14211).indexOf,o=n(55528),s=a([].indexOf),y=!!s&&1/s([1],1,-0)<0,V=y||!o("indexOf");e({target:"Array",proto:!0,forced:V},{indexOf:function(){function k(S){var p=arguments.length>1?arguments[1]:void 0;return y?s(this,S,p)||0:t(this,S,p)}return k}()})},99636:function(I,r,n){"use strict";var e=n(63964),a=n(37386);e({target:"Array",stat:!0},{isArray:a})},34570:function(I,r,n){"use strict";var e=n(57591),a=n(80575),t=n(83967),o=n(5419),s=n(74595).f,y=n(65574),V=n(5959),k=n(4493),S=n(58310),p="Array Iterator",i=o.set,c=o.getterFor(p);I.exports=y(Array,"Array",function(u,d){i(this,{type:p,target:e(u),index:0,kind:d})},function(){var u=c(this),d=u.target,f=u.index++;if(!d||f>=d.length)return u.target=null,V(void 0,!0);switch(u.kind){case"keys":return V(f,!1);case"values":return V(d[f],!1)}return V([f,d[f]],!1)},"values");var m=t.Arguments=t.Array;if(a("keys"),a("values"),a("entries"),!k&&S&&m.name!=="values")try{s(m,"name",{value:"values"})}catch(u){}},94432:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37457),o=n(57591),s=n(55528),y=a([].join),V=t!==Object,k=V||!s("join",",");e({target:"Array",proto:!0,forced:k},{join:function(){function S(p){return y(o(this),p===void 0?",":p)}return S}()})},24683:function(I,r,n){"use strict";var e=n(63964),a=n(1325);e({target:"Array",proto:!0,forced:a!==[].lastIndexOf},{lastIndexOf:a})},69984:function(I,r,n){"use strict";var e=n(63964),a=n(22603).map,t=n(44091),o=t("map");e({target:"Array",proto:!0,forced:!o},{map:function(){function s(y){return a(this,y,arguments.length>1?arguments[1]:void 0)}return s}()})},32089:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(1031),o=n(60102),s=Array,y=a(function(){function V(){}return!(s.of.call(V)instanceof V)});e({target:"Array",stat:!0,forced:y},{of:function(){function V(){for(var k=0,S=arguments.length,p=new(t(this)?this:s)(S);S>k;)o(p,k,arguments[k++]);return p.length=S,p}return V}()})},29645:function(I,r,n){"use strict";var e=n(63964),a=n(56844).right,t=n(55528),o=n(83141),s=n(81663),y=!s&&o>79&&o<83,V=y||!t("reduceRight");e({target:"Array",proto:!0,forced:V},{reduceRight:function(){function k(S){return a(this,S,arguments.length,arguments.length>1?arguments[1]:void 0)}return k}()})},60206:function(I,r,n){"use strict";var e=n(63964),a=n(56844).left,t=n(55528),o=n(83141),s=n(81663),y=!s&&o>79&&o<83,V=y||!t("reduce");e({target:"Array",proto:!0,forced:V},{reduce:function(){function k(S){var p=arguments.length;return a(this,S,p,p>1?arguments[1]:void 0)}return k}()})},4788:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37386),o=a([].reverse),s=[1,2];e({target:"Array",proto:!0,forced:String(s)===String(s.reverse())},{reverse:function(){function y(){return t(this)&&(this.length=this.length),o(this)}return y}()})},58672:function(I,r,n){"use strict";var e=n(63964),a=n(37386),t=n(1031),o=n(77568),s=n(13912),y=n(24760),V=n(57591),k=n(60102),S=n(24697),p=n(44091),i=n(54602),c=p("slice"),m=S("species"),u=Array,d=Math.max;e({target:"Array",proto:!0,forced:!c},{slice:function(){function f(l,v){var b=V(this),g=y(b),h=s(l,g),C=s(v===void 0?g:v,g),N,x,B;if(a(b)&&(N=b.constructor,t(N)&&(N===u||a(N.prototype))?N=void 0:o(N)&&(N=N[m],N===null&&(N=void 0)),N===u||N===void 0))return i(b,h,C);for(x=new(N===void 0?u:N)(d(C-h,0)),B=0;h1?arguments[1]:void 0)}return s}()})},48968:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(10320),o=n(46771),s=n(24760),y=n(95108),V=n(12605),k=n(40033),S=n(90274),p=n(55528),i=n(50503),c=n(79725),m=n(83141),u=n(44981),d=[],f=a(d.sort),l=a(d.push),v=k(function(){d.sort(void 0)}),b=k(function(){d.sort(null)}),g=p("sort"),h=!k(function(){if(m)return m<70;if(!(i&&i>3)){if(c)return!0;if(u)return u<603;var x="",B,L,w,A;for(B=65;B<76;B++){switch(L=String.fromCharCode(B),B){case 66:case 69:case 70:case 72:w=3;break;case 68:case 71:w=4;break;default:w=2}for(A=0;A<47;A++)d.push({k:L+A,v:w})}for(d.sort(function(T,E){return E.v-T.v}),A=0;AV(w)?1:-1}};e({target:"Array",proto:!0,forced:C},{sort:function(){function x(B){B!==void 0&&t(B);var L=o(this);if(h)return B===void 0?f(L):f(L,B);var w=[],A=s(L),T,E;for(E=0;Eb-N+C;B--)p(v,B-1)}else if(C>N)for(B=b-N;B>g;B--)L=B+N-1,w=B+C-1,L in v?v[w]=v[L]:p(v,w);for(B=0;B9490626562425156e-8?o(p)+y:a(p-1+s(p-1)*s(p+1))}return k}()})},59660:function(I,r,n){"use strict";var e=n(63964),a=Math.asinh,t=Math.log,o=Math.sqrt;function s(V){var k=+V;return!isFinite(k)||k===0?k:k<0?-s(-k):t(k+o(k*k+1))}var y=!(a&&1/a(0)>0);e({target:"Math",stat:!0,forced:y},{asinh:s})},15383:function(I,r,n){"use strict";var e=n(63964),a=Math.atanh,t=Math.log,o=!(a&&1/a(-0)<0);e({target:"Math",stat:!0,forced:o},{atanh:function(){function s(y){var V=+y;return V===0?V:t((1+V)/(1-V))/2}return s}()})},92866:function(I,r,n){"use strict";var e=n(63964),a=n(22172),t=Math.abs,o=Math.pow;e({target:"Math",stat:!0},{cbrt:function(){function s(y){var V=+y;return a(V)*o(t(V),.3333333333333333)}return s}()})},86107:function(I,r,n){"use strict";var e=n(63964),a=Math.floor,t=Math.log,o=Math.LOG2E;e({target:"Math",stat:!0},{clz32:function(){function s(y){var V=y>>>0;return V?31-a(t(V+.5)*o):32}return s}()})},29248:function(I,r,n){"use strict";var e=n(63964),a=n(82040),t=Math.cosh,o=Math.abs,s=Math.E,y=!t||t(710)===1/0;e({target:"Math",stat:!0,forced:y},{cosh:function(){function V(k){var S=a(o(k)-1)+1;return(S+1/(S*s*s))*(s/2)}return V}()})},52540:function(I,r,n){"use strict";var e=n(63964),a=n(82040);e({target:"Math",stat:!0,forced:a!==Math.expm1},{expm1:a})},79007:function(I,r,n){"use strict";var e=n(63964),a=n(95867);e({target:"Math",stat:!0},{fround:a})},77199:function(I,r,n){"use strict";var e=n(63964),a=Math.hypot,t=Math.abs,o=Math.sqrt,s=!!a&&a(1/0,NaN)!==1/0;e({target:"Math",stat:!0,arity:2,forced:s},{hypot:function(){function y(V,k){for(var S=0,p=0,i=arguments.length,c=0,m,u;p0?(u=m/c,S+=u*u):S+=m;return c===1/0?1/0:c*o(S)}return y}()})},6522:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=Math.imul,o=a(function(){return t(4294967295,5)!==-5||t.length!==2});e({target:"Math",stat:!0,forced:o},{imul:function(){function s(y,V){var k=65535,S=+y,p=+V,i=k&S,c=k&p;return 0|i*c+((k&S>>>16)*c+i*(k&p>>>16)<<16>>>0)}return s}()})},95542:function(I,r,n){"use strict";var e=n(63964),a=n(75002);e({target:"Math",stat:!0},{log10:a})},2966:function(I,r,n){"use strict";var e=n(63964),a=n(90874);e({target:"Math",stat:!0},{log1p:a})},20997:function(I,r,n){"use strict";var e=n(63964),a=Math.log,t=Math.LN2;e({target:"Math",stat:!0},{log2:function(){function o(s){return a(s)/t}return o}()})},57400:function(I,r,n){"use strict";var e=n(63964),a=n(22172);e({target:"Math",stat:!0},{sign:a})},45571:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(82040),o=Math.abs,s=Math.exp,y=Math.E,V=a(function(){return Math.sinh(-2e-17)!==-2e-17});e({target:"Math",stat:!0,forced:V},{sinh:function(){function k(S){var p=+S;return o(p)<1?(t(p)-t(-p))/2:(s(p-1)-s(-p-1))*(y/2)}return k}()})},54800:function(I,r,n){"use strict";var e=n(63964),a=n(82040),t=Math.exp;e({target:"Math",stat:!0},{tanh:function(){function o(s){var y=+s,V=a(y),k=a(-y);return V===1/0?1:k===1/0?-1:(V-k)/(t(y)+t(-y))}return o}()})},15709:function(I,r,n){"use strict";var e=n(84925);e(Math,"Math",!0)},76059:function(I,r,n){"use strict";var e=n(63964),a=n(21119);e({target:"Math",stat:!0},{trunc:a})},96614:function(I,r,n){"use strict";var e=n(63964),a=n(4493),t=n(58310),o=n(16210),s=n(61765),y=n(67250),V=n(41314),k=n(45299),S=n(5781),p=n(21287),i=n(71399),c=n(24843),m=n(40033),u=n(37310).f,d=n(27193).f,f=n(74595).f,l=n(46438),v=n(92648).trim,b="Number",g=o[b],h=s[b],C=g.prototype,N=o.TypeError,x=y("".slice),B=y("".charCodeAt),L=function(R){var F=c(R,"number");return typeof F=="bigint"?F:w(F)},w=function(R){var F=c(R,"number"),j,W,H,z,Y,G,ne,Q;if(i(F))throw new N("Cannot convert a Symbol value to a number");if(typeof F=="string"&&F.length>2){if(F=v(F),j=B(F,0),j===43||j===45){if(W=B(F,2),W===88||W===120)return NaN}else if(j===48){switch(B(F,1)){case 66:case 98:H=2,z=49;break;case 79:case 111:H=8,z=55;break;default:return+F}for(Y=x(F,2),G=Y.length,ne=0;nez)return NaN;return parseInt(Y,H)}}return+F},A=V(b,!g(" 0o1")||!g("0b1")||g("+0x1")),T=function(R){return p(C,R)&&m(function(){l(R)})},E=function(){function P(R){var F=arguments.length<1?0:g(L(R));return T(this)?S(Object(F),this,E):F}return P}();E.prototype=C,A&&!a&&(C.constructor=E),e({global:!0,constructor:!0,wrap:!0,forced:A},{Number:E});var O=function(R,F){for(var j=t?u(F):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),W=0,H;j.length>W;W++)k(F,H=j[W])&&!k(R,H)&&f(R,H,d(F,H))};a&&h&&O(s[b],h),(A||a)&&O(s[b],g)},324:function(I,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},90426:function(I,r,n){"use strict";var e=n(63964),a=n(3294);e({target:"Number",stat:!0},{isFinite:a})},95443:function(I,r,n){"use strict";var e=n(63964),a=n(5841);e({target:"Number",stat:!0},{isInteger:a})},87968:function(I,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0},{isNaN:function(){function a(t){return t!==t}return a}()})},55007:function(I,r,n){"use strict";var e=n(63964),a=n(5841),t=Math.abs;e({target:"Number",stat:!0},{isSafeInteger:function(){function o(s){return a(s)&&t(s)<=9007199254740991}return o}()})},55323:function(I,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},13521:function(I,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},5006:function(I,r,n){"use strict";var e=n(63964),a=n(28506);e({target:"Number",stat:!0,forced:Number.parseFloat!==a},{parseFloat:a})},99009:function(I,r,n){"use strict";var e=n(63964),a=n(13693);e({target:"Number",stat:!0,forced:Number.parseInt!==a},{parseInt:a})},85770:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(61365),o=n(46438),s=n(62443),y=n(40033),V=RangeError,k=String,S=Math.floor,p=a(s),i=a("".slice),c=a(1 .toFixed),m=function(g,h,C){return h===0?C:h%2===1?m(g,h-1,C*g):m(g*g,h/2,C)},u=function(g){for(var h=0,C=g;C>=4096;)h+=12,C/=4096;for(;C>=2;)h+=1,C/=2;return h},d=function(g,h,C){for(var N=-1,x=C;++N<6;)x+=h*g[N],g[N]=x%1e7,x=S(x/1e7)},f=function(g,h){for(var C=6,N=0;--C>=0;)N+=g[C],g[C]=S(N/h),N=N%h*1e7},l=function(g){for(var h=6,C="";--h>=0;)if(C!==""||h===0||g[h]!==0){var N=k(g[h]);C=C===""?N:C+p("0",7-N.length)+N}return C},v=y(function(){return c(8e-5,3)!=="0.000"||c(.9,0)!=="1"||c(1.255,2)!=="1.25"||c(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!y(function(){c({})});e({target:"Number",proto:!0,forced:v},{toFixed:function(){function b(g){var h=o(this),C=t(g),N=[0,0,0,0,0,0],x="",B="0",L,w,A,T;if(C<0||C>20)throw new V("Incorrect fraction digits");if(h!==h)return"NaN";if(h<=-1e21||h>=1e21)return k(h);if(h<0&&(x="-",h=-h),h>1e-21)if(L=u(h*m(2,69,1))-69,w=L<0?h*m(2,-L,1):h/m(2,L,1),w*=4503599627370496,L=52-L,L>0){for(d(N,0,w),A=C;A>=7;)d(N,1e7,0),A-=7;for(d(N,m(10,A,1),0),A=L-1;A>=23;)f(N,8388608),A-=23;f(N,1<0?(T=B.length,B=x+(T<=C?"0."+p("0",C-T)+B:i(B,0,T-C)+"."+i(B,T-C))):B=x+B,B}return b}()})},23532:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(40033),o=n(46438),s=a(1 .toPrecision),y=t(function(){return s(1,void 0)!=="1"})||!t(function(){s({})});e({target:"Number",proto:!0,forced:y},{toPrecision:function(){function V(k){return k===void 0?s(o(this)):s(o(this),k)}return V}()})},87119:function(I,r,n){"use strict";var e=n(63964),a=n(41143);e({target:"Object",stat:!0,arity:2,forced:Object.assign!==a},{assign:a})},78618:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(80674);e({target:"Object",stat:!0,sham:!a},{create:t})},27129:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(10320),s=n(46771),y=n(74595);a&&e({target:"Object",proto:!0,forced:t},{__defineGetter__:function(){function V(k,S){y.f(s(this),k,{get:o(S),enumerable:!0,configurable:!0})}return V}()})},31943:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(24239).f;e({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!a},{defineProperties:t})},3579:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(74595).f;e({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!a},{defineProperty:t})},97397:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(10320),s=n(46771),y=n(74595);a&&e({target:"Object",proto:!0,forced:t},{__defineSetter__:function(){function V(k,S){y.f(s(this),k,{set:o(S),enumerable:!0,configurable:!0})}return V}()})},85028:function(I,r,n){"use strict";var e=n(63964),a=n(70915).entries;e({target:"Object",stat:!0},{entries:function(){function t(o){return a(o)}return t}()})},8225:function(I,r,n){"use strict";var e=n(63964),a=n(50730),t=n(40033),o=n(77568),s=n(81969).onFreeze,y=Object.freeze,V=t(function(){y(1)});e({target:"Object",stat:!0,forced:V,sham:!a},{freeze:function(){function k(S){return y&&o(S)?y(s(S)):S}return k}()})},43331:function(I,r,n){"use strict";var e=n(63964),a=n(49450),t=n(60102);e({target:"Object",stat:!0},{fromEntries:function(){function o(s){var y={};return a(s,function(V,k){t(y,V,k)},{AS_ENTRIES:!0}),y}return o}()})},62289:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(57591),o=n(27193).f,s=n(58310),y=!s||a(function(){o(1)});e({target:"Object",stat:!0,forced:y,sham:!s},{getOwnPropertyDescriptor:function(){function V(k,S){return o(t(k),S)}return V}()})},56196:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(97921),o=n(57591),s=n(27193),y=n(60102);e({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(){function V(k){for(var S=o(k),p=s.f,i=t(S),c={},m=0,u,d;i.length>m;)d=p(S,u=i[m++]),d!==void 0&&y(c,u,d);return c}return V}()})},2950:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(81644).f,o=a(function(){return!Object.getOwnPropertyNames(1)});e({target:"Object",stat:!0,forced:o},{getOwnPropertyNames:t})},28603:function(I,r,n){"use strict";var e=n(63964),a=n(52357),t=n(40033),o=n(89235),s=n(46771),y=!a||t(function(){o.f(1)});e({target:"Object",stat:!0,forced:y},{getOwnPropertySymbols:function(){function V(k){var S=o.f;return S?S(s(k)):[]}return V}()})},44205:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(46771),o=n(36917),s=n(9225),y=a(function(){o(1)});e({target:"Object",stat:!0,forced:y,sham:!s},{getPrototypeOf:function(){function V(k){return o(t(k))}return V}()})},83186:function(I,r,n){"use strict";var e=n(63964),a=n(81834);e({target:"Object",stat:!0,forced:Object.isExtensible!==a},{isExtensible:a})},76065:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(77568),o=n(7462),s=n(3782),y=Object.isFrozen,V=s||a(function(){y(1)});e({target:"Object",stat:!0,forced:V},{isFrozen:function(){function k(S){return!t(S)||s&&o(S)==="ArrayBuffer"?!0:y?y(S):!1}return k}()})},13411:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(77568),o=n(7462),s=n(3782),y=Object.isSealed,V=s||a(function(){y(1)});e({target:"Object",stat:!0,forced:V},{isSealed:function(){function k(S){return!t(S)||s&&o(S)==="ArrayBuffer"?!0:y?y(S):!1}return k}()})},76882:function(I,r,n){"use strict";var e=n(63964),a=n(5700);e({target:"Object",stat:!0},{is:a})},26634:function(I,r,n){"use strict";var e=n(63964),a=n(46771),t=n(18450),o=n(40033),s=o(function(){t(1)});e({target:"Object",stat:!0,forced:s},{keys:function(){function y(V){return t(a(V))}return y}()})},53118:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(46771),s=n(767),y=n(36917),V=n(27193).f;a&&e({target:"Object",proto:!0,forced:t},{__lookupGetter__:function(){function k(S){var p=o(this),i=s(S),c;do if(c=V(p,i))return c.get;while(p=y(p))}return k}()})},42514:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(46771),s=n(767),y=n(36917),V=n(27193).f;a&&e({target:"Object",proto:!0,forced:t},{__lookupSetter__:function(){function k(S){var p=o(this),i=s(S),c;do if(c=V(p,i))return c.set;while(p=y(p))}return k}()})},84353:function(I,r,n){"use strict";var e=n(63964),a=n(77568),t=n(81969).onFreeze,o=n(50730),s=n(40033),y=Object.preventExtensions,V=s(function(){y(1)});e({target:"Object",stat:!0,forced:V,sham:!o},{preventExtensions:function(){function k(S){return y&&a(S)?y(t(S)):S}return k}()})},62987:function(I,r,n){"use strict";var e=n(63964),a=n(77568),t=n(81969).onFreeze,o=n(50730),s=n(40033),y=Object.seal,V=s(function(){y(1)});e({target:"Object",stat:!0,forced:V,sham:!o},{seal:function(){function k(S){return y&&a(S)?y(t(S)):S}return k}()})},48993:function(I,r,n){"use strict";var e=n(63964),a=n(76649);e({target:"Object",stat:!0},{setPrototypeOf:a})},52917:function(I,r,n){"use strict";var e=n(2650),a=n(55938),t=n(2509);e||a(Object.prototype,"toString",t,{unsafe:!0})},4972:function(I,r,n){"use strict";var e=n(63964),a=n(70915).values;e({target:"Object",stat:!0},{values:function(){function t(o){return a(o)}return t}()})},28913:function(I,r,n){"use strict";var e=n(63964),a=n(28506);e({global:!0,forced:parseFloat!==a},{parseFloat:a})},36382:function(I,r,n){"use strict";var e=n(63964),a=n(13693);e({global:!0,forced:parseInt!==a},{parseInt:a})},48865:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(10320),o=n(81837),s=n(10729),y=n(49450),V=n(48199);e({target:"Promise",stat:!0,forced:V},{all:function(){function k(S){var p=this,i=o.f(p),c=i.resolve,m=i.reject,u=s(function(){var d=t(p.resolve),f=[],l=0,v=1;y(S,function(b){var g=l++,h=!1;v++,a(d,p,b).then(function(C){h||(h=!0,f[g]=C,--v||c(f))},m)}),--v||c(f)});return u.error&&m(u.value),i.promise}return k}()})},70641:function(I,r,n){"use strict";var e=n(63964),a=n(4493),t=n(74854).CONSTRUCTOR,o=n(67512),s=n(4009),y=n(55747),V=n(55938),k=o&&o.prototype;if(e({target:"Promise",proto:!0,forced:t,real:!0},{catch:function(){function p(i){return this.then(void 0,i)}return p}()}),!a&&y(o)){var S=s("Promise").prototype.catch;k.catch!==S&&V(k,"catch",S,{unsafe:!0})}},75946:function(I,r,n){"use strict";var e=n(63964),a=n(4493),t=n(81663),o=n(16210),s=n(91495),y=n(55938),V=n(76649),k=n(84925),S=n(58491),p=n(10320),i=n(55747),c=n(77568),m=n(60077),u=n(28987),d=n(60375).set,f=n(37713),l=n(72259),v=n(10729),b=n(9547),g=n(5419),h=n(67512),C=n(74854),N=n(81837),x="Promise",B=C.CONSTRUCTOR,L=C.REJECTION_EVENT,w=C.SUBCLASSING,A=g.getterFor(x),T=g.set,E=h&&h.prototype,O=h,P=E,R=o.TypeError,F=o.document,j=o.process,W=N.f,H=W,z=!!(F&&F.createEvent&&o.dispatchEvent),Y="unhandledrejection",G="rejectionhandled",ne=0,Q=1,he=2,Ve=1,Ne=2,Be,Le,Ae,fe,Z=function(ue){var ie;return c(ue)&&i(ie=ue.then)?ie:!1},J=function(ue,ie){var ge=ie.value,Ce=ie.state===Q,Me=Ce?ue.ok:ue.fail,De=ue.resolve,ke=ue.reject,pe=ue.domain,se,xe,_;try{Me?(Ce||(ie.rejection===Ne&&me(ie),ie.rejection=Ve),Me===!0?se=ge:(pe&&pe.enter(),se=Me(ge),pe&&(pe.exit(),_=!0)),se===ue.promise?ke(new R("Promise-chain cycle")):(xe=Z(se))?s(xe,se,De,ke):De(se)):ke(ge)}catch(oe){pe&&!_&&pe.exit(),ke(oe)}},te=function(ue,ie){ue.notified||(ue.notified=!0,f(function(){for(var ge=ue.reactions,Ce;Ce=ge.get();)J(Ce,ue);ue.notified=!1,ie&&!ue.rejection&&le(ue)}))},ee=function(ue,ie,ge){var Ce,Me;z?(Ce=F.createEvent("Event"),Ce.promise=ie,Ce.reason=ge,Ce.initEvent(ue,!1,!0),o.dispatchEvent(Ce)):Ce={promise:ie,reason:ge},!L&&(Me=o["on"+ue])?Me(Ce):ue===Y&&l("Unhandled promise rejection",ge)},le=function(ue){s(d,o,function(){var ie=ue.facade,ge=ue.value,Ce=ye(ue),Me;if(Ce&&(Me=v(function(){t?j.emit("unhandledRejection",ge,ie):ee(Y,ie,ge)}),ue.rejection=t||ye(ue)?Ne:Ve,Me.error))throw Me.value})},ye=function(ue){return ue.rejection!==Ve&&!ue.parent},me=function(ue){s(d,o,function(){var ie=ue.facade;t?j.emit("rejectionHandled",ie):ee(G,ie,ue.value)})},Te=function(ue,ie,ge){return function(Ce){ue(ie,Ce,ge)}},M=function(ue,ie,ge){ue.done||(ue.done=!0,ge&&(ue=ge),ue.value=ie,ue.state=he,te(ue,!0))},X=function(ue,ie,ge){if(!ue.done){ue.done=!0,ge&&(ue=ge);try{if(ue.facade===ie)throw new R("Promise can't be resolved itself");var Ce=Z(ie);Ce?f(function(){var Me={done:!1};try{s(Ce,ie,Te(X,Me,ue),Te(M,Me,ue))}catch(De){M(Me,De,ue)}}):(ue.value=ie,ue.state=Q,te(ue,!1))}catch(Me){M({done:!1},Me,ue)}}};if(B&&(O=function(){function ae(ue){m(this,P),p(ue),s(Be,this);var ie=A(this);try{ue(Te(X,ie),Te(M,ie))}catch(ge){M(ie,ge)}}return ae}(),P=O.prototype,Be=function(){function ae(ue){T(this,{type:x,done:!1,notified:!1,parent:!1,reactions:new b,rejection:!1,state:ne,value:null})}return ae}(),Be.prototype=y(P,"then",function(){function ae(ue,ie){var ge=A(this),Ce=W(u(this,O));return ge.parent=!0,Ce.ok=i(ue)?ue:!0,Ce.fail=i(ie)&&ie,Ce.domain=t?j.domain:void 0,ge.state===ne?ge.reactions.add(Ce):f(function(){J(Ce,ge)}),Ce.promise}return ae}()),Le=function(){var ue=new Be,ie=A(ue);this.promise=ue,this.resolve=Te(X,ie),this.reject=Te(M,ie)},N.f=W=function(ue){return ue===O||ue===Ae?new Le(ue):H(ue)},!a&&i(h)&&E!==Object.prototype)){fe=E.then,w||y(E,"then",function(){function ae(ue,ie){var ge=this;return new O(function(Ce,Me){s(fe,ge,Ce,Me)}).then(ue,ie)}return ae}(),{unsafe:!0});try{delete E.constructor}catch(ae){}V&&V(E,P)}e({global:!0,constructor:!0,wrap:!0,forced:B},{Promise:O}),k(O,x,!1,!0),S(x)},69861:function(I,r,n){"use strict";var e=n(63964),a=n(4493),t=n(67512),o=n(40033),s=n(4009),y=n(55747),V=n(28987),k=n(66628),S=n(55938),p=t&&t.prototype,i=!!t&&o(function(){p.finally.call({then:function(){function m(){}return m}()},function(){})});if(e({target:"Promise",proto:!0,real:!0,forced:i},{finally:function(){function m(u){var d=V(this,s("Promise")),f=y(u);return this.then(f?function(l){return k(d,u()).then(function(){return l})}:u,f?function(l){return k(d,u()).then(function(){throw l})}:u)}return m}()}),!a&&y(t)){var c=s("Promise").prototype.finally;p.finally!==c&&S(p,"finally",c,{unsafe:!0})}},53092:function(I,r,n){"use strict";n(75946),n(48865),n(70641),n(16937),n(41719),n(81702)},16937:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(10320),o=n(81837),s=n(10729),y=n(49450),V=n(48199);e({target:"Promise",stat:!0,forced:V},{race:function(){function k(S){var p=this,i=o.f(p),c=i.reject,m=s(function(){var u=t(p.resolve);y(S,function(d){a(u,p,d).then(i.resolve,c)})});return m.error&&c(m.value),i.promise}return k}()})},41719:function(I,r,n){"use strict";var e=n(63964),a=n(81837),t=n(74854).CONSTRUCTOR;e({target:"Promise",stat:!0,forced:t},{reject:function(){function o(s){var y=a.f(this),V=y.reject;return V(s),y.promise}return o}()})},81702:function(I,r,n){"use strict";var e=n(63964),a=n(4009),t=n(4493),o=n(67512),s=n(74854).CONSTRUCTOR,y=n(66628),V=a("Promise"),k=t&&!s;e({target:"Promise",stat:!0,forced:t||s},{resolve:function(){function S(p){return y(k&&this===V?o:this,p)}return S}()})},29674:function(I,r,n){"use strict";var e=n(63964),a=n(61267),t=n(10320),o=n(30365),s=n(40033),y=!s(function(){Reflect.apply(function(){})});e({target:"Reflect",stat:!0,forced:y},{apply:function(){function V(k,S,p){return a(t(k),S,o(p))}return V}()})},81543:function(I,r,n){"use strict";var e=n(63964),a=n(4009),t=n(61267),o=n(66284),s=n(32606),y=n(30365),V=n(77568),k=n(80674),S=n(40033),p=a("Reflect","construct"),i=Object.prototype,c=[].push,m=S(function(){function f(){}return!(p(function(){},[],f)instanceof f)}),u=!S(function(){p(function(){})}),d=m||u;e({target:"Reflect",stat:!0,forced:d,sham:d},{construct:function(){function f(l,v){s(l),y(v);var b=arguments.length<3?l:s(arguments[2]);if(u&&!m)return p(l,v,b);if(l===b){switch(v.length){case 0:return new l;case 1:return new l(v[0]);case 2:return new l(v[0],v[1]);case 3:return new l(v[0],v[1],v[2]);case 4:return new l(v[0],v[1],v[2],v[3])}var g=[null];return t(c,g,v),new(t(o,l,g))}var h=b.prototype,C=k(V(h)?h:i),N=t(l,C,v);return V(N)?N:C}return f}()})},9373:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(30365),o=n(767),s=n(74595),y=n(40033),V=y(function(){Reflect.defineProperty(s.f({},1,{value:1}),1,{value:2})});e({target:"Reflect",stat:!0,forced:V,sham:!a},{defineProperty:function(){function k(S,p,i){t(S);var c=o(p);t(i);try{return s.f(S,c,i),!0}catch(m){return!1}}return k}()})},45093:function(I,r,n){"use strict";var e=n(63964),a=n(30365),t=n(27193).f;e({target:"Reflect",stat:!0},{deleteProperty:function(){function o(s,y){var V=t(a(s),y);return V&&!V.configurable?!1:delete s[y]}return o}()})},5815:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(30365),o=n(27193);e({target:"Reflect",stat:!0,sham:!a},{getOwnPropertyDescriptor:function(){function s(y,V){return o.f(t(y),V)}return s}()})},88527:function(I,r,n){"use strict";var e=n(63964),a=n(30365),t=n(36917),o=n(9225);e({target:"Reflect",stat:!0,sham:!o},{getPrototypeOf:function(){function s(y){return t(a(y))}return s}()})},63074:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(77568),o=n(30365),s=n(98373),y=n(27193),V=n(36917);function k(S,p){var i=arguments.length<3?S:arguments[2],c,m;if(o(S)===i)return S[p];if(c=y.f(S,p),c)return s(c)?c.value:c.get===void 0?void 0:a(c.get,i);if(t(m=V(S)))return k(m,p,i)}e({target:"Reflect",stat:!0},{get:k})},66390:function(I,r,n){"use strict";var e=n(63964);e({target:"Reflect",stat:!0},{has:function(){function a(t,o){return o in t}return a}()})},7784:function(I,r,n){"use strict";var e=n(63964),a=n(30365),t=n(81834);e({target:"Reflect",stat:!0},{isExtensible:function(){function o(s){return a(s),t(s)}return o}()})},50551:function(I,r,n){"use strict";var e=n(63964),a=n(97921);e({target:"Reflect",stat:!0},{ownKeys:a})},76483:function(I,r,n){"use strict";var e=n(63964),a=n(4009),t=n(30365),o=n(50730);e({target:"Reflect",stat:!0,sham:!o},{preventExtensions:function(){function s(y){t(y);try{var V=a("Object","preventExtensions");return V&&V(y),!0}catch(k){return!1}}return s}()})},63915:function(I,r,n){"use strict";var e=n(63964),a=n(30365),t=n(35908),o=n(76649);o&&e({target:"Reflect",stat:!0},{setPrototypeOf:function(){function s(y,V){a(y),t(V);try{return o(y,V),!0}catch(k){return!1}}return s}()})},92046:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(30365),o=n(77568),s=n(98373),y=n(40033),V=n(74595),k=n(27193),S=n(36917),p=n(87458);function i(m,u,d){var f=arguments.length<4?m:arguments[3],l=k.f(t(m),u),v,b,g;if(!l){if(o(b=S(m)))return i(b,u,d,f);l=p(0)}if(s(l)){if(l.writable===!1||!o(f))return!1;if(v=k.f(f,u)){if(v.get||v.set||v.writable===!1)return!1;v.value=d,V.f(f,u,v)}else V.f(f,u,p(0,d))}else{if(g=l.set,g===void 0)return!1;a(g,f,d)}return!0}var c=y(function(){var m=function(){},u=V.f(new m,"a",{configurable:!0});return Reflect.set(m.prototype,"a",1,u)!==!1});e({target:"Reflect",stat:!0,forced:c},{set:i})},51454:function(I,r,n){"use strict";var e=n(58310),a=n(16210),t=n(67250),o=n(41314),s=n(5781),y=n(37909),V=n(80674),k=n(37310).f,S=n(21287),p=n(72586),i=n(12605),c=n(73392),m=n(62115),u=n(34550),d=n(55938),f=n(40033),l=n(45299),v=n(5419).enforce,b=n(58491),g=n(24697),h=n(39173),C=n(35688),N=g("match"),x=a.RegExp,B=x.prototype,L=a.SyntaxError,w=t(B.exec),A=t("".charAt),T=t("".replace),E=t("".indexOf),O=t("".slice),P=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,R=/a/g,F=/a/g,j=new x(R)!==R,W=m.MISSED_STICKY,H=m.UNSUPPORTED_Y,z=e&&(!j||W||h||C||f(function(){return F[N]=!1,x(R)!==R||x(F)===F||String(x(R,"i"))!=="/a/i"})),Y=function(Ne){for(var Be=Ne.length,Le=0,Ae="",fe=!1,Z;Le<=Be;Le++){if(Z=A(Ne,Le),Z==="\\"){Ae+=Z+A(Ne,++Le);continue}!fe&&Z==="."?Ae+="[\\s\\S]":(Z==="["?fe=!0:Z==="]"&&(fe=!1),Ae+=Z)}return Ae},G=function(Ne){for(var Be=Ne.length,Le=0,Ae="",fe=[],Z=V(null),J=!1,te=!1,ee=0,le="",ye;Le<=Be;Le++){if(ye=A(Ne,Le),ye==="\\")ye+=A(Ne,++Le);else if(ye==="]")J=!1;else if(!J)switch(!0){case ye==="[":J=!0;break;case ye==="(":if(Ae+=ye,O(Ne,Le+1,Le+3)==="?:")continue;w(P,O(Ne,Le+1))&&(Le+=2,te=!0),ee++;continue;case(ye===">"&&te):if(le===""||l(Z,le))throw new L("Invalid capture group name");Z[le]=!0,fe[fe.length]=[le,ee],te=!1,le="";continue}te?le+=ye:Ae+=ye}return[Ae,fe]};if(o("RegExp",z)){for(var ne=function(){function Ve(Ne,Be){var Le=S(B,this),Ae=p(Ne),fe=Be===void 0,Z=[],J=Ne,te,ee,le,ye,me,Te;if(!Le&&Ae&&fe&&Ne.constructor===ne)return Ne;if((Ae||S(B,Ne))&&(Ne=Ne.source,fe&&(Be=c(J))),Ne=Ne===void 0?"":i(Ne),Be=Be===void 0?"":i(Be),J=Ne,h&&"dotAll"in R&&(ee=!!Be&&E(Be,"s")>-1,ee&&(Be=T(Be,/s/g,""))),te=Be,W&&"sticky"in R&&(le=!!Be&&E(Be,"y")>-1,le&&H&&(Be=T(Be,/y/g,""))),C&&(ye=G(Ne),Ne=ye[0],Z=ye[1]),me=s(x(Ne,Be),Le?this:B,ne),(ee||le||Z.length)&&(Te=v(me),ee&&(Te.dotAll=!0,Te.raw=ne(Y(Ne),te)),le&&(Te.sticky=!0),Z.length&&(Te.groups=Z)),Ne!==J)try{y(me,"source",J===""?"(?:)":J)}catch(M){}return me}return Ve}(),Q=k(x),he=0;Q.length>he;)u(ne,x,Q[he++]);B.constructor=ne,ne.prototype=B,d(a,"RegExp",ne,{constructor:!0})}b("RegExp")},79669:function(I,r,n){"use strict";var e=n(63964),a=n(14489);e({target:"RegExp",proto:!0,forced:/./.exec!==a},{exec:a})},23057:function(I,r,n){"use strict";var e=n(16210),a=n(58310),t=n(73936),o=n(70901),s=n(40033),y=e.RegExp,V=y.prototype,k=a&&s(function(){var S=!0;try{y(".","d")}catch(l){S=!1}var p={},i="",c=S?"dgimsy":"gimsy",m=function(v,b){Object.defineProperty(p,v,{get:function(){function g(){return i+=b,!0}return g}()})},u={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};S&&(u.hasIndices="d");for(var d in u)m(d,u[d]);var f=Object.getOwnPropertyDescriptor(V,"flags").get.call(p);return f!==c||i!==c});k&&t(V,"flags",{configurable:!0,get:o})},57983:function(I,r,n){"use strict";var e=n(70520).PROPER,a=n(55938),t=n(30365),o=n(12605),s=n(40033),y=n(73392),V="toString",k=RegExp.prototype,S=k[V],p=s(function(){return S.call({source:"a",flags:"b"})!=="/a/b"}),i=e&&S.name!==V;(p||i)&&a(k,V,function(){function c(){var m=t(this),u=o(m.source),d=o(y(m));return"/"+u+"/"+d}return c}(),{unsafe:!0})},1963:function(I,r,n){"use strict";var e=n(45150),a=n(41028);e("Set",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},17953:function(I,r,n){"use strict";n(1963)},95309:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("anchor")},{anchor:function(){function o(s){return a(this,"a","name",s)}return o}()})},82256:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("big")},{big:function(){function o(){return a(this,"big","","")}return o}()})},49484:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("blink")},{blink:function(){function o(){return a(this,"blink","","")}return o}()})},38931:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("bold")},{bold:function(){function o(){return a(this,"b","","")}return o}()})},30442:function(I,r,n){"use strict";var e=n(63964),a=n(50233).codeAt;e({target:"String",proto:!0},{codePointAt:function(){function t(o){return a(this,o)}return t}()})},6403:function(I,r,n){"use strict";var e=n(63964),a=n(71138),t=n(27193).f,o=n(10188),s=n(12605),y=n(86213),V=n(16952),k=n(45490),S=n(4493),p=a("".slice),i=Math.min,c=k("endsWith"),m=!S&&!c&&!!function(){var u=t(String.prototype,"endsWith");return u&&!u.writable}();e({target:"String",proto:!0,forced:!m&&!c},{endsWith:function(){function u(d){var f=s(V(this));y(d);var l=arguments.length>1?arguments[1]:void 0,v=f.length,b=l===void 0?v:i(o(l),v),g=s(d);return p(f,b-g.length,b)===g}return u}()})},39308:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fixed")},{fixed:function(){function o(){return a(this,"tt","","")}return o}()})},91550:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fontcolor")},{fontcolor:function(){function o(s){return a(this,"font","color",s)}return o}()})},75008:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fontsize")},{fontsize:function(){function o(s){return a(this,"font","size",s)}return o}()})},9867:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(13912),o=RangeError,s=String.fromCharCode,y=String.fromCodePoint,V=a([].join),k=!!y&&y.length!==1;e({target:"String",stat:!0,arity:1,forced:k},{fromCodePoint:function(){function S(p){for(var i=[],c=arguments.length,m=0,u;c>m;){if(u=+arguments[m++],t(u,1114111)!==u)throw new o(u+" is not a valid code point");i[m]=u<65536?s(u):s(((u-=65536)>>10)+55296,u%1024+56320)}return V(i,"")}return S}()})},43673:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(86213),o=n(16952),s=n(12605),y=n(45490),V=a("".indexOf);e({target:"String",proto:!0,forced:!y("includes")},{includes:function(){function k(S){return!!~V(s(o(this)),s(t(S)),arguments.length>1?arguments[1]:void 0)}return k}()})},56027:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("italics")},{italics:function(){function o(){return a(this,"i","","")}return o}()})},12354:function(I,r,n){"use strict";var e=n(50233).charAt,a=n(12605),t=n(5419),o=n(65574),s=n(5959),y="String Iterator",V=t.set,k=t.getterFor(y);o(String,"String",function(S){V(this,{type:y,string:a(S),index:0})},function(){function S(){var p=k(this),i=p.string,c=p.index,m;return c>=i.length?s(void 0,!0):(m=e(i,c),p.index+=m.length,s(m,!1))}return S}())},50340:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("link")},{link:function(){function o(s){return a(this,"a","href",s)}return o}()})},22515:function(I,r,n){"use strict";var e=n(91495),a=n(79942),t=n(30365),o=n(42871),s=n(10188),y=n(12605),V=n(16952),k=n(78060),S=n(35483),p=n(28340);a("match",function(i,c,m){return[function(){function u(d){var f=V(this),l=o(d)?void 0:k(d,i);return l?e(l,d,f):new RegExp(d)[i](y(f))}return u}(),function(u){var d=t(this),f=y(u),l=m(c,d,f);if(l.done)return l.value;if(!d.global)return p(d,f);var v=d.unicode;d.lastIndex=0;for(var b=[],g=0,h;(h=p(d,f))!==null;){var C=y(h[0]);b[g]=C,C===""&&(d.lastIndex=S(f,s(d.lastIndex),v)),g++}return g===0?null:b}]})},5143:function(I,r,n){"use strict";var e=n(63964),a=n(24051).end,t=n(34125);e({target:"String",proto:!0,forced:t},{padEnd:function(){function o(s){return a(this,s,arguments.length>1?arguments[1]:void 0)}return o}()})},93514:function(I,r,n){"use strict";var e=n(63964),a=n(24051).start,t=n(34125);e({target:"String",proto:!0,forced:t},{padStart:function(){function o(s){return a(this,s,arguments.length>1?arguments[1]:void 0)}return o}()})},5416:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(57591),o=n(46771),s=n(12605),y=n(24760),V=a([].push),k=a([].join);e({target:"String",stat:!0},{raw:function(){function S(p){var i=t(o(p).raw),c=y(i);if(!c)return"";for(var m=arguments.length,u=[],d=0;;){if(V(u,s(i[d++])),d===c)return k(u,"");d")!=="7"});o("replace",function(T,E,O){var P=w?"$":"$0";return[function(){function R(F,j){var W=c(this),H=k(F)?void 0:u(F,v);return H?a(H,F,W,j):a(E,i(W),F,j)}return R}(),function(R,F){var j=y(this),W=i(R);if(typeof F=="string"&&N(F,P)===-1&&N(F,"$<")===-1){var H=O(E,j,W,F);if(H.done)return H.value}var z=V(F);z||(F=i(F));var Y=j.global,G;Y&&(G=j.unicode,j.lastIndex=0);for(var ne=[],Q;Q=f(j,W),!(Q===null||(C(ne,Q),!Y));){var he=i(Q[0]);he===""&&(j.lastIndex=m(W,p(j.lastIndex),G))}for(var Ve="",Ne=0,Be=0;Be=Ne&&(Ve+=x(W,Ne,Ae)+Z,Ne=Ae+Le.length)}return Ve+x(W,Ne)}]},!A||!L||w)},63272:function(I,r,n){"use strict";var e=n(91495),a=n(79942),t=n(30365),o=n(42871),s=n(16952),y=n(5700),V=n(12605),k=n(78060),S=n(28340);a("search",function(p,i,c){return[function(){function m(u){var d=s(this),f=o(u)?void 0:k(u,p);return f?e(f,u,d):new RegExp(u)[p](V(d))}return m}(),function(m){var u=t(this),d=V(m),f=c(i,u,d);if(f.done)return f.value;var l=u.lastIndex;y(l,0)||(u.lastIndex=0);var v=S(u,d);return y(u.lastIndex,l)||(u.lastIndex=l),v===null?-1:v.index}]})},34325:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("small")},{small:function(){function o(){return a(this,"small","","")}return o}()})},39930:function(I,r,n){"use strict";var e=n(91495),a=n(67250),t=n(79942),o=n(30365),s=n(42871),y=n(16952),V=n(28987),k=n(35483),S=n(10188),p=n(12605),i=n(78060),c=n(28340),m=n(62115),u=n(40033),d=m.UNSUPPORTED_Y,f=4294967295,l=Math.min,v=a([].push),b=a("".slice),g=!u(function(){var C=/(?:)/,N=C.exec;C.exec=function(){return N.apply(this,arguments)};var x="ab".split(C);return x.length!==2||x[0]!=="a"||x[1]!=="b"}),h="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;t("split",function(C,N,x){var B="0".split(void 0,0).length?function(L,w){return L===void 0&&w===0?[]:e(N,this,L,w)}:N;return[function(){function L(w,A){var T=y(this),E=s(w)?void 0:i(w,C);return E?e(E,w,T,A):e(B,p(T),w,A)}return L}(),function(L,w){var A=o(this),T=p(L);if(!h){var E=x(B,A,T,w,B!==N);if(E.done)return E.value}var O=V(A,RegExp),P=A.unicode,R=(A.ignoreCase?"i":"")+(A.multiline?"m":"")+(A.unicode?"u":"")+(d?"g":"y"),F=new O(d?"^(?:"+A.source+")":A,R),j=w===void 0?f:w>>>0;if(j===0)return[];if(T.length===0)return c(F,T)===null?[T]:[];for(var W=0,H=0,z=[];H1?arguments[1]:void 0,f.length)),v=s(d);return p(f,l,l+v.length)===v}return u}()})},74498:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("strike")},{strike:function(){function o(){return a(this,"strike","","")}return o}()})},15812:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("sub")},{sub:function(){function o(){return a(this,"sub","","")}return o}()})},57726:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("sup")},{sup:function(){function o(){return a(this,"sup","","")}return o}()})},70604:function(I,r,n){"use strict";n(99159);var e=n(63964),a=n(43476);e({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==a},{trimEnd:a})},85404:function(I,r,n){"use strict";var e=n(63964),a=n(43885);e({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==a},{trimLeft:a})},99159:function(I,r,n){"use strict";var e=n(63964),a=n(43476);e({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==a},{trimRight:a})},34965:function(I,r,n){"use strict";n(85404);var e=n(63964),a=n(43885);e({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==a},{trimStart:a})},8448:function(I,r,n){"use strict";var e=n(63964),a=n(92648).trim,t=n(90012);e({target:"String",proto:!0,forced:t("trim")},{trim:function(){function o(){return a(this)}return o}()})},79250:function(I,r,n){"use strict";var e=n(85889);e("asyncIterator")},49899:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(91495),o=n(67250),s=n(4493),y=n(58310),V=n(52357),k=n(40033),S=n(45299),p=n(21287),i=n(30365),c=n(57591),m=n(767),u=n(12605),d=n(87458),f=n(80674),l=n(18450),v=n(37310),b=n(81644),g=n(89235),h=n(27193),C=n(74595),N=n(24239),x=n(12867),B=n(55938),L=n(73936),w=n(16639),A=n(19417),T=n(79195),E=n(16738),O=n(24697),P=n(55557),R=n(85889),F=n(52360),j=n(84925),W=n(5419),H=n(22603).forEach,z=A("hidden"),Y="Symbol",G="prototype",ne=W.set,Q=W.getterFor(Y),he=Object[G],Ve=a.Symbol,Ne=Ve&&Ve[G],Be=a.RangeError,Le=a.TypeError,Ae=a.QObject,fe=h.f,Z=C.f,J=b.f,te=x.f,ee=o([].push),le=w("symbols"),ye=w("op-symbols"),me=w("wks"),Te=!Ae||!Ae[G]||!Ae[G].findChild,M=function(se,xe,_){var oe=fe(he,xe);oe&&delete he[xe],Z(se,xe,_),oe&&se!==he&&Z(he,xe,oe)},X=y&&k(function(){return f(Z({},"a",{get:function(){function pe(){return Z(this,"a",{value:7}).a}return pe}()})).a!==7})?M:Z,ae=function(se,xe){var _=le[se]=f(Ne);return ne(_,{type:Y,tag:se,description:xe}),y||(_.description=xe),_},ue=function(){function pe(se,xe,_){se===he&&ue(ye,xe,_),i(se);var oe=m(xe);return i(_),S(le,oe)?(_.enumerable?(S(se,z)&&se[z][oe]&&(se[z][oe]=!1),_=f(_,{enumerable:d(0,!1)})):(S(se,z)||Z(se,z,d(1,f(null))),se[z][oe]=!0),X(se,oe,_)):Z(se,oe,_)}return pe}(),ie=function(){function pe(se,xe){i(se);var _=c(xe),oe=l(_).concat(ke(_));return H(oe,function(ve){(!y||t(Ce,_,ve))&&ue(se,ve,_[ve])}),se}return pe}(),ge=function(){function pe(se,xe){return xe===void 0?f(se):ie(f(se),xe)}return pe}(),Ce=function(){function pe(se){var xe=m(se),_=t(te,this,xe);return this===he&&S(le,xe)&&!S(ye,xe)?!1:_||!S(this,xe)||!S(le,xe)||S(this,z)&&this[z][xe]?_:!0}return pe}(),Me=function(){function pe(se,xe){var _=c(se),oe=m(xe);if(!(_===he&&S(le,oe)&&!S(ye,oe))){var ve=fe(_,oe);return ve&&S(le,oe)&&!(S(_,z)&&_[z][oe])&&(ve.enumerable=!0),ve}}return pe}(),De=function(){function pe(se){var xe=J(c(se)),_=[];return H(xe,function(oe){!S(le,oe)&&!S(T,oe)&&ee(_,oe)}),_}return pe}(),ke=function(se){var xe=se===he,_=J(xe?ye:c(se)),oe=[];return H(_,function(ve){S(le,ve)&&(!xe||S(he,ve))&&ee(oe,le[ve])}),oe};V||(Ve=function(){function pe(){if(p(Ne,this))throw new Le("Symbol is not a constructor");var se=!arguments.length||arguments[0]===void 0?void 0:u(arguments[0]),xe=E(se),_=function(){function oe(ve){var Se=this===void 0?a:this;Se===he&&t(_,ye,ve),S(Se,z)&&S(Se[z],xe)&&(Se[z][xe]=!1);var Ie=d(1,ve);try{X(Se,xe,Ie)}catch(Ee){if(!(Ee instanceof Be))throw Ee;M(Se,xe,Ie)}}return oe}();return y&&Te&&X(he,xe,{configurable:!0,set:_}),ae(xe,se)}return pe}(),Ne=Ve[G],B(Ne,"toString",function(){function pe(){return Q(this).tag}return pe}()),B(Ve,"withoutSetter",function(pe){return ae(E(pe),pe)}),x.f=Ce,C.f=ue,N.f=ie,h.f=Me,v.f=b.f=De,g.f=ke,P.f=function(pe){return ae(O(pe),pe)},y&&(L(Ne,"description",{configurable:!0,get:function(){function pe(){return Q(this).description}return pe}()}),s||B(he,"propertyIsEnumerable",Ce,{unsafe:!0}))),e({global:!0,constructor:!0,wrap:!0,forced:!V,sham:!V},{Symbol:Ve}),H(l(me),function(pe){R(pe)}),e({target:Y,stat:!0,forced:!V},{useSetter:function(){function pe(){Te=!0}return pe}(),useSimple:function(){function pe(){Te=!1}return pe}()}),e({target:"Object",stat:!0,forced:!V,sham:!y},{create:ge,defineProperty:ue,defineProperties:ie,getOwnPropertyDescriptor:Me}),e({target:"Object",stat:!0,forced:!V},{getOwnPropertyNames:De}),F(),j(Ve,Y),T[z]=!0},10933:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(16210),o=n(67250),s=n(45299),y=n(55747),V=n(21287),k=n(12605),S=n(73936),p=n(5774),i=t.Symbol,c=i&&i.prototype;if(a&&y(i)&&(!("description"in c)||i().description!==void 0)){var m={},u=function(){function h(){var C=arguments.length<1||arguments[0]===void 0?void 0:k(arguments[0]),N=V(c,this)?new i(C):C===void 0?i():i(C);return C===""&&(m[N]=!0),N}return h}();p(u,i),u.prototype=c,c.constructor=u;var d=String(i("description detection"))==="Symbol(description detection)",f=o(c.valueOf),l=o(c.toString),v=/^Symbol\((.*)\)[^)]+$/,b=o("".replace),g=o("".slice);S(c,"description",{configurable:!0,get:function(){function h(){var C=f(this);if(s(m,C))return"";var N=l(C),x=d?g(N,7,-1):b(N,v,"$1");return x===""?void 0:x}return h}()}),e({global:!0,constructor:!0,forced:!0},{Symbol:u})}},30828:function(I,r,n){"use strict";var e=n(63964),a=n(4009),t=n(45299),o=n(12605),s=n(16639),y=n(66570),V=s("string-to-symbol-registry"),k=s("symbol-to-string-registry");e({target:"Symbol",stat:!0,forced:!y},{for:function(){function S(p){var i=o(p);if(t(V,i))return V[i];var c=a("Symbol")(i);return V[i]=c,k[c]=i,c}return S}()})},53795:function(I,r,n){"use strict";var e=n(85889);e("hasInstance")},87806:function(I,r,n){"use strict";var e=n(85889);e("isConcatSpreadable")},64677:function(I,r,n){"use strict";var e=n(85889);e("iterator")},33313:function(I,r,n){"use strict";n(49899),n(30828),n(6862),n(53008),n(28603)},6862:function(I,r,n){"use strict";var e=n(63964),a=n(45299),t=n(71399),o=n(89393),s=n(16639),y=n(66570),V=s("symbol-to-string-registry");e({target:"Symbol",stat:!0,forced:!y},{keyFor:function(){function k(S){if(!t(S))throw new TypeError(o(S)+" is not a symbol");if(a(V,S))return V[S]}return k}()})},48058:function(I,r,n){"use strict";var e=n(85889);e("match")},51583:function(I,r,n){"use strict";var e=n(85889);e("replace")},82403:function(I,r,n){"use strict";var e=n(85889);e("search")},34265:function(I,r,n){"use strict";var e=n(85889);e("species")},3295:function(I,r,n){"use strict";var e=n(85889);e("split")},1078:function(I,r,n){"use strict";var e=n(85889),a=n(52360);e("toPrimitive"),a()},63207:function(I,r,n){"use strict";var e=n(4009),a=n(85889),t=n(84925);a("toStringTag"),t(e("Symbol"),"Symbol")},80520:function(I,r,n){"use strict";var e=n(85889);e("unscopables")},99872:function(I,r,n){"use strict";var e=n(67250),a=n(4246),t=n(71447),o=e(t),s=a.aTypedArray,y=a.exportTypedArrayMethod;y("copyWithin",function(){function V(k,S){return o(s(this),k,S,arguments.length>2?arguments[2]:void 0)}return V}())},73364:function(I,r,n){"use strict";var e=n(4246),a=n(22603).every,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("every",function(){function s(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return s}())},58166:function(I,r,n){"use strict";var e=n(4246),a=n(88471),t=n(61484),o=n(2281),s=n(91495),y=n(67250),V=n(40033),k=e.aTypedArray,S=e.exportTypedArrayMethod,p=y("".slice),i=V(function(){var c=0;return new Int8Array(2).fill({valueOf:function(){function m(){return c++}return m}()}),c!==1});S("fill",function(){function c(m){var u=arguments.length;k(this);var d=p(o(this),0,3)==="Big"?t(m):+m;return s(a,this,d,u>1?arguments[1]:void 0,u>2?arguments[2]:void 0)}return c}(),i)},23793:function(I,r,n){"use strict";var e=n(4246),a=n(22603).filter,t=n(45399),o=e.aTypedArray,s=e.exportTypedArrayMethod;s("filter",function(){function y(V){var k=a(o(this),V,arguments.length>1?arguments[1]:void 0);return t(this,k)}return y}())},13917:function(I,r,n){"use strict";var e=n(4246),a=n(22603).findIndex,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("findIndex",function(){function s(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return s}())},43820:function(I,r,n){"use strict";var e=n(4246),a=n(22603).find,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("find",function(){function s(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return s}())},80756:function(I,r,n){"use strict";var e=n(80185);e("Float32",function(a){return function(){function t(o,s,y){return a(this,o,s,y)}return t}()})},70567:function(I,r,n){"use strict";var e=n(80185);e("Float64",function(a){return function(){function t(o,s,y){return a(this,o,s,y)}return t}()})},19852:function(I,r,n){"use strict";var e=n(4246),a=n(22603).forEach,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("forEach",function(){function s(y){a(t(this),y,arguments.length>1?arguments[1]:void 0)}return s}())},40379:function(I,r,n){"use strict";var e=n(86563),a=n(4246).exportTypedArrayStaticMethod,t=n(3805);a("from",t,e)},92770:function(I,r,n){"use strict";var e=n(4246),a=n(14211).includes,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("includes",function(){function s(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return s}())},81069:function(I,r,n){"use strict";var e=n(4246),a=n(14211).indexOf,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("indexOf",function(){function s(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return s}())},60037:function(I,r,n){"use strict";var e=n(80185);e("Int16",function(a){return function(){function t(o,s,y){return a(this,o,s,y)}return t}()})},44195:function(I,r,n){"use strict";var e=n(80185);e("Int32",function(a){return function(){function t(o,s,y){return a(this,o,s,y)}return t}()})},66756:function(I,r,n){"use strict";var e=n(80185);e("Int8",function(a){return function(){function t(o,s,y){return a(this,o,s,y)}return t}()})},63689:function(I,r,n){"use strict";var e=n(16210),a=n(40033),t=n(67250),o=n(4246),s=n(34570),y=n(24697),V=y("iterator"),k=e.Uint8Array,S=t(s.values),p=t(s.keys),i=t(s.entries),c=o.aTypedArray,m=o.exportTypedArrayMethod,u=k&&k.prototype,d=!a(function(){u[V].call([1])}),f=!!u&&u.values&&u[V]===u.values&&u.values.name==="values",l=function(){function v(){return S(c(this))}return v}();m("entries",function(){function v(){return i(c(this))}return v}(),d),m("keys",function(){function v(){return p(c(this))}return v}(),d),m("values",l,d||!f,{name:"values"}),m(V,l,d||!f,{name:"values"})},5659:function(I,r,n){"use strict";var e=n(4246),a=n(67250),t=e.aTypedArray,o=e.exportTypedArrayMethod,s=a([].join);o("join",function(){function y(V){return s(t(this),V)}return y}())},25014:function(I,r,n){"use strict";var e=n(4246),a=n(61267),t=n(1325),o=e.aTypedArray,s=e.exportTypedArrayMethod;s("lastIndexOf",function(){function y(V){var k=arguments.length;return a(t,o(this),k>1?[V,arguments[1]]:[V])}return y}())},32189:function(I,r,n){"use strict";var e=n(4246),a=n(22603).map,t=n(31082),o=e.aTypedArray,s=e.exportTypedArrayMethod;s("map",function(){function y(V){return a(o(this),V,arguments.length>1?arguments[1]:void 0,function(k,S){return new(t(k))(S)})}return y}())},23030:function(I,r,n){"use strict";var e=n(4246),a=n(86563),t=e.aTypedArrayConstructor,o=e.exportTypedArrayStaticMethod;o("of",function(){function s(){for(var y=0,V=arguments.length,k=new(t(this))(V);V>y;)k[y]=arguments[y++];return k}return s}(),a)},49110:function(I,r,n){"use strict";var e=n(4246),a=n(56844).right,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("reduceRight",function(){function s(y){var V=arguments.length;return a(t(this),y,V,V>1?arguments[1]:void 0)}return s}())},24309:function(I,r,n){"use strict";var e=n(4246),a=n(56844).left,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("reduce",function(){function s(y){var V=arguments.length;return a(t(this),y,V,V>1?arguments[1]:void 0)}return s}())},56445:function(I,r,n){"use strict";var e=n(4246),a=e.aTypedArray,t=e.exportTypedArrayMethod,o=Math.floor;t("reverse",function(){function s(){for(var y=this,V=a(y).length,k=o(V/2),S=0,p;S1?arguments[1]:void 0,1),b=y(l);if(u)return a(i,this,b,v);var g=this.length,h=o(b),C=0;if(h+v>g)throw new k("Wrong length");for(;Cm;)d[m]=i[m++];return d}return k}(),V)},88739:function(I,r,n){"use strict";var e=n(4246),a=n(22603).some,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("some",function(){function s(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return s}())},60415:function(I,r,n){"use strict";var e=n(16210),a=n(71138),t=n(40033),o=n(10320),s=n(90274),y=n(4246),V=n(50503),k=n(79725),S=n(83141),p=n(44981),i=y.aTypedArray,c=y.exportTypedArrayMethod,m=e.Uint16Array,u=m&&a(m.prototype.sort),d=!!u&&!(t(function(){u(new m(2),null)})&&t(function(){u(new m(2),{})})),f=!!u&&!t(function(){if(S)return S<74;if(V)return V<67;if(k)return!0;if(p)return p<602;var v=new m(516),b=Array(516),g,h;for(g=0;g<516;g++)h=g%4,v[g]=515-g,b[g]=g-2*h+3;for(u(v,function(C,N){return(C/4|0)-(N/4|0)}),g=0;g<516;g++)if(v[g]!==b[g])return!0}),l=function(b){return function(g,h){return b!==void 0?+b(g,h)||0:h!==h?-1:g!==g?1:g===0&&h===0?1/g>0&&1/h<0?1:-1:g>h}};c("sort",function(){function v(b){return b!==void 0&&o(b),f?u(this,b):s(i(this),l(b))}return v}(),!f||d)},72532:function(I,r,n){"use strict";var e=n(4246),a=n(10188),t=n(13912),o=n(31082),s=e.aTypedArray,y=e.exportTypedArrayMethod;y("subarray",function(){function V(k,S){var p=s(this),i=p.length,c=t(k,i),m=o(p);return new m(p.buffer,p.byteOffset+c*p.BYTES_PER_ELEMENT,a((S===void 0?i:t(S,i))-c))}return V}())},62207:function(I,r,n){"use strict";var e=n(16210),a=n(61267),t=n(4246),o=n(40033),s=n(54602),y=e.Int8Array,V=t.aTypedArray,k=t.exportTypedArrayMethod,S=[].toLocaleString,p=!!y&&o(function(){S.call(new y(1))}),i=o(function(){return[1,2].toLocaleString()!==new y([1,2]).toLocaleString()})||!o(function(){y.prototype.toLocaleString.call([1,2])});k("toLocaleString",function(){function c(){return a(S,p?s(V(this)):V(this),s(arguments))}return c}(),i)},906:function(I,r,n){"use strict";var e=n(4246).exportTypedArrayMethod,a=n(40033),t=n(16210),o=n(67250),s=t.Uint8Array,y=s&&s.prototype||{},V=[].toString,k=o([].join);a(function(){V.call({})})&&(V=function(){function p(){return k(this)}return p}());var S=y.toString!==V;e("toString",V,S)},78824:function(I,r,n){"use strict";var e=n(80185);e("Uint16",function(a){return function(){function t(o,s,y){return a(this,o,s,y)}return t}()})},72846:function(I,r,n){"use strict";var e=n(80185);e("Uint32",function(a){return function(){function t(o,s,y){return a(this,o,s,y)}return t}()})},24575:function(I,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,s,y){return a(this,o,s,y)}return t}()})},71968:function(I,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,s,y){return a(this,o,s,y)}return t}()},!0)},80040:function(I,r,n){"use strict";var e=n(50730),a=n(16210),t=n(67250),o=n(30145),s=n(81969),y=n(45150),V=n(39895),k=n(77568),S=n(5419).enforce,p=n(40033),i=n(21820),c=Object,m=Array.isArray,u=c.isExtensible,d=c.isFrozen,f=c.isSealed,l=c.freeze,v=c.seal,b=!a.ActiveXObject&&"ActiveXObject"in a,g,h=function(E){return function(){function O(){return E(this,arguments.length?arguments[0]:void 0)}return O}()},C=y("WeakMap",h,V),N=C.prototype,x=t(N.set),B=function(){return e&&p(function(){var E=l([]);return x(new C,E,1),!d(E)})};if(i)if(b){g=V.getConstructor(h,"WeakMap",!0),s.enable();var L=t(N.delete),w=t(N.has),A=t(N.get);o(N,{delete:function(){function T(E){if(k(E)&&!u(E)){var O=S(this);return O.frozen||(O.frozen=new g),L(this,E)||O.frozen.delete(E)}return L(this,E)}return T}(),has:function(){function T(E){if(k(E)&&!u(E)){var O=S(this);return O.frozen||(O.frozen=new g),w(this,E)||O.frozen.has(E)}return w(this,E)}return T}(),get:function(){function T(E){if(k(E)&&!u(E)){var O=S(this);return O.frozen||(O.frozen=new g),w(this,E)?A(this,E):O.frozen.get(E)}return A(this,E)}return T}(),set:function(){function T(E,O){if(k(E)&&!u(E)){var P=S(this);P.frozen||(P.frozen=new g),w(this,E)?x(this,E,O):P.frozen.set(E,O)}else x(this,E,O);return this}return T}()})}else B()&&o(N,{set:function(){function T(E,O){var P;return m(E)&&(d(E)?P=l:f(E)&&(P=v)),x(this,E,O),P&&P(E),this}return T}()})},90846:function(I,r,n){"use strict";n(80040)},67042:function(I,r,n){"use strict";var e=n(45150),a=n(39895);e("WeakSet",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},40348:function(I,r,n){"use strict";n(67042)},5606:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(60375).clear;e({global:!0,bind:!0,enumerable:!0,forced:a.clearImmediate!==t},{clearImmediate:t})},83006:function(I,r,n){"use strict";n(5606),n(27807)},25764:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(37713),o=n(10320),s=n(24986),y=n(40033),V=n(58310),k=y(function(){return V&&Object.getOwnPropertyDescriptor(a,"queueMicrotask").value.length!==1});e({global:!0,enumerable:!0,dontCallGetSet:!0,forced:k},{queueMicrotask:function(){function S(p){s(arguments.length,1),t(o(p))}return S}()})},27807:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(60375).set,o=n(78362),s=a.setImmediate?o(t,!1):t;e({global:!0,bind:!0,enumerable:!0,forced:a.setImmediate!==s},{setImmediate:s})},45569:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(78362),o=t(a.setInterval,!0);e({global:!0,bind:!0,forced:a.setInterval!==o},{setInterval:o})},5213:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(78362),o=t(a.setTimeout,!0);e({global:!0,bind:!0,forced:a.setTimeout!==o},{setTimeout:o})},69401:function(I,r,n){"use strict";n(45569),n(5213)},7435:function(I){"use strict";/** + */var t=r.BoxWithSampleText=function(){function o(d){return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({},d,{children:[(0,e.createComponentVNode)(2,a.Box,{italic:!0,children:"Jackdaws love my big sphinx of quartz."}),(0,e.createComponentVNode)(2,a.Box,{mt:1,bold:!0,children:"The wide electrification of the southern provinces will give a powerful impetus to the growth of agriculture."})]})))}return o}()},67160:function(){},23542:function(){},30386:function(){},98996:function(){},41639:function(){},50578:function(){},4444:function(){},77870:function(){},23632:function(){},24226:function(){},39108:function(){},21039:function(){},51862:function(){},56856:function(){},63489:function(){},1965:function(){},1272:function(){},74757:function(){},11714:function(){},73492:function(){},49641:function(){},17570:function(){},61858:function(){},73358:function(){},32882:function(){},70752:function(I,r,n){var e={"./pai_advsecrecords.js":96572,"./pai_atmosphere.js":80818,"./pai_bioscan.js":23903,"./pai_camera_bug.js":79592,"./pai_directives.js":64988,"./pai_doorjack.js":13813,"./pai_encoder.js":43816,"./pai_gps_module.js":88895,"./pai_main_menu.js":66025,"./pai_manifest.js":2983,"./pai_medrecords.js":40758,"./pai_messenger.js":98599,"./pai_radio.js":50775,"./pai_sec_chem.js":19873,"./pai_secrecords.js":48623,"./pai_signaler.js":47297};function a(o){var d=t(o);return n(d)}function t(o){if(!n.o(e,o)){var d=new Error("Cannot find module '"+o+"'");throw d.code="MODULE_NOT_FOUND",d}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,I.exports=a,a.id=70752},59395:function(I,r,n){var e={"./pda_atmos_scan.js":78532,"./pda_janitor.js":40253,"./pda_main_menu.js":58293,"./pda_manifest.js":58059,"./pda_medical.js":18147,"./pda_messenger.js":77595,"./pda_mule.js":24635,"./pda_notes.js":97085,"./pda_power.js":57513,"./pda_secbot.js":99808,"./pda_security.js":77168,"./pda_signaler.js":21773,"./pda_status_display.js":81857,"./pda_supplyrecords.js":70287};function a(o){var d=t(o);return n(d)}function t(o){if(!n.o(e,o)){var d=new Error("Cannot find module '"+o+"'");throw d.code="MODULE_NOT_FOUND",d}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,I.exports=a,a.id=59395},32054:function(I,r,n){var e={"./AICard":1090,"./AICard.js":1090,"./AIFixer":39454,"./AIFixer.js":39454,"./APC":88422,"./APC.js":88422,"./ATM":99660,"./ATM.js":99660,"./AccountsUplinkTerminal":86423,"./AccountsUplinkTerminal.js":86423,"./AgentCard":79571,"./AgentCard.js":79571,"./AiAirlock":56793,"./AiAirlock.js":56793,"./AirAlarm":72475,"./AirAlarm.js":72475,"./AirlockAccessController":12333,"./AirlockAccessController.js":12333,"./AirlockElectronics":28736,"./AirlockElectronics.js":28736,"./AlertModal":47365,"./AlertModal.tsx":47365,"./AppearanceChanger":71824,"./AppearanceChanger.js":71824,"./AtmosAlertConsole":72285,"./AtmosAlertConsole.js":72285,"./AtmosControl":65805,"./AtmosControl.js":65805,"./AtmosFilter":87816,"./AtmosFilter.js":87816,"./AtmosMixer":52977,"./AtmosMixer.js":52977,"./AtmosPump":11748,"./AtmosPump.js":11748,"./AutoDoc":76511,"./AutoDoc.js":76511,"./Autolathe":59179,"./Autolathe.js":59179,"./Biogenerator":64273,"./Biogenerator.js":64273,"./BlueSpaceArtilleryControl":18621,"./BlueSpaceArtilleryControl.js":18621,"./BluespaceRiftScanner":13995,"./BluespaceRiftScanner.js":13995,"./BluespaceRiftServer":25530,"./BluespaceRiftServer.js":25530,"./BluespaceTap":27629,"./BluespaceTap.js":27629,"./BodyScanner":33758,"./BodyScanner.js":33758,"./BorgPanel":42570,"./BorgPanel.js":42570,"./BotClean":20464,"./BotClean.js":20464,"./BotSecurity":74439,"./BotSecurity.js":74439,"./BrigCells":10833,"./BrigCells.js":10833,"./BrigTimer":45761,"./BrigTimer.js":45761,"./CameraConsole":26300,"./CameraConsole.js":26300,"./Canister":52927,"./Canister.js":52927,"./CardComputer":51793,"./CardComputer.js":51793,"./CargoConsole":64083,"./CargoConsole.js":64083,"./Changelog":12226,"./Changelog.js":12226,"./ChemDispenser":36108,"./ChemDispenser.js":36108,"./ChemHeater":13146,"./ChemHeater.js":13146,"./ChemMaster":56541,"./ChemMaster.tsx":56541,"./CloningConsole":37173,"./CloningConsole.js":37173,"./CommunicationsComputer":63818,"./CommunicationsComputer.js":63818,"./Contractor":21813,"./Contractor.js":21813,"./ConveyorSwitch":54151,"./ConveyorSwitch.js":54151,"./CrewMonitor":73169,"./CrewMonitor.js":73169,"./Cryo":63987,"./Cryo.js":63987,"./CryopodConsole":86099,"./CryopodConsole.js":86099,"./Customat":94848,"./Customat.js":94848,"./DNAModifier":12692,"./DNAModifier.js":12692,"./DestinationTagger":41074,"./DestinationTagger.js":41074,"./DisposalBin":46500,"./DisposalBin.js":46500,"./DnaVault":33233,"./DnaVault.js":33233,"./EFTPOS":17263,"./EFTPOS.js":17263,"./ERTManager":76382,"./ERTManager.js":76382,"./Electropack":82565,"./Electropack.js":82565,"./EvolutionMenu":36730,"./EvolutionMenu.js":36730,"./ExosuitFabricator":17370,"./ExosuitFabricator.js":17370,"./ExternalAirlockController":97086,"./ExternalAirlockController.js":97086,"./FaxMachine":96142,"./FaxMachine.js":96142,"./FloorPainter":83767,"./FloorPainter.js":83767,"./GPS":53424,"./GPS.js":53424,"./GasAnalyzer":68703,"./GasAnalyzer.js":68703,"./GasFreezer":27546,"./GasFreezer.js":27546,"./GeneModder":89124,"./GeneModder.js":89124,"./GenericCrewManifest":73053,"./GenericCrewManifest.js":73053,"./GhostHudPanel":42914,"./GhostHudPanel.js":42914,"./GlandDispenser":25825,"./GlandDispenser.js":25825,"./HandheldChemDispenser":67834,"./HandheldChemDispenser.js":67834,"./ImplantPad":75926,"./ImplantPad.js":75926,"./Instrument":25471,"./Instrument.js":25471,"./ItemPixelShift":65021,"./ItemPixelShift.js":65021,"./KeyComboModal":13618,"./KeyComboModal.tsx":13618,"./KeycardAuth":35655,"./KeycardAuth.js":35655,"./LaborClaimConsole":40951,"./LaborClaimConsole.js":40951,"./LawManager":9525,"./LawManager.js":9525,"./ListInputModal":90447,"./ListInputModal.tsx":90447,"./MechBayConsole":72106,"./MechBayConsole.js":72106,"./MechaControlConsole":7466,"./MechaControlConsole.js":7466,"./MedicalRecords":79625,"./MedicalRecords.js":79625,"./Mimicking":52306,"./Mimicking.js":52306,"./Minesweeper":66238,"./Minesweeper.js":66238,"./MiniGamesMenu":21385,"./MiniGamesMenu.js":21385,"./MiningVendor":87684,"./MiningVendor.js":87684,"./Multitool":97955,"./Multitool.js":97955,"./Newscaster":64713,"./Newscaster.js":64713,"./NinjaBloodScan":97351,"./NinjaBloodScan.js":97351,"./NinjaMindScan":32989,"./NinjaMindScan.js":32989,"./NuclearBomb":41166,"./NuclearBomb.js":41166,"./NumberInputModal":52416,"./NumberInputModal.tsx":52416,"./OperatingComputer":1218,"./OperatingComputer.js":1218,"./Orbit":46892,"./Orbit.js":46892,"./OreRedemption":15421,"./OreRedemption.js":15421,"./PAI":30373,"./PAI.js":30373,"./PDA":85175,"./PDA.js":85175,"./PDAPainter":38280,"./PDAPainter.js":38280,"./Pacman":68654,"./Pacman.js":68654,"./PersonalCrafting":33388,"./PersonalCrafting.js":33388,"./Photocopier":56150,"./Photocopier.js":56150,"./PodTracking":94158,"./PodTracking.js":94158,"./PoolController":84676,"./PoolController.js":84676,"./PortablePump":57003,"./PortablePump.js":57003,"./PortableScrubber":70069,"./PortableScrubber.js":70069,"./PortableTurret":59955,"./PortableTurret.js":59955,"./PowerMonitor":61631,"./PowerMonitor.js":61631,"./PrisonerImplantManager":50992,"./PrisonerImplantManager.js":50992,"./QuestConsole":7485,"./QuestConsole.js":7485,"./RCD":94813,"./RCD.js":94813,"./RPD":18738,"./RPD.js":18738,"./Radio":80299,"./Radio.js":80299,"./RequestConsole":25472,"./RequestConsole.js":25472,"./RequestManager":3786,"./RequestManager.js":3786,"./RndConsole":16475,"./RndConsole.js":16475,"./RndConsoleComponents":13472,"./RndConsoleComponents/":13472,"./RndConsoleComponents/CurrentLevels":93098,"./RndConsoleComponents/CurrentLevels.js":93098,"./RndConsoleComponents/DataDiskMenu":19192,"./RndConsoleComponents/DataDiskMenu.js":19192,"./RndConsoleComponents/DeconstructionMenu":20887,"./RndConsoleComponents/DeconstructionMenu.js":20887,"./RndConsoleComponents/LatheCategory":10666,"./RndConsoleComponents/LatheCategory.js":10666,"./RndConsoleComponents/LatheChemicalStorage":52285,"./RndConsoleComponents/LatheChemicalStorage.js":52285,"./RndConsoleComponents/LatheMainMenu":71964,"./RndConsoleComponents/LatheMainMenu.js":71964,"./RndConsoleComponents/LatheMaterialStorage":17906,"./RndConsoleComponents/LatheMaterialStorage.js":17906,"./RndConsoleComponents/LatheMaterials":83706,"./RndConsoleComponents/LatheMaterials.js":83706,"./RndConsoleComponents/LatheMenu":76749,"./RndConsoleComponents/LatheMenu.js":76749,"./RndConsoleComponents/LatheSearch":74698,"./RndConsoleComponents/LatheSearch.js":74698,"./RndConsoleComponents/MainMenu":17180,"./RndConsoleComponents/MainMenu.js":17180,"./RndConsoleComponents/RndNavButton":63459,"./RndConsoleComponents/RndNavButton.js":63459,"./RndConsoleComponents/RndNavbar":94942,"./RndConsoleComponents/RndNavbar.js":94942,"./RndConsoleComponents/RndRoute":12059,"./RndConsoleComponents/RndRoute.js":12059,"./RndConsoleComponents/SettingsMenu":52580,"./RndConsoleComponents/SettingsMenu.js":52580,"./RndConsoleComponents/index":13472,"./RndConsoleComponents/index.js":13472,"./RoboQuest":40026,"./RoboQuest.js":40026,"./RobotSelfDiagnosis":26109,"./RobotSelfDiagnosis.js":26109,"./RoboticsControlConsole":97997,"./RoboticsControlConsole.js":97997,"./Safe":54431,"./Safe.js":54431,"./SatelliteControl":29740,"./SatelliteControl.js":29740,"./SecureStorage":44162,"./SecureStorage.js":44162,"./SecurityRecords":6272,"./SecurityRecords.js":6272,"./SeedExtractor":5099,"./SeedExtractor.js":5099,"./ShuttleConsole":2916,"./ShuttleConsole.js":2916,"./ShuttleManipulator":39401,"./ShuttleManipulator.js":39401,"./Sleeper":88284,"./Sleeper.js":88284,"./SlotMachine":21597,"./SlotMachine.js":21597,"./Smartfridge":46348,"./Smartfridge.js":46348,"./Smes":86162,"./Smes.js":86162,"./SolarControl":63584,"./SolarControl.js":63584,"./SpawnersMenu":38096,"./SpawnersMenu.js":38096,"./SpiderOS":7957,"./SpiderOS.js":7957,"./StationAlertConsole":38307,"./StationAlertConsole.js":38307,"./StripMenu":39409,"./StripMenu.tsx":39409,"./SuitStorage":69514,"./SuitStorage.js":69514,"./SupermatterMonitor":15022,"./SupermatterMonitor.js":15022,"./SyndicateComputerSimple":46029,"./SyndicateComputerSimple.js":46029,"./SyndieCargoConsole":99279,"./SyndieCargoConsole.js":99279,"./TTSSeedsExplorer":44852,"./TTSSeedsExplorer.js":44852,"./TachyonArray":56441,"./TachyonArray.js":56441,"./Tank":1754,"./Tank.js":1754,"./TankDispenser":7579,"./TankDispenser.js":7579,"./TcommsCore":16136,"./TcommsCore.js":16136,"./TcommsRelay":88046,"./TcommsRelay.js":88046,"./Teleporter":20802,"./Teleporter.js":20802,"./TextInputModal":24410,"./TextInputModal.tsx":24410,"./ThiefKit":69566,"./ThiefKit.js":69566,"./TransferValve":20035,"./TransferValve.js":20035,"./Uplink":52847,"./Uplink.js":52847,"./VampireSpecMenu":8946,"./VampireSpecMenu.js":8946,"./VampireTrophiesStatus":45770,"./VampireTrophiesStatus.js":45770,"./Vending":12261,"./Vending.js":12261,"./VolumeMixer":68971,"./VolumeMixer.js":68971,"./VotePanel":2510,"./VotePanel.js":2510,"./Wires":30138,"./Wires.js":30138,"./Workshop":30995,"./Workshop.js":30995,"./common/AccessList":49148,"./common/AccessList.js":49148,"./common/AtmosScan":26991,"./common/AtmosScan.js":26991,"./common/BeakerContents":85870,"./common/BeakerContents.js":85870,"./common/ComplexModal":3939,"./common/ComplexModal.js":3939,"./common/CrewManifest":41874,"./common/CrewManifest.js":41874,"./common/InputButtons":19203,"./common/InputButtons.tsx":19203,"./common/InterfaceLockNoticeBox":195,"./common/InterfaceLockNoticeBox.js":195,"./common/Loader":51057,"./common/Loader.tsx":51057,"./common/LoginInfo":321,"./common/LoginInfo.js":321,"./common/LoginScreen":5485,"./common/LoginScreen.js":5485,"./common/Operating":62411,"./common/Operating.js":62411,"./common/Signaler":13545,"./common/Signaler.js":13545,"./common/SimpleRecords":41984,"./common/SimpleRecords.js":41984,"./common/TemporaryNotice":22091,"./common/TemporaryNotice.js":22091,"./manually-routed/KitchenSink":25443,"./manually-routed/KitchenSink.js":25443,"./pai/pai_advsecrecords":96572,"./pai/pai_advsecrecords.js":96572,"./pai/pai_atmosphere":80818,"./pai/pai_atmosphere.js":80818,"./pai/pai_bioscan":23903,"./pai/pai_bioscan.js":23903,"./pai/pai_camera_bug":79592,"./pai/pai_camera_bug.js":79592,"./pai/pai_directives":64988,"./pai/pai_directives.js":64988,"./pai/pai_doorjack":13813,"./pai/pai_doorjack.js":13813,"./pai/pai_encoder":43816,"./pai/pai_encoder.js":43816,"./pai/pai_gps_module":88895,"./pai/pai_gps_module.js":88895,"./pai/pai_main_menu":66025,"./pai/pai_main_menu.js":66025,"./pai/pai_manifest":2983,"./pai/pai_manifest.js":2983,"./pai/pai_medrecords":40758,"./pai/pai_medrecords.js":40758,"./pai/pai_messenger":98599,"./pai/pai_messenger.js":98599,"./pai/pai_radio":50775,"./pai/pai_radio.js":50775,"./pai/pai_sec_chem":19873,"./pai/pai_sec_chem.js":19873,"./pai/pai_secrecords":48623,"./pai/pai_secrecords.js":48623,"./pai/pai_signaler":47297,"./pai/pai_signaler.js":47297,"./pda/pda_atmos_scan":78532,"./pda/pda_atmos_scan.js":78532,"./pda/pda_janitor":40253,"./pda/pda_janitor.js":40253,"./pda/pda_main_menu":58293,"./pda/pda_main_menu.js":58293,"./pda/pda_manifest":58059,"./pda/pda_manifest.js":58059,"./pda/pda_medical":18147,"./pda/pda_medical.js":18147,"./pda/pda_messenger":77595,"./pda/pda_messenger.js":77595,"./pda/pda_mule":24635,"./pda/pda_mule.js":24635,"./pda/pda_notes":97085,"./pda/pda_notes.js":97085,"./pda/pda_power":57513,"./pda/pda_power.js":57513,"./pda/pda_secbot":99808,"./pda/pda_secbot.js":99808,"./pda/pda_security":77168,"./pda/pda_security.js":77168,"./pda/pda_signaler":21773,"./pda/pda_signaler.js":21773,"./pda/pda_status_display":81857,"./pda/pda_status_display.js":81857,"./pda/pda_supplyrecords":70287,"./pda/pda_supplyrecords.js":70287};function a(o){var d=t(o);return n(d)}function t(o){if(!n.o(e,o)){var d=new Error("Cannot find module '"+o+"'");throw d.code="MODULE_NOT_FOUND",d}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,I.exports=a,a.id=32054},4085:function(I,r,n){var e={"./Blink.stories.js":51364,"./BlockQuote.stories.js":32453,"./Box.stories.js":83531,"./Button.stories.js":74198,"./ByondUi.stories.js":51956,"./Collapsible.stories.js":17466,"./Flex.stories.js":89241,"./ImageButton.stories.js":48779,"./Input.stories.js":21394,"./Popper.stories.js":43932,"./ProgressBar.stories.js":33270,"./Stack.stories.js":77766,"./Storage.stories.js":30187,"./Tabs.stories.js":46554,"./Themes.stories.js":53276,"./Tooltip.stories.js":28717};function a(o){var d=t(o);return n(d)}function t(o){if(!n.o(e,o)){var d=new Error("Cannot find module '"+o+"'");throw d.code="MODULE_NOT_FOUND",d}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,I.exports=a,a.id=4085},10320:function(I,r,n){"use strict";var e=n(55747),a=n(89393),t=TypeError;I.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a function")}},32606:function(I,r,n){"use strict";var e=n(1031),a=n(89393),t=TypeError;I.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a constructor")}},35908:function(I,r,n){"use strict";var e=n(45015),a=String,t=TypeError;I.exports=function(o){if(e(o))return o;throw new t("Can't set "+a(o)+" as a prototype")}},80575:function(I,r,n){"use strict";var e=n(24697),a=n(80674),t=n(74595).f,o=e("unscopables"),d=Array.prototype;d[o]===void 0&&t(d,o,{configurable:!0,value:a(null)}),I.exports=function(y){d[o][y]=!0}},35483:function(I,r,n){"use strict";var e=n(50233).charAt;I.exports=function(a,t,o){return t+(o?e(a,t).length:1)}},60077:function(I,r,n){"use strict";var e=n(21287),a=TypeError;I.exports=function(t,o){if(e(o,t))return t;throw new a("Incorrect invocation")}},30365:function(I,r,n){"use strict";var e=n(77568),a=String,t=TypeError;I.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not an object")}},70377:function(I){"use strict";I.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},3782:function(I,r,n){"use strict";var e=n(40033);I.exports=e(function(){if(typeof ArrayBuffer=="function"){var a=new ArrayBuffer(8);Object.isExtensible(a)&&Object.defineProperty(a,"a",{value:8})}})},4246:function(I,r,n){"use strict";var e=n(70377),a=n(58310),t=n(16210),o=n(55747),d=n(77568),y=n(45299),V=n(2281),k=n(89393),S=n(37909),p=n(55938),i=n(73936),l=n(21287),f=n(36917),u=n(76649),s=n(24697),m=n(16738),c=n(5419),v=c.enforce,b=c.get,g=t.Int8Array,h=g&&g.prototype,C=t.Uint8ClampedArray,N=C&&C.prototype,x=g&&f(g),B=h&&f(h),L=Object.prototype,w=t.TypeError,A=s("toStringTag"),T=m("TYPED_ARRAY_TAG"),E="TypedArrayConstructor",O=e&&!!u&&V(t.opera)!=="Opera",P=!1,R,F,j,W={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},z={BigInt64Array:8,BigUint64Array:8},H=function(){function Ne(Be){if(!d(Be))return!1;var Le=V(Be);return Le==="DataView"||y(W,Le)||y(z,Le)}return Ne}(),$=function(Be){var Le=f(Be);if(d(Le)){var Ae=b(Le);return Ae&&y(Ae,E)?Ae[E]:$(Le)}},G=function(Be){if(!d(Be))return!1;var Le=V(Be);return y(W,Le)||y(z,Le)},ne=function(Be){if(G(Be))return Be;throw new w("Target is not a typed array")},Q=function(Be){if(o(Be)&&(!u||l(x,Be)))return Be;throw new w(k(Be)+" is not a typed array constructor")},he=function(Be,Le,Ae,fe){if(a){if(Ae)for(var Z in W){var J=t[Z];if(J&&y(J.prototype,Be))try{delete J.prototype[Be]}catch(te){try{J.prototype[Be]=Le}catch(ee){}}}(!B[Be]||Ae)&&p(B,Be,Ae?Le:O&&h[Be]||Le,fe)}},Ve=function(Be,Le,Ae){var fe,Z;if(a){if(u){if(Ae){for(fe in W)if(Z=t[fe],Z&&y(Z,Be))try{delete Z[Be]}catch(J){}}if(!x[Be]||Ae)try{return p(x,Be,Ae?Le:O&&x[Be]||Le)}catch(J){}else return}for(fe in W)Z=t[fe],Z&&(!Z[Be]||Ae)&&p(Z,Be,Le)}};for(R in W)F=t[R],j=F&&F.prototype,j?v(j)[E]=F:O=!1;for(R in z)F=t[R],j=F&&F.prototype,j&&(v(j)[E]=F);if((!O||!o(x)||x===Function.prototype)&&(x=function(){function Ne(){throw new w("Incorrect invocation")}return Ne}(),O))for(R in W)t[R]&&u(t[R],x);if((!O||!B||B===L)&&(B=x.prototype,O))for(R in W)t[R]&&u(t[R].prototype,B);if(O&&f(N)!==B&&u(N,B),a&&!y(B,A)){P=!0,i(B,A,{configurable:!0,get:function(){function Ne(){return d(this)?this[T]:void 0}return Ne}()});for(R in W)t[R]&&S(t[R],T,R)}I.exports={NATIVE_ARRAY_BUFFER_VIEWS:O,TYPED_ARRAY_TAG:P&&T,aTypedArray:ne,aTypedArrayConstructor:Q,exportTypedArrayMethod:he,exportTypedArrayStaticMethod:Ve,getTypedArrayConstructor:$,isView:H,isTypedArray:G,TypedArray:x,TypedArrayPrototype:B}},37336:function(I,r,n){"use strict";var e=n(16210),a=n(67250),t=n(58310),o=n(70377),d=n(70520),y=n(37909),V=n(73936),k=n(30145),S=n(40033),p=n(60077),i=n(61365),l=n(10188),f=n(43806),u=n(95867),s=n(91784),m=n(36917),c=n(76649),v=n(88471),b=n(54602),g=n(5781),h=n(5774),C=n(84925),N=n(5419),x=d.PROPER,B=d.CONFIGURABLE,L="ArrayBuffer",w="DataView",A="prototype",T="Wrong length",E="Wrong index",O=N.getterFor(L),P=N.getterFor(w),R=N.set,F=e[L],j=F,W=j&&j[A],z=e[w],H=z&&z[A],$=Object.prototype,G=e.Array,ne=e.RangeError,Q=a(v),he=a([].reverse),Ve=s.pack,Ne=s.unpack,Be=function(X){return[X&255]},Le=function(X){return[X&255,X>>8&255]},Ae=function(X){return[X&255,X>>8&255,X>>16&255,X>>24&255]},fe=function(X){return X[3]<<24|X[2]<<16|X[1]<<8|X[0]},Z=function(X){return Ve(u(X),23,4)},J=function(X){return Ve(X,52,8)},te=function(X,ae,ue){V(X[A],ae,{configurable:!0,get:function(){function ie(){return ue(this)[ae]}return ie}()})},ee=function(X,ae,ue,ie){var ge=P(X),Ce=f(ue),Me=!!ie;if(Ce+ae>ge.byteLength)throw new ne(E);var De=ge.bytes,ke=Ce+ge.byteOffset,pe=b(De,ke,ke+ae);return Me?pe:he(pe)},le=function(X,ae,ue,ie,ge,Ce){var Me=P(X),De=f(ue),ke=ie(+ge),pe=!!Ce;if(De+ae>Me.byteLength)throw new ne(E);for(var se=Me.bytes,xe=De+Me.byteOffset,_=0;_ge)throw new ne("Wrong offset");if(ue=ue===void 0?ge-Ce:l(ue),Ce+ue>ge)throw new ne(T);R(this,{type:w,buffer:X,byteLength:ue,byteOffset:Ce,bytes:ie.bytes}),t||(this.buffer=X,this.byteLength=ue,this.byteOffset=Ce)}return M}(),H=z[A],t&&(te(j,"byteLength",O),te(z,"buffer",P),te(z,"byteLength",P),te(z,"byteOffset",P)),k(H,{getInt8:function(){function M(X){return ee(this,1,X)[0]<<24>>24}return M}(),getUint8:function(){function M(X){return ee(this,1,X)[0]}return M}(),getInt16:function(){function M(X){var ae=ee(this,2,X,arguments.length>1?arguments[1]:!1);return(ae[1]<<8|ae[0])<<16>>16}return M}(),getUint16:function(){function M(X){var ae=ee(this,2,X,arguments.length>1?arguments[1]:!1);return ae[1]<<8|ae[0]}return M}(),getInt32:function(){function M(X){return fe(ee(this,4,X,arguments.length>1?arguments[1]:!1))}return M}(),getUint32:function(){function M(X){return fe(ee(this,4,X,arguments.length>1?arguments[1]:!1))>>>0}return M}(),getFloat32:function(){function M(X){return Ne(ee(this,4,X,arguments.length>1?arguments[1]:!1),23)}return M}(),getFloat64:function(){function M(X){return Ne(ee(this,8,X,arguments.length>1?arguments[1]:!1),52)}return M}(),setInt8:function(){function M(X,ae){le(this,1,X,Be,ae)}return M}(),setUint8:function(){function M(X,ae){le(this,1,X,Be,ae)}return M}(),setInt16:function(){function M(X,ae){le(this,2,X,Le,ae,arguments.length>2?arguments[2]:!1)}return M}(),setUint16:function(){function M(X,ae){le(this,2,X,Le,ae,arguments.length>2?arguments[2]:!1)}return M}(),setInt32:function(){function M(X,ae){le(this,4,X,Ae,ae,arguments.length>2?arguments[2]:!1)}return M}(),setUint32:function(){function M(X,ae){le(this,4,X,Ae,ae,arguments.length>2?arguments[2]:!1)}return M}(),setFloat32:function(){function M(X,ae){le(this,4,X,Z,ae,arguments.length>2?arguments[2]:!1)}return M}(),setFloat64:function(){function M(X,ae){le(this,8,X,J,ae,arguments.length>2?arguments[2]:!1)}return M}()});else{var ye=x&&F.name!==L;!S(function(){F(1)})||!S(function(){new F(-1)})||S(function(){return new F,new F(1.5),new F(NaN),F.length!==1||ye&&!B})?(j=function(){function M(X){return p(this,W),g(new F(f(X)),this,j)}return M}(),j[A]=W,W.constructor=j,h(j,F)):ye&&B&&y(F,"name",L),c&&m(H)!==$&&c(H,$);var me=new z(new j(2)),Te=a(H.setInt8);me.setInt8(0,2147483648),me.setInt8(1,2147483649),(me.getInt8(0)||!me.getInt8(1))&&k(H,{setInt8:function(){function M(X,ae){Te(this,X,ae<<24>>24)}return M}(),setUint8:function(){function M(X,ae){Te(this,X,ae<<24>>24)}return M}()},{unsafe:!0})}C(j,L),C(z,w),I.exports={ArrayBuffer:j,DataView:z}},71447:function(I,r,n){"use strict";var e=n(46771),a=n(13912),t=n(24760),o=n(95108),d=Math.min;I.exports=[].copyWithin||function(){function y(V,k){var S=e(this),p=t(S),i=a(V,p),l=a(k,p),f=arguments.length>2?arguments[2]:void 0,u=d((f===void 0?p:a(f,p))-l,p-i),s=1;for(l0;)l in S?S[i]=S[l]:o(S,i),i+=s,l+=s;return S}return y}()},88471:function(I,r,n){"use strict";var e=n(46771),a=n(13912),t=n(24760);I.exports=function(){function o(d){for(var y=e(this),V=t(y),k=arguments.length,S=a(k>1?arguments[1]:void 0,V),p=k>2?arguments[2]:void 0,i=p===void 0?V:a(p,V);i>S;)y[S++]=d;return y}return o}()},35601:function(I,r,n){"use strict";var e=n(22603).forEach,a=n(55528),t=a("forEach");I.exports=t?[].forEach:function(){function o(d){return e(this,d,arguments.length>1?arguments[1]:void 0)}return o}()},78008:function(I,r,n){"use strict";var e=n(24760);I.exports=function(a,t,o){for(var d=0,y=arguments.length>2?o:e(t),V=new a(y);y>d;)V[d]=t[d++];return V}},73174:function(I,r,n){"use strict";var e=n(75754),a=n(91495),t=n(46771),o=n(40125),d=n(76571),y=n(1031),V=n(24760),k=n(60102),S=n(77455),p=n(59201),i=Array;I.exports=function(){function l(f){var u=t(f),s=y(this),m=arguments.length,c=m>1?arguments[1]:void 0,v=c!==void 0;v&&(c=e(c,m>2?arguments[2]:void 0));var b=p(u),g=0,h,C,N,x,B,L;if(b&&!(this===i&&d(b)))for(C=s?new this:[],x=S(u,b),B=x.next;!(N=a(B,x)).done;g++)L=v?o(x,c,[N.value,g],!0):N.value,k(C,g,L);else for(h=V(u),C=s?new this(h):i(h);h>g;g++)L=v?c(u[g],g):u[g],k(C,g,L);return C.length=g,C}return l}()},14211:function(I,r,n){"use strict";var e=n(57591),a=n(13912),t=n(24760),o=function(y){return function(V,k,S){var p=e(V),i=t(p);if(i===0)return!y&&-1;var l=a(S,i),f;if(y&&k!==k){for(;i>l;)if(f=p[l++],f!==f)return!0}else for(;i>l;l++)if((y||l in p)&&p[l]===k)return y||l||0;return!y&&-1}};I.exports={includes:o(!0),indexOf:o(!1)}},22603:function(I,r,n){"use strict";var e=n(75754),a=n(67250),t=n(37457),o=n(46771),d=n(24760),y=n(57823),V=a([].push),k=function(p){var i=p===1,l=p===2,f=p===3,u=p===4,s=p===6,m=p===7,c=p===5||s;return function(v,b,g,h){for(var C=o(v),N=t(C),x=d(N),B=e(b,g),L=0,w=h||y,A=i?w(v,x):l||m?w(v,0):void 0,T,E;x>L;L++)if((c||L in N)&&(T=N[L],E=B(T,L,C),p))if(i)A[L]=E;else if(E)switch(p){case 3:return!0;case 5:return T;case 6:return L;case 2:V(A,T)}else switch(p){case 4:return!1;case 7:V(A,T)}return s?-1:f||u?u:A}};I.exports={forEach:k(0),map:k(1),filter:k(2),some:k(3),every:k(4),find:k(5),findIndex:k(6),filterReject:k(7)}},1325:function(I,r,n){"use strict";var e=n(61267),a=n(57591),t=n(61365),o=n(24760),d=n(55528),y=Math.min,V=[].lastIndexOf,k=!!V&&1/[1].lastIndexOf(1,-0)<0,S=d("lastIndexOf"),p=k||!S;I.exports=p?function(){function i(l){if(k)return e(V,this,arguments)||0;var f=a(this),u=o(f);if(u===0)return-1;var s=u-1;for(arguments.length>1&&(s=y(s,t(arguments[1]))),s<0&&(s=u+s);s>=0;s--)if(s in f&&f[s]===l)return s||0;return-1}return i}():V},44091:function(I,r,n){"use strict";var e=n(40033),a=n(24697),t=n(83141),o=a("species");I.exports=function(d){return t>=51||!e(function(){var y=[],V=y.constructor={};return V[o]=function(){return{foo:1}},y[d](Boolean).foo!==1})}},55528:function(I,r,n){"use strict";var e=n(40033);I.exports=function(a,t){var o=[][a];return!!o&&e(function(){o.call(null,t||function(){return 1},1)})}},56844:function(I,r,n){"use strict";var e=n(10320),a=n(46771),t=n(37457),o=n(24760),d=TypeError,y="Reduce of empty array with no initial value",V=function(S){return function(p,i,l,f){var u=a(p),s=t(u),m=o(u);if(e(i),m===0&&l<2)throw new d(y);var c=S?m-1:0,v=S?-1:1;if(l<2)for(;;){if(c in s){f=s[c],c+=v;break}if(c+=v,S?c<0:m<=c)throw new d(y)}for(;S?c>=0:m>c;c+=v)c in s&&(f=i(f,s[c],c,u));return f}};I.exports={left:V(!1),right:V(!0)}},13345:function(I,r,n){"use strict";var e=n(58310),a=n(37386),t=TypeError,o=Object.getOwnPropertyDescriptor,d=e&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(y){return y instanceof TypeError}}();I.exports=d?function(y,V){if(a(y)&&!o(y,"length").writable)throw new t("Cannot set read only .length");return y.length=V}:function(y,V){return y.length=V}},54602:function(I,r,n){"use strict";var e=n(67250);I.exports=e([].slice)},90274:function(I,r,n){"use strict";var e=n(54602),a=Math.floor,t=function(d,y){var V=d.length;if(V<8)for(var k=1,S,p;k0;)d[p]=d[--p];p!==k++&&(d[p]=S)}else for(var i=a(V/2),l=t(e(d,0,i),y),f=t(e(d,i),y),u=l.length,s=f.length,m=0,c=0;m1?arguments[1]:void 0),E;E=E?E.next:A.first;)for(T(E.value,E.key,this);E&&E.removed;)E=E.previous}return L}(),has:function(){function L(w){return!!B(this,w)}return L}()}),t(C,b?{get:function(){function L(w){var A=B(this,w);return A&&A.value}return L}(),set:function(){function L(w,A){return x(this,w===0?0:w,A)}return L}()}:{add:function(){function L(w){return x(this,w=w===0?0:w,w)}return L}()}),i&&a(C,"size",{configurable:!0,get:function(){function L(){return N(this).size}return L}()}),h}return m}(),setStrong:function(){function m(c,v,b){var g=v+" Iterator",h=s(v),C=s(g);k(c,v,function(N,x){u(this,{type:g,target:N,state:h(N),kind:x,last:null})},function(){for(var N=C(this),x=N.kind,B=N.last;B&&B.removed;)B=B.previous;return!N.target||!(N.last=B=B?B.next:N.state.first)?(N.target=null,S(void 0,!0)):S(x==="keys"?B.key:x==="values"?B.value:[B.key,B.value],!1)},b?"entries":"values",!b,!0),p(v)}return m}()}},39895:function(I,r,n){"use strict";var e=n(67250),a=n(30145),t=n(81969).getWeakData,o=n(60077),d=n(30365),y=n(42871),V=n(77568),k=n(49450),S=n(22603),p=n(45299),i=n(5419),l=i.set,f=i.getterFor,u=S.find,s=S.findIndex,m=e([].splice),c=0,v=function(C){return C.frozen||(C.frozen=new b)},b=function(){this.entries=[]},g=function(C,N){return u(C.entries,function(x){return x[0]===N})};b.prototype={get:function(){function h(C){var N=g(this,C);if(N)return N[1]}return h}(),has:function(){function h(C){return!!g(this,C)}return h}(),set:function(){function h(C,N){var x=g(this,C);x?x[1]=N:this.entries.push([C,N])}return h}(),delete:function(){function h(C){var N=s(this.entries,function(x){return x[0]===C});return~N&&m(this.entries,N,1),!!~N}return h}()},I.exports={getConstructor:function(){function h(C,N,x,B){var L=C(function(E,O){o(E,w),l(E,{type:N,id:c++,frozen:null}),y(O)||k(O,E[B],{that:E,AS_ENTRIES:x})}),w=L.prototype,A=f(N),T=function(){function E(O,P,R){var F=A(O),j=t(d(P),!0);return j===!0?v(F).set(P,R):j[F.id]=R,O}return E}();return a(w,{delete:function(){function E(O){var P=A(this);if(!V(O))return!1;var R=t(O);return R===!0?v(P).delete(O):R&&p(R,P.id)&&delete R[P.id]}return E}(),has:function(){function E(O){var P=A(this);if(!V(O))return!1;var R=t(O);return R===!0?v(P).has(O):R&&p(R,P.id)}return E}()}),a(w,x?{get:function(){function E(O){var P=A(this);if(V(O)){var R=t(O);if(R===!0)return v(P).get(O);if(R)return R[P.id]}}return E}(),set:function(){function E(O,P){return T(this,O,P)}return E}()}:{add:function(){function E(O){return T(this,O,!0)}return E}()}),L}return h}()}},45150:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(67250),o=n(41314),d=n(55938),y=n(81969),V=n(49450),k=n(60077),S=n(55747),p=n(42871),i=n(77568),l=n(40033),f=n(92490),u=n(84925),s=n(5781);I.exports=function(m,c,v){var b=m.indexOf("Map")!==-1,g=m.indexOf("Weak")!==-1,h=b?"set":"add",C=a[m],N=C&&C.prototype,x=C,B={},L=function(F){var j=t(N[F]);d(N,F,F==="add"?function(){function W(z){return j(this,z===0?0:z),this}return W}():F==="delete"?function(W){return g&&!i(W)?!1:j(this,W===0?0:W)}:F==="get"?function(){function W(z){return g&&!i(z)?void 0:j(this,z===0?0:z)}return W}():F==="has"?function(){function W(z){return g&&!i(z)?!1:j(this,z===0?0:z)}return W}():function(){function W(z,H){return j(this,z===0?0:z,H),this}return W}())},w=o(m,!S(C)||!(g||N.forEach&&!l(function(){new C().entries().next()})));if(w)x=v.getConstructor(c,m,b,h),y.enable();else if(o(m,!0)){var A=new x,T=A[h](g?{}:-0,1)!==A,E=l(function(){A.has(1)}),O=f(function(R){new C(R)}),P=!g&&l(function(){for(var R=new C,F=5;F--;)R[h](F,F);return!R.has(-0)});O||(x=c(function(R,F){k(R,N);var j=s(new C,R,x);return p(F)||V(F,j[h],{that:j,AS_ENTRIES:b}),j}),x.prototype=N,N.constructor=x),(E||P)&&(L("delete"),L("has"),b&&L("get")),(P||T)&&L(h),g&&N.clear&&delete N.clear}return B[m]=x,e({global:!0,constructor:!0,forced:x!==C},B),u(x,m),g||v.setStrong(x,m,b),x}},5774:function(I,r,n){"use strict";var e=n(45299),a=n(97921),t=n(27193),o=n(74595);I.exports=function(d,y,V){for(var k=a(y),S=o.f,p=t.f,i=0;i"+p+""}},5959:function(I){"use strict";I.exports=function(r,n){return{value:r,done:n}}},37909:function(I,r,n){"use strict";var e=n(58310),a=n(74595),t=n(87458);I.exports=e?function(o,d,y){return a.f(o,d,t(1,y))}:function(o,d,y){return o[d]=y,o}},87458:function(I){"use strict";I.exports=function(r,n){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:n}}},60102:function(I,r,n){"use strict";var e=n(58310),a=n(74595),t=n(87458);I.exports=function(o,d,y){e?a.f(o,d,t(0,y)):o[d]=y}},67206:function(I,r,n){"use strict";var e=n(67250),a=n(40033),t=n(24051).start,o=RangeError,d=isFinite,y=Math.abs,V=Date.prototype,k=V.toISOString,S=e(V.getTime),p=e(V.getUTCDate),i=e(V.getUTCFullYear),l=e(V.getUTCHours),f=e(V.getUTCMilliseconds),u=e(V.getUTCMinutes),s=e(V.getUTCMonth),m=e(V.getUTCSeconds);I.exports=a(function(){return k.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!a(function(){k.call(new Date(NaN))})?function(){function c(){if(!d(S(this)))throw new o("Invalid time value");var v=this,b=i(v),g=f(v),h=b<0?"-":b>9999?"+":"";return h+t(y(b),h?6:4,0)+"-"+t(s(v)+1,2,0)+"-"+t(p(v),2,0)+"T"+t(l(v),2,0)+":"+t(u(v),2,0)+":"+t(m(v),2,0)+"."+t(g,3,0)+"Z"}return c}():k},10886:function(I,r,n){"use strict";var e=n(30365),a=n(13396),t=TypeError;I.exports=function(o){if(e(this),o==="string"||o==="default")o="string";else if(o!=="number")throw new t("Incorrect hint");return a(this,o)}},73936:function(I,r,n){"use strict";var e=n(20001),a=n(74595);I.exports=function(t,o,d){return d.get&&e(d.get,o,{getter:!0}),d.set&&e(d.set,o,{setter:!0}),a.f(t,o,d)}},55938:function(I,r,n){"use strict";var e=n(55747),a=n(74595),t=n(20001),o=n(18231);I.exports=function(d,y,V,k){k||(k={});var S=k.enumerable,p=k.name!==void 0?k.name:y;if(e(V)&&t(V,p,k),k.global)S?d[y]=V:o(y,V);else{try{k.unsafe?d[y]&&(S=!0):delete d[y]}catch(i){}S?d[y]=V:a.f(d,y,{value:V,enumerable:!1,configurable:!k.nonConfigurable,writable:!k.nonWritable})}return d}},30145:function(I,r,n){"use strict";var e=n(55938);I.exports=function(a,t,o){for(var d in t)e(a,d,t[d],o);return a}},18231:function(I,r,n){"use strict";var e=n(16210),a=Object.defineProperty;I.exports=function(t,o){try{a(e,t,{value:o,configurable:!0,writable:!0})}catch(d){e[t]=o}return o}},95108:function(I,r,n){"use strict";var e=n(89393),a=TypeError;I.exports=function(t,o){if(!delete t[o])throw new a("Cannot delete property "+e(o)+" of "+e(t))}},58310:function(I,r,n){"use strict";var e=n(40033);I.exports=!e(function(){return Object.defineProperty({},1,{get:function(){function a(){return 7}return a}()})[1]!==7})},12689:function(I,r,n){"use strict";var e=n(16210),a=n(77568),t=e.document,o=a(t)&&a(t.createElement);I.exports=function(d){return o?t.createElement(d):{}}},21291:function(I){"use strict";var r=TypeError,n=9007199254740991;I.exports=function(e){if(e>n)throw r("Maximum allowed index exceeded");return e}},89453:function(I){"use strict";I.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},50503:function(I,r,n){"use strict";var e=n(83309),a=e.match(/firefox\/(\d+)/i);I.exports=!!a&&+a[1]},79725:function(I,r,n){"use strict";var e=n(83309);I.exports=/MSIE|Trident/.test(e)},16647:function(I,r,n){"use strict";var e=n(83309);I.exports=/ipad|iphone|ipod/i.test(e)&&typeof Pebble!="undefined"},27770:function(I,r,n){"use strict";var e=n(83309);I.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(e)},81663:function(I,r,n){"use strict";var e=n(10753);I.exports=e==="NODE"},52854:function(I,r,n){"use strict";var e=n(83309);I.exports=/web0s(?!.*chrome)/i.test(e)},83309:function(I,r,n){"use strict";var e=n(16210),a=e.navigator,t=a&&a.userAgent;I.exports=t?String(t):""},83141:function(I,r,n){"use strict";var e=n(16210),a=n(83309),t=e.process,o=e.Deno,d=t&&t.versions||o&&o.version,y=d&&d.v8,V,k;y&&(V=y.split("."),k=V[0]>0&&V[0]<4?1:+(V[0]+V[1])),!k&&a&&(V=a.match(/Edge\/(\d+)/),(!V||V[1]>=74)&&(V=a.match(/Chrome\/(\d+)/),V&&(k=+V[1]))),I.exports=k},44981:function(I,r,n){"use strict";var e=n(83309),a=e.match(/AppleWebKit\/(\d+)\./);I.exports=!!a&&+a[1]},10753:function(I,r,n){"use strict";var e=n(16210),a=n(83309),t=n(7462),o=function(y){return a.slice(0,y.length)===y};I.exports=function(){return o("Bun/")?"BUN":o("Cloudflare-Workers")?"CLOUDFLARE":o("Deno/")?"DENO":o("Node.js/")?"NODE":e.Bun&&typeof Bun.version=="string"?"BUN":e.Deno&&typeof Deno.version=="object"?"DENO":t(e.process)==="process"?"NODE":e.window&&e.document?"BROWSER":"REST"}()},63964:function(I,r,n){"use strict";var e=n(16210),a=n(27193).f,t=n(37909),o=n(55938),d=n(18231),y=n(5774),V=n(41314);I.exports=function(k,S){var p=k.target,i=k.global,l=k.stat,f,u,s,m,c,v;if(i?u=e:l?u=e[p]||d(p,{}):u=e[p]&&e[p].prototype,u)for(s in S){if(c=S[s],k.dontCallGetSet?(v=a(u,s),m=v&&v.value):m=u[s],f=V(i?s:p+(l?".":"#")+s,k.forced),!f&&m!==void 0){if(typeof c==typeof m)continue;y(c,m)}(k.sham||m&&m.sham)&&t(c,"sham",!0),o(u,s,c,k)}}},40033:function(I){"use strict";I.exports=function(r){try{return!!r()}catch(n){return!0}}},79942:function(I,r,n){"use strict";n(79669);var e=n(91495),a=n(55938),t=n(14489),o=n(40033),d=n(24697),y=n(37909),V=d("species"),k=RegExp.prototype;I.exports=function(S,p,i,l){var f=d(S),u=!o(function(){var v={};return v[f]=function(){return 7},""[S](v)!==7}),s=u&&!o(function(){var v=!1,b=/a/;return S==="split"&&(b={},b.constructor={},b.constructor[V]=function(){return b},b.flags="",b[f]=/./[f]),b.exec=function(){return v=!0,null},b[f](""),!v});if(!u||!s||i){var m=/./[f],c=p(f,""[S],function(v,b,g,h,C){var N=b.exec;return N===t||N===k.exec?u&&!C?{done:!0,value:e(m,b,g,h)}:{done:!0,value:e(v,g,b,h)}:{done:!1}});a(String.prototype,S,c[0]),a(k,f,c[1])}l&&y(k[f],"sham",!0)}},65561:function(I,r,n){"use strict";var e=n(37386),a=n(24760),t=n(21291),o=n(75754),d=function(V,k,S,p,i,l,f,u){for(var s=i,m=0,c=f?o(f,u):!1,v,b;m0&&e(v)?(b=a(v),s=d(V,k,v,b,s,l-1)-1):(t(s+1),V[s]=v),s++),m++;return s};I.exports=d},50730:function(I,r,n){"use strict";var e=n(40033);I.exports=!e(function(){return Object.isExtensible(Object.preventExtensions({}))})},61267:function(I,r,n){"use strict";var e=n(55050),a=Function.prototype,t=a.apply,o=a.call;I.exports=typeof Reflect=="object"&&Reflect.apply||(e?o.bind(t):function(){return o.apply(t,arguments)})},75754:function(I,r,n){"use strict";var e=n(71138),a=n(10320),t=n(55050),o=e(e.bind);I.exports=function(d,y){return a(d),y===void 0?d:t?o(d,y):function(){return d.apply(y,arguments)}}},55050:function(I,r,n){"use strict";var e=n(40033);I.exports=!e(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})},66284:function(I,r,n){"use strict";var e=n(67250),a=n(10320),t=n(77568),o=n(45299),d=n(54602),y=n(55050),V=Function,k=e([].concat),S=e([].join),p={},i=function(f,u,s){if(!o(p,u)){for(var m=[],c=0;c]*>)/g,k=/\$([$&'`]|\d{1,2})/g;I.exports=function(S,p,i,l,f,u){var s=i+S.length,m=l.length,c=k;return f!==void 0&&(f=a(f),c=V),d(u,c,function(v,b){var g;switch(o(b,0)){case"$":return"$";case"&":return S;case"`":return y(p,0,i);case"'":return y(p,s);case"<":g=f[y(b,1,-1)];break;default:var h=+b;if(h===0)return v;if(h>m){var C=t(h/10);return C===0?v:C<=m?l[C-1]===void 0?o(b,1):l[C-1]+o(b,1):v}g=l[h-1]}return g===void 0?"":g})}},16210:function(I,r,n){"use strict";var e=function(t){return t&&t.Math===Math&&t};I.exports=e(typeof globalThis=="object"&&globalThis)||e(typeof window=="object"&&window)||e(typeof self=="object"&&self)||e(typeof n.g=="object"&&n.g)||e(!1)||function(){return this}()||Function("return this")()},45299:function(I,r,n){"use strict";var e=n(67250),a=n(46771),t=e({}.hasOwnProperty);I.exports=Object.hasOwn||function(){function o(d,y){return t(a(d),y)}return o}()},79195:function(I){"use strict";I.exports={}},72259:function(I){"use strict";I.exports=function(r,n){try{arguments.length}catch(e){}}},5315:function(I,r,n){"use strict";var e=n(4009);I.exports=e("document","documentElement")},36223:function(I,r,n){"use strict";var e=n(58310),a=n(40033),t=n(12689);I.exports=!e&&!a(function(){return Object.defineProperty(t("div"),"a",{get:function(){function o(){return 7}return o}()}).a!==7})},91784:function(I){"use strict";var r=Array,n=Math.abs,e=Math.pow,a=Math.floor,t=Math.log,o=Math.LN2,d=function(k,S,p){var i=r(p),l=p*8-S-1,f=(1<>1,s=S===23?e(2,-24)-e(2,-77):0,m=k<0||k===0&&1/k<0?1:0,c=0,v,b,g;for(k=n(k),k!==k||k===1/0?(b=k!==k?1:0,v=f):(v=a(t(k)/o),g=e(2,-v),k*g<1&&(v--,g*=2),v+u>=1?k+=s/g:k+=s*e(2,1-u),k*g>=2&&(v++,g/=2),v+u>=f?(b=0,v=f):v+u>=1?(b=(k*g-1)*e(2,S),v+=u):(b=k*e(2,u-1)*e(2,S),v=0));S>=8;)i[c++]=b&255,b/=256,S-=8;for(v=v<0;)i[c++]=v&255,v/=256,l-=8;return i[c-1]|=m*128,i},y=function(k,S){var p=k.length,i=p*8-S-1,l=(1<>1,u=i-7,s=p-1,m=k[s--],c=m&127,v;for(m>>=7;u>0;)c=c*256+k[s--],u-=8;for(v=c&(1<<-u)-1,c>>=-u,u+=S;u>0;)v=v*256+k[s--],u-=8;if(c===0)c=1-f;else{if(c===l)return v?NaN:m?-1/0:1/0;v+=e(2,S),c-=f}return(m?-1:1)*v*e(2,c-S)};I.exports={pack:d,unpack:y}},37457:function(I,r,n){"use strict";var e=n(67250),a=n(40033),t=n(7462),o=Object,d=e("".split);I.exports=a(function(){return!o("z").propertyIsEnumerable(0)})?function(y){return t(y)==="String"?d(y,""):o(y)}:o},5781:function(I,r,n){"use strict";var e=n(55747),a=n(77568),t=n(76649);I.exports=function(o,d,y){var V,k;return t&&e(V=d.constructor)&&V!==y&&a(k=V.prototype)&&k!==y.prototype&&t(o,k),o}},40492:function(I,r,n){"use strict";var e=n(67250),a=n(55747),t=n(40095),o=e(Function.toString);a(t.inspectSource)||(t.inspectSource=function(d){return o(d)}),I.exports=t.inspectSource},81969:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(79195),o=n(77568),d=n(45299),y=n(74595).f,V=n(37310),k=n(81644),S=n(81834),p=n(16738),i=n(50730),l=!1,f=p("meta"),u=0,s=function(C){y(C,f,{value:{objectID:"O"+u++,weakData:{}}})},m=function(C,N){if(!o(C))return typeof C=="symbol"?C:(typeof C=="string"?"S":"P")+C;if(!d(C,f)){if(!S(C))return"F";if(!N)return"E";s(C)}return C[f].objectID},c=function(C,N){if(!d(C,f)){if(!S(C))return!0;if(!N)return!1;s(C)}return C[f].weakData},v=function(C){return i&&l&&S(C)&&!d(C,f)&&s(C),C},b=function(){g.enable=function(){},l=!0;var C=V.f,N=a([].splice),x={};x[f]=1,C(x).length&&(V.f=function(B){for(var L=C(B),w=0,A=L.length;wB;B++)if(w=O(u[B]),w&&V(f,w))return w;return new l(!1)}N=k(u,x)}for(A=b?u.next:N.next;!(T=a(A,N)).done;){try{w=O(T.value)}catch(P){p(N,"throw",P)}if(typeof w=="object"&&w&&V(f,w))return w}return new l(!1)}},28649:function(I,r,n){"use strict";var e=n(91495),a=n(30365),t=n(78060);I.exports=function(o,d,y){var V,k;a(o);try{if(V=t(o,"return"),!V){if(d==="throw")throw y;return y}V=e(V,o)}catch(S){k=!0,V=S}if(d==="throw")throw y;if(k)throw V;return a(V),y}},5656:function(I,r,n){"use strict";var e=n(67635).IteratorPrototype,a=n(80674),t=n(87458),o=n(84925),d=n(83967),y=function(){return this};I.exports=function(V,k,S,p){var i=k+" Iterator";return V.prototype=a(e,{next:t(+!p,S)}),o(V,i,!1,!0),d[i]=y,V}},65574:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(4493),o=n(70520),d=n(55747),y=n(5656),V=n(36917),k=n(76649),S=n(84925),p=n(37909),i=n(55938),l=n(24697),f=n(83967),u=n(67635),s=o.PROPER,m=o.CONFIGURABLE,c=u.IteratorPrototype,v=u.BUGGY_SAFARI_ITERATORS,b=l("iterator"),g="keys",h="values",C="entries",N=function(){return this};I.exports=function(x,B,L,w,A,T,E){y(L,B,w);var O=function(Q){if(Q===A&&W)return W;if(!v&&Q&&Q in F)return F[Q];switch(Q){case g:return function(){function he(){return new L(this,Q)}return he}();case h:return function(){function he(){return new L(this,Q)}return he}();case C:return function(){function he(){return new L(this,Q)}return he}()}return function(){return new L(this)}},P=B+" Iterator",R=!1,F=x.prototype,j=F[b]||F["@@iterator"]||A&&F[A],W=!v&&j||O(A),z=B==="Array"&&F.entries||j,H,$,G;if(z&&(H=V(z.call(new x)),H!==Object.prototype&&H.next&&(!t&&V(H)!==c&&(k?k(H,c):d(H[b])||i(H,b,N)),S(H,P,!0,!0),t&&(f[P]=N))),s&&A===h&&j&&j.name!==h&&(!t&&m?p(F,"name",h):(R=!0,W=function(){function ne(){return a(j,this)}return ne}())),A)if($={values:O(h),keys:T?W:O(g),entries:O(C)},E)for(G in $)(v||R||!(G in F))&&i(F,G,$[G]);else e({target:B,proto:!0,forced:v||R},$);return(!t||E)&&F[b]!==W&&i(F,b,W,{name:A}),f[B]=W,$}},67635:function(I,r,n){"use strict";var e=n(40033),a=n(55747),t=n(77568),o=n(80674),d=n(36917),y=n(55938),V=n(24697),k=n(4493),S=V("iterator"),p=!1,i,l,f;[].keys&&(f=[].keys(),"next"in f?(l=d(d(f)),l!==Object.prototype&&(i=l)):p=!0);var u=!t(i)||e(function(){var s={};return i[S].call(s)!==s});u?i={}:k&&(i=o(i)),a(i[S])||y(i,S,function(){return this}),I.exports={IteratorPrototype:i,BUGGY_SAFARI_ITERATORS:p}},83967:function(I){"use strict";I.exports={}},24760:function(I,r,n){"use strict";var e=n(10188);I.exports=function(a){return e(a.length)}},20001:function(I,r,n){"use strict";var e=n(67250),a=n(40033),t=n(55747),o=n(45299),d=n(58310),y=n(70520).CONFIGURABLE,V=n(40492),k=n(5419),S=k.enforce,p=k.get,i=String,l=Object.defineProperty,f=e("".slice),u=e("".replace),s=e([].join),m=d&&!a(function(){return l(function(){},"length",{value:8}).length!==8}),c=String(String).split("String"),v=I.exports=function(b,g,h){f(i(g),0,7)==="Symbol("&&(g="["+u(i(g),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),h&&h.getter&&(g="get "+g),h&&h.setter&&(g="set "+g),(!o(b,"name")||y&&b.name!==g)&&(d?l(b,"name",{value:g,configurable:!0}):b.name=g),m&&h&&o(h,"arity")&&b.length!==h.arity&&l(b,"length",{value:h.arity});try{h&&o(h,"constructor")&&h.constructor?d&&l(b,"prototype",{writable:!1}):b.prototype&&(b.prototype=void 0)}catch(N){}var C=S(b);return o(C,"source")||(C.source=s(c,typeof g=="string"?g:"")),b};Function.prototype.toString=v(function(){function b(){return t(this)&&p(this).source||V(this)}return b}(),"toString")},82040:function(I){"use strict";var r=Math.expm1,n=Math.exp;I.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||r(-2e-17)!==-2e-17?function(){function e(a){var t=+a;return t===0?t:t>-1e-6&&t<1e-6?t+t*t/2:n(t)-1}return e}():r},14950:function(I,r,n){"use strict";var e=n(22172),a=Math.abs,t=2220446049250313e-31,o=1/t,d=function(V){return V+o-o};I.exports=function(y,V,k,S){var p=+y,i=a(p),l=e(p);if(ik||u!==u?l*(1/0):l*u}},95867:function(I,r,n){"use strict";var e=n(14950),a=11920928955078125e-23,t=34028234663852886e22,o=11754943508222875e-54;I.exports=Math.fround||function(){function d(y){return e(y,a,t,o)}return d}()},75002:function(I){"use strict";var r=Math.log,n=Math.LOG10E;I.exports=Math.log10||function(){function e(a){return r(a)*n}return e}()},90874:function(I){"use strict";var r=Math.log;I.exports=Math.log1p||function(){function n(e){var a=+e;return a>-1e-8&&a<1e-8?a-a*a/2:r(1+a)}return n}()},22172:function(I){"use strict";I.exports=Math.sign||function(){function r(n){var e=+n;return e===0||e!==e?e:e<0?-1:1}return r}()},21119:function(I){"use strict";var r=Math.ceil,n=Math.floor;I.exports=Math.trunc||function(){function e(a){var t=+a;return(t>0?n:r)(t)}return e}()},37713:function(I,r,n){"use strict";var e=n(16210),a=n(44915),t=n(75754),o=n(60375).set,d=n(9547),y=n(27770),V=n(16647),k=n(52854),S=n(81663),p=e.MutationObserver||e.WebKitMutationObserver,i=e.document,l=e.process,f=e.Promise,u=a("queueMicrotask"),s,m,c,v,b;if(!u){var g=new d,h=function(){var N,x;for(S&&(N=l.domain)&&N.exit();x=g.get();)try{x()}catch(B){throw g.head&&s(),B}N&&N.enter()};!y&&!S&&!k&&p&&i?(m=!0,c=i.createTextNode(""),new p(h).observe(c,{characterData:!0}),s=function(){c.data=m=!m}):!V&&f&&f.resolve?(v=f.resolve(void 0),v.constructor=f,b=t(v.then,v),s=function(){b(h)}):S?s=function(){l.nextTick(h)}:(o=t(o,e),s=function(){o(h)}),u=function(N){g.head||s(),g.add(N)}}I.exports=u},81837:function(I,r,n){"use strict";var e=n(10320),a=TypeError,t=function(d){var y,V;this.promise=new d(function(k,S){if(y!==void 0||V!==void 0)throw new a("Bad Promise constructor");y=k,V=S}),this.resolve=e(y),this.reject=e(V)};I.exports.f=function(o){return new t(o)}},86213:function(I,r,n){"use strict";var e=n(72586),a=TypeError;I.exports=function(t){if(e(t))throw new a("The method doesn't accept regular expressions");return t}},3294:function(I,r,n){"use strict";var e=n(16210),a=e.isFinite;I.exports=Number.isFinite||function(){function t(o){return typeof o=="number"&&a(o)}return t}()},28506:function(I,r,n){"use strict";var e=n(16210),a=n(40033),t=n(67250),o=n(12605),d=n(92648).trim,y=n(4198),V=t("".charAt),k=e.parseFloat,S=e.Symbol,p=S&&S.iterator,i=1/k(y+"-0")!==-1/0||p&&!a(function(){k(Object(p))});I.exports=i?function(){function l(f){var u=d(o(f)),s=k(u);return s===0&&V(u,0)==="-"?-0:s}return l}():k},13693:function(I,r,n){"use strict";var e=n(16210),a=n(40033),t=n(67250),o=n(12605),d=n(92648).trim,y=n(4198),V=e.parseInt,k=e.Symbol,S=k&&k.iterator,p=/^[+-]?0x/i,i=t(p.exec),l=V(y+"08")!==8||V(y+"0x16")!==22||S&&!a(function(){V(Object(S))});I.exports=l?function(){function f(u,s){var m=d(o(u));return V(m,s>>>0||(i(p,m)?16:10))}return f}():V},41143:function(I,r,n){"use strict";var e=n(58310),a=n(67250),t=n(91495),o=n(40033),d=n(18450),y=n(89235),V=n(12867),k=n(46771),S=n(37457),p=Object.assign,i=Object.defineProperty,l=a([].concat);I.exports=!p||o(function(){if(e&&p({b:1},p(i({},"a",{enumerable:!0,get:function(){function c(){i(this,"b",{value:3,enumerable:!1})}return c}()}),{b:2})).b!==1)return!0;var f={},u={},s=Symbol("assign detection"),m="abcdefghijklmnopqrst";return f[s]=7,m.split("").forEach(function(c){u[c]=c}),p({},f)[s]!==7||d(p({},u)).join("")!==m})?function(){function f(u,s){for(var m=k(u),c=arguments.length,v=1,b=y.f,g=V.f;c>v;)for(var h=S(arguments[v++]),C=b?l(d(h),b(h)):d(h),N=C.length,x=0,B;N>x;)B=C[x++],(!e||t(g,h,B))&&(m[B]=h[B]);return m}return f}():p},80674:function(I,r,n){"use strict";var e=n(30365),a=n(24239),t=n(89453),o=n(79195),d=n(5315),y=n(12689),V=n(19417),k=">",S="<",p="prototype",i="script",l=V("IE_PROTO"),f=function(){},u=function(g){return S+i+k+g+S+"/"+i+k},s=function(g){g.write(u("")),g.close();var h=g.parentWindow.Object;return g=null,h},m=function(){var g=y("iframe"),h="java"+i+":",C;return g.style.display="none",d.appendChild(g),g.src=String(h),C=g.contentWindow.document,C.open(),C.write(u("document.F=Object")),C.close(),C.F},c,v=function(){try{c=new ActiveXObject("htmlfile")}catch(h){}v=typeof document!="undefined"?document.domain&&c?s(c):m():s(c);for(var g=t.length;g--;)delete v[p][t[g]];return v()};o[l]=!0,I.exports=Object.create||function(){function b(g,h){var C;return g!==null?(f[p]=e(g),C=new f,f[p]=null,C[l]=g):C=v(),h===void 0?C:a.f(C,h)}return b}()},24239:function(I,r,n){"use strict";var e=n(58310),a=n(80944),t=n(74595),o=n(30365),d=n(57591),y=n(18450);r.f=e&&!a?Object.defineProperties:function(){function V(k,S){o(k);for(var p=d(S),i=y(S),l=i.length,f=0,u;l>f;)t.f(k,u=i[f++],p[u]);return k}return V}()},74595:function(I,r,n){"use strict";var e=n(58310),a=n(36223),t=n(80944),o=n(30365),d=n(767),y=TypeError,V=Object.defineProperty,k=Object.getOwnPropertyDescriptor,S="enumerable",p="configurable",i="writable";r.f=e?t?function(){function l(f,u,s){if(o(f),u=d(u),o(s),typeof f=="function"&&u==="prototype"&&"value"in s&&i in s&&!s[i]){var m=k(f,u);m&&m[i]&&(f[u]=s.value,s={configurable:p in s?s[p]:m[p],enumerable:S in s?s[S]:m[S],writable:!1})}return V(f,u,s)}return l}():V:function(){function l(f,u,s){if(o(f),u=d(u),o(s),a)try{return V(f,u,s)}catch(m){}if("get"in s||"set"in s)throw new y("Accessors not supported");return"value"in s&&(f[u]=s.value),f}return l}()},27193:function(I,r,n){"use strict";var e=n(58310),a=n(91495),t=n(12867),o=n(87458),d=n(57591),y=n(767),V=n(45299),k=n(36223),S=Object.getOwnPropertyDescriptor;r.f=e?S:function(){function p(i,l){if(i=d(i),l=y(l),k)try{return S(i,l)}catch(f){}if(V(i,l))return o(!a(t.f,i,l),i[l])}return p}()},81644:function(I,r,n){"use strict";var e=n(7462),a=n(57591),t=n(37310).f,o=n(54602),d=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],y=function(k){try{return t(k)}catch(S){return o(d)}};I.exports.f=function(){function V(k){return d&&e(k)==="Window"?y(k):t(a(k))}return V}()},37310:function(I,r,n){"use strict";var e=n(53726),a=n(89453),t=a.concat("length","prototype");r.f=Object.getOwnPropertyNames||function(){function o(d){return e(d,t)}return o}()},89235:function(I,r){"use strict";r.f=Object.getOwnPropertySymbols},36917:function(I,r,n){"use strict";var e=n(45299),a=n(55747),t=n(46771),o=n(19417),d=n(9225),y=o("IE_PROTO"),V=Object,k=V.prototype;I.exports=d?V.getPrototypeOf:function(S){var p=t(S);if(e(p,y))return p[y];var i=p.constructor;return a(i)&&p instanceof i?i.prototype:p instanceof V?k:null}},81834:function(I,r,n){"use strict";var e=n(40033),a=n(77568),t=n(7462),o=n(3782),d=Object.isExtensible,y=e(function(){d(1)});I.exports=y||o?function(){function V(k){return!a(k)||o&&t(k)==="ArrayBuffer"?!1:d?d(k):!0}return V}():d},21287:function(I,r,n){"use strict";var e=n(67250);I.exports=e({}.isPrototypeOf)},53726:function(I,r,n){"use strict";var e=n(67250),a=n(45299),t=n(57591),o=n(14211).indexOf,d=n(79195),y=e([].push);I.exports=function(V,k){var S=t(V),p=0,i=[],l;for(l in S)!a(d,l)&&a(S,l)&&y(i,l);for(;k.length>p;)a(S,l=k[p++])&&(~o(i,l)||y(i,l));return i}},18450:function(I,r,n){"use strict";var e=n(53726),a=n(89453);I.exports=Object.keys||function(){function t(o){return e(o,a)}return t}()},12867:function(I,r){"use strict";var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,a=e&&!n.call({1:2},1);r.f=a?function(){function t(o){var d=e(this,o);return!!d&&d.enumerable}return t}():n},57377:function(I,r,n){"use strict";var e=n(4493),a=n(16210),t=n(40033),o=n(44981);I.exports=e||!t(function(){if(!(o&&o<535)){var d=Math.random();__defineSetter__.call(null,d,function(){}),delete a[d]}})},76649:function(I,r,n){"use strict";var e=n(38656),a=n(77568),t=n(16952),o=n(35908);I.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var d=!1,y={},V;try{V=e(Object.prototype,"__proto__","set"),V(y,[]),d=y instanceof Array}catch(k){}return function(){function k(S,p){return t(S),o(p),a(S)&&(d?V(S,p):S.__proto__=p),S}return k}()}():void 0)},70915:function(I,r,n){"use strict";var e=n(58310),a=n(40033),t=n(67250),o=n(36917),d=n(18450),y=n(57591),V=n(12867).f,k=t(V),S=t([].push),p=e&&a(function(){var l=Object.create(null);return l[2]=2,!k(l,2)}),i=function(f){return function(u){for(var s=y(u),m=d(s),c=p&&o(s)===null,v=m.length,b=0,g=[],h;v>b;)h=m[b++],(!e||(c?h in s:k(s,h)))&&S(g,f?[h,s[h]]:s[h]);return g}};I.exports={entries:i(!0),values:i(!1)}},2509:function(I,r,n){"use strict";var e=n(2650),a=n(2281);I.exports=e?{}.toString:function(){function t(){return"[object "+a(this)+"]"}return t}()},13396:function(I,r,n){"use strict";var e=n(91495),a=n(55747),t=n(77568),o=TypeError;I.exports=function(d,y){var V,k;if(y==="string"&&a(V=d.toString)&&!t(k=e(V,d))||a(V=d.valueOf)&&!t(k=e(V,d))||y!=="string"&&a(V=d.toString)&&!t(k=e(V,d)))return k;throw new o("Can't convert object to primitive value")}},97921:function(I,r,n){"use strict";var e=n(4009),a=n(67250),t=n(37310),o=n(89235),d=n(30365),y=a([].concat);I.exports=e("Reflect","ownKeys")||function(){function V(k){var S=t.f(d(k)),p=o.f;return p?y(S,p(k)):S}return V}()},61765:function(I,r,n){"use strict";var e=n(16210);I.exports=e},10729:function(I){"use strict";I.exports=function(r){try{return{error:!1,value:r()}}catch(n){return{error:!0,value:n}}}},74854:function(I,r,n){"use strict";var e=n(16210),a=n(67512),t=n(55747),o=n(41314),d=n(40492),y=n(24697),V=n(10753),k=n(4493),S=n(83141),p=a&&a.prototype,i=y("species"),l=!1,f=t(e.PromiseRejectionEvent),u=o("Promise",function(){var s=d(a),m=s!==String(a);if(!m&&S===66||k&&!(p.catch&&p.finally))return!0;if(!S||S<51||!/native code/.test(s)){var c=new a(function(g){g(1)}),v=function(h){h(function(){},function(){})},b=c.constructor={};if(b[i]=v,l=c.then(function(){})instanceof v,!l)return!0}return!m&&(V==="BROWSER"||V==="DENO")&&!f});I.exports={CONSTRUCTOR:u,REJECTION_EVENT:f,SUBCLASSING:l}},67512:function(I,r,n){"use strict";var e=n(16210);I.exports=e.Promise},66628:function(I,r,n){"use strict";var e=n(30365),a=n(77568),t=n(81837);I.exports=function(o,d){if(e(o),a(d)&&d.constructor===o)return d;var y=t.f(o),V=y.resolve;return V(d),y.promise}},48199:function(I,r,n){"use strict";var e=n(67512),a=n(92490),t=n(74854).CONSTRUCTOR;I.exports=t||!a(function(o){e.all(o).then(void 0,function(){})})},34550:function(I,r,n){"use strict";var e=n(74595).f;I.exports=function(a,t,o){o in a||e(a,o,{configurable:!0,get:function(){function d(){return t[o]}return d}(),set:function(){function d(y){t[o]=y}return d}()})}},9547:function(I){"use strict";var r=function(){this.head=null,this.tail=null};r.prototype={add:function(){function n(e){var a={item:e,next:null},t=this.tail;t?t.next=a:this.head=a,this.tail=a}return n}(),get:function(){function n(){var e=this.head;if(e){var a=this.head=e.next;return a===null&&(this.tail=null),e.item}}return n}()},I.exports=r},28340:function(I,r,n){"use strict";var e=n(91495),a=n(30365),t=n(55747),o=n(7462),d=n(14489),y=TypeError;I.exports=function(V,k){var S=V.exec;if(t(S)){var p=e(S,V,k);return p!==null&&a(p),p}if(o(V)==="RegExp")return e(d,V,k);throw new y("RegExp#exec called on incompatible receiver")}},14489:function(I,r,n){"use strict";var e=n(91495),a=n(67250),t=n(12605),o=n(70901),d=n(62115),y=n(16639),V=n(80674),k=n(5419).get,S=n(39173),p=n(35688),i=y("native-string-replace",String.prototype.replace),l=RegExp.prototype.exec,f=l,u=a("".charAt),s=a("".indexOf),m=a("".replace),c=a("".slice),v=function(){var C=/a/,N=/b*/g;return e(l,C,"a"),e(l,N,"a"),C.lastIndex!==0||N.lastIndex!==0}(),b=d.BROKEN_CARET,g=/()??/.exec("")[1]!==void 0,h=v||g||b||S||p;h&&(f=function(){function C(N){var x=this,B=k(x),L=t(N),w=B.raw,A,T,E,O,P,R,F;if(w)return w.lastIndex=x.lastIndex,A=e(f,w,L),x.lastIndex=w.lastIndex,A;var j=B.groups,W=b&&x.sticky,z=e(o,x),H=x.source,$=0,G=L;if(W&&(z=m(z,"y",""),s(z,"g")===-1&&(z+="g"),G=c(L,x.lastIndex),x.lastIndex>0&&(!x.multiline||x.multiline&&u(L,x.lastIndex-1)!=="\n")&&(H="(?: "+H+")",G=" "+G,$++),T=new RegExp("^(?:"+H+")",z)),g&&(T=new RegExp("^"+H+"$(?!\\s)",z)),v&&(E=x.lastIndex),O=e(l,W?T:x,G),W?O?(O.input=c(O.input,$),O[0]=c(O[0],$),O.index=x.lastIndex,x.lastIndex+=O[0].length):x.lastIndex=0:v&&O&&(x.lastIndex=x.global?O.index+O[0].length:E),g&&O&&O.length>1&&e(i,O[0],T,function(){for(P=1;Pb)","g");return o.exec("b").groups.a!=="b"||"b".replace(o,"$c")!=="bc"})},16952:function(I,r,n){"use strict";var e=n(42871),a=TypeError;I.exports=function(t){if(e(t))throw new a("Can't call method on "+t);return t}},44915:function(I,r,n){"use strict";var e=n(16210),a=n(58310),t=Object.getOwnPropertyDescriptor;I.exports=function(o){if(!a)return e[o];var d=t(e,o);return d&&d.value}},5700:function(I){"use strict";I.exports=Object.is||function(){function r(n,e){return n===e?n!==0||1/n===1/e:n!==n&&e!==e}return r}()},78362:function(I,r,n){"use strict";var e=n(16210),a=n(61267),t=n(55747),o=n(10753),d=n(83309),y=n(54602),V=n(24986),k=e.Function,S=/MSIE .\./.test(d)||o==="BUN"&&function(){var p=e.Bun.version.split(".");return p.length<3||p[0]==="0"&&(p[1]<3||p[1]==="3"&&p[2]==="0")}();I.exports=function(p,i){var l=i?2:1;return S?function(f,u){var s=V(arguments.length,1)>l,m=t(f)?f:k(f),c=s?y(arguments,l):[],v=s?function(){a(m,this,c)}:m;return i?p(v,u):p(v)}:p}},58491:function(I,r,n){"use strict";var e=n(4009),a=n(73936),t=n(24697),o=n(58310),d=t("species");I.exports=function(y){var V=e(y);o&&V&&!V[d]&&a(V,d,{configurable:!0,get:function(){function k(){return this}return k}()})}},84925:function(I,r,n){"use strict";var e=n(74595).f,a=n(45299),t=n(24697),o=t("toStringTag");I.exports=function(d,y,V){d&&!V&&(d=d.prototype),d&&!a(d,o)&&e(d,o,{configurable:!0,value:y})}},19417:function(I,r,n){"use strict";var e=n(16639),a=n(16738),t=e("keys");I.exports=function(o){return t[o]||(t[o]=a(o))}},40095:function(I,r,n){"use strict";var e=n(4493),a=n(16210),t=n(18231),o="__core-js_shared__",d=I.exports=a[o]||t(o,{});(d.versions||(d.versions=[])).push({version:"3.38.1",mode:e?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})},16639:function(I,r,n){"use strict";var e=n(40095);I.exports=function(a,t){return e[a]||(e[a]=t||{})}},28987:function(I,r,n){"use strict";var e=n(30365),a=n(32606),t=n(42871),o=n(24697),d=o("species");I.exports=function(y,V){var k=e(y).constructor,S;return k===void 0||t(S=e(k)[d])?V:a(S)}},88539:function(I,r,n){"use strict";var e=n(40033);I.exports=function(a){return e(function(){var t=""[a]('"');return t!==t.toLowerCase()||t.split('"').length>3})}},50233:function(I,r,n){"use strict";var e=n(67250),a=n(61365),t=n(12605),o=n(16952),d=e("".charAt),y=e("".charCodeAt),V=e("".slice),k=function(p){return function(i,l){var f=t(o(i)),u=a(l),s=f.length,m,c;return u<0||u>=s?p?"":void 0:(m=y(f,u),m<55296||m>56319||u+1===s||(c=y(f,u+1))<56320||c>57343?p?d(f,u):m:p?V(f,u,u+2):(m-55296<<10)+(c-56320)+65536)}};I.exports={codeAt:k(!1),charAt:k(!0)}},34125:function(I,r,n){"use strict";var e=n(83309);I.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(e)},24051:function(I,r,n){"use strict";var e=n(67250),a=n(10188),t=n(12605),o=n(62443),d=n(16952),y=e(o),V=e("".slice),k=Math.ceil,S=function(i){return function(l,f,u){var s=t(d(l)),m=a(f),c=s.length,v=u===void 0?" ":t(u),b,g;return m<=c||v===""?s:(b=m-c,g=y(v,k(b/v.length)),g.length>b&&(g=V(g,0,b)),i?s+g:g+s)}};I.exports={start:S(!1),end:S(!0)}},62443:function(I,r,n){"use strict";var e=n(61365),a=n(12605),t=n(16952),o=RangeError;I.exports=function(){function d(y){var V=a(t(this)),k="",S=e(y);if(S<0||S===1/0)throw new o("Wrong number of repetitions");for(;S>0;(S>>>=1)&&(V+=V))S&1&&(k+=V);return k}return d}()},43476:function(I,r,n){"use strict";var e=n(92648).end,a=n(90012);I.exports=a("trimEnd")?function(){function t(){return e(this)}return t}():"".trimEnd},90012:function(I,r,n){"use strict";var e=n(70520).PROPER,a=n(40033),t=n(4198),o="\u200B\x85\u180E";I.exports=function(d){return a(function(){return!!t[d]()||o[d]()!==o||e&&t[d].name!==d})}},43885:function(I,r,n){"use strict";var e=n(92648).start,a=n(90012);I.exports=a("trimStart")?function(){function t(){return e(this)}return t}():"".trimStart},92648:function(I,r,n){"use strict";var e=n(67250),a=n(16952),t=n(12605),o=n(4198),d=e("".replace),y=RegExp("^["+o+"]+"),V=RegExp("(^|[^"+o+"])["+o+"]+$"),k=function(p){return function(i){var l=t(a(i));return p&1&&(l=d(l,y,"")),p&2&&(l=d(l,V,"$1")),l}};I.exports={start:k(1),end:k(2),trim:k(3)}},52357:function(I,r,n){"use strict";var e=n(83141),a=n(40033),t=n(16210),o=t.String;I.exports=!!Object.getOwnPropertySymbols&&!a(function(){var d=Symbol("symbol detection");return!o(d)||!(Object(d)instanceof Symbol)||!Symbol.sham&&e&&e<41})},52360:function(I,r,n){"use strict";var e=n(91495),a=n(4009),t=n(24697),o=n(55938);I.exports=function(){var d=a("Symbol"),y=d&&d.prototype,V=y&&y.valueOf,k=t("toPrimitive");y&&!y[k]&&o(y,k,function(S){return e(V,this)},{arity:1})}},66570:function(I,r,n){"use strict";var e=n(52357);I.exports=e&&!!Symbol.for&&!!Symbol.keyFor},60375:function(I,r,n){"use strict";var e=n(16210),a=n(61267),t=n(75754),o=n(55747),d=n(45299),y=n(40033),V=n(5315),k=n(54602),S=n(12689),p=n(24986),i=n(27770),l=n(81663),f=e.setImmediate,u=e.clearImmediate,s=e.process,m=e.Dispatch,c=e.Function,v=e.MessageChannel,b=e.String,g=0,h={},C="onreadystatechange",N,x,B,L;y(function(){N=e.location});var w=function(P){if(d(h,P)){var R=h[P];delete h[P],R()}},A=function(P){return function(){w(P)}},T=function(P){w(P.data)},E=function(P){e.postMessage(b(P),N.protocol+"//"+N.host)};(!f||!u)&&(f=function(){function O(P){p(arguments.length,1);var R=o(P)?P:c(P),F=k(arguments,1);return h[++g]=function(){a(R,void 0,F)},x(g),g}return O}(),u=function(){function O(P){delete h[P]}return O}(),l?x=function(P){s.nextTick(A(P))}:m&&m.now?x=function(P){m.now(A(P))}:v&&!i?(B=new v,L=B.port2,B.port1.onmessage=T,x=t(L.postMessage,L)):e.addEventListener&&o(e.postMessage)&&!e.importScripts&&N&&N.protocol!=="file:"&&!y(E)?(x=E,e.addEventListener("message",T,!1)):C in S("script")?x=function(P){V.appendChild(S("script"))[C]=function(){V.removeChild(this),w(P)}}:x=function(P){setTimeout(A(P),0)}),I.exports={set:f,clear:u}},46438:function(I,r,n){"use strict";var e=n(67250);I.exports=e(1 .valueOf)},13912:function(I,r,n){"use strict";var e=n(61365),a=Math.max,t=Math.min;I.exports=function(o,d){var y=e(o);return y<0?a(y+d,0):t(y,d)}},61484:function(I,r,n){"use strict";var e=n(24843),a=TypeError;I.exports=function(t){var o=e(t,"number");if(typeof o=="number")throw new a("Can't convert number to bigint");return BigInt(o)}},43806:function(I,r,n){"use strict";var e=n(61365),a=n(10188),t=RangeError;I.exports=function(o){if(o===void 0)return 0;var d=e(o),y=a(d);if(d!==y)throw new t("Wrong length or index");return y}},57591:function(I,r,n){"use strict";var e=n(37457),a=n(16952);I.exports=function(t){return e(a(t))}},61365:function(I,r,n){"use strict";var e=n(21119);I.exports=function(a){var t=+a;return t!==t||t===0?0:e(t)}},10188:function(I,r,n){"use strict";var e=n(61365),a=Math.min;I.exports=function(t){var o=e(t);return o>0?a(o,9007199254740991):0}},46771:function(I,r,n){"use strict";var e=n(16952),a=Object;I.exports=function(t){return a(e(t))}},56043:function(I,r,n){"use strict";var e=n(16140),a=RangeError;I.exports=function(t,o){var d=e(t);if(d%o)throw new a("Wrong offset");return d}},16140:function(I,r,n){"use strict";var e=n(61365),a=RangeError;I.exports=function(t){var o=e(t);if(o<0)throw new a("The argument can't be less than 0");return o}},24843:function(I,r,n){"use strict";var e=n(91495),a=n(77568),t=n(71399),o=n(78060),d=n(13396),y=n(24697),V=TypeError,k=y("toPrimitive");I.exports=function(S,p){if(!a(S)||t(S))return S;var i=o(S,k),l;if(i){if(p===void 0&&(p="default"),l=e(i,S,p),!a(l)||t(l))return l;throw new V("Can't convert object to primitive value")}return p===void 0&&(p="number"),d(S,p)}},767:function(I,r,n){"use strict";var e=n(24843),a=n(71399);I.exports=function(t){var o=e(t,"string");return a(o)?o:o+""}},2650:function(I,r,n){"use strict";var e=n(24697),a=e("toStringTag"),t={};t[a]="z",I.exports=String(t)==="[object z]"},12605:function(I,r,n){"use strict";var e=n(2281),a=String;I.exports=function(t){if(e(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return a(t)}},15409:function(I){"use strict";var r=Math.round;I.exports=function(n){var e=r(n);return e<0?0:e>255?255:e&255}},89393:function(I){"use strict";var r=String;I.exports=function(n){try{return r(n)}catch(e){return"Object"}}},80185:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(91495),o=n(58310),d=n(86563),y=n(4246),V=n(37336),k=n(60077),S=n(87458),p=n(37909),i=n(5841),l=n(10188),f=n(43806),u=n(56043),s=n(15409),m=n(767),c=n(45299),v=n(2281),b=n(77568),g=n(71399),h=n(80674),C=n(21287),N=n(76649),x=n(37310).f,B=n(3805),L=n(22603).forEach,w=n(58491),A=n(73936),T=n(74595),E=n(27193),O=n(78008),P=n(5419),R=n(5781),F=P.get,j=P.set,W=P.enforce,z=T.f,H=E.f,$=a.RangeError,G=V.ArrayBuffer,ne=G.prototype,Q=V.DataView,he=y.NATIVE_ARRAY_BUFFER_VIEWS,Ve=y.TYPED_ARRAY_TAG,Ne=y.TypedArray,Be=y.TypedArrayPrototype,Le=y.isTypedArray,Ae="BYTES_PER_ELEMENT",fe="Wrong length",Z=function(me,Te){A(me,Te,{configurable:!0,get:function(){function M(){return F(this)[Te]}return M}()})},J=function(me){var Te;return C(ne,me)||(Te=v(me))==="ArrayBuffer"||Te==="SharedArrayBuffer"},te=function(me,Te){return Le(me)&&!g(Te)&&Te in me&&i(+Te)&&Te>=0},ee=function(){function ye(me,Te){return Te=m(Te),te(me,Te)?S(2,me[Te]):H(me,Te)}return ye}(),le=function(){function ye(me,Te,M){return Te=m(Te),te(me,Te)&&b(M)&&c(M,"value")&&!c(M,"get")&&!c(M,"set")&&!M.configurable&&(!c(M,"writable")||M.writable)&&(!c(M,"enumerable")||M.enumerable)?(me[Te]=M.value,me):z(me,Te,M)}return ye}();o?(he||(E.f=ee,T.f=le,Z(Be,"buffer"),Z(Be,"byteOffset"),Z(Be,"byteLength"),Z(Be,"length")),e({target:"Object",stat:!0,forced:!he},{getOwnPropertyDescriptor:ee,defineProperty:le}),I.exports=function(ye,me,Te){var M=ye.match(/\d+/)[0]/8,X=ye+(Te?"Clamped":"")+"Array",ae="get"+ye,ue="set"+ye,ie=a[X],ge=ie,Ce=ge&&ge.prototype,Me={},De=function(_,oe){var ve=F(_);return ve.view[ae](oe*M+ve.byteOffset,!0)},ke=function(_,oe,ve){var Se=F(_);Se.view[ue](oe*M+Se.byteOffset,Te?s(ve):ve,!0)},pe=function(_,oe){z(_,oe,{get:function(){function ve(){return De(this,oe)}return ve}(),set:function(){function ve(Se){return ke(this,oe,Se)}return ve}(),enumerable:!0})};he?d&&(ge=me(function(xe,_,oe,ve){return k(xe,Ce),R(function(){return b(_)?J(_)?ve!==void 0?new ie(_,u(oe,M),ve):oe!==void 0?new ie(_,u(oe,M)):new ie(_):Le(_)?O(ge,_):t(B,ge,_):new ie(f(_))}(),xe,ge)}),N&&N(ge,Ne),L(x(ie),function(xe){xe in ge||p(ge,xe,ie[xe])}),ge.prototype=Ce):(ge=me(function(xe,_,oe,ve){k(xe,Ce);var Se=0,Ie=0,Ee,Pe,Oe;if(!b(_))Oe=f(_),Pe=Oe*M,Ee=new G(Pe);else if(J(_)){Ee=_,Ie=u(oe,M);var We=_.byteLength;if(ve===void 0){if(We%M)throw new $(fe);if(Pe=We-Ie,Pe<0)throw new $(fe)}else if(Pe=l(ve)*M,Pe+Ie>We)throw new $(fe);Oe=Pe/M}else return Le(_)?O(ge,_):t(B,ge,_);for(j(xe,{buffer:Ee,byteOffset:Ie,byteLength:Pe,length:Oe,view:new Q(Ee)});Se1?arguments[1]:void 0,v=c!==void 0,b=V(s),g,h,C,N,x,B,L,w;if(b&&!k(b))for(L=y(s,b),w=L.next,s=[];!(B=a(w,L)).done;)s.push(B.value);for(v&&m>2&&(c=e(c,arguments[2])),h=d(s),C=new(p(u))(h),N=S(C),g=0;h>g;g++)x=v?c(s[g],g):s[g],C[g]=N?i(x):+x;return C}return l}()},31082:function(I,r,n){"use strict";var e=n(4246),a=n(28987),t=e.aTypedArrayConstructor,o=e.getTypedArrayConstructor;I.exports=function(d){return t(a(d,o(d)))}},16738:function(I,r,n){"use strict";var e=n(67250),a=0,t=Math.random(),o=e(1 .toString);I.exports=function(d){return"Symbol("+(d===void 0?"":d)+")_"+o(++a+t,36)}},1062:function(I,r,n){"use strict";var e=n(52357);I.exports=e&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},80944:function(I,r,n){"use strict";var e=n(58310),a=n(40033);I.exports=e&&a(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},24986:function(I){"use strict";var r=TypeError;I.exports=function(n,e){if(n=51||!a(function(){var c=[];return c[f]=!1,c.concat()[0]!==c}),s=function(v){if(!o(v))return!1;var b=v[f];return b!==void 0?!!b:t(v)},m=!u||!p("concat");e({target:"Array",proto:!0,arity:1,forced:m},{concat:function(){function c(v){var b=d(this),g=S(b,0),h=0,C,N,x,B,L;for(C=-1,x=arguments.length;C1?arguments[1]:void 0)}return d}()})},68933:function(I,r,n){"use strict";var e=n(63964),a=n(88471),t=n(80575);e({target:"Array",proto:!0},{fill:a}),t("fill")},47830:function(I,r,n){"use strict";var e=n(63964),a=n(22603).filter,t=n(44091),o=t("filter");e({target:"Array",proto:!0,forced:!o},{filter:function(){function d(y){return a(this,y,arguments.length>1?arguments[1]:void 0)}return d}()})},64094:function(I,r,n){"use strict";var e=n(63964),a=n(22603).findIndex,t=n(80575),o="findIndex",d=!0;o in[]&&Array(1)[o](function(){d=!1}),e({target:"Array",proto:!0,forced:d},{findIndex:function(){function y(V){return a(this,V,arguments.length>1?arguments[1]:void 0)}return y}()}),t(o)},13455:function(I,r,n){"use strict";var e=n(63964),a=n(22603).find,t=n(80575),o="find",d=!0;o in[]&&Array(1)[o](function(){d=!1}),e({target:"Array",proto:!0,forced:d},{find:function(){function y(V){return a(this,V,arguments.length>1?arguments[1]:void 0)}return y}()}),t(o)},32384:function(I,r,n){"use strict";var e=n(63964),a=n(65561),t=n(10320),o=n(46771),d=n(24760),y=n(57823);e({target:"Array",proto:!0},{flatMap:function(){function V(k){var S=o(this),p=d(S),i;return t(k),i=y(S,0),i.length=a(i,S,S,p,0,1,k,arguments.length>1?arguments[1]:void 0),i}return V}()})},61915:function(I,r,n){"use strict";var e=n(63964),a=n(65561),t=n(46771),o=n(24760),d=n(61365),y=n(57823);e({target:"Array",proto:!0},{flat:function(){function V(){var k=arguments.length?arguments[0]:void 0,S=t(this),p=o(S),i=y(S,0);return i.length=a(i,S,S,p,0,k===void 0?1:d(k)),i}return V}()})},25579:function(I,r,n){"use strict";var e=n(63964),a=n(35601);e({target:"Array",proto:!0,forced:[].forEach!==a},{forEach:a})},63532:function(I,r,n){"use strict";var e=n(63964),a=n(73174),t=n(92490),o=!t(function(d){Array.from(d)});e({target:"Array",stat:!0,forced:o},{from:a})},33425:function(I,r,n){"use strict";var e=n(63964),a=n(14211).includes,t=n(40033),o=n(80575),d=t(function(){return!Array(1).includes()});e({target:"Array",proto:!0,forced:d},{includes:function(){function y(V){return a(this,V,arguments.length>1?arguments[1]:void 0)}return y}()}),o("includes")},43894:function(I,r,n){"use strict";var e=n(63964),a=n(71138),t=n(14211).indexOf,o=n(55528),d=a([].indexOf),y=!!d&&1/d([1],1,-0)<0,V=y||!o("indexOf");e({target:"Array",proto:!0,forced:V},{indexOf:function(){function k(S){var p=arguments.length>1?arguments[1]:void 0;return y?d(this,S,p)||0:t(this,S,p)}return k}()})},99636:function(I,r,n){"use strict";var e=n(63964),a=n(37386);e({target:"Array",stat:!0},{isArray:a})},34570:function(I,r,n){"use strict";var e=n(57591),a=n(80575),t=n(83967),o=n(5419),d=n(74595).f,y=n(65574),V=n(5959),k=n(4493),S=n(58310),p="Array Iterator",i=o.set,l=o.getterFor(p);I.exports=y(Array,"Array",function(u,s){i(this,{type:p,target:e(u),index:0,kind:s})},function(){var u=l(this),s=u.target,m=u.index++;if(!s||m>=s.length)return u.target=null,V(void 0,!0);switch(u.kind){case"keys":return V(m,!1);case"values":return V(s[m],!1)}return V([m,s[m]],!1)},"values");var f=t.Arguments=t.Array;if(a("keys"),a("values"),a("entries"),!k&&S&&f.name!=="values")try{d(f,"name",{value:"values"})}catch(u){}},94432:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37457),o=n(57591),d=n(55528),y=a([].join),V=t!==Object,k=V||!d("join",",");e({target:"Array",proto:!0,forced:k},{join:function(){function S(p){return y(o(this),p===void 0?",":p)}return S}()})},24683:function(I,r,n){"use strict";var e=n(63964),a=n(1325);e({target:"Array",proto:!0,forced:a!==[].lastIndexOf},{lastIndexOf:a})},69984:function(I,r,n){"use strict";var e=n(63964),a=n(22603).map,t=n(44091),o=t("map");e({target:"Array",proto:!0,forced:!o},{map:function(){function d(y){return a(this,y,arguments.length>1?arguments[1]:void 0)}return d}()})},32089:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(1031),o=n(60102),d=Array,y=a(function(){function V(){}return!(d.of.call(V)instanceof V)});e({target:"Array",stat:!0,forced:y},{of:function(){function V(){for(var k=0,S=arguments.length,p=new(t(this)?this:d)(S);S>k;)o(p,k,arguments[k++]);return p.length=S,p}return V}()})},29645:function(I,r,n){"use strict";var e=n(63964),a=n(56844).right,t=n(55528),o=n(83141),d=n(81663),y=!d&&o>79&&o<83,V=y||!t("reduceRight");e({target:"Array",proto:!0,forced:V},{reduceRight:function(){function k(S){return a(this,S,arguments.length,arguments.length>1?arguments[1]:void 0)}return k}()})},60206:function(I,r,n){"use strict";var e=n(63964),a=n(56844).left,t=n(55528),o=n(83141),d=n(81663),y=!d&&o>79&&o<83,V=y||!t("reduce");e({target:"Array",proto:!0,forced:V},{reduce:function(){function k(S){var p=arguments.length;return a(this,S,p,p>1?arguments[1]:void 0)}return k}()})},4788:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37386),o=a([].reverse),d=[1,2];e({target:"Array",proto:!0,forced:String(d)===String(d.reverse())},{reverse:function(){function y(){return t(this)&&(this.length=this.length),o(this)}return y}()})},58672:function(I,r,n){"use strict";var e=n(63964),a=n(37386),t=n(1031),o=n(77568),d=n(13912),y=n(24760),V=n(57591),k=n(60102),S=n(24697),p=n(44091),i=n(54602),l=p("slice"),f=S("species"),u=Array,s=Math.max;e({target:"Array",proto:!0,forced:!l},{slice:function(){function m(c,v){var b=V(this),g=y(b),h=d(c,g),C=d(v===void 0?g:v,g),N,x,B;if(a(b)&&(N=b.constructor,t(N)&&(N===u||a(N.prototype))?N=void 0:o(N)&&(N=N[f],N===null&&(N=void 0)),N===u||N===void 0))return i(b,h,C);for(x=new(N===void 0?u:N)(s(C-h,0)),B=0;h1?arguments[1]:void 0)}return d}()})},48968:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(10320),o=n(46771),d=n(24760),y=n(95108),V=n(12605),k=n(40033),S=n(90274),p=n(55528),i=n(50503),l=n(79725),f=n(83141),u=n(44981),s=[],m=a(s.sort),c=a(s.push),v=k(function(){s.sort(void 0)}),b=k(function(){s.sort(null)}),g=p("sort"),h=!k(function(){if(f)return f<70;if(!(i&&i>3)){if(l)return!0;if(u)return u<603;var x="",B,L,w,A;for(B=65;B<76;B++){switch(L=String.fromCharCode(B),B){case 66:case 69:case 70:case 72:w=3;break;case 68:case 71:w=4;break;default:w=2}for(A=0;A<47;A++)s.push({k:L+A,v:w})}for(s.sort(function(T,E){return E.v-T.v}),A=0;AV(w)?1:-1}};e({target:"Array",proto:!0,forced:C},{sort:function(){function x(B){B!==void 0&&t(B);var L=o(this);if(h)return B===void 0?m(L):m(L,B);var w=[],A=d(L),T,E;for(E=0;Eb-N+C;B--)p(v,B-1)}else if(C>N)for(B=b-N;B>g;B--)L=B+N-1,w=B+C-1,L in v?v[w]=v[L]:p(v,w);for(B=0;B9490626562425156e-8?o(p)+y:a(p-1+d(p-1)*d(p+1))}return k}()})},59660:function(I,r,n){"use strict";var e=n(63964),a=Math.asinh,t=Math.log,o=Math.sqrt;function d(V){var k=+V;return!isFinite(k)||k===0?k:k<0?-d(-k):t(k+o(k*k+1))}var y=!(a&&1/a(0)>0);e({target:"Math",stat:!0,forced:y},{asinh:d})},15383:function(I,r,n){"use strict";var e=n(63964),a=Math.atanh,t=Math.log,o=!(a&&1/a(-0)<0);e({target:"Math",stat:!0,forced:o},{atanh:function(){function d(y){var V=+y;return V===0?V:t((1+V)/(1-V))/2}return d}()})},92866:function(I,r,n){"use strict";var e=n(63964),a=n(22172),t=Math.abs,o=Math.pow;e({target:"Math",stat:!0},{cbrt:function(){function d(y){var V=+y;return a(V)*o(t(V),.3333333333333333)}return d}()})},86107:function(I,r,n){"use strict";var e=n(63964),a=Math.floor,t=Math.log,o=Math.LOG2E;e({target:"Math",stat:!0},{clz32:function(){function d(y){var V=y>>>0;return V?31-a(t(V+.5)*o):32}return d}()})},29248:function(I,r,n){"use strict";var e=n(63964),a=n(82040),t=Math.cosh,o=Math.abs,d=Math.E,y=!t||t(710)===1/0;e({target:"Math",stat:!0,forced:y},{cosh:function(){function V(k){var S=a(o(k)-1)+1;return(S+1/(S*d*d))*(d/2)}return V}()})},52540:function(I,r,n){"use strict";var e=n(63964),a=n(82040);e({target:"Math",stat:!0,forced:a!==Math.expm1},{expm1:a})},79007:function(I,r,n){"use strict";var e=n(63964),a=n(95867);e({target:"Math",stat:!0},{fround:a})},77199:function(I,r,n){"use strict";var e=n(63964),a=Math.hypot,t=Math.abs,o=Math.sqrt,d=!!a&&a(1/0,NaN)!==1/0;e({target:"Math",stat:!0,arity:2,forced:d},{hypot:function(){function y(V,k){for(var S=0,p=0,i=arguments.length,l=0,f,u;p0?(u=f/l,S+=u*u):S+=f;return l===1/0?1/0:l*o(S)}return y}()})},6522:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=Math.imul,o=a(function(){return t(4294967295,5)!==-5||t.length!==2});e({target:"Math",stat:!0,forced:o},{imul:function(){function d(y,V){var k=65535,S=+y,p=+V,i=k&S,l=k&p;return 0|i*l+((k&S>>>16)*l+i*(k&p>>>16)<<16>>>0)}return d}()})},95542:function(I,r,n){"use strict";var e=n(63964),a=n(75002);e({target:"Math",stat:!0},{log10:a})},2966:function(I,r,n){"use strict";var e=n(63964),a=n(90874);e({target:"Math",stat:!0},{log1p:a})},20997:function(I,r,n){"use strict";var e=n(63964),a=Math.log,t=Math.LN2;e({target:"Math",stat:!0},{log2:function(){function o(d){return a(d)/t}return o}()})},57400:function(I,r,n){"use strict";var e=n(63964),a=n(22172);e({target:"Math",stat:!0},{sign:a})},45571:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(82040),o=Math.abs,d=Math.exp,y=Math.E,V=a(function(){return Math.sinh(-2e-17)!==-2e-17});e({target:"Math",stat:!0,forced:V},{sinh:function(){function k(S){var p=+S;return o(p)<1?(t(p)-t(-p))/2:(d(p-1)-d(-p-1))*(y/2)}return k}()})},54800:function(I,r,n){"use strict";var e=n(63964),a=n(82040),t=Math.exp;e({target:"Math",stat:!0},{tanh:function(){function o(d){var y=+d,V=a(y),k=a(-y);return V===1/0?1:k===1/0?-1:(V-k)/(t(y)+t(-y))}return o}()})},15709:function(I,r,n){"use strict";var e=n(84925);e(Math,"Math",!0)},76059:function(I,r,n){"use strict";var e=n(63964),a=n(21119);e({target:"Math",stat:!0},{trunc:a})},96614:function(I,r,n){"use strict";var e=n(63964),a=n(4493),t=n(58310),o=n(16210),d=n(61765),y=n(67250),V=n(41314),k=n(45299),S=n(5781),p=n(21287),i=n(71399),l=n(24843),f=n(40033),u=n(37310).f,s=n(27193).f,m=n(74595).f,c=n(46438),v=n(92648).trim,b="Number",g=o[b],h=d[b],C=g.prototype,N=o.TypeError,x=y("".slice),B=y("".charCodeAt),L=function(R){var F=l(R,"number");return typeof F=="bigint"?F:w(F)},w=function(R){var F=l(R,"number"),j,W,z,H,$,G,ne,Q;if(i(F))throw new N("Cannot convert a Symbol value to a number");if(typeof F=="string"&&F.length>2){if(F=v(F),j=B(F,0),j===43||j===45){if(W=B(F,2),W===88||W===120)return NaN}else if(j===48){switch(B(F,1)){case 66:case 98:z=2,H=49;break;case 79:case 111:z=8,H=55;break;default:return+F}for($=x(F,2),G=$.length,ne=0;neH)return NaN;return parseInt($,z)}}return+F},A=V(b,!g(" 0o1")||!g("0b1")||g("+0x1")),T=function(R){return p(C,R)&&f(function(){c(R)})},E=function(){function P(R){var F=arguments.length<1?0:g(L(R));return T(this)?S(Object(F),this,E):F}return P}();E.prototype=C,A&&!a&&(C.constructor=E),e({global:!0,constructor:!0,wrap:!0,forced:A},{Number:E});var O=function(R,F){for(var j=t?u(F):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),W=0,z;j.length>W;W++)k(F,z=j[W])&&!k(R,z)&&m(R,z,s(F,z))};a&&h&&O(d[b],h),(A||a)&&O(d[b],g)},324:function(I,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},90426:function(I,r,n){"use strict";var e=n(63964),a=n(3294);e({target:"Number",stat:!0},{isFinite:a})},95443:function(I,r,n){"use strict";var e=n(63964),a=n(5841);e({target:"Number",stat:!0},{isInteger:a})},87968:function(I,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0},{isNaN:function(){function a(t){return t!==t}return a}()})},55007:function(I,r,n){"use strict";var e=n(63964),a=n(5841),t=Math.abs;e({target:"Number",stat:!0},{isSafeInteger:function(){function o(d){return a(d)&&t(d)<=9007199254740991}return o}()})},55323:function(I,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},13521:function(I,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},5006:function(I,r,n){"use strict";var e=n(63964),a=n(28506);e({target:"Number",stat:!0,forced:Number.parseFloat!==a},{parseFloat:a})},99009:function(I,r,n){"use strict";var e=n(63964),a=n(13693);e({target:"Number",stat:!0,forced:Number.parseInt!==a},{parseInt:a})},85770:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(61365),o=n(46438),d=n(62443),y=n(40033),V=RangeError,k=String,S=Math.floor,p=a(d),i=a("".slice),l=a(1 .toFixed),f=function(g,h,C){return h===0?C:h%2===1?f(g,h-1,C*g):f(g*g,h/2,C)},u=function(g){for(var h=0,C=g;C>=4096;)h+=12,C/=4096;for(;C>=2;)h+=1,C/=2;return h},s=function(g,h,C){for(var N=-1,x=C;++N<6;)x+=h*g[N],g[N]=x%1e7,x=S(x/1e7)},m=function(g,h){for(var C=6,N=0;--C>=0;)N+=g[C],g[C]=S(N/h),N=N%h*1e7},c=function(g){for(var h=6,C="";--h>=0;)if(C!==""||h===0||g[h]!==0){var N=k(g[h]);C=C===""?N:C+p("0",7-N.length)+N}return C},v=y(function(){return l(8e-5,3)!=="0.000"||l(.9,0)!=="1"||l(1.255,2)!=="1.25"||l(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!y(function(){l({})});e({target:"Number",proto:!0,forced:v},{toFixed:function(){function b(g){var h=o(this),C=t(g),N=[0,0,0,0,0,0],x="",B="0",L,w,A,T;if(C<0||C>20)throw new V("Incorrect fraction digits");if(h!==h)return"NaN";if(h<=-1e21||h>=1e21)return k(h);if(h<0&&(x="-",h=-h),h>1e-21)if(L=u(h*f(2,69,1))-69,w=L<0?h*f(2,-L,1):h/f(2,L,1),w*=4503599627370496,L=52-L,L>0){for(s(N,0,w),A=C;A>=7;)s(N,1e7,0),A-=7;for(s(N,f(10,A,1),0),A=L-1;A>=23;)m(N,8388608),A-=23;m(N,1<0?(T=B.length,B=x+(T<=C?"0."+p("0",C-T)+B:i(B,0,T-C)+"."+i(B,T-C))):B=x+B,B}return b}()})},23532:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(40033),o=n(46438),d=a(1 .toPrecision),y=t(function(){return d(1,void 0)!=="1"})||!t(function(){d({})});e({target:"Number",proto:!0,forced:y},{toPrecision:function(){function V(k){return k===void 0?d(o(this)):d(o(this),k)}return V}()})},87119:function(I,r,n){"use strict";var e=n(63964),a=n(41143);e({target:"Object",stat:!0,arity:2,forced:Object.assign!==a},{assign:a})},78618:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(80674);e({target:"Object",stat:!0,sham:!a},{create:t})},27129:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(10320),d=n(46771),y=n(74595);a&&e({target:"Object",proto:!0,forced:t},{__defineGetter__:function(){function V(k,S){y.f(d(this),k,{get:o(S),enumerable:!0,configurable:!0})}return V}()})},31943:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(24239).f;e({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!a},{defineProperties:t})},3579:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(74595).f;e({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!a},{defineProperty:t})},97397:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(10320),d=n(46771),y=n(74595);a&&e({target:"Object",proto:!0,forced:t},{__defineSetter__:function(){function V(k,S){y.f(d(this),k,{set:o(S),enumerable:!0,configurable:!0})}return V}()})},85028:function(I,r,n){"use strict";var e=n(63964),a=n(70915).entries;e({target:"Object",stat:!0},{entries:function(){function t(o){return a(o)}return t}()})},8225:function(I,r,n){"use strict";var e=n(63964),a=n(50730),t=n(40033),o=n(77568),d=n(81969).onFreeze,y=Object.freeze,V=t(function(){y(1)});e({target:"Object",stat:!0,forced:V,sham:!a},{freeze:function(){function k(S){return y&&o(S)?y(d(S)):S}return k}()})},43331:function(I,r,n){"use strict";var e=n(63964),a=n(49450),t=n(60102);e({target:"Object",stat:!0},{fromEntries:function(){function o(d){var y={};return a(d,function(V,k){t(y,V,k)},{AS_ENTRIES:!0}),y}return o}()})},62289:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(57591),o=n(27193).f,d=n(58310),y=!d||a(function(){o(1)});e({target:"Object",stat:!0,forced:y,sham:!d},{getOwnPropertyDescriptor:function(){function V(k,S){return o(t(k),S)}return V}()})},56196:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(97921),o=n(57591),d=n(27193),y=n(60102);e({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(){function V(k){for(var S=o(k),p=d.f,i=t(S),l={},f=0,u,s;i.length>f;)s=p(S,u=i[f++]),s!==void 0&&y(l,u,s);return l}return V}()})},2950:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(81644).f,o=a(function(){return!Object.getOwnPropertyNames(1)});e({target:"Object",stat:!0,forced:o},{getOwnPropertyNames:t})},28603:function(I,r,n){"use strict";var e=n(63964),a=n(52357),t=n(40033),o=n(89235),d=n(46771),y=!a||t(function(){o.f(1)});e({target:"Object",stat:!0,forced:y},{getOwnPropertySymbols:function(){function V(k){var S=o.f;return S?S(d(k)):[]}return V}()})},44205:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(46771),o=n(36917),d=n(9225),y=a(function(){o(1)});e({target:"Object",stat:!0,forced:y,sham:!d},{getPrototypeOf:function(){function V(k){return o(t(k))}return V}()})},83186:function(I,r,n){"use strict";var e=n(63964),a=n(81834);e({target:"Object",stat:!0,forced:Object.isExtensible!==a},{isExtensible:a})},76065:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(77568),o=n(7462),d=n(3782),y=Object.isFrozen,V=d||a(function(){y(1)});e({target:"Object",stat:!0,forced:V},{isFrozen:function(){function k(S){return!t(S)||d&&o(S)==="ArrayBuffer"?!0:y?y(S):!1}return k}()})},13411:function(I,r,n){"use strict";var e=n(63964),a=n(40033),t=n(77568),o=n(7462),d=n(3782),y=Object.isSealed,V=d||a(function(){y(1)});e({target:"Object",stat:!0,forced:V},{isSealed:function(){function k(S){return!t(S)||d&&o(S)==="ArrayBuffer"?!0:y?y(S):!1}return k}()})},76882:function(I,r,n){"use strict";var e=n(63964),a=n(5700);e({target:"Object",stat:!0},{is:a})},26634:function(I,r,n){"use strict";var e=n(63964),a=n(46771),t=n(18450),o=n(40033),d=o(function(){t(1)});e({target:"Object",stat:!0,forced:d},{keys:function(){function y(V){return t(a(V))}return y}()})},53118:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(46771),d=n(767),y=n(36917),V=n(27193).f;a&&e({target:"Object",proto:!0,forced:t},{__lookupGetter__:function(){function k(S){var p=o(this),i=d(S),l;do if(l=V(p,i))return l.get;while(p=y(p))}return k}()})},42514:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(46771),d=n(767),y=n(36917),V=n(27193).f;a&&e({target:"Object",proto:!0,forced:t},{__lookupSetter__:function(){function k(S){var p=o(this),i=d(S),l;do if(l=V(p,i))return l.set;while(p=y(p))}return k}()})},84353:function(I,r,n){"use strict";var e=n(63964),a=n(77568),t=n(81969).onFreeze,o=n(50730),d=n(40033),y=Object.preventExtensions,V=d(function(){y(1)});e({target:"Object",stat:!0,forced:V,sham:!o},{preventExtensions:function(){function k(S){return y&&a(S)?y(t(S)):S}return k}()})},62987:function(I,r,n){"use strict";var e=n(63964),a=n(77568),t=n(81969).onFreeze,o=n(50730),d=n(40033),y=Object.seal,V=d(function(){y(1)});e({target:"Object",stat:!0,forced:V,sham:!o},{seal:function(){function k(S){return y&&a(S)?y(t(S)):S}return k}()})},48993:function(I,r,n){"use strict";var e=n(63964),a=n(76649);e({target:"Object",stat:!0},{setPrototypeOf:a})},52917:function(I,r,n){"use strict";var e=n(2650),a=n(55938),t=n(2509);e||a(Object.prototype,"toString",t,{unsafe:!0})},4972:function(I,r,n){"use strict";var e=n(63964),a=n(70915).values;e({target:"Object",stat:!0},{values:function(){function t(o){return a(o)}return t}()})},28913:function(I,r,n){"use strict";var e=n(63964),a=n(28506);e({global:!0,forced:parseFloat!==a},{parseFloat:a})},36382:function(I,r,n){"use strict";var e=n(63964),a=n(13693);e({global:!0,forced:parseInt!==a},{parseInt:a})},48865:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(10320),o=n(81837),d=n(10729),y=n(49450),V=n(48199);e({target:"Promise",stat:!0,forced:V},{all:function(){function k(S){var p=this,i=o.f(p),l=i.resolve,f=i.reject,u=d(function(){var s=t(p.resolve),m=[],c=0,v=1;y(S,function(b){var g=c++,h=!1;v++,a(s,p,b).then(function(C){h||(h=!0,m[g]=C,--v||l(m))},f)}),--v||l(m)});return u.error&&f(u.value),i.promise}return k}()})},70641:function(I,r,n){"use strict";var e=n(63964),a=n(4493),t=n(74854).CONSTRUCTOR,o=n(67512),d=n(4009),y=n(55747),V=n(55938),k=o&&o.prototype;if(e({target:"Promise",proto:!0,forced:t,real:!0},{catch:function(){function p(i){return this.then(void 0,i)}return p}()}),!a&&y(o)){var S=d("Promise").prototype.catch;k.catch!==S&&V(k,"catch",S,{unsafe:!0})}},75946:function(I,r,n){"use strict";var e=n(63964),a=n(4493),t=n(81663),o=n(16210),d=n(91495),y=n(55938),V=n(76649),k=n(84925),S=n(58491),p=n(10320),i=n(55747),l=n(77568),f=n(60077),u=n(28987),s=n(60375).set,m=n(37713),c=n(72259),v=n(10729),b=n(9547),g=n(5419),h=n(67512),C=n(74854),N=n(81837),x="Promise",B=C.CONSTRUCTOR,L=C.REJECTION_EVENT,w=C.SUBCLASSING,A=g.getterFor(x),T=g.set,E=h&&h.prototype,O=h,P=E,R=o.TypeError,F=o.document,j=o.process,W=N.f,z=W,H=!!(F&&F.createEvent&&o.dispatchEvent),$="unhandledrejection",G="rejectionhandled",ne=0,Q=1,he=2,Ve=1,Ne=2,Be,Le,Ae,fe,Z=function(ue){var ie;return l(ue)&&i(ie=ue.then)?ie:!1},J=function(ue,ie){var ge=ie.value,Ce=ie.state===Q,Me=Ce?ue.ok:ue.fail,De=ue.resolve,ke=ue.reject,pe=ue.domain,se,xe,_;try{Me?(Ce||(ie.rejection===Ne&&me(ie),ie.rejection=Ve),Me===!0?se=ge:(pe&&pe.enter(),se=Me(ge),pe&&(pe.exit(),_=!0)),se===ue.promise?ke(new R("Promise-chain cycle")):(xe=Z(se))?d(xe,se,De,ke):De(se)):ke(ge)}catch(oe){pe&&!_&&pe.exit(),ke(oe)}},te=function(ue,ie){ue.notified||(ue.notified=!0,m(function(){for(var ge=ue.reactions,Ce;Ce=ge.get();)J(Ce,ue);ue.notified=!1,ie&&!ue.rejection&&le(ue)}))},ee=function(ue,ie,ge){var Ce,Me;H?(Ce=F.createEvent("Event"),Ce.promise=ie,Ce.reason=ge,Ce.initEvent(ue,!1,!0),o.dispatchEvent(Ce)):Ce={promise:ie,reason:ge},!L&&(Me=o["on"+ue])?Me(Ce):ue===$&&c("Unhandled promise rejection",ge)},le=function(ue){d(s,o,function(){var ie=ue.facade,ge=ue.value,Ce=ye(ue),Me;if(Ce&&(Me=v(function(){t?j.emit("unhandledRejection",ge,ie):ee($,ie,ge)}),ue.rejection=t||ye(ue)?Ne:Ve,Me.error))throw Me.value})},ye=function(ue){return ue.rejection!==Ve&&!ue.parent},me=function(ue){d(s,o,function(){var ie=ue.facade;t?j.emit("rejectionHandled",ie):ee(G,ie,ue.value)})},Te=function(ue,ie,ge){return function(Ce){ue(ie,Ce,ge)}},M=function(ue,ie,ge){ue.done||(ue.done=!0,ge&&(ue=ge),ue.value=ie,ue.state=he,te(ue,!0))},X=function(ue,ie,ge){if(!ue.done){ue.done=!0,ge&&(ue=ge);try{if(ue.facade===ie)throw new R("Promise can't be resolved itself");var Ce=Z(ie);Ce?m(function(){var Me={done:!1};try{d(Ce,ie,Te(X,Me,ue),Te(M,Me,ue))}catch(De){M(Me,De,ue)}}):(ue.value=ie,ue.state=Q,te(ue,!1))}catch(Me){M({done:!1},Me,ue)}}};if(B&&(O=function(){function ae(ue){f(this,P),p(ue),d(Be,this);var ie=A(this);try{ue(Te(X,ie),Te(M,ie))}catch(ge){M(ie,ge)}}return ae}(),P=O.prototype,Be=function(){function ae(ue){T(this,{type:x,done:!1,notified:!1,parent:!1,reactions:new b,rejection:!1,state:ne,value:null})}return ae}(),Be.prototype=y(P,"then",function(){function ae(ue,ie){var ge=A(this),Ce=W(u(this,O));return ge.parent=!0,Ce.ok=i(ue)?ue:!0,Ce.fail=i(ie)&&ie,Ce.domain=t?j.domain:void 0,ge.state===ne?ge.reactions.add(Ce):m(function(){J(Ce,ge)}),Ce.promise}return ae}()),Le=function(){var ue=new Be,ie=A(ue);this.promise=ue,this.resolve=Te(X,ie),this.reject=Te(M,ie)},N.f=W=function(ue){return ue===O||ue===Ae?new Le(ue):z(ue)},!a&&i(h)&&E!==Object.prototype)){fe=E.then,w||y(E,"then",function(){function ae(ue,ie){var ge=this;return new O(function(Ce,Me){d(fe,ge,Ce,Me)}).then(ue,ie)}return ae}(),{unsafe:!0});try{delete E.constructor}catch(ae){}V&&V(E,P)}e({global:!0,constructor:!0,wrap:!0,forced:B},{Promise:O}),k(O,x,!1,!0),S(x)},69861:function(I,r,n){"use strict";var e=n(63964),a=n(4493),t=n(67512),o=n(40033),d=n(4009),y=n(55747),V=n(28987),k=n(66628),S=n(55938),p=t&&t.prototype,i=!!t&&o(function(){p.finally.call({then:function(){function f(){}return f}()},function(){})});if(e({target:"Promise",proto:!0,real:!0,forced:i},{finally:function(){function f(u){var s=V(this,d("Promise")),m=y(u);return this.then(m?function(c){return k(s,u()).then(function(){return c})}:u,m?function(c){return k(s,u()).then(function(){throw c})}:u)}return f}()}),!a&&y(t)){var l=d("Promise").prototype.finally;p.finally!==l&&S(p,"finally",l,{unsafe:!0})}},53092:function(I,r,n){"use strict";n(75946),n(48865),n(70641),n(16937),n(41719),n(81702)},16937:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(10320),o=n(81837),d=n(10729),y=n(49450),V=n(48199);e({target:"Promise",stat:!0,forced:V},{race:function(){function k(S){var p=this,i=o.f(p),l=i.reject,f=d(function(){var u=t(p.resolve);y(S,function(s){a(u,p,s).then(i.resolve,l)})});return f.error&&l(f.value),i.promise}return k}()})},41719:function(I,r,n){"use strict";var e=n(63964),a=n(81837),t=n(74854).CONSTRUCTOR;e({target:"Promise",stat:!0,forced:t},{reject:function(){function o(d){var y=a.f(this),V=y.reject;return V(d),y.promise}return o}()})},81702:function(I,r,n){"use strict";var e=n(63964),a=n(4009),t=n(4493),o=n(67512),d=n(74854).CONSTRUCTOR,y=n(66628),V=a("Promise"),k=t&&!d;e({target:"Promise",stat:!0,forced:t||d},{resolve:function(){function S(p){return y(k&&this===V?o:this,p)}return S}()})},29674:function(I,r,n){"use strict";var e=n(63964),a=n(61267),t=n(10320),o=n(30365),d=n(40033),y=!d(function(){Reflect.apply(function(){})});e({target:"Reflect",stat:!0,forced:y},{apply:function(){function V(k,S,p){return a(t(k),S,o(p))}return V}()})},81543:function(I,r,n){"use strict";var e=n(63964),a=n(4009),t=n(61267),o=n(66284),d=n(32606),y=n(30365),V=n(77568),k=n(80674),S=n(40033),p=a("Reflect","construct"),i=Object.prototype,l=[].push,f=S(function(){function m(){}return!(p(function(){},[],m)instanceof m)}),u=!S(function(){p(function(){})}),s=f||u;e({target:"Reflect",stat:!0,forced:s,sham:s},{construct:function(){function m(c,v){d(c),y(v);var b=arguments.length<3?c:d(arguments[2]);if(u&&!f)return p(c,v,b);if(c===b){switch(v.length){case 0:return new c;case 1:return new c(v[0]);case 2:return new c(v[0],v[1]);case 3:return new c(v[0],v[1],v[2]);case 4:return new c(v[0],v[1],v[2],v[3])}var g=[null];return t(l,g,v),new(t(o,c,g))}var h=b.prototype,C=k(V(h)?h:i),N=t(c,C,v);return V(N)?N:C}return m}()})},9373:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(30365),o=n(767),d=n(74595),y=n(40033),V=y(function(){Reflect.defineProperty(d.f({},1,{value:1}),1,{value:2})});e({target:"Reflect",stat:!0,forced:V,sham:!a},{defineProperty:function(){function k(S,p,i){t(S);var l=o(p);t(i);try{return d.f(S,l,i),!0}catch(f){return!1}}return k}()})},45093:function(I,r,n){"use strict";var e=n(63964),a=n(30365),t=n(27193).f;e({target:"Reflect",stat:!0},{deleteProperty:function(){function o(d,y){var V=t(a(d),y);return V&&!V.configurable?!1:delete d[y]}return o}()})},5815:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(30365),o=n(27193);e({target:"Reflect",stat:!0,sham:!a},{getOwnPropertyDescriptor:function(){function d(y,V){return o.f(t(y),V)}return d}()})},88527:function(I,r,n){"use strict";var e=n(63964),a=n(30365),t=n(36917),o=n(9225);e({target:"Reflect",stat:!0,sham:!o},{getPrototypeOf:function(){function d(y){return t(a(y))}return d}()})},63074:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(77568),o=n(30365),d=n(98373),y=n(27193),V=n(36917);function k(S,p){var i=arguments.length<3?S:arguments[2],l,f;if(o(S)===i)return S[p];if(l=y.f(S,p),l)return d(l)?l.value:l.get===void 0?void 0:a(l.get,i);if(t(f=V(S)))return k(f,p,i)}e({target:"Reflect",stat:!0},{get:k})},66390:function(I,r,n){"use strict";var e=n(63964);e({target:"Reflect",stat:!0},{has:function(){function a(t,o){return o in t}return a}()})},7784:function(I,r,n){"use strict";var e=n(63964),a=n(30365),t=n(81834);e({target:"Reflect",stat:!0},{isExtensible:function(){function o(d){return a(d),t(d)}return o}()})},50551:function(I,r,n){"use strict";var e=n(63964),a=n(97921);e({target:"Reflect",stat:!0},{ownKeys:a})},76483:function(I,r,n){"use strict";var e=n(63964),a=n(4009),t=n(30365),o=n(50730);e({target:"Reflect",stat:!0,sham:!o},{preventExtensions:function(){function d(y){t(y);try{var V=a("Object","preventExtensions");return V&&V(y),!0}catch(k){return!1}}return d}()})},63915:function(I,r,n){"use strict";var e=n(63964),a=n(30365),t=n(35908),o=n(76649);o&&e({target:"Reflect",stat:!0},{setPrototypeOf:function(){function d(y,V){a(y),t(V);try{return o(y,V),!0}catch(k){return!1}}return d}()})},92046:function(I,r,n){"use strict";var e=n(63964),a=n(91495),t=n(30365),o=n(77568),d=n(98373),y=n(40033),V=n(74595),k=n(27193),S=n(36917),p=n(87458);function i(f,u,s){var m=arguments.length<4?f:arguments[3],c=k.f(t(f),u),v,b,g;if(!c){if(o(b=S(f)))return i(b,u,s,m);c=p(0)}if(d(c)){if(c.writable===!1||!o(m))return!1;if(v=k.f(m,u)){if(v.get||v.set||v.writable===!1)return!1;v.value=s,V.f(m,u,v)}else V.f(m,u,p(0,s))}else{if(g=c.set,g===void 0)return!1;a(g,m,s)}return!0}var l=y(function(){var f=function(){},u=V.f(new f,"a",{configurable:!0});return Reflect.set(f.prototype,"a",1,u)!==!1});e({target:"Reflect",stat:!0,forced:l},{set:i})},51454:function(I,r,n){"use strict";var e=n(58310),a=n(16210),t=n(67250),o=n(41314),d=n(5781),y=n(37909),V=n(80674),k=n(37310).f,S=n(21287),p=n(72586),i=n(12605),l=n(73392),f=n(62115),u=n(34550),s=n(55938),m=n(40033),c=n(45299),v=n(5419).enforce,b=n(58491),g=n(24697),h=n(39173),C=n(35688),N=g("match"),x=a.RegExp,B=x.prototype,L=a.SyntaxError,w=t(B.exec),A=t("".charAt),T=t("".replace),E=t("".indexOf),O=t("".slice),P=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,R=/a/g,F=/a/g,j=new x(R)!==R,W=f.MISSED_STICKY,z=f.UNSUPPORTED_Y,H=e&&(!j||W||h||C||m(function(){return F[N]=!1,x(R)!==R||x(F)===F||String(x(R,"i"))!=="/a/i"})),$=function(Ne){for(var Be=Ne.length,Le=0,Ae="",fe=!1,Z;Le<=Be;Le++){if(Z=A(Ne,Le),Z==="\\"){Ae+=Z+A(Ne,++Le);continue}!fe&&Z==="."?Ae+="[\\s\\S]":(Z==="["?fe=!0:Z==="]"&&(fe=!1),Ae+=Z)}return Ae},G=function(Ne){for(var Be=Ne.length,Le=0,Ae="",fe=[],Z=V(null),J=!1,te=!1,ee=0,le="",ye;Le<=Be;Le++){if(ye=A(Ne,Le),ye==="\\")ye+=A(Ne,++Le);else if(ye==="]")J=!1;else if(!J)switch(!0){case ye==="[":J=!0;break;case ye==="(":if(Ae+=ye,O(Ne,Le+1,Le+3)==="?:")continue;w(P,O(Ne,Le+1))&&(Le+=2,te=!0),ee++;continue;case(ye===">"&&te):if(le===""||c(Z,le))throw new L("Invalid capture group name");Z[le]=!0,fe[fe.length]=[le,ee],te=!1,le="";continue}te?le+=ye:Ae+=ye}return[Ae,fe]};if(o("RegExp",H)){for(var ne=function(){function Ve(Ne,Be){var Le=S(B,this),Ae=p(Ne),fe=Be===void 0,Z=[],J=Ne,te,ee,le,ye,me,Te;if(!Le&&Ae&&fe&&Ne.constructor===ne)return Ne;if((Ae||S(B,Ne))&&(Ne=Ne.source,fe&&(Be=l(J))),Ne=Ne===void 0?"":i(Ne),Be=Be===void 0?"":i(Be),J=Ne,h&&"dotAll"in R&&(ee=!!Be&&E(Be,"s")>-1,ee&&(Be=T(Be,/s/g,""))),te=Be,W&&"sticky"in R&&(le=!!Be&&E(Be,"y")>-1,le&&z&&(Be=T(Be,/y/g,""))),C&&(ye=G(Ne),Ne=ye[0],Z=ye[1]),me=d(x(Ne,Be),Le?this:B,ne),(ee||le||Z.length)&&(Te=v(me),ee&&(Te.dotAll=!0,Te.raw=ne($(Ne),te)),le&&(Te.sticky=!0),Z.length&&(Te.groups=Z)),Ne!==J)try{y(me,"source",J===""?"(?:)":J)}catch(M){}return me}return Ve}(),Q=k(x),he=0;Q.length>he;)u(ne,x,Q[he++]);B.constructor=ne,ne.prototype=B,s(a,"RegExp",ne,{constructor:!0})}b("RegExp")},79669:function(I,r,n){"use strict";var e=n(63964),a=n(14489);e({target:"RegExp",proto:!0,forced:/./.exec!==a},{exec:a})},23057:function(I,r,n){"use strict";var e=n(16210),a=n(58310),t=n(73936),o=n(70901),d=n(40033),y=e.RegExp,V=y.prototype,k=a&&d(function(){var S=!0;try{y(".","d")}catch(c){S=!1}var p={},i="",l=S?"dgimsy":"gimsy",f=function(v,b){Object.defineProperty(p,v,{get:function(){function g(){return i+=b,!0}return g}()})},u={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};S&&(u.hasIndices="d");for(var s in u)f(s,u[s]);var m=Object.getOwnPropertyDescriptor(V,"flags").get.call(p);return m!==l||i!==l});k&&t(V,"flags",{configurable:!0,get:o})},57983:function(I,r,n){"use strict";var e=n(70520).PROPER,a=n(55938),t=n(30365),o=n(12605),d=n(40033),y=n(73392),V="toString",k=RegExp.prototype,S=k[V],p=d(function(){return S.call({source:"a",flags:"b"})!=="/a/b"}),i=e&&S.name!==V;(p||i)&&a(k,V,function(){function l(){var f=t(this),u=o(f.source),s=o(y(f));return"/"+u+"/"+s}return l}(),{unsafe:!0})},1963:function(I,r,n){"use strict";var e=n(45150),a=n(41028);e("Set",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},17953:function(I,r,n){"use strict";n(1963)},95309:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("anchor")},{anchor:function(){function o(d){return a(this,"a","name",d)}return o}()})},82256:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("big")},{big:function(){function o(){return a(this,"big","","")}return o}()})},49484:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("blink")},{blink:function(){function o(){return a(this,"blink","","")}return o}()})},38931:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("bold")},{bold:function(){function o(){return a(this,"b","","")}return o}()})},30442:function(I,r,n){"use strict";var e=n(63964),a=n(50233).codeAt;e({target:"String",proto:!0},{codePointAt:function(){function t(o){return a(this,o)}return t}()})},6403:function(I,r,n){"use strict";var e=n(63964),a=n(71138),t=n(27193).f,o=n(10188),d=n(12605),y=n(86213),V=n(16952),k=n(45490),S=n(4493),p=a("".slice),i=Math.min,l=k("endsWith"),f=!S&&!l&&!!function(){var u=t(String.prototype,"endsWith");return u&&!u.writable}();e({target:"String",proto:!0,forced:!f&&!l},{endsWith:function(){function u(s){var m=d(V(this));y(s);var c=arguments.length>1?arguments[1]:void 0,v=m.length,b=c===void 0?v:i(o(c),v),g=d(s);return p(m,b-g.length,b)===g}return u}()})},39308:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fixed")},{fixed:function(){function o(){return a(this,"tt","","")}return o}()})},91550:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fontcolor")},{fontcolor:function(){function o(d){return a(this,"font","color",d)}return o}()})},75008:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fontsize")},{fontsize:function(){function o(d){return a(this,"font","size",d)}return o}()})},9867:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(13912),o=RangeError,d=String.fromCharCode,y=String.fromCodePoint,V=a([].join),k=!!y&&y.length!==1;e({target:"String",stat:!0,arity:1,forced:k},{fromCodePoint:function(){function S(p){for(var i=[],l=arguments.length,f=0,u;l>f;){if(u=+arguments[f++],t(u,1114111)!==u)throw new o(u+" is not a valid code point");i[f]=u<65536?d(u):d(((u-=65536)>>10)+55296,u%1024+56320)}return V(i,"")}return S}()})},43673:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(86213),o=n(16952),d=n(12605),y=n(45490),V=a("".indexOf);e({target:"String",proto:!0,forced:!y("includes")},{includes:function(){function k(S){return!!~V(d(o(this)),d(t(S)),arguments.length>1?arguments[1]:void 0)}return k}()})},56027:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("italics")},{italics:function(){function o(){return a(this,"i","","")}return o}()})},12354:function(I,r,n){"use strict";var e=n(50233).charAt,a=n(12605),t=n(5419),o=n(65574),d=n(5959),y="String Iterator",V=t.set,k=t.getterFor(y);o(String,"String",function(S){V(this,{type:y,string:a(S),index:0})},function(){function S(){var p=k(this),i=p.string,l=p.index,f;return l>=i.length?d(void 0,!0):(f=e(i,l),p.index+=f.length,d(f,!1))}return S}())},50340:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("link")},{link:function(){function o(d){return a(this,"a","href",d)}return o}()})},22515:function(I,r,n){"use strict";var e=n(91495),a=n(79942),t=n(30365),o=n(42871),d=n(10188),y=n(12605),V=n(16952),k=n(78060),S=n(35483),p=n(28340);a("match",function(i,l,f){return[function(){function u(s){var m=V(this),c=o(s)?void 0:k(s,i);return c?e(c,s,m):new RegExp(s)[i](y(m))}return u}(),function(u){var s=t(this),m=y(u),c=f(l,s,m);if(c.done)return c.value;if(!s.global)return p(s,m);var v=s.unicode;s.lastIndex=0;for(var b=[],g=0,h;(h=p(s,m))!==null;){var C=y(h[0]);b[g]=C,C===""&&(s.lastIndex=S(m,d(s.lastIndex),v)),g++}return g===0?null:b}]})},5143:function(I,r,n){"use strict";var e=n(63964),a=n(24051).end,t=n(34125);e({target:"String",proto:!0,forced:t},{padEnd:function(){function o(d){return a(this,d,arguments.length>1?arguments[1]:void 0)}return o}()})},93514:function(I,r,n){"use strict";var e=n(63964),a=n(24051).start,t=n(34125);e({target:"String",proto:!0,forced:t},{padStart:function(){function o(d){return a(this,d,arguments.length>1?arguments[1]:void 0)}return o}()})},5416:function(I,r,n){"use strict";var e=n(63964),a=n(67250),t=n(57591),o=n(46771),d=n(12605),y=n(24760),V=a([].push),k=a([].join);e({target:"String",stat:!0},{raw:function(){function S(p){var i=t(o(p).raw),l=y(i);if(!l)return"";for(var f=arguments.length,u=[],s=0;;){if(V(u,d(i[s++])),s===l)return k(u,"");s")!=="7"});o("replace",function(T,E,O){var P=w?"$":"$0";return[function(){function R(F,j){var W=l(this),z=k(F)?void 0:u(F,v);return z?a(z,F,W,j):a(E,i(W),F,j)}return R}(),function(R,F){var j=y(this),W=i(R);if(typeof F=="string"&&N(F,P)===-1&&N(F,"$<")===-1){var z=O(E,j,W,F);if(z.done)return z.value}var H=V(F);H||(F=i(F));var $=j.global,G;$&&(G=j.unicode,j.lastIndex=0);for(var ne=[],Q;Q=m(j,W),!(Q===null||(C(ne,Q),!$));){var he=i(Q[0]);he===""&&(j.lastIndex=f(W,p(j.lastIndex),G))}for(var Ve="",Ne=0,Be=0;Be=Ne&&(Ve+=x(W,Ne,Ae)+Z,Ne=Ae+Le.length)}return Ve+x(W,Ne)}]},!A||!L||w)},63272:function(I,r,n){"use strict";var e=n(91495),a=n(79942),t=n(30365),o=n(42871),d=n(16952),y=n(5700),V=n(12605),k=n(78060),S=n(28340);a("search",function(p,i,l){return[function(){function f(u){var s=d(this),m=o(u)?void 0:k(u,p);return m?e(m,u,s):new RegExp(u)[p](V(s))}return f}(),function(f){var u=t(this),s=V(f),m=l(i,u,s);if(m.done)return m.value;var c=u.lastIndex;y(c,0)||(u.lastIndex=0);var v=S(u,s);return y(u.lastIndex,c)||(u.lastIndex=c),v===null?-1:v.index}]})},34325:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("small")},{small:function(){function o(){return a(this,"small","","")}return o}()})},39930:function(I,r,n){"use strict";var e=n(91495),a=n(67250),t=n(79942),o=n(30365),d=n(42871),y=n(16952),V=n(28987),k=n(35483),S=n(10188),p=n(12605),i=n(78060),l=n(28340),f=n(62115),u=n(40033),s=f.UNSUPPORTED_Y,m=4294967295,c=Math.min,v=a([].push),b=a("".slice),g=!u(function(){var C=/(?:)/,N=C.exec;C.exec=function(){return N.apply(this,arguments)};var x="ab".split(C);return x.length!==2||x[0]!=="a"||x[1]!=="b"}),h="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;t("split",function(C,N,x){var B="0".split(void 0,0).length?function(L,w){return L===void 0&&w===0?[]:e(N,this,L,w)}:N;return[function(){function L(w,A){var T=y(this),E=d(w)?void 0:i(w,C);return E?e(E,w,T,A):e(B,p(T),w,A)}return L}(),function(L,w){var A=o(this),T=p(L);if(!h){var E=x(B,A,T,w,B!==N);if(E.done)return E.value}var O=V(A,RegExp),P=A.unicode,R=(A.ignoreCase?"i":"")+(A.multiline?"m":"")+(A.unicode?"u":"")+(s?"g":"y"),F=new O(s?"^(?:"+A.source+")":A,R),j=w===void 0?m:w>>>0;if(j===0)return[];if(T.length===0)return l(F,T)===null?[T]:[];for(var W=0,z=0,H=[];z1?arguments[1]:void 0,m.length)),v=d(s);return p(m,c,c+v.length)===v}return u}()})},74498:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("strike")},{strike:function(){function o(){return a(this,"strike","","")}return o}()})},15812:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("sub")},{sub:function(){function o(){return a(this,"sub","","")}return o}()})},57726:function(I,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("sup")},{sup:function(){function o(){return a(this,"sup","","")}return o}()})},70604:function(I,r,n){"use strict";n(99159);var e=n(63964),a=n(43476);e({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==a},{trimEnd:a})},85404:function(I,r,n){"use strict";var e=n(63964),a=n(43885);e({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==a},{trimLeft:a})},99159:function(I,r,n){"use strict";var e=n(63964),a=n(43476);e({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==a},{trimRight:a})},34965:function(I,r,n){"use strict";n(85404);var e=n(63964),a=n(43885);e({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==a},{trimStart:a})},8448:function(I,r,n){"use strict";var e=n(63964),a=n(92648).trim,t=n(90012);e({target:"String",proto:!0,forced:t("trim")},{trim:function(){function o(){return a(this)}return o}()})},79250:function(I,r,n){"use strict";var e=n(85889);e("asyncIterator")},49899:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(91495),o=n(67250),d=n(4493),y=n(58310),V=n(52357),k=n(40033),S=n(45299),p=n(21287),i=n(30365),l=n(57591),f=n(767),u=n(12605),s=n(87458),m=n(80674),c=n(18450),v=n(37310),b=n(81644),g=n(89235),h=n(27193),C=n(74595),N=n(24239),x=n(12867),B=n(55938),L=n(73936),w=n(16639),A=n(19417),T=n(79195),E=n(16738),O=n(24697),P=n(55557),R=n(85889),F=n(52360),j=n(84925),W=n(5419),z=n(22603).forEach,H=A("hidden"),$="Symbol",G="prototype",ne=W.set,Q=W.getterFor($),he=Object[G],Ve=a.Symbol,Ne=Ve&&Ve[G],Be=a.RangeError,Le=a.TypeError,Ae=a.QObject,fe=h.f,Z=C.f,J=b.f,te=x.f,ee=o([].push),le=w("symbols"),ye=w("op-symbols"),me=w("wks"),Te=!Ae||!Ae[G]||!Ae[G].findChild,M=function(se,xe,_){var oe=fe(he,xe);oe&&delete he[xe],Z(se,xe,_),oe&&se!==he&&Z(he,xe,oe)},X=y&&k(function(){return m(Z({},"a",{get:function(){function pe(){return Z(this,"a",{value:7}).a}return pe}()})).a!==7})?M:Z,ae=function(se,xe){var _=le[se]=m(Ne);return ne(_,{type:$,tag:se,description:xe}),y||(_.description=xe),_},ue=function(){function pe(se,xe,_){se===he&&ue(ye,xe,_),i(se);var oe=f(xe);return i(_),S(le,oe)?(_.enumerable?(S(se,H)&&se[H][oe]&&(se[H][oe]=!1),_=m(_,{enumerable:s(0,!1)})):(S(se,H)||Z(se,H,s(1,m(null))),se[H][oe]=!0),X(se,oe,_)):Z(se,oe,_)}return pe}(),ie=function(){function pe(se,xe){i(se);var _=l(xe),oe=c(_).concat(ke(_));return z(oe,function(ve){(!y||t(Ce,_,ve))&&ue(se,ve,_[ve])}),se}return pe}(),ge=function(){function pe(se,xe){return xe===void 0?m(se):ie(m(se),xe)}return pe}(),Ce=function(){function pe(se){var xe=f(se),_=t(te,this,xe);return this===he&&S(le,xe)&&!S(ye,xe)?!1:_||!S(this,xe)||!S(le,xe)||S(this,H)&&this[H][xe]?_:!0}return pe}(),Me=function(){function pe(se,xe){var _=l(se),oe=f(xe);if(!(_===he&&S(le,oe)&&!S(ye,oe))){var ve=fe(_,oe);return ve&&S(le,oe)&&!(S(_,H)&&_[H][oe])&&(ve.enumerable=!0),ve}}return pe}(),De=function(){function pe(se){var xe=J(l(se)),_=[];return z(xe,function(oe){!S(le,oe)&&!S(T,oe)&&ee(_,oe)}),_}return pe}(),ke=function(se){var xe=se===he,_=J(xe?ye:l(se)),oe=[];return z(_,function(ve){S(le,ve)&&(!xe||S(he,ve))&&ee(oe,le[ve])}),oe};V||(Ve=function(){function pe(){if(p(Ne,this))throw new Le("Symbol is not a constructor");var se=!arguments.length||arguments[0]===void 0?void 0:u(arguments[0]),xe=E(se),_=function(){function oe(ve){var Se=this===void 0?a:this;Se===he&&t(_,ye,ve),S(Se,H)&&S(Se[H],xe)&&(Se[H][xe]=!1);var Ie=s(1,ve);try{X(Se,xe,Ie)}catch(Ee){if(!(Ee instanceof Be))throw Ee;M(Se,xe,Ie)}}return oe}();return y&&Te&&X(he,xe,{configurable:!0,set:_}),ae(xe,se)}return pe}(),Ne=Ve[G],B(Ne,"toString",function(){function pe(){return Q(this).tag}return pe}()),B(Ve,"withoutSetter",function(pe){return ae(E(pe),pe)}),x.f=Ce,C.f=ue,N.f=ie,h.f=Me,v.f=b.f=De,g.f=ke,P.f=function(pe){return ae(O(pe),pe)},y&&(L(Ne,"description",{configurable:!0,get:function(){function pe(){return Q(this).description}return pe}()}),d||B(he,"propertyIsEnumerable",Ce,{unsafe:!0}))),e({global:!0,constructor:!0,wrap:!0,forced:!V,sham:!V},{Symbol:Ve}),z(c(me),function(pe){R(pe)}),e({target:$,stat:!0,forced:!V},{useSetter:function(){function pe(){Te=!0}return pe}(),useSimple:function(){function pe(){Te=!1}return pe}()}),e({target:"Object",stat:!0,forced:!V,sham:!y},{create:ge,defineProperty:ue,defineProperties:ie,getOwnPropertyDescriptor:Me}),e({target:"Object",stat:!0,forced:!V},{getOwnPropertyNames:De}),F(),j(Ve,$),T[H]=!0},10933:function(I,r,n){"use strict";var e=n(63964),a=n(58310),t=n(16210),o=n(67250),d=n(45299),y=n(55747),V=n(21287),k=n(12605),S=n(73936),p=n(5774),i=t.Symbol,l=i&&i.prototype;if(a&&y(i)&&(!("description"in l)||i().description!==void 0)){var f={},u=function(){function h(){var C=arguments.length<1||arguments[0]===void 0?void 0:k(arguments[0]),N=V(l,this)?new i(C):C===void 0?i():i(C);return C===""&&(f[N]=!0),N}return h}();p(u,i),u.prototype=l,l.constructor=u;var s=String(i("description detection"))==="Symbol(description detection)",m=o(l.valueOf),c=o(l.toString),v=/^Symbol\((.*)\)[^)]+$/,b=o("".replace),g=o("".slice);S(l,"description",{configurable:!0,get:function(){function h(){var C=m(this);if(d(f,C))return"";var N=c(C),x=s?g(N,7,-1):b(N,v,"$1");return x===""?void 0:x}return h}()}),e({global:!0,constructor:!0,forced:!0},{Symbol:u})}},30828:function(I,r,n){"use strict";var e=n(63964),a=n(4009),t=n(45299),o=n(12605),d=n(16639),y=n(66570),V=d("string-to-symbol-registry"),k=d("symbol-to-string-registry");e({target:"Symbol",stat:!0,forced:!y},{for:function(){function S(p){var i=o(p);if(t(V,i))return V[i];var l=a("Symbol")(i);return V[i]=l,k[l]=i,l}return S}()})},53795:function(I,r,n){"use strict";var e=n(85889);e("hasInstance")},87806:function(I,r,n){"use strict";var e=n(85889);e("isConcatSpreadable")},64677:function(I,r,n){"use strict";var e=n(85889);e("iterator")},33313:function(I,r,n){"use strict";n(49899),n(30828),n(6862),n(53008),n(28603)},6862:function(I,r,n){"use strict";var e=n(63964),a=n(45299),t=n(71399),o=n(89393),d=n(16639),y=n(66570),V=d("symbol-to-string-registry");e({target:"Symbol",stat:!0,forced:!y},{keyFor:function(){function k(S){if(!t(S))throw new TypeError(o(S)+" is not a symbol");if(a(V,S))return V[S]}return k}()})},48058:function(I,r,n){"use strict";var e=n(85889);e("match")},51583:function(I,r,n){"use strict";var e=n(85889);e("replace")},82403:function(I,r,n){"use strict";var e=n(85889);e("search")},34265:function(I,r,n){"use strict";var e=n(85889);e("species")},3295:function(I,r,n){"use strict";var e=n(85889);e("split")},1078:function(I,r,n){"use strict";var e=n(85889),a=n(52360);e("toPrimitive"),a()},63207:function(I,r,n){"use strict";var e=n(4009),a=n(85889),t=n(84925);a("toStringTag"),t(e("Symbol"),"Symbol")},80520:function(I,r,n){"use strict";var e=n(85889);e("unscopables")},99872:function(I,r,n){"use strict";var e=n(67250),a=n(4246),t=n(71447),o=e(t),d=a.aTypedArray,y=a.exportTypedArrayMethod;y("copyWithin",function(){function V(k,S){return o(d(this),k,S,arguments.length>2?arguments[2]:void 0)}return V}())},73364:function(I,r,n){"use strict";var e=n(4246),a=n(22603).every,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("every",function(){function d(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return d}())},58166:function(I,r,n){"use strict";var e=n(4246),a=n(88471),t=n(61484),o=n(2281),d=n(91495),y=n(67250),V=n(40033),k=e.aTypedArray,S=e.exportTypedArrayMethod,p=y("".slice),i=V(function(){var l=0;return new Int8Array(2).fill({valueOf:function(){function f(){return l++}return f}()}),l!==1});S("fill",function(){function l(f){var u=arguments.length;k(this);var s=p(o(this),0,3)==="Big"?t(f):+f;return d(a,this,s,u>1?arguments[1]:void 0,u>2?arguments[2]:void 0)}return l}(),i)},23793:function(I,r,n){"use strict";var e=n(4246),a=n(22603).filter,t=n(45399),o=e.aTypedArray,d=e.exportTypedArrayMethod;d("filter",function(){function y(V){var k=a(o(this),V,arguments.length>1?arguments[1]:void 0);return t(this,k)}return y}())},13917:function(I,r,n){"use strict";var e=n(4246),a=n(22603).findIndex,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("findIndex",function(){function d(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return d}())},43820:function(I,r,n){"use strict";var e=n(4246),a=n(22603).find,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("find",function(){function d(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return d}())},80756:function(I,r,n){"use strict";var e=n(80185);e("Float32",function(a){return function(){function t(o,d,y){return a(this,o,d,y)}return t}()})},70567:function(I,r,n){"use strict";var e=n(80185);e("Float64",function(a){return function(){function t(o,d,y){return a(this,o,d,y)}return t}()})},19852:function(I,r,n){"use strict";var e=n(4246),a=n(22603).forEach,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("forEach",function(){function d(y){a(t(this),y,arguments.length>1?arguments[1]:void 0)}return d}())},40379:function(I,r,n){"use strict";var e=n(86563),a=n(4246).exportTypedArrayStaticMethod,t=n(3805);a("from",t,e)},92770:function(I,r,n){"use strict";var e=n(4246),a=n(14211).includes,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("includes",function(){function d(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return d}())},81069:function(I,r,n){"use strict";var e=n(4246),a=n(14211).indexOf,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("indexOf",function(){function d(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return d}())},60037:function(I,r,n){"use strict";var e=n(80185);e("Int16",function(a){return function(){function t(o,d,y){return a(this,o,d,y)}return t}()})},44195:function(I,r,n){"use strict";var e=n(80185);e("Int32",function(a){return function(){function t(o,d,y){return a(this,o,d,y)}return t}()})},66756:function(I,r,n){"use strict";var e=n(80185);e("Int8",function(a){return function(){function t(o,d,y){return a(this,o,d,y)}return t}()})},63689:function(I,r,n){"use strict";var e=n(16210),a=n(40033),t=n(67250),o=n(4246),d=n(34570),y=n(24697),V=y("iterator"),k=e.Uint8Array,S=t(d.values),p=t(d.keys),i=t(d.entries),l=o.aTypedArray,f=o.exportTypedArrayMethod,u=k&&k.prototype,s=!a(function(){u[V].call([1])}),m=!!u&&u.values&&u[V]===u.values&&u.values.name==="values",c=function(){function v(){return S(l(this))}return v}();f("entries",function(){function v(){return i(l(this))}return v}(),s),f("keys",function(){function v(){return p(l(this))}return v}(),s),f("values",c,s||!m,{name:"values"}),f(V,c,s||!m,{name:"values"})},5659:function(I,r,n){"use strict";var e=n(4246),a=n(67250),t=e.aTypedArray,o=e.exportTypedArrayMethod,d=a([].join);o("join",function(){function y(V){return d(t(this),V)}return y}())},25014:function(I,r,n){"use strict";var e=n(4246),a=n(61267),t=n(1325),o=e.aTypedArray,d=e.exportTypedArrayMethod;d("lastIndexOf",function(){function y(V){var k=arguments.length;return a(t,o(this),k>1?[V,arguments[1]]:[V])}return y}())},32189:function(I,r,n){"use strict";var e=n(4246),a=n(22603).map,t=n(31082),o=e.aTypedArray,d=e.exportTypedArrayMethod;d("map",function(){function y(V){return a(o(this),V,arguments.length>1?arguments[1]:void 0,function(k,S){return new(t(k))(S)})}return y}())},23030:function(I,r,n){"use strict";var e=n(4246),a=n(86563),t=e.aTypedArrayConstructor,o=e.exportTypedArrayStaticMethod;o("of",function(){function d(){for(var y=0,V=arguments.length,k=new(t(this))(V);V>y;)k[y]=arguments[y++];return k}return d}(),a)},49110:function(I,r,n){"use strict";var e=n(4246),a=n(56844).right,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("reduceRight",function(){function d(y){var V=arguments.length;return a(t(this),y,V,V>1?arguments[1]:void 0)}return d}())},24309:function(I,r,n){"use strict";var e=n(4246),a=n(56844).left,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("reduce",function(){function d(y){var V=arguments.length;return a(t(this),y,V,V>1?arguments[1]:void 0)}return d}())},56445:function(I,r,n){"use strict";var e=n(4246),a=e.aTypedArray,t=e.exportTypedArrayMethod,o=Math.floor;t("reverse",function(){function d(){for(var y=this,V=a(y).length,k=o(V/2),S=0,p;S1?arguments[1]:void 0,1),b=y(c);if(u)return a(i,this,b,v);var g=this.length,h=o(b),C=0;if(h+v>g)throw new k("Wrong length");for(;Cf;)s[f]=i[f++];return s}return k}(),V)},88739:function(I,r,n){"use strict";var e=n(4246),a=n(22603).some,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("some",function(){function d(y){return a(t(this),y,arguments.length>1?arguments[1]:void 0)}return d}())},60415:function(I,r,n){"use strict";var e=n(16210),a=n(71138),t=n(40033),o=n(10320),d=n(90274),y=n(4246),V=n(50503),k=n(79725),S=n(83141),p=n(44981),i=y.aTypedArray,l=y.exportTypedArrayMethod,f=e.Uint16Array,u=f&&a(f.prototype.sort),s=!!u&&!(t(function(){u(new f(2),null)})&&t(function(){u(new f(2),{})})),m=!!u&&!t(function(){if(S)return S<74;if(V)return V<67;if(k)return!0;if(p)return p<602;var v=new f(516),b=Array(516),g,h;for(g=0;g<516;g++)h=g%4,v[g]=515-g,b[g]=g-2*h+3;for(u(v,function(C,N){return(C/4|0)-(N/4|0)}),g=0;g<516;g++)if(v[g]!==b[g])return!0}),c=function(b){return function(g,h){return b!==void 0?+b(g,h)||0:h!==h?-1:g!==g?1:g===0&&h===0?1/g>0&&1/h<0?1:-1:g>h}};l("sort",function(){function v(b){return b!==void 0&&o(b),m?u(this,b):d(i(this),c(b))}return v}(),!m||s)},72532:function(I,r,n){"use strict";var e=n(4246),a=n(10188),t=n(13912),o=n(31082),d=e.aTypedArray,y=e.exportTypedArrayMethod;y("subarray",function(){function V(k,S){var p=d(this),i=p.length,l=t(k,i),f=o(p);return new f(p.buffer,p.byteOffset+l*p.BYTES_PER_ELEMENT,a((S===void 0?i:t(S,i))-l))}return V}())},62207:function(I,r,n){"use strict";var e=n(16210),a=n(61267),t=n(4246),o=n(40033),d=n(54602),y=e.Int8Array,V=t.aTypedArray,k=t.exportTypedArrayMethod,S=[].toLocaleString,p=!!y&&o(function(){S.call(new y(1))}),i=o(function(){return[1,2].toLocaleString()!==new y([1,2]).toLocaleString()})||!o(function(){y.prototype.toLocaleString.call([1,2])});k("toLocaleString",function(){function l(){return a(S,p?d(V(this)):V(this),d(arguments))}return l}(),i)},906:function(I,r,n){"use strict";var e=n(4246).exportTypedArrayMethod,a=n(40033),t=n(16210),o=n(67250),d=t.Uint8Array,y=d&&d.prototype||{},V=[].toString,k=o([].join);a(function(){V.call({})})&&(V=function(){function p(){return k(this)}return p}());var S=y.toString!==V;e("toString",V,S)},78824:function(I,r,n){"use strict";var e=n(80185);e("Uint16",function(a){return function(){function t(o,d,y){return a(this,o,d,y)}return t}()})},72846:function(I,r,n){"use strict";var e=n(80185);e("Uint32",function(a){return function(){function t(o,d,y){return a(this,o,d,y)}return t}()})},24575:function(I,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,d,y){return a(this,o,d,y)}return t}()})},71968:function(I,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,d,y){return a(this,o,d,y)}return t}()},!0)},80040:function(I,r,n){"use strict";var e=n(50730),a=n(16210),t=n(67250),o=n(30145),d=n(81969),y=n(45150),V=n(39895),k=n(77568),S=n(5419).enforce,p=n(40033),i=n(21820),l=Object,f=Array.isArray,u=l.isExtensible,s=l.isFrozen,m=l.isSealed,c=l.freeze,v=l.seal,b=!a.ActiveXObject&&"ActiveXObject"in a,g,h=function(E){return function(){function O(){return E(this,arguments.length?arguments[0]:void 0)}return O}()},C=y("WeakMap",h,V),N=C.prototype,x=t(N.set),B=function(){return e&&p(function(){var E=c([]);return x(new C,E,1),!s(E)})};if(i)if(b){g=V.getConstructor(h,"WeakMap",!0),d.enable();var L=t(N.delete),w=t(N.has),A=t(N.get);o(N,{delete:function(){function T(E){if(k(E)&&!u(E)){var O=S(this);return O.frozen||(O.frozen=new g),L(this,E)||O.frozen.delete(E)}return L(this,E)}return T}(),has:function(){function T(E){if(k(E)&&!u(E)){var O=S(this);return O.frozen||(O.frozen=new g),w(this,E)||O.frozen.has(E)}return w(this,E)}return T}(),get:function(){function T(E){if(k(E)&&!u(E)){var O=S(this);return O.frozen||(O.frozen=new g),w(this,E)?A(this,E):O.frozen.get(E)}return A(this,E)}return T}(),set:function(){function T(E,O){if(k(E)&&!u(E)){var P=S(this);P.frozen||(P.frozen=new g),w(this,E)?x(this,E,O):P.frozen.set(E,O)}else x(this,E,O);return this}return T}()})}else B()&&o(N,{set:function(){function T(E,O){var P;return f(E)&&(s(E)?P=c:m(E)&&(P=v)),x(this,E,O),P&&P(E),this}return T}()})},90846:function(I,r,n){"use strict";n(80040)},67042:function(I,r,n){"use strict";var e=n(45150),a=n(39895);e("WeakSet",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},40348:function(I,r,n){"use strict";n(67042)},5606:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(60375).clear;e({global:!0,bind:!0,enumerable:!0,forced:a.clearImmediate!==t},{clearImmediate:t})},83006:function(I,r,n){"use strict";n(5606),n(27807)},25764:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(37713),o=n(10320),d=n(24986),y=n(40033),V=n(58310),k=y(function(){return V&&Object.getOwnPropertyDescriptor(a,"queueMicrotask").value.length!==1});e({global:!0,enumerable:!0,dontCallGetSet:!0,forced:k},{queueMicrotask:function(){function S(p){d(arguments.length,1),t(o(p))}return S}()})},27807:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(60375).set,o=n(78362),d=a.setImmediate?o(t,!1):t;e({global:!0,bind:!0,enumerable:!0,forced:a.setImmediate!==d},{setImmediate:d})},45569:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(78362),o=t(a.setInterval,!0);e({global:!0,bind:!0,forced:a.setInterval!==o},{setInterval:o})},5213:function(I,r,n){"use strict";var e=n(63964),a=n(16210),t=n(78362),o=t(a.setTimeout,!0);e({global:!0,bind:!0,forced:a.setTimeout!==o},{setTimeout:o})},69401:function(I,r,n){"use strict";n(45569),n(5213)},7435:function(I){"use strict";/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var r,n=[],e=[],a=function(){if(0)var S;window.onunload=function(){return r&&r.close()}},t=function(S){return e.push(S)},o=function(S){var p=[],i=function(d){return typeof d=="number"&&!Number.isFinite(d)?{__number__:String(d)}:typeof d=="undefined"?{__undefined__:!0}:d},c=function(d,f){if(typeof f=="object"){if(f===null)return f;if(p.includes(f))return"[circular ref]";p.push(f);var l=f instanceof Error||f.code&&f.message&&f.message.includes("Error");return l?{__error__:!0,string:String(f),stack:f.stack}:Array.isArray(f)?f.map(i):f}return i(f)},m=JSON.stringify(S,c);return p=null,m},s=function(S){if(0)var p,i,c},y=function(S,p){if(0)var i,c,m},V=function(){};I.exports={subscribe:t,sendMessage:s,sendLogEntry:y,setupHotReloading:V}}},xt={};function q(I){var r=xt[I];if(r!==void 0)return r.exports;var n=xt[I]={exports:{}};return Xt[I](n,n.exports,q),n.exports}(function(){q.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(I){if(typeof window=="object")return window}}()})(),function(){q.o=function(I,r){return Object.prototype.hasOwnProperty.call(I,r)}}();var Rn={};(function(){"use strict";q(33313),q(10933),q(79250),q(53795),q(87806),q(64677),q(48058),q(51583),q(82403),q(34265),q(3295),q(1078),q(63207),q(80520),q(39600),q(93237),q(32057),q(68933),q(47830),q(13455),q(64094),q(61915),q(32384),q(25579),q(63532),q(33425),q(43894),q(99636),q(34570),q(94432),q(24683),q(69984),q(32089),q(60206),q(29645),q(4788),q(58672),q(19356),q(48968),q(49852),q(2712),q(864),q(54243),q(75621),q(26267),q(50095),q(33451),q(74587),q(25082),q(47421),q(32122),q(6306),q(90216),q(84663),q(92332),q(98329),q(9631),q(47091),q(59660),q(15383),q(92866),q(86107),q(29248),q(52540),q(79007),q(77199),q(6522),q(95542),q(2966),q(20997),q(57400),q(45571),q(54800),q(15709),q(76059),q(96614),q(324),q(90426),q(95443),q(87968),q(55007),q(55323),q(13521),q(5006),q(99009),q(85770),q(23532),q(87119),q(78618),q(27129),q(31943),q(3579),q(97397),q(85028),q(8225),q(43331),q(62289),q(56196),q(2950),q(44205),q(76882),q(83186),q(76065),q(13411),q(26634),q(53118),q(42514),q(84353),q(62987),q(48993),q(52917),q(4972),q(28913),q(36382),q(53092),q(69861),q(29674),q(81543),q(9373),q(45093),q(63074),q(5815),q(88527),q(66390),q(7784),q(50551),q(76483),q(92046),q(63915),q(51454),q(79669),q(23057),q(57983),q(17953),q(30442),q(6403),q(9867),q(43673),q(12354),q(22515),q(5143),q(93514),q(5416),q(11619),q(44590),q(63272),q(39930),q(4038),q(8448),q(70604),q(34965),q(95309),q(82256),q(49484),q(38931),q(39308),q(91550),q(75008),q(56027),q(50340),q(34325),q(74498),q(15812),q(57726),q(80756),q(70567),q(66756),q(60037),q(44195),q(24575),q(71968),q(78824),q(72846),q(99872),q(73364),q(58166),q(23793),q(43820),q(13917),q(19852),q(40379),q(92770),q(81069),q(63689),q(5659),q(25014),q(32189),q(23030),q(24309),q(49110),q(56445),q(30939),q(48321),q(88739),q(60415),q(72532),q(62207),q(906),q(90846),q(40348),q(83006),q(25764),q(69401),q(95012),q(30236)})(),function(){"use strict";var I=q(89005);q(67160),q(23542),q(30386),q(98996),q(41639),q(50578),q(4444),q(77870),q(39108),q(21039),q(51862),q(56856),q(1272),q(74757),q(1965),q(63489),q(24226),q(11714),q(73492),q(49641),q(17570),q(61858),q(73358),q(32882),q(23632);var r=q(85822),n=q(7435),e=q(56518),a=q(18498),t=q(49060),o=q(72178),s=q(24826),y;/** + */var r,n=[],e=[],a=function(){if(0)var S;window.onunload=function(){return r&&r.close()}},t=function(S){return e.push(S)},o=function(S){var p=[],i=function(s){return typeof s=="number"&&!Number.isFinite(s)?{__number__:String(s)}:typeof s=="undefined"?{__undefined__:!0}:s},l=function(s,m){if(typeof m=="object"){if(m===null)return m;if(p.includes(m))return"[circular ref]";p.push(m);var c=m instanceof Error||m.code&&m.message&&m.message.includes("Error");return c?{__error__:!0,string:String(m),stack:m.stack}:Array.isArray(m)?m.map(i):m}return i(m)},f=JSON.stringify(S,l);return p=null,f},d=function(S){if(0)var p,i,l},y=function(S,p){if(0)var i,l,f},V=function(){};I.exports={subscribe:t,sendMessage:d,sendLogEntry:y,setupHotReloading:V}}},xt={};function q(I){var r=xt[I];if(r!==void 0)return r.exports;var n=xt[I]={exports:{}};return Xt[I](n,n.exports,q),n.exports}(function(){q.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(I){if(typeof window=="object")return window}}()})(),function(){q.o=function(I,r){return Object.prototype.hasOwnProperty.call(I,r)}}();var Rn={};(function(){"use strict";q(33313),q(10933),q(79250),q(53795),q(87806),q(64677),q(48058),q(51583),q(82403),q(34265),q(3295),q(1078),q(63207),q(80520),q(39600),q(93237),q(32057),q(68933),q(47830),q(13455),q(64094),q(61915),q(32384),q(25579),q(63532),q(33425),q(43894),q(99636),q(34570),q(94432),q(24683),q(69984),q(32089),q(60206),q(29645),q(4788),q(58672),q(19356),q(48968),q(49852),q(2712),q(864),q(54243),q(75621),q(26267),q(50095),q(33451),q(74587),q(25082),q(47421),q(32122),q(6306),q(90216),q(84663),q(92332),q(98329),q(9631),q(47091),q(59660),q(15383),q(92866),q(86107),q(29248),q(52540),q(79007),q(77199),q(6522),q(95542),q(2966),q(20997),q(57400),q(45571),q(54800),q(15709),q(76059),q(96614),q(324),q(90426),q(95443),q(87968),q(55007),q(55323),q(13521),q(5006),q(99009),q(85770),q(23532),q(87119),q(78618),q(27129),q(31943),q(3579),q(97397),q(85028),q(8225),q(43331),q(62289),q(56196),q(2950),q(44205),q(76882),q(83186),q(76065),q(13411),q(26634),q(53118),q(42514),q(84353),q(62987),q(48993),q(52917),q(4972),q(28913),q(36382),q(53092),q(69861),q(29674),q(81543),q(9373),q(45093),q(63074),q(5815),q(88527),q(66390),q(7784),q(50551),q(76483),q(92046),q(63915),q(51454),q(79669),q(23057),q(57983),q(17953),q(30442),q(6403),q(9867),q(43673),q(12354),q(22515),q(5143),q(93514),q(5416),q(11619),q(44590),q(63272),q(39930),q(4038),q(8448),q(70604),q(34965),q(95309),q(82256),q(49484),q(38931),q(39308),q(91550),q(75008),q(56027),q(50340),q(34325),q(74498),q(15812),q(57726),q(80756),q(70567),q(66756),q(60037),q(44195),q(24575),q(71968),q(78824),q(72846),q(99872),q(73364),q(58166),q(23793),q(43820),q(13917),q(19852),q(40379),q(92770),q(81069),q(63689),q(5659),q(25014),q(32189),q(23030),q(24309),q(49110),q(56445),q(30939),q(48321),q(88739),q(60415),q(72532),q(62207),q(906),q(90846),q(40348),q(83006),q(25764),q(69401),q(95012),q(30236)})(),function(){"use strict";var I=q(89005);q(67160),q(23542),q(30386),q(98996),q(41639),q(50578),q(4444),q(77870),q(39108),q(21039),q(51862),q(56856),q(1272),q(74757),q(1965),q(63489),q(24226),q(11714),q(73492),q(49641),q(17570),q(61858),q(73358),q(32882),q(23632);var r=q(85822),n=q(7435),e=q(56518),a=q(18498),t=q(49060),o=q(72178),d=q(24826),y;/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */r.perf.mark("inception",(y=window.performance)==null||(y=y.timing)==null?void 0:y.navigationStart),r.perf.mark("init");var V=(0,o.configureStore)(),k=(0,t.createRenderer)(function(){var p=q(71253),i=p.getRoutedComponent,c=i(V);return(0,I.createComponentVNode)(2,o.StoreProvider,{store:V,children:(0,I.createComponentVNode)(2,c)})}),S=function(){if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",S);return}(0,s.setupGlobalEvents)(),(0,e.setupHotKeys)(),(0,a.captureExternalLinks)(),V.subscribe(k),Byond.subscribe(function(i,c){return V.dispatch({type:i,payload:c})})};S()}()})();})(); + */r.perf.mark("inception",(y=window.performance)==null||(y=y.timing)==null?void 0:y.navigationStart),r.perf.mark("init");var V=(0,o.configureStore)(),k=(0,t.createRenderer)(function(){var p=q(71253),i=p.getRoutedComponent,l=i(V);return(0,I.createComponentVNode)(2,o.StoreProvider,{store:V,children:(0,I.createComponentVNode)(2,l)})}),S=function(){if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",S);return}(0,d.setupGlobalEvents)(),(0,e.setupHotKeys)(),(0,a.captureExternalLinks)(),V.subscribe(k),Byond.subscribe(function(i,l){return V.dispatch({type:i,payload:l})})};S()}()})();})(); diff --git a/tools/ttsServer/requirements.txt b/tools/ttsServer/requirements.txt index 7f866871aa7..a1b5f9126a3 100644 --- a/tools/ttsServer/requirements.txt +++ b/tools/ttsServer/requirements.txt @@ -1,6 +1,7 @@ -torch -torchaudio -torchvision -soundfile -pydub -flask \ No newline at end of file +torch==2.0.1 +torchaudio==2.0.2 +torchvision==0.15.2 +soundfile==0.12.1 +pydub==0.25.1 +Flask==2.2.5 +numpy==1.26.4 \ No newline at end of file