diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 817626d2287..fd88b924066 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,8 +1,11 @@ # CONTRIBUTING ## Reporting Issues +If you ever encounter a bug in-game, the best way to let a coder know about it is with our GitHub Issue Tracker. Please make sure you use the supplied issue template, and include the round ID for the server. -See [this page](http://tgstation13.org/wiki/Reporting_Issues) for a guide and format to issue reports. +(If you don't have an account, making a new one takes only one minute.) + +If you have difficulty, ask for help in the #coding-general channel on our discord. ## Introduction @@ -20,24 +23,14 @@ We have a [list of guides on the wiki](http://www.tgstation13.org/wiki/index.php There is an open list of approachable issues for [your inspiration here](https://github.com/tgstation/-tg-station/issues?q=is%3Aopen+is%3Aissue+label%3A%22Good+First+Issue%22). -You can of course, as always, ask for help at [#coderbus](irc://irc.rizon.net/coderbus) on irc.rizon.net. We're just here to have fun and help out, so please don't expect professional support. +You can of course, as always, ask for help on the discord channels, or the forums, We're just here to have fun and help out, so please don't expect professional support. ## Meet the Team -**Design Lead** - -The Design Lead has the final say on what gameplay changes get into and out of the game. He or she has full veto power on any feature or balance additions, changes, or removals, and establishes a general, personally-preferred direction for the game. - **Headcoder** The Headcoder is responsible for controlling, adding, and removing maintainers from the project. In addition to filling the role of a normal maintainer, they have sole authority on who becomes a maintainer, as well as who remains a maintainer and who does not. -**Art Director** - -The Art Director controls sprites and aesthetic that get into the game. While sprites for brand-new additions are generally accepted regardless of quality, modified current art assets fall to the Art Director, who can decide whether or not a sprite tweak is both merited and a suitable replacement. - -They also control the general "perspective" of the game - how sprites should generally look, especially the angle from which they're viewed. An example of this is the [3/4 perspective](http://static.tvtropes.org/pmwiki/pub/images/kakarikovillage.gif), which is a bird's eye view from above the object being viewed. - **Maintainers** Maintainers are quality control. If a proposed pull request doesn't meet the following specifications, they can request you to change it, or simply just close the pull request. Maintainers are required to give a reason for closing the pull request. @@ -388,7 +381,7 @@ There is also an undocumented keyword called `static` that has the same behaviou There is no strict process when it comes to merging pull requests. Pull requests will sometimes take a while before they are looked at by a maintainer; the bigger the change, the more time it will take before they are accepted into the code. Every team member is a volunteer who is giving up their own time to help maintain and contribute, so please be courteous and respectful. Here are some helpful ways to make it easier for you and for the maintainers when making a pull request. -* Make sure your pull request complies to the requirements outlined in [this guide](http://tgstation13.org/wiki/Getting_Your_Pull_Accepted) +* Make sure your pull request complies to the requirements outlined here * You are going to be expected to document all your changes in the pull request. Failing to do so will mean delaying it as we will have to question why you made the change. On the other hand, you can speed up the process by making the pull request readable and easy to understand, with diagrams or before/after data. diff --git a/.github/DOWNLOADING.md b/.github/DOWNLOADING.md new file mode 100644 index 00000000000..283ea8b40a2 --- /dev/null +++ b/.github/DOWNLOADING.md @@ -0,0 +1,21 @@ +## DOWNLOADING +There are a number of ways to download the source code. Some are described here, an alternative all-inclusive guide is also located at https://www.tgstation13.org/wiki/Downloading_the_source_code + +Option 1: +Follow this: https://www.tgstation13.org/wiki/Setting_up_git + +Option 2: Download the source code as a zip by clicking the ZIP button in the +code tab of https://github.com/tgstation/tgstation +(note: this will use a lot of bandwidth if you wish to update and is a lot of +hassle if you want to make any changes at all, so it's not recommended.) + +Option 3: Download a pre-compiled nightly at https://tgstation13.download/nightlies/ (same caveats as option 2) + +*Warning: option 4 is out of date, and not maintained, use at your own risk* + +Option 4: Use our docker image that tracks the master branch (See commits for build status. Again, same caveats as option 2) + +``` +docker run -d -p :1337 -v /path/to/your/config:/tgstation/config -v /path/to/your/data:/tgstation/data tgstation/tgstation +``` + diff --git a/.github/MAPS_AND_AWAY_MISSIONS.md b/.github/MAPS_AND_AWAY_MISSIONS.md new file mode 100644 index 00000000000..57539641a91 --- /dev/null +++ b/.github/MAPS_AND_AWAY_MISSIONS.md @@ -0,0 +1,28 @@ +## MAPS + +/tg/station currently comes equipped with five maps. + +* [BoxStation (default)](https://tgstation13.org/wiki/Boxstation) +* [MetaStation](https://tgstation13.org/wiki/MetaStation) +* [DeltaStation](https://tgstation13.org/wiki/DeltaStation) +* [PubbyStation](https://tgstation13.org/wiki/PubbyStation) +* [DonutStation](https://tgstation13.org/wiki/Donutstation) + + +All maps have their own code file that is in the base of the _maps directory. Maps are loaded dynamically when the game starts. Follow this guideline when adding your own map, to your fork, for easy compatibility. + +The map that will be loaded for the upcoming round is determined by reading data/next_map.json, which is a copy of the json files found in the _maps tree. If this file does not exist, the default map from config/maps.txt will be loaded. Failing that, BoxStation will be loaded. If you want to set a specific map to load next round you can use the Change Map verb in game before restarting the server or copy a json from _maps to data/next_map.json before starting the server. Also, for debugging purposes, ticking a corresponding map's code file in Dream Maker will force that map to load every round. + +If you are hosting a server, and want randomly picked maps to be played each round, you can enable map rotation in [config.txt](config/config.txt) and then set the maps to be picked in the [maps.txt](config/maps.txt) file. + +Anytime you want to make changes to a map it's imperative you use the [Map Merging tools](https://tgstation13.org/wiki/Map_Merger) + +## AWAY MISSIONS + +/tg/station supports loading away missions however they are disabled by default. + +Map files for away missions are located in the _maps/RandomZLevels directory. Each away mission includes it's own code definitions located in /code/modules/awaymissions/mission_code. These files must be included and compiled with the server beforehand otherwise the server will crash upon trying to load away missions that lack their code. + +To enable an away mission open `config/awaymissionconfig.txt` and uncomment one of the .dmm lines by removing the #. If more than one away mission is uncommented then the away mission loader will randomly select one the enabled ones to load. + + diff --git a/.github/RUNNING_A_SERVER.md b/.github/RUNNING_A_SERVER.md new file mode 100644 index 00000000000..88e730fcfd3 --- /dev/null +++ b/.github/RUNNING_A_SERVER.md @@ -0,0 +1,86 @@ +# INSTALLATION +First-time installation should be fairly straightforward. First, you'll need +BYOND installed. You can get it from https://www.byond.com/download. Once you've done +that, extract the game files to wherever you want to keep them. This is a +sourcecode-only release, so the next step is to compile the server files. +Open tgstation.dme by double-clicking it, open the Build menu, and click +compile. This'll take a little while, and if everything's done right you'll get +a message like this: + +``` +saving tgstation.dmb (DEBUG mode) +tgstation.dmb - 0 errors, 0 warnings +``` + +If you see any errors or warnings, something has gone wrong - possibly a corrupt +download or the files extracted wrong. If problems persist, ask for assistance +in irc://irc.rizon.net/coderbus + +Once that's done, open up the config folder. You'll want to edit config.txt to +set the probabilities for different gamemodes in Secret and to set your server +location so that all your players don't get disconnected at the end of each +round. It's recommended you don't turn on the gamemodes with probability 0, +except Extended, as they have various issues and aren't currently being tested, +so they may have unknown and bizarre bugs. Extended is essentially no mode, and +isn't in the Secret rotation by default as it's just not very fun. + +You'll also want to edit config/admins.txt to remove the default admins and add +your own. "Game Master" is the highest level of access, and probably the one +you'll want to use for now. You can set up your own ranks and find out more in +config/admin_ranks.txt + +The format is + +``` +byondkey = Rank +``` + +where the admin rank must be properly capitalised. + +This codebase also depends on a native library called rust-g. A precompiled +Windows DLL is included in this repository, but Linux users will need to build +and install it themselves. Directions can be found at the [rust-g +repo](https://github.com/tgstation/rust-g). + +Finally, to start the server, run Dream Daemon and enter the path to your +compiled tgstation.dmb file. Make sure to set the port to the one you +specified in the config.txt, and set the Security box to 'Safe'. Then press GO +and the server should start up and be ready to join. It is also recommended that +you set up the SQL backend (see below). + +## UPDATING + +To update an existing installation, first back up your /config and /data folders +as these store your server configuration, player preferences and banlist. + +Then, extract the new files (preferably into a clean directory, but updating in +place should work fine), copy your /config and /data folders back into the new +install, overwriting when prompted except if we've specified otherwise, and +recompile the game. Once you start the server up again, you should be running +the new version. + +## HOSTING + +If you'd like a more robust server hosting option for tgstation and its +derivatives. Check out our server tools suite at +https://github.com/tgstation/tgstation-server + +## SQL SETUP + +The SQL backend requires a Mariadb server running 10.2 or later. Mysql is not supported but Mariadb is a drop in replacement for mysql. SQL is required for the library, stats tracking, admin notes, and job-only bans, among other features, mostly related to server administration. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql and /SQL/tgstation_schema_prefix.sql depending on if you want table prefixes. More detailed setup instructions are located here: https://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database + +If you are hosting a testing server on windows you can use a standalone version of MariaDB pre load with a blank (but initialized) tgdb database. Find them here: https://tgstation13.download/database/ Just unzip and run for a working (but insecure) database server. Includes a zipped copy of the data folder for easy resetting back to square one. + +## WEB/CDN RESOURCE DELIVERY + +Web delivery of game resources makes it quicker for players to join and reduces some of the stress on the game server. + +1. Edit compile_options.dm to set the `PRELOAD_RSC` define to `0` +1. Add a url to config/external_rsc_urls pointing to a .zip file containing the .rsc. + * If you keep up to date with /tg/ you could reuse /tg/'s rsc cdn at http://tgstation13.download/byond/tgstation.zip. Otherwise you can use cdn services like CDN77 or cloudflare (requires adding a page rule to enable caching of the zip), or roll your own cdn using route 53 and vps providers. + * Regardless even offloading the rsc to a website without a CDN will be a massive improvement over the in game system for transferring files. + +## IRC BOT SETUP + +Included in the repository is a python3 compatible IRC bot capable of relaying adminhelps to a specified +IRC channel/server, see the /tools/minibot folder for more diff --git a/.github/workflows/autobuild_tgui.yml b/.github/workflows/autobuild_tgui.yml index 226ea2b7cee..7be294b00ed 100644 --- a/.github/workflows/autobuild_tgui.yml +++ b/.github/workflows/autobuild_tgui.yml @@ -32,5 +32,7 @@ jobs: git commit -m "Automatic TGUI Rebuild [ci skip]" -a || true - name: Push Artifacts uses: ad-m/github-push-action@master + env: + GITHUB_ACTOR: comfyorange with: github_token: ${{ secrets.GITHUB_MASTER_KEY }} diff --git a/.github/workflows/compile_changelogs.yml b/.github/workflows/compile_changelogs.yml index 4894870752b..fb732d5d3cf 100644 --- a/.github/workflows/compile_changelogs.yml +++ b/.github/workflows/compile_changelogs.yml @@ -32,5 +32,7 @@ jobs: git commit -m "Automatic changelog compile [ci skip]" -a || true - name: "Push" uses: ad-m/github-push-action@master + env: + GITHUB_ACTOR: comfyorange with: github_token: ${{ secrets.GITHUB_MASTER_KEY }} diff --git a/README.md b/README.md index 99f824ca647..ef5fbb7b5db 100644 --- a/README.md +++ b/README.md @@ -2,152 +2,32 @@ [![Build Status](https://travis-ci.org/tgstation/tgstation.png)](https://travis-ci.org/tgstation/tgstation) [![Krihelimeter](https://www.krihelinator.xyz/badge/tgstation/tgstation)](https://www.krihelinator.xyz) [![Percentage of issues still open](https://isitmaintained.com/badge/open/tgstation/tgstation.svg)](https://isitmaintained.com/project/tgstation/tgstation "Percentage of issues still open") [![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/tgstation/tgstation.svg)](https://isitmaintained.com/project/tgstation/tgstation "Average time to resolve an issue") ![Coverage](https://img.shields.io/badge/coverage---2%25-red.svg) + [![forthebadge](https://forthebadge.com/images/badges/built-with-resentment.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/contains-technical-debt.svg)](https://user-images.githubusercontent.com/8171642/50290880-ffef5500-043a-11e9-8270-a2e5b697c86c.png) [![forinfinityandbyond](https://user-images.githubusercontent.com/5211576/29499758-4efff304-85e6-11e7-8267-62919c3688a9.gif)](https://www.reddit.com/r/SS13/comments/5oplxp/what_is_the_main_problem_with_byond_as_an_engine/dclbu1a) * **Website:** https://www.tgstation13.org * **Code:** https://github.com/tgstation/tgstation * **Wiki** https://tgstation13.org/wiki/Main_Page * **Codedocs:** https://codedocs.tgstation13.org/ -* **IRC:** irc://irc.rizon.net/coderbus or if you dont have an IRC client, you can click [here](https://kiwiirc.com/client/irc.rizon.net:6667/?&theme=cli#coderbus) +* **/tg/station Discord:** https://tgstation13.org/phpBB/viewforum.php?f=60 +* **Coderbus Discord:** https://discord.gg/Vh8TJp9 +* **IRC:** irc://irc.rizon.net/coderbus (dead) + +This is the codebase for the /tg/station flavoured fork of SpaceStation 13. + +Space Station 13 is a paranoia-laden round-based roleplaying game set against the backdrop of a nonsensical, metal death trap masquerading as a space station, with charming spritework designed to represent the sci-fi setting and its dangerous undertones. Have fun, and survive! ## DOWNLOADING +[Downloading](.github/CONTRIBUTING.md) -There are a number of ways to download the source code. Some are described here, an alternative all-inclusive guide is also located at https://www.tgstation13.org/wiki/Downloading_the_source_code +[Running on the server](.github/RUNNING_A_SERVER.md) -Option 1: -Follow this: https://www.tgstation13.org/wiki/Setting_up_git +[Maps and Away Missions](.github/MAPS_AND_AWAY_MISSIONS.md) -Option 2: Download the source code as a zip by clicking the ZIP button in the -code tab of https://github.com/tgstation/tgstation -(note: this will use a lot of bandwidth if you wish to update and is a lot of -hassle if you want to make any changes at all, so it's not recommended.) +## Requirements for contributors +[Guidelines for Contributors](.github/CONTRIBUTING.md) -Option 3: Download a pre-compiled nightly at https://tgstation13.download/nightlies/ (same caveats as option 2) - -Option 4: Use our docker image that tracks the master branch (See commits for build status. Again, same caveats as option 2) - -``` -docker run -d -p :1337 -v /path/to/your/config:/tgstation/config -v /path/to/your/data:/tgstation/data tgstation/tgstation -``` - -## INSTALLATION - -First-time installation should be fairly straightforward. First, you'll need -BYOND installed. You can get it from https://www.byond.com/download. Once you've done -that, extract the game files to wherever you want to keep them. This is a -sourcecode-only release, so the next step is to compile the server files. -Open tgstation.dme by double-clicking it, open the Build menu, and click -compile. This'll take a little while, and if everything's done right you'll get -a message like this: - -``` -saving tgstation.dmb (DEBUG mode) -tgstation.dmb - 0 errors, 0 warnings -``` - -If you see any errors or warnings, something has gone wrong - possibly a corrupt -download or the files extracted wrong. If problems persist, ask for assistance -in irc://irc.rizon.net/coderbus - -Once that's done, open up the config folder. You'll want to edit config.txt to -set the probabilities for different gamemodes in Secret and to set your server -location so that all your players don't get disconnected at the end of each -round. It's recommended you don't turn on the gamemodes with probability 0, -except Extended, as they have various issues and aren't currently being tested, -so they may have unknown and bizarre bugs. Extended is essentially no mode, and -isn't in the Secret rotation by default as it's just not very fun. - -You'll also want to edit config/admins.txt to remove the default admins and add -your own. "Game Master" is the highest level of access, and probably the one -you'll want to use for now. You can set up your own ranks and find out more in -config/admin_ranks.txt - -The format is - -``` -byondkey = Rank -``` - -where the admin rank must be properly capitalised. - -This codebase also depends on a native library called rust-g. A precompiled -Windows DLL is included in this repository, but Linux users will need to build -and install it themselves. Directions can be found at the [rust-g -repo](https://github.com/tgstation/rust-g). - -Finally, to start the server, run Dream Daemon and enter the path to your -compiled tgstation.dmb file. Make sure to set the port to the one you -specified in the config.txt, and set the Security box to 'Safe'. Then press GO -and the server should start up and be ready to join. It is also recommended that -you set up the SQL backend (see below). - -## UPDATING - -To update an existing installation, first back up your /config and /data folders -as these store your server configuration, player preferences and banlist. - -Then, extract the new files (preferably into a clean directory, but updating in -place should work fine), copy your /config and /data folders back into the new -install, overwriting when prompted except if we've specified otherwise, and -recompile the game. Once you start the server up again, you should be running -the new version. - -## HOSTING - -If you'd like a more robust server hosting option for tgstation and its -derivatives. Check out our server tools suite at -https://github.com/tgstation/tgstation-server - -## MAPS - -/tg/station currently comes equipped with five maps. - -* [BoxStation (default)](https://tgstation13.org/wiki/Boxstation) -* [MetaStation](https://tgstation13.org/wiki/MetaStation) -* [DeltaStation](https://tgstation13.org/wiki/DeltaStation) -* [PubbyStation](https://tgstation13.org/wiki/PubbyStation) -* [DonutStation](https://tgstation13.org/wiki/Donutstation) - - -All maps have their own code file that is in the base of the _maps directory. Maps are loaded dynamically when the game starts. Follow this guideline when adding your own map, to your fork, for easy compatibility. - -The map that will be loaded for the upcoming round is determined by reading data/next_map.json, which is a copy of the json files found in the _maps tree. If this file does not exist, the default map from config/maps.txt will be loaded. Failing that, BoxStation will be loaded. If you want to set a specific map to load next round you can use the Change Map verb in game before restarting the server or copy a json from _maps to data/next_map.json before starting the server. Also, for debugging purposes, ticking a corresponding map's code file in Dream Maker will force that map to load every round. - -If you are hosting a server, and want randomly picked maps to be played each round, you can enable map rotation in [config.txt](config/config.txt) and then set the maps to be picked in the [maps.txt](config/maps.txt) file. - -Anytime you want to make changes to a map it's imperative you use the [Map Merging tools](https://tgstation13.org/wiki/Map_Merger) - -## AWAY MISSIONS - -/tg/station supports loading away missions however they are disabled by default. - -Map files for away missions are located in the _maps/RandomZLevels directory. Each away mission includes it's own code definitions located in /code/modules/awaymissions/mission_code. These files must be included and compiled with the server beforehand otherwise the server will crash upon trying to load away missions that lack their code. - -To enable an away mission open `config/awaymissionconfig.txt` and uncomment one of the .dmm lines by removing the #. If more than one away mission is uncommented then the away mission loader will randomly select one the enabled ones to load. - -## SQL SETUP - -The SQL backend requires a Mariadb server running 10.2 or later. Mysql is not supported but Mariadb is a drop in replacement for mysql. SQL is required for the library, stats tracking, admin notes, and job-only bans, among other features, mostly related to server administration. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql and /SQL/tgstation_schema_prefix.sql depending on if you want table prefixes. More detailed setup instructions are located here: https://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database - -If you are hosting a testing server on windows you can use a standalone version of MariaDB pre load with a blank (but initialized) tgdb database. Find them here: https://tgstation13.download/database/ Just unzip and run for a working (but insecure) database server. Includes a zipped copy of the data folder for easy resetting back to square one. - -## WEB/CDN RESOURCE DELIVERY - -Web delivery of game resources makes it quicker for players to join and reduces some of the stress on the game server. - -1. Edit compile_options.dm to set the `PRELOAD_RSC` define to `0` -1. Add a url to config/external_rsc_urls pointing to a .zip file containing the .rsc. - * If you keep up to date with /tg/ you could reuse /tg/'s rsc cdn at http://tgstation13.download/byond/tgstation.zip. Otherwise you can use cdn services like CDN77 or cloudflare (requires adding a page rule to enable caching of the zip), or roll your own cdn using route 53 and vps providers. - * Regardless even offloading the rsc to a website without a CDN will be a massive improvement over the in game system for transferring files. - -## IRC BOT SETUP - -Included in the repository is a python3 compatible IRC bot capable of relaying adminhelps to a specified -IRC channel/server, see the /tools/minibot folder for more - -## CONTRIBUTING - -Please see [CONTRIBUTING.md](.github/CONTRIBUTING.md) +[Documenting your code](.github/AUTODOC_GUIDE.md) ## LICENSE diff --git a/_maps/RandomRuins/SpaceRuins/kinggoatarena.dmm b/_maps/RandomRuins/SpaceRuins/kinggoatarena.dmm index 2473abd136f..b16e7f6769b 100644 --- a/_maps/RandomRuins/SpaceRuins/kinggoatarena.dmm +++ b/_maps/RandomRuins/SpaceRuins/kinggoatarena.dmm @@ -24,6 +24,8 @@ /area/ruin/powered/kinggoat_arena) "f" = ( /mob/living/simple_animal/hostile/retaliate/goose{ + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0); + damage_coeff = list("brute" = 0, "fire" = 0, "toxin" = 0, "clone" = 0, "stamina" = 0, "oxygen" = 0); desc = "If you are alive and reading this you should not be in this room and should prob tell a admin how you got here."; name = "The Paradox Goose" }, diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index 5ce6328c03e..1e76d5a7960 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -189,7 +189,7 @@ /obj/structure/cable, /obj/machinery/power/smes/magical{ desc = "A high-capacity superconducting magnetic energy storage (SMES) unit. It seems to be powered just fine without our intervention."; - name = "nanotrasen power storage unit" + name = "\improper Nanotrasen power storage unit" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -2241,7 +2241,7 @@ /obj/item/gun/ballistic/automatic/toy{ anchored = 1; desc = "Don't try it."; - name = "Nanotrasen Saber SMG" + name = "\improper Nanotrasen Saber SMG" }, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -3043,7 +3043,7 @@ /area/awaymission/cabin/caves) "hR" = ( /obj/structure/reagent_dispensers/beerkeg{ - desc = "Hey, Centcom, we located our complimentary case of space beer! The pamphlet didn't lie!"; + desc = "Hey, CentCom, we located our complimentary case of space beer! The pamphlet didn't lie!"; name = "complimentary keg of space beer" }, /turf/open/floor/plating/snowed, diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index e2214dc5ff1..f675671b3f0 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -17896,6 +17896,7 @@ "aTE" = ( /obj/structure/table, /obj/item/hand_labeler, +/obj/item/storage/box/shipping, /turf/open/floor/plasteel, /area/storage/art) "aTF" = ( @@ -18098,14 +18099,18 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar) "aUh" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/eastleft{ - name = "Hydroponics Desk"; - req_access_txt = "35" +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenhydro"; + name = "Service Shutter" + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Service Door"; + req_one_access_txt = "35;28" }, /obj/machinery/door/firedoor, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/cafeteria{ + dir = 5 + }, /area/crew_quarters/kitchen) "aUi" = ( /obj/effect/turf_decal/tile/neutral{ @@ -18644,9 +18649,12 @@ /area/crew_quarters/kitchen) "aVH" = ( /obj/machinery/processor, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 +/obj/machinery/button/door{ + id = "kitchenhydro"; + name = "Service Shutter Control"; + pixel_x = 24; + pixel_y = 7; + req_access_txt = "28" }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) @@ -19944,6 +19952,10 @@ /obj/structure/disposalpipe/trunk{ dir = 8 }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) "aYO" = ( @@ -23887,6 +23899,9 @@ /obj/structure/table, /obj/item/clothing/head/soft, /obj/item/clothing/head/soft, +/obj/item/storage/box/shipping{ + pixel_x = 6 + }, /turf/open/floor/plasteel, /area/quartermaster/storage) "bjo" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 572dd50bb56..8208bbfab7d 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -101,6 +101,30 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/security/prison/toilet) +"aam" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aan" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) "aao" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -282,20 +306,71 @@ /turf/open/floor/plasteel, /area/science/robotics/mechbay) "aaH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/structure/disposalpipe/junction/flip{ + dir = 8 }, -/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"aaI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/light, /obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aaJ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/effect/mapping_helpers/dead_body_placer, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, /turf/open/floor/plasteel, -/area/medical/morgue) +/area/hallway/primary/port) +"aaK" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood, +/area/library) +"aaL" = ( +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/library) +"aaM" = ( +/obj/machinery/camera{ + c_tag = "Art Gallery"; + name = "library camera" + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 32 + }, +/turf/open/floor/wood, +/area/library) +"aaN" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/structure/table/wood/fancy, +/obj/structure/sign/painting/library_secure{ + pixel_y = 32 + }, +/turf/open/floor/carpet, +/area/library) "aaO" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -303,9 +378,105 @@ "aaP" = ( /turf/closed/wall/mineral/plastitanium, /area/hallway/secondary/entry) +"aaQ" = ( +/obj/machinery/door/window{ + dir = 2; + name = "Secure Art Exhibition" + }, +/obj/structure/table/wood/fancy, +/obj/structure/sign/painting/library_secure{ + pixel_y = 32 + }, +/turf/open/floor/carpet, +/area/library) +"aaR" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/table/wood/fancy, +/obj/structure/sign/painting/library_secure{ + pixel_y = 32 + }, +/turf/open/floor/carpet, +/area/library) "aaS" = ( /turf/closed/wall/mineral/plastitanium, /area/construction/mining/aux_base) +"aaT" = ( +/obj/item/twohanded/required/kirbyplants/random, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood, +/area/library) +"aaU" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/dark, +/area/library) +"aaV" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"aaW" = ( +/obj/structure/chair/sofa/right{ + dir = 8 + }, +/obj/structure/sign/painting/library{ + pixel_x = 32 + }, +/turf/open/floor/wood, +/area/library) +"aaX" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/library) +"aaY" = ( +/obj/item/radio/intercom{ + pixel_x = -26 + }, +/obj/structure/sign/painting/library{ + pixel_y = -32 + }, +/turf/open/floor/wood, +/area/library) +"aaZ" = ( +/obj/structure/sign/painting/library{ + pixel_y = -32 + }, +/turf/open/floor/wood, +/area/library) +"aba" = ( +/obj/machinery/light, +/turf/open/floor/wood, +/area/library) +"abb" = ( +/obj/structure/chair/sofa/left{ + dir = 8 + }, +/turf/open/floor/wood, +/area/library) +"abc" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/photocopier, +/turf/open/floor/wood, +/area/library) +"abd" = ( +/obj/machinery/newscaster{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/dark, +/area/library) "abe" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/end{ @@ -316,6 +487,23 @@ "abf" = ( /turf/closed/wall, /area/hallway/secondary/entry) +"abg" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/grimy, +/area/library) +"abh" = ( +/obj/structure/table/wood, +/obj/item/newspaper{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = -4; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, +/area/library) "abi" = ( /turf/closed/wall, /area/construction/mining/aux_base) @@ -323,6 +511,60 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/space/nearstation) +"abk" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/sign/plaques/kiddie/library{ + pixel_x = 32; + pixel_y = 32 + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"abl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Library"; + name = "library camera" + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"abm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/library) +"abn" = ( +/obj/machinery/bookbinder, +/turf/open/floor/plasteel/dark, +/area/library) +"abo" = ( +/obj/structure/table/wood, +/obj/item/storage/crayons, +/obj/item/storage/crayons, +/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/toy/crayon/spraycan{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/toy/crayon/spraycan, +/turf/open/floor/plasteel/dark, +/area/library) "abp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -349,6 +591,21 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) +"abr" = ( +/obj/item/twohanded/required/kirbyplants/random, +/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/toy/plush/snakeplushie, +/turf/open/floor/plasteel/dark, +/area/library) "abs" = ( /obj/docking_port/stationary{ dwidth = 1; @@ -360,6 +617,29 @@ /obj/structure/fans/tiny/invisible, /turf/open/space/basic, /area/space) +"abt" = ( +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/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/structure/sign/painting/library_private{ + pixel_x = 32; + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/library) "abv" = ( /obj/item/stack/cable_coil, /obj/structure/lattice/catwalk, @@ -19841,11 +20121,14 @@ "aQC" = ( /obj/structure/table, /obj/item/folder/yellow, -/obj/item/destTagger, /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ dir = 8 }, +/obj/item/storage/box/shipping{ + pixel_x = 4; + pixel_z = 4 + }, /turf/open/floor/plasteel, /area/quartermaster/sorting) "aQD" = ( @@ -26316,6 +26599,23 @@ }, /turf/open/floor/plasteel, /area/security/prison) +"bbj" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Chemistry"; + req_access_txt = "5; 33" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/chemistry) "bbk" = ( /obj/machinery/power/apc/highcap/five_k{ areastring = "/area/security/prison"; @@ -44500,6 +44800,7 @@ pixel_x = -32 }, /obj/effect/turf_decal/bot, +/obj/item/storage/box/shipping, /turf/open/floor/plasteel, /area/storage/primary) "bGH" = ( @@ -55486,37 +55787,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) -"bYR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"bYS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) "bYT" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -57347,44 +57617,6 @@ }, /turf/open/floor/plasteel/dark, /area/library) -"cct" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -32 - }, -/obj/item/radio/intercom{ - pixel_y = 26 - }, -/turf/open/floor/plasteel/dark, -/area/library) -"ccu" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/folder, -/obj/item/pen, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/library) -"ccv" = ( -/obj/machinery/computer/libraryconsole, -/obj/structure/table/wood, -/turf/open/floor/plasteel/dark, -/area/library) "ccw" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -58416,89 +58648,12 @@ }, /turf/open/floor/plasteel/dark, /area/library) -"cef" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/librarian, -/turf/open/floor/plasteel/dark, -/area/library) "ceg" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/grimy, /area/library) -"ceh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/library) -"cei" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/obj/machinery/newscaster{ - pixel_x = 32 - }, -/obj/machinery/camera{ - c_tag = "Library - Fore"; - dir = 8; - name = "library camera" - }, -/turf/open/floor/plasteel/dark, -/area/library) -"cej" = ( -/obj/machinery/photocopier, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/library) -"cek" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/dark, -/area/library) -"cel" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/status_display/evac{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/library) "cem" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -59396,16 +59551,6 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"cfV" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/item/twohanded/required/kirbyplants/random, -/obj/structure/sign/plaques/kiddie/library{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/library) "cfW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -59418,34 +59563,6 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cfY" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/wood, -/area/library) -"cfZ" = ( -/obj/structure/sign/warning/nosmoking, -/turf/closed/wall, -/area/library) -"cga" = ( -/obj/machinery/door/morgue{ - name = "Private Study" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/library) "cgb" = ( /obj/structure/sign/plaques/kiddie/library{ pixel_x = -32 @@ -60412,16 +60529,6 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"chM" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/wood, -/area/library) "chN" = ( /obj/structure/chair/office, /turf/open/floor/wood, @@ -60435,61 +60542,6 @@ /obj/item/twohanded/required/kirbyplants/random, /turf/open/floor/wood, /area/library) -"chQ" = ( -/obj/machinery/bookbinder, -/turf/open/floor/wood, -/area/library) -"chR" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/structure/bookcase/random, -/turf/open/floor/wood, -/area/library) -"chS" = ( -/obj/structure/chair/comfy/brown, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/library) -"chT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/wood, -/area/library) -"chU" = ( -/obj/machinery/photocopier, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/library) -"chV" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/structure/bookcase/manuals/research_and_development, -/obj/machinery/camera{ - c_tag = "Library"; - name = "library camera" - }, -/turf/open/floor/wood, -/area/library) -"chW" = ( -/obj/structure/chair/comfy/brown, -/obj/item/radio/intercom{ - pixel_y = 26 - }, -/turf/open/floor/wood, -/area/library) -"chX" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/wood, -/area/library) "chZ" = ( /obj/machinery/computer/security/mining{ dir = 4 @@ -61241,10 +61293,6 @@ }, /turf/open/floor/plasteel/grimy, /area/library) -"cju" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/grimy, -/area/library) "cjv" = ( /obj/machinery/door/airlock/public/glass{ name = "Library Access" @@ -62766,10 +62814,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/library) -"cmv" = ( -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/library) "cmw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/extinguisher_cabinet{ @@ -67869,22 +67913,6 @@ }, /turf/open/floor/plasteel/dark, /area/library) -"cwt" = ( -/obj/structure/table/wood, -/obj/item/storage/crayons, -/obj/item/storage/crayons, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/library) "cwu" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box{ @@ -67919,20 +67947,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/dark, /area/library) -"cwy" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/library) "cwz" = ( /obj/structure/bookcase{ name = "Forbidden Knowledge" @@ -68828,25 +68842,6 @@ }, /turf/open/floor/plasteel/dark, /area/library) -"cyg" = ( -/obj/machinery/newscaster{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/library) "cyh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/camera{ @@ -84805,7 +84800,7 @@ name = "Chemistry Side Shutters" }, /turf/open/floor/plating, -/area/medical/chemistry) +/area/medical/pharmacy) "dbb" = ( /obj/structure/table/glass, /obj/item/folder/white, @@ -84823,7 +84818,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dbc" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/chemistry{ @@ -84843,14 +84838,14 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dbd" = ( /obj/machinery/chem_master, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dbe" = ( /obj/structure/chair/office/light{ dir = 1 @@ -84858,7 +84853,7 @@ /obj/effect/landmark/start/chemist, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dbf" = ( /obj/machinery/chem_dispenser, /obj/structure/disposalpipe/segment, @@ -84866,12 +84861,12 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dbg" = ( /obj/machinery/power/apc{ - areastring = "/area/medical/chemistry"; + areastring = "/area/medical/pharmacy"; dir = 1; - name = "Chemistry Lab APC"; + name = "Pharmacy APC"; pixel_y = 23 }, /obj/effect/turf_decal/tile/yellow{ @@ -84879,18 +84874,18 @@ }, /obj/structure/cable, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dbh" = ( /obj/structure/closet/wardrobe/chemistry_white, /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dbi" = ( /obj/machinery/status_display/ai, /turf/closed/wall, -/area/medical/chemistry) +/area/medical/pharmacy) "dbj" = ( /obj/machinery/computer/med_data{ dir = 4 @@ -85832,7 +85827,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dcO" = ( /turf/open/floor/plasteel/white, /area/medical/chemistry) @@ -85842,11 +85837,11 @@ dir = 10 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dcQ" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dcR" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -85856,7 +85851,7 @@ dir = 6 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dcS" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -85870,7 +85865,7 @@ }, /obj/structure/cable, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dcT" = ( /obj/structure/closet/secure_closet/medical1, /obj/structure/window/reinforced, @@ -85878,7 +85873,7 @@ dir = 10 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dcU" = ( /obj/machinery/computer/crew{ dir = 4 @@ -86592,13 +86587,13 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dem" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "den" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -86611,7 +86606,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "deo" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -86623,7 +86618,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dep" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/effect/turf_decal/tile/yellow{ @@ -86634,7 +86629,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "deq" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder{ @@ -86646,11 +86641,11 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "der" = ( /obj/machinery/status_display/evac, /turf/closed/wall, -/area/medical/chemistry) +/area/medical/pharmacy) "des" = ( /obj/structure/table/glass, /obj/item/clipboard, @@ -87201,7 +87196,7 @@ "dfv" = ( /obj/structure/sign/departments/chemistry, /turf/closed/wall, -/area/medical/chemistry) +/area/medical/pharmacy) "dfw" = ( /obj/machinery/light{ dir = 8 @@ -87224,7 +87219,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dfx" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/yellow{ @@ -87234,7 +87229,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dfy" = ( /obj/machinery/holopad{ pixel_x = -16 @@ -87246,7 +87241,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dfz" = ( /obj/structure/table/glass, /obj/item/stack/sheet/mineral/plasma, @@ -87265,14 +87260,14 @@ dir = 4 }, /obj/machinery/camera{ - c_tag = "Medbay - Chemistry"; + c_tag = "Medbay - Pharmacy"; dir = 8; name = "medbay camera"; network = list("ss13","medbay") }, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dfA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -87282,10 +87277,6 @@ /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/folder/white, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -3; - pixel_y = 2 - }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/medbay/central) @@ -88051,7 +88042,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/medical/chemistry) +/area/medical/pharmacy) "dgV" = ( /obj/machinery/chem_dispenser, /obj/structure/disposalpipe/segment{ @@ -88061,7 +88052,7 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dgW" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -88071,7 +88062,7 @@ dir = 5 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dgX" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -88081,7 +88072,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dgY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -88094,7 +88085,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dgZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -88111,14 +88102,14 @@ }, /obj/structure/cable, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dha" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dhb" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -88136,7 +88127,7 @@ }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dhc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -88911,7 +88902,7 @@ name = "Chemistry Desk" }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "diq" = ( /obj/structure/chair/office/light{ dir = 8 @@ -88919,19 +88910,13 @@ /obj/effect/landmark/start/chemist, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dir" = ( -/obj/machinery/requests_console{ - department = "Chemistry Lab"; - name = "Chemistry RC"; - pixel_y = -64; - receive_ore_updates = 1 - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dis" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/turf_decal/tile/neutral{ @@ -88944,17 +88929,18 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/cable, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dit" = ( /obj/effect/turf_decal/tile/yellow, /obj/structure/cable, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "diu" = ( /obj/machinery/smartfridge/chemistry/preloaded, /turf/closed/wall, -/area/medical/chemistry) +/area/medical/pharmacy) "div" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -89890,23 +89876,30 @@ }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dkh" = ( /obj/machinery/chem_heater, /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/turf/open/floor/plasteel, -/area/medical/chemistry) -"dki" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 +/obj/machinery/requests_console{ + department = "Pharmacy"; + name = "Pharmacy RC"; + pixel_y = -32; + receive_ore_updates = 1 }, +/turf/open/floor/plasteel, +/area/medical/pharmacy) +"dki" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dkj" = ( /obj/structure/table/glass, /obj/item/stack/packageWrap, @@ -89920,15 +89913,14 @@ }, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dkk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/vending/wardrobe/chem_wardrobe, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dkl" = ( /obj/machinery/light_switch{ pixel_x = 10; @@ -89938,19 +89930,15 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_x = -6; + pixel_x = -4; pixel_y = -26 }, /obj/effect/turf_decal/tile/yellow, /obj/structure/cable, /turf/open/floor/plasteel/white, -/area/medical/chemistry) +/area/medical/pharmacy) "dkm" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Chemistry Lab"; - req_access_txt = "5; 69" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -89961,8 +89949,12 @@ dir = 4 }, /obj/structure/cable, +/obj/machinery/door/airlock/medical/glass{ + name = "Pharmacy"; + req_access_txt = "5; 69" + }, /turf/open/floor/plasteel, -/area/medical/chemistry) +/area/medical/pharmacy) "dkn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -90702,28 +90694,25 @@ /area/hallway/primary/aft) "dlU" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Chemistry Maintenance"; - req_access_txt = "5; 33" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/airlock/medical/glass{ + name = "Chemistry"; + req_access_txt = "69; 33" + }, +/obj/structure/cable, /turf/open/floor/plasteel, /area/medical/chemistry) -"dlV" = ( -/turf/closed/wall, -/area/medical/medbay/zone2) "dlW" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/medical/medbay/zone2) +/area/medical/chemistry) "dlX" = ( /obj/structure/sign/departments/medbay/alt, /turf/closed/wall, -/area/medical/medbay/zone2) +/area/medical/chemistry) "dlY" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, @@ -91133,118 +91122,122 @@ /turf/open/floor/plasteel, /area/science/robotics/mechbay) "dng" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/wrench, -/obj/item/roller, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dnh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dni" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/plating, -/area/maintenance/department/medical/central) -"dnj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dnk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/maintenance/department/medical/central) -"dnl" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/structure/closet/wardrobe/mixed, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dnm" = ( -/obj/machinery/light{ +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/structure/sign/warning/nosmoking{ - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/closet/wardrobe/mixed, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dnn" = ( -/obj/machinery/airalarm{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/structure/closet/wardrobe/mixed, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dno" = ( -/obj/item/twohanded/required/kirbyplants/random, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dnp" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dnq" = ( -/obj/structure/table/glass, -/obj/item/storage/box/bodybags{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/bodybags, -/obj/item/pen, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dnr" = ( -/obj/structure/table/glass, -/obj/machinery/power/apc/highcap/five_k{ - dir = 1; - name = "Ward APC"; - pixel_y = 23 - }, -/obj/item/folder/white, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, /obj/structure/cable, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/area/medical/chemistry) +"dnh" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"dnl" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Chemistry - Fore"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"dnn" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"dno" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/chem_dispenser, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"dnp" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"dnq" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/chem_master, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"dnr" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/chem_heater, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/item/radio/intercom{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dns" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/blue{ @@ -92142,201 +92135,83 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "dpf" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/hallway/primary/aft) "dpg" = ( -/obj/machinery/door/firedoor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dph" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/structure/cable, /turf/open/floor/plating, -/area/maintenance/department/medical/central) +/area/medical/chemistry) +"dph" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dpi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dpj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dpk" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dpl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/dropper, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dpm" = ( -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/light, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/area/medical/chemistry) "dpn" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/area/medical/chemistry) "dpo" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ 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/effect/turf_decal/tile/yellow, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dpp" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dpq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/area/medical/chemistry) "dpr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/area/medical/chemistry) "dps" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Ward"; - req_access_txt = "5" - }, +/obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2) +/turf/closed/wall, +/area/medical/chemistry) "dpt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/purple{ dir = 8 }, /obj/structure/cable, /turf/open/floor/plasteel/white, /area/medical/medbay/central) -"dpu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/medical/medbay/central) "dpv" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -93069,181 +92944,24 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dqU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/maintenance/department/medical/central) -"dqV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/plating, -/area/maintenance/department/medical/central) "dqW" = ( -/obj/effect/landmark/blobstart, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dqX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dqY" = ( -/obj/structure/rack, -/obj/item/healthanalyzer, -/obj/item/clothing/glasses/eyepatch, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/maintenance/department/medical/central) -"dqZ" = ( -/obj/machinery/status_display/ai{ - pixel_x = -32 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dra" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"drb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"drc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"drd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dre" = ( -/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/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/area/medical/chemistry) "drf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/effect/turf_decal/tile/yellow, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"drg" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/medical/glass{ - name = "Ward"; - req_access_txt = "5" - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2) +/area/medical/chemistry) "drh" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "dri" = ( @@ -93771,73 +93489,14 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dso" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dsp" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dsq" = ( -/turf/open/floor/plating, -/area/maintenance/department/medical/central) -"dsr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dss" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/blue, -/obj/structure/girder, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dst" = ( -/obj/machinery/camera{ - c_tag = "Medbay - Ward"; - dir = 4; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/closet/wardrobe/pjs, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dsw" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dsx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dsz" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) "dsA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/purple{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "dsB" = ( @@ -94308,21 +93967,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dtA" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder, -/turf/open/floor/plating, -/area/maintenance/department/medical/central) -"dtB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dtC" = ( -/turf/closed/wall/r_wall, -/area/medical/medbay/zone2) "dtG" = ( /obj/machinery/power/apc{ areastring = "/area/medical/medbay/central"; @@ -94988,55 +94632,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dvc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dvd" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dvf" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dvg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dvh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dvi" = ( -/obj/machinery/status_display/evac, -/turf/closed/wall/r_wall, -/area/medical/medbay/zone2) -"dvp" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/structure/closet/secure_closet/personal/patient, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) "dvr" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -95685,137 +95280,13 @@ /turf/open/floor/plasteel, /area/science/robotics/mechbay) "dwD" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dwF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) -"dwG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/maintenance/department/medical/central) -"dwH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dwI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dwJ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/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/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dwK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/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/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dwL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dwM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/medical/medbay/zone2) -"dwN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dwO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dwP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) "dwV" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -96384,124 +95855,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dyj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/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/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dyk" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dyl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dym" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Ward Maintenance"; - req_access_txt = "5" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2) -"dyn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dyo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dyp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dyr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dys" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) "dyw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -97148,77 +96501,20 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dzN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dzO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 +"dzR" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dzP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/yellow{ 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/effect/turf_decal/tile/yellow, +/obj/structure/disposalpipe/segment{ + dir = 10 }, /obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dzQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/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/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dzR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dzV" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dzY" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/area/medical/chemistry) "dAa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/camera{ @@ -97633,115 +96929,47 @@ /turf/open/floor/plasteel, /area/science/robotics/lab) "dAR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg3" +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, -/area/maintenance/department/medical/central) -"dAS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) -"dAT" = ( -/obj/item/radio/intercom{ - pixel_y = -26 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) -"dAU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/maintenance/department/medical/central) +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dAV" = ( -/obj/machinery/status_display/ai, -/turf/closed/wall/r_wall, -/area/medical/medbay/zone2) -"dAX" = ( -/obj/structure/sign/warning/nosmoking{ - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/blue{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/structure/closet/secure_closet/personal/patient{ - anchored = 1 +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/camera{ + c_tag = "Chemistry - Center"; + dir = 1; + name = "medbay camera"; + network = list("ss13","medbay") }, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dAY" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/closet/secure_closet/personal/patient{ - anchored = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dBa" = ( -/obj/structure/mirror{ - pixel_y = -33 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dBb" = ( -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/area/medical/chemistry) "dBc" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) -"dBd" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electricshock{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/medical/medbay/zone2) +/area/medical/chemistry) "dBe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/sign/poster/official/do_not_question{ - pixel_y = -32 - }, /obj/item/twohanded/required/kirbyplants/random, /obj/effect/turf_decal/tile/purple{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/sign/warning/bodysposal{ + pixel_y = -32 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "dBf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, /obj/structure/disposalpipe/segment{ dir = 5 }, @@ -97750,6 +96978,9 @@ dir = 8 }, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "dBg" = ( @@ -98374,51 +97605,29 @@ "dCy" = ( /turf/closed/wall, /area/medical/morgue) -"dCz" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Morgue"; - req_access_txt = "5;6" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/medical/morgue) -"dCA" = ( -/obj/structure/sign/warning/nosmoking, -/turf/closed/wall, -/area/medical/morgue) "dCB" = ( /turf/closed/wall/r_wall, /area/medical/morgue) -"dCC" = ( -/turf/closed/wall/r_wall, -/area/maintenance/department/medical/morgue) "dCD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, -/area/maintenance/department/medical/morgue) +/area/medical/morgue) "dCE" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Morgue Maintenance"; - req_access_txt = "5" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/structure/cable, +/obj/machinery/door/airlock/grunge{ + name = "Morgue"; + req_access_txt = "5;6" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable, /turf/open/floor/plasteel, -/area/maintenance/department/medical/morgue) -"dCF" = ( -/turf/closed/wall, -/area/maintenance/department/medical/morgue) +/area/medical/morgue) "dCG" = ( /obj/structure/table/glass, /obj/item/clipboard, @@ -98938,66 +98147,16 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "dDI" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/cobweb, -/obj/item/storage/box/bodybags{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/bodybags, -/turf/open/floor/plating, -/area/medical/morgue) +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dDJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) -"dDK" = ( -/obj/machinery/light_switch{ - pixel_x = 26; - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/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/structure/cable, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) -"dDL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dDM" = ( /obj/structure/bodycontainer/morgue{ dir = 2 @@ -99005,96 +98164,111 @@ /turf/open/floor/plating, /area/medical/morgue) "dDN" = ( -/obj/structure/bodycontainer/morgue{ - dir = 2 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, +/obj/structure/table, +/obj/effect/decal/cleanable/cobweb, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/mask/surgical, +/turf/open/floor/plating, /area/medical/morgue) "dDP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ dir = 1 }, +/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/structure/filingcabinet/chestdrawer, +/obj/machinery/airalarm{ + pixel_y = 23 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"dDR" = ( /obj/structure/bodycontainer/morgue{ dir = 2 }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"dDS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bodycontainer/morgue{ + dir = 2 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"dDT" = ( +/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/pipe/simple/scrubbers/hidden, +/obj/structure/bed/roller, +/obj/item/crowbar{ + pixel_y = -6 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"dDU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch{ + pixel_x = 26; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable, /turf/open/floor/plating, /area/medical/morgue) -"dDQ" = ( -/obj/structure/filingcabinet/chestdrawer, +"dDV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/rack, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/item/twohanded/broom, /turf/open/floor/plating{ icon_state = "platingdmg2" }, /area/medical/morgue) -"dDR" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/maintenance/department/medical/morgue) -"dDS" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/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 - }, -/turf/open/floor/plasteel/dark, -/area/maintenance/department/medical/morgue) -"dDT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dDU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dDV" = ( -/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 - }, -/turf/open/floor/plasteel/dark, -/area/maintenance/department/medical/morgue) "dDW" = ( /obj/structure/table/glass, /obj/item/folder/white, @@ -99577,46 +98751,22 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "dER" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/gloves/color/latex, -/turf/open/floor/plating, -/area/medical/morgue) +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dES" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/medical/morgue) -"dET" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/medical/morgue) -"dEU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/medical/morgue) +/obj/effect/turf_decal/trimline/yellow/filled/warning, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dEV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -99630,6 +98780,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/cable, /turf/open/floor/plasteel, /area/medical/morgue) "dEW" = ( @@ -99646,8 +98797,62 @@ /turf/open/floor/plasteel, /area/medical/morgue) "dEX" = ( +/obj/effect/landmark/event_spawn, +/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/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) +"dEY" = ( +/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/effect/mapping_helpers/dead_body_placer, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) +"dEZ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/medical/morgue) +"dFb" = ( +/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/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) +"dFc" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/landmark/xeno_spawn, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -99659,47 +98864,14 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/turf/open/floor/plasteel, -/area/medical/morgue) -"dEY" = ( -/turf/open/floor/plating, -/area/medical/morgue) -"dEZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dFa" = ( -/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 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/morgue) -"dFb" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dFc" = ( -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) +/turf/open/floor/plasteel, +/area/medical/morgue) "dFd" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/backpack/duffelbag/med, -/obj/item/flashlight/pen, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) +/obj/structure/closet/secure_closet/personal/patient, +/turf/open/floor/plasteel, +/area/medical/morgue) "dFe" = ( /turf/closed/wall, /area/crew_quarters/heads/cmo) @@ -100255,145 +99427,56 @@ /turf/open/floor/plasteel, /area/science/robotics/lab) "dGf" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, /obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"dGg" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Morgue"; - req_access_txt = "6" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/navbeacon/wayfinding, -/turf/open/floor/plasteel, -/area/medical/morgue) "dGh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/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{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/chem_wardrobe, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dGi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/medical/morgue) -"dGj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/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{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/medical/morgue) -"dGk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/medical/morgue) +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dGl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/yellow, +/obj/structure/disposalpipe/trunk{ 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/structure/cable, -/turf/open/floor/plasteel, -/area/medical/morgue) -"dGm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/medical_doctor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/medical/morgue) +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dGn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/landmark/blobstart, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -100404,11 +99487,11 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/structure/cable, +/obj/structure/table/optable, /turf/open/floor/plasteel, /area/medical/morgue) "dGo" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -100419,111 +99502,93 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/turf/open/floor/plasteel, +/area/medical/morgue) +"dGq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) +"dGs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/landmark/blobstart, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) +"dGt" = ( +/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/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) +"dGu" = ( +/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/pipe/simple/supply/hidden{ + dir = 9 + }, /obj/structure/cable, /turf/open/floor/plasteel, /area/medical/morgue) -"dGp" = ( +"dGv" = ( /obj/machinery/light_switch{ pixel_x = 26; pixel_y = 26 }, +/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/firealarm{ dir = 8; - pixel_x = 24; - pixel_y = -26 + pixel_x = 24 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel, /area/medical/morgue) -"dGq" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/grunge{ - name = "Morgue"; - req_access_txt = "5" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/morgue) -"dGr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/plasteel/dark, -/area/maintenance/department/medical/morgue) -"dGs" = ( -/obj/effect/landmark/blobstart, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dGt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dGu" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/morgue) -"dGv" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/latex/nitrile, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/mask/breath/medical, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) "dGw" = ( /obj/structure/closet/secure_closet/CMO, /obj/item/clothing/under/rank/medical/doctor, @@ -101014,94 +100079,73 @@ /turf/open/floor/plasteel, /area/science/robotics/lab) "dHC" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/structure/disposalpipe/segment, -/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{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/head/welding, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/newscaster{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dHD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/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{ +/obj/effect/landmark/start/chemist, +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/turf/open/floor/plasteel, -/area/medical/morgue) +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dHE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/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/structure/cable, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/medical/morgue) -"dHF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/medical/morgue) +/area/medical/chemistry) "dHH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/yellow, +/obj/item/reagent_containers/glass/bottle/multiver{ + pixel_x = 7; + pixel_y = 12 + }, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = -4; + pixel_y = 12 + }, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/reagent_containers/dropper, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/turf/open/floor/plasteel, -/area/medical/morgue) +/obj/machinery/light_switch{ + pixel_x = 26; + pixel_y = 6 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dHI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -101112,101 +100156,16 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/effect/decal/cleanable/blood/old, /turf/open/floor/plasteel, /area/medical/morgue) -"dHJ" = ( +"dHP" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, /obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/medical/morgue) -"dHK" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) -"dHL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/medical/morgue) -"dHM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/maintenance/department/medical/morgue) -"dHN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/morgue) -"dHO" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dHP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, @@ -101215,12 +100174,10 @@ }, /obj/structure/cable, /turf/open/floor/plasteel, -/area/maintenance/department/medical/morgue) +/area/medical/morgue) "dHQ" = ( -/obj/structure/rack, +/obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/crowbar, -/obj/item/storage/pill_bottle, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -101231,8 +100188,13 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/maintenance/department/medical/morgue) +/obj/item/storage/box/bodybags{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/bodybags, +/turf/open/floor/plasteel, +/area/medical/morgue) "dHR" = ( /obj/machinery/light{ dir = 8 @@ -101866,14 +100828,24 @@ /turf/open/floor/plating, /area/medical/morgue) "dIV" = ( -/obj/machinery/power/apc{ - areastring = "/area/medical/morgue"; - name = "Morgue APC"; - pixel_y = -23 +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/medical/morgue) +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/construction/plumbing, +/obj/item/construction/plumbing, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "dIW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small, @@ -101900,9 +100872,6 @@ name = "medbay camera"; network = list("ss13","medbay") }, -/obj/structure/sign/poster/official/bless_this_spess{ - pixel_y = -32 - }, /obj/structure/bodycontainer/morgue{ dir = 1 }, @@ -101919,86 +100888,59 @@ /turf/open/floor/plasteel/dark, /area/medical/morgue) "dIY" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/clothing/gloves/color/latex{ + pixel_y = 6 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ +/obj/item/screwdriver{ + pixel_y = 6 + }, +/turf/open/floor/plating, +/area/medical/morgue) +"dIZ" = ( +/obj/machinery/power/apc{ + areastring = "/area/medical/morgue"; + name = "Morgue APC"; + pixel_y = -23 + }, +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/structure/cable, +/turf/open/floor/plating, +/area/medical/morgue) +"dJc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bodycontainer/morgue{ dir = 1 }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"dJd" = ( +/obj/structure/bodycontainer/morgue{ + dir = 1 + }, +/obj/machinery/light/small, /turf/open/floor/plating{ icon_state = "platingdmg1" }, /area/medical/morgue) -"dIZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/bodycontainer/morgue{ - dir = 1 - }, -/turf/open/floor/plating, -/area/medical/morgue) -"dJa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/light_construct/small, -/obj/structure/bodycontainer/morgue{ - dir = 1 - }, -/turf/open/floor/plating, -/area/medical/morgue) -"dJb" = ( +"dJg" = ( /obj/structure/table, /obj/item/stack/packageWrap, /obj/item/hand_labeler, /turf/open/floor/plating, /area/medical/morgue) -"dJc" = ( -/obj/structure/closet/secure_closet/medical3, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dJd" = ( -/obj/machinery/vending/wardrobe/medi_wardrobe, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dJe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) -"dJf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/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/structure/cable, -/turf/open/floor/plasteel/dark, -/area/maintenance/department/medical/morgue) -"dJg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc{ - areastring = "/area/maintenance/department/medical/morgue"; - name = "Morgue Maintenance APC"; - pixel_y = -23 - }, -/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/structure/cable, -/turf/open/floor/plasteel/dark, -/area/maintenance/department/medical/morgue) "dJh" = ( /obj/machinery/suit_storage_unit/cmo, /obj/effect/turf_decal/stripes/line{ @@ -102572,16 +101514,17 @@ /area/hallway/primary/aft) "dKm" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/structure/cable, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Medbay Maintenance"; + req_access_txt = "5" + }, +/obj/structure/cable, /turf/open/floor/plasteel, /area/maintenance/aft) "dKn" = ( @@ -113319,6 +112262,25 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/dark, /area/library) +"ekI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/medical/morgue) +"elu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"emj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/medical/chemistry) "eny" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -113468,6 +112430,16 @@ /obj/structure/cable, /turf/open/floor/plasteel/white, /area/maintenance/department/science) +"fbz" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "fbA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -113531,11 +112503,62 @@ /obj/structure/cable, /turf/open/floor/plasteel/dark, /area/science/mixing/chamber) +"foK" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "fpQ" = ( /obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/engine, /area/science/mixing/chamber) +"fvf" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"fww" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"fxp" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "chemisttop"; + name = "Chemistry Lobby Shutters" + }, +/obj/machinery/door/window/northleft{ + name = "Chemistry Desk" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/southleft{ + name = "Chemistry Desk"; + req_access_txt = "5; 69" + }, +/turf/open/floor/plasteel, +/area/medical/chemistry) +"fAI" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "fGq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, @@ -113568,6 +112591,17 @@ /obj/structure/closet/radiation, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"fXU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/wood, +/area/library) +"fYL" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "gaK" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -113597,6 +112631,10 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) +"gqD" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/closed/wall, +/area/medical/chemistry) "gvO" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -113737,6 +112775,20 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/disposal/incinerator) +"gRN" = ( +/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/smartfridge/organ, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "gSi" = ( /turf/closed/wall/r_wall, /area/science/misc_lab) @@ -113745,6 +112797,10 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel/white, /area/science/misc_lab/range) +"gUL" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/wood, +/area/library) "gWD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -113797,6 +112853,19 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) +"hpY" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "hrP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -113957,6 +113026,25 @@ /obj/machinery/light, /turf/open/floor/plasteel/white, /area/medical/surgery/room_b) +"ide" = ( +/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/storage/bag/bio, +/obj/structure/table, +/obj/machinery/vending/wallmed{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "igE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm{ @@ -113993,15 +113081,21 @@ /turf/open/floor/plasteel/dark, /area/science/nanite) "inw" = ( -/turf/closed/wall, -/area/maintenance/department/medical/central) -"iqc" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/medical/chemistry) +"isC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Chemistry Maintenance"; + req_access_txt = "33" }, -/obj/structure/closet/wardrobe/pjs, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/maintenance/aft) "itc" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -114095,6 +113189,13 @@ }, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"iLU" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "iQh" = ( /obj/structure/bodycontainer/morgue{ dir = 1 @@ -114150,14 +113251,42 @@ }, /turf/open/floor/plasteel, /area/medical/surgery/room_b) -"jac" = ( -/obj/machinery/power/apc/auto_name/east, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plating, -/area/maintenance/department/medical/central) +"jcE" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/table, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty, +/obj/item/stack/ducts/fifty, +/obj/item/plunger, +/obj/item/plunger, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = -26 + }, +/obj/machinery/requests_console{ + department = "Chemistry Lab"; + name = "Chemistry RC"; + pixel_y = -32; + receive_ore_updates = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "jdO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -114195,6 +113324,16 @@ /obj/structure/cable, /turf/open/floor/plasteel, /area/hallway/secondary/command) +"jpo" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "jqM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -114252,6 +113391,14 @@ /obj/structure/cable, /turf/open/floor/plasteel/dark, /area/science/mixing) +"jBu" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "jDu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ @@ -114416,6 +113563,22 @@ }, /turf/closed/wall/r_wall, /area/crew_quarters/heads/hor) +"kvv" = ( +/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/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) "kxT" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, @@ -114473,6 +113636,21 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/science/misc_lab/range) +"lbd" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"lcz" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "lcU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -114771,6 +113949,9 @@ }, /turf/open/floor/plasteel, /area/science/misc_lab/range) +"lYb" = ( +/turf/open/floor/plasteel/white, +/area/medical/pharmacy) "mbO" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -114785,6 +113966,16 @@ /obj/structure/cable, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"mgW" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "mkm" = ( /obj/machinery/atmospherics/components/binary/valve, /obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{ @@ -114914,6 +114105,22 @@ /obj/structure/cable, /turf/open/floor/plasteel, /area/medical/surgery/room_b) +"mUS" = ( +/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/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) "mUY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/line{ @@ -114921,6 +114128,16 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"mWu" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "mWZ" = ( /obj/machinery/atmospherics/components/binary/pump, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -114942,6 +114159,11 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/surgery/room_b) +"nbA" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "ncP" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/latex, @@ -115010,6 +114232,20 @@ /obj/structure/cable, /turf/open/floor/plasteel/dark, /area/aisat) +"ntV" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "nvD" = ( /obj/effect/turf_decal/bot, /obj/machinery/holopad, @@ -115048,6 +114284,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/medical/medbay/central) +"nAG" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "nBr" = ( /turf/closed/wall/r_wall, /area/engine/storage_shared) @@ -115073,6 +114317,26 @@ /obj/structure/cable, /turf/open/floor/plasteel/white, /area/science/mixing) +"nJb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/sign/departments/chemistry{ + pixel_x = -32; + pixel_y = 0 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"nKD" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "nLd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable, @@ -115099,10 +114363,26 @@ }, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"nNI" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "nOg" = ( /obj/structure/lattice, /turf/open/space, /area/space) +"nQQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) "nQW" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 @@ -115177,6 +114457,21 @@ /obj/machinery/dna_scannernew, /turf/open/floor/plasteel/dark, /area/science/genetics) +"oCS" = ( +/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/structure/cable, +/turf/open/floor/plasteel, +/area/medical/morgue) "oGH" = ( /obj/machinery/shower{ pixel_y = 16 @@ -115256,6 +114551,20 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/plasteel/dark, /area/science/mixing) +"oPC" = ( +/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/structure/cable, +/turf/open/floor/plasteel, +/area/medical/morgue) "oQn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ @@ -115383,23 +114692,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"psi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/bodycontainer/morgue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) "ptI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -115425,6 +114717,9 @@ /obj/structure/cable, /turf/open/floor/plasteel, /area/engine/engineering) +"pxG" = ( +/turf/closed/wall, +/area/medical/pharmacy) "pAL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/decal/cleanable/dirt, @@ -115450,6 +114745,17 @@ }, /turf/closed/wall, /area/medical/sleeper) +"pCo" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/light_switch{ + pixel_x = 26; + pixel_y = 24 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "pCE" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 @@ -115457,6 +114763,20 @@ /obj/structure/cable, /turf/open/floor/plasteel, /area/engine/storage_shared) +"pJU" = ( +/obj/structure/cable, +/obj/machinery/power/apc{ + areastring = "/area/medical/chemistry"; + dir = 4; + name = "Chemistry APC"; + pixel_x = 25; + pixel_y = 3 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "pQm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ @@ -115472,6 +114792,20 @@ /obj/structure/cable, /turf/open/floor/plasteel, /area/science/research/abandoned) +"pRt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = -11 + }, +/obj/structure/mirror{ + pixel_x = -28 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) "pXY" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -115559,10 +114893,45 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) +"qlz" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/table/glass, +/obj/item/book/manual/wiki/chemistry{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/grenades, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/clothing/glasses/science, +/obj/item/clothing/glasses/science, +/obj/item/book/manual/wiki/plumbing{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/item/reagent_containers/dropper, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "qnx" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input, /turf/open/floor/engine/vacuum, /area/science/mixing/chamber) +"qob" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "qpq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -115669,6 +115038,27 @@ }, /turf/open/floor/plasteel/dark, /area/science/nanite) +"qUN" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = 10 + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "qWg" = ( /obj/structure/table/reinforced, /obj/machinery/light/small{ @@ -115760,6 +115150,13 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/science/storage) +"rAh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "rCv" = ( /turf/open/floor/plasteel, /area/science/misc_lab/range) @@ -115786,6 +115183,15 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) +"rKo" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "rKN" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -115839,6 +115245,19 @@ }, /turf/open/floor/plasteel, /area/engine/storage_shared) +"rPv" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "rUD" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/manifold/general/visible{ @@ -115877,6 +115296,24 @@ /obj/structure/bed/roller, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"rYU" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/central) "saw" = ( /turf/closed/wall/r_wall, /area/science/misc_lab/range) @@ -115938,6 +115375,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/engine/engineering) +"sLr" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/extinguisher_cabinet{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "sOi" = ( /obj/structure/plasticflaps/opaque, /obj/machinery/navbeacon{ @@ -115957,6 +115404,23 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) +"sWF" = ( +/obj/effect/decal/cleanable/blood/old, +/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/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) "tbR" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko, @@ -115970,6 +115434,12 @@ }, /turf/open/floor/plasteel, /area/engine/storage_shared) +"tcO" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "tew" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/purple{ @@ -115986,6 +115456,24 @@ /obj/structure/cable, /turf/open/floor/plating, /area/engine/storage_shared) +"tpD" = ( +/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/structure/disposalpipe/segment, +/obj/machinery/newscaster{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) "tse" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -115996,6 +115484,14 @@ }, /turf/open/space/basic, /area/space/nearstation) +"ttx" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "tub" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -116053,6 +115549,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/sign/poster/official/bless_this_spess{ + pixel_y = 32 + }, /turf/open/floor/plasteel/dark, /area/medical/morgue) "tHC" = ( @@ -116110,6 +115609,16 @@ /obj/structure/sign/departments/medbay/alt, /turf/closed/wall, /area/medical/sleeper) +"udq" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "ugX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -116123,6 +115632,17 @@ /obj/structure/cable, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"uiZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/sign/poster/official/report_crimes{ + pixel_x = -32; + pixel_y = 0 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "ukr" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -116144,6 +115664,20 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) +"unT" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"uoL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "upk" = ( /obj/machinery/door/airlock/public/glass{ name = "Holodeck Access" @@ -116182,11 +115716,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/maintenance/port/fore) -"uqb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder, -/turf/open/floor/plasteel, -/area/maintenance/department/medical/central) "uvc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -116243,6 +115772,32 @@ }, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"uIV" = ( +/obj/structure/disposalpipe/segment, +/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/shower{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/medical/morgue) +"uLB" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "uMN" = ( /obj/structure/table, /obj/item/stack/packageWrap, @@ -116291,6 +115846,12 @@ }, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"uXz" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/medical/morgue) "uYa" = ( /obj/machinery/door/airlock/external{ name = "External Docking Port" @@ -116317,6 +115878,18 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/plasteel/white, /area/medical/sleeper) +"veI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"vhE" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "vko" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -116362,6 +115935,22 @@ /obj/structure/cable, /turf/open/floor/plasteel, /area/maintenance/port) +"vrf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) +"vwn" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "vwU" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -116408,14 +115997,19 @@ }, /turf/open/floor/plasteel/white, /area/science/mixing) +"vDv" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/chemistry) "vDU" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/engine/storage_shared) -"vEx" = ( -/obj/machinery/firealarm, -/turf/closed/wall, -/area/medical/medbay/zone2) "vFc" = ( /turf/closed/wall, /area/medical/surgery/room_b) @@ -116688,6 +116282,24 @@ "xdD" = ( /turf/closed/wall/r_wall, /area/science/mixing/chamber) +"xlt" = ( +/obj/effect/decal/cleanable/dirt, +/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/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/morgue) "xmt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -116702,6 +116314,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/medical/medbay/central) +"xvf" = ( +/turf/closed/wall/r_wall, +/area/medical/chemistry) "xxD" = ( /obj/machinery/smartfridge/organ, /obj/structure/cable, @@ -116761,12 +116376,18 @@ }, /turf/open/floor/plasteel/dark, /area/science/mixing) -"xFp" = ( -/obj/effect/turf_decal/tile/blue{ +"xFP" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/machinery/firealarm{ + pixel_y = 26 + }, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2) +/area/medical/chemistry) "xHZ" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -116789,6 +116410,10 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) +"xKp" = ( +/obj/effect/landmark/start/librarian, +/turf/open/floor/plasteel/grimy, +/area/library) "xKH" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 32 @@ -147062,8 +146687,8 @@ bYM caG ccn cee -cfV -chM +aaX +abc cjr cjs cmp @@ -147318,7 +146943,7 @@ bWD bYM caH cco -cef +aaU cfW chN cjs @@ -147330,7 +146955,7 @@ cqN cmt ctJ caH -cwq +abn cxV czD cBb @@ -147835,7 +147460,7 @@ ccq ceg ccq chO -ceg +abk ckQ cmr ccq @@ -148088,11 +147713,11 @@ bUt bWD bYM caH -ccr -ceh -cfY -chP -cjt +cwq +aaV +caG +caG +abl ckR cms cnO @@ -148343,12 +147968,12 @@ bDl bDl bUu bWE -bYO +aam +caG +aaK +cxV +aaY caG -ccs -cei -cfZ -chQ cjt ckR cms @@ -148600,22 +148225,22 @@ bQq bDu bUv bWC -bYR +aan caG +aaL +cxV +aaZ caG -caG -caG -chR -cjt +abm ckR cmt -cmt -cpu +fXU +gUL cqO cmt ctK cvk -cwt +abo cya czI cBg @@ -148859,10 +148484,10 @@ bUn bWI bYM caG -cct -cej +aaL +cxV +aaZ caG -chS cjt ckR cms @@ -149116,11 +148741,11 @@ bUn bWD bYM caG -ccu -cek -cga -chT -cju +aaL +cxV +aaZ +caG +cjt ckR cms cnQ @@ -149373,10 +148998,10 @@ bUp bWD bYM caG -ccv -cel +aaM +cxV +aba caG -chU cjt ckR cmt @@ -149628,12 +149253,12 @@ bKv bSu bUn bWD -bYS +aaI caG -caG -caG -caG -chV +aaN +cxV +cmt +abd cjt ckT cmu @@ -149887,10 +149512,10 @@ bUx bWJ bYM caG -cct -cej -caG -chW +aaQ +xKp +cxV +abg cjt ckR cmt @@ -150144,20 +149769,20 @@ bUn bWD bYM caG -ccu -cek -cga -chT -cju +aaR +cmt +cmt +ccr +cjt ckR -cmv +cmt cnU cpy cqT cpy ctN cvk -cwy +abr cyf czN caG @@ -150399,12 +150024,12 @@ bQu bQv bUm bWD -bYM +aaJ caG -ccv -cel -caG -chX +aaT +aaW +abb +abh cjt ckR chP @@ -150415,7 +150040,7 @@ csl ctO caG cwz -cyg +abt czO caG cCP @@ -155844,7 +155469,7 @@ dqT cPk cXD cPk -cUp +cPk dlR cPk cPk @@ -156101,10 +155726,10 @@ cXE dsn dtz dvb -dwF +dvb dyh dvb -dvb +nQQ dCx dDH dEQ @@ -156345,30 +155970,30 @@ cWh cND cPy dba -dcM +pxG dba dfv dgT dio dkf -inw -inw +xvf +xvf dpg inw +xvf +xvf +dpg +xvf +xvf inw -inw -inw -dwG -inw -inw -inw -dCy -dCy -dCy -dGg -dCy -dCy -dCy +emj +xvf +xvf +xvf +xvf +xvf +xvf +xvf dKU dMt dNO @@ -156604,28 +156229,28 @@ cPy dbb dcN del -dcM +pxG dgU dip dba -dcM +xvf dng dph -dqU -dso -uqb -dvd -dwH -dvc -dzN +dph +dph +hpY +dph +dph +ntV +rPv dzR -dCy +lcz dDI dER dGh dHC -dIU -dCy +jcE +xvf dKV dMu dNO @@ -156859,7 +156484,7 @@ cWj xJl cZt dbc -dcO +lYb dem dfw dgV @@ -156867,22 +156492,22 @@ diq dkg dcM dnh +nAG +unT dpi -dqV -dsp -dsp -dsp -dwI -uqb -dzO +dpi +udq +fww +fww +mWu dAR -dCy -dDJ +fYL +dcO dES dGi dHD -dES -dCy +qUN +xvf dKW dMv dNS @@ -157123,23 +156748,23 @@ dgW dir dkh dcM -dni -dpj -dqW -dsq -dtA -dvf -dwJ -dyj -dzP -dAS -dCz -dDK -dET -dGj +vwn +dpi +vrf +dcO +dcO +veI +dcO +dcO +dpi +dAR +fYL +dcO +dES +dGi dHE dIV -dCy +xvf dKX dMw dNS @@ -157380,23 +157005,23 @@ dgX dis dki dlU -dnj -dpk -dqX -dsr -dtB -dvg -dwK -dyk -dzQ -dAT -dCy -dDL -dEU -dGk -dHF -dIW -dCy +pCo +dpi +vrf +dcO +dcO +veI +dcO +dcO +dpi +dAR +fYL +dcO +dES +dGi +dGi +dGi +isC dKY dMx dNS @@ -157634,26 +157259,26 @@ dcR dep dfy dgY -den +dcS dkj dcM -dnk -dpl -dqY -dss -jac -dvh -dwL -dyl -dzR -dAU -dCA -dDM +nNI +dpi +vrf +dqW +dqW +vDv +dqW +dcO +dpi +dAR +pJU +dDJ aaH dGl dHH -iQh -dCy +qlz +xvf dKZ dMy dNS @@ -157893,24 +157518,24 @@ dcS dgZ dcS dkk -dcM -dlV -dlV -dlV -vEx -dtC -dvi -dwM -dym -dtC +gqD +rKo +dpi +vrf +dqW +dcO +veI +dqW +dcO +dpi dAV -dCB -tGU -dEV -dGm -dHH -dIX dCy +dCy +uXz +dCy +dCy +dCy +dCB dLa dMz dNT @@ -158152,21 +157777,21 @@ dit dkl dcM dnl +dpi +vrf +dpn +dcO +veI +dpn +dcO +dpi dpm -dqZ -dst -iqc -dpm -dwN -dyn -dsw -dpm -dCB +dCy dDN -dEW -dGl -dHH -psi +pRt +tpD +uIV +dIU dCy dKX dMA @@ -158401,25 +158026,25 @@ cQU cXM cPy dbi -dcM +pxG der -dcM +pxG dhb diu dkm dcM -dnm -dpn -dra -dpn -dra -dpn -dwO -dyo -dra -dAX -dCB -tGU +xFP +dpi +vrf +tcO +dcO +veI +tcO +dcO +dpi +dAR +dCy +ide dEW dGn dHI @@ -158664,22 +158289,22 @@ cPy dhc div dkn -dlV +dcM dnn dpo -drb -dpn -dpn -dpn -dwP -dyp -dzV -dAY -dCB -tGU -dEW -dGl -dHH +vrf +tcO +tcO +nKD +tcO +dcO +dpi +sLr +dCy +gRN +sWF +kvv +dEV dIZ dCy dKZ @@ -158923,21 +158548,21 @@ diw dko dlW dno -dpo -drc -dpn -dra -dpn -dra -dyo -dra -dpm -dCB +qob +elu +uoL +uoL +rAh +vhE +dcO +dpi +dAR +dCy dDP dEX dGo -dHJ -dJa +oCS +dIW dCy dKX dMA @@ -159178,23 +158803,23 @@ dfB dhe dbs dkp -dlW +fxp dnp -dpp -drd -dsx -dsx -dsx -dsx -dyr -dpn -dBa -dCB -dDQ +qob +dcO +dcO +dcO +veI +vrf +dcO +dpi +dAR +dCy +dDM dEY -dGp -dHK -dJb +dEW +oPC +iQh dCy dKY dMD @@ -159437,21 +159062,21 @@ diy dkp dlW dnq -dpq -dre -dpn -dra -dpn -dra -dys -dzY -dBb -dCB -dCy +ttx +fww +fww +fww +jBu +fbz +uLB +foK +dAR dCy +tGU +xlt dGq -dHL -dCy +oPC +dIX dCy dLc dME @@ -159692,24 +159317,24 @@ cPy dhe diz dkp -dlV +dcM dnr dpr drf -dsz -xFp -dvp -dvp -dvp -dvp +drf +jpo +mgW +fAI +fvf +jpo dBc -dCC +dCy dDR -dEZ -dGr -dHM +mUS +dEW +oPC dJc -dCF +dCy dLd dMF dNS @@ -159950,23 +159575,23 @@ dhe diA dkq dlX -dlW +dcM +gqD +gqD +dcM +dcM dps -drg -dlW -dtC -dlW -dlW -dlW -dlW -dBd -dCC +bbj +gqD +dcM +dcM +dCy dDS -dFa +mUS dGs -dHN +oCS dJd -dCF +dCy dLe dMF dNS @@ -160210,20 +159835,20 @@ dfF dns dpt drh -dsA +uiZ dtG dsA +iLU dwV -dwV -dsA +nJb dBe dCD dDT dFb dGt -dHO -dJe -dCD +oPC +dEZ +dCy dLf dMH dNT @@ -160465,11 +160090,11 @@ diC dks dlY dnt -dpu -dri dsB dri dsB +dri +rYU dwW dyw dri @@ -160479,7 +160104,7 @@ dDU dFc dGu dHP -dJf +ekI dKm dLg dMI @@ -160722,22 +160347,22 @@ diD dkt dfG dnu -dnu +nbA drj drj dtI -drj +lbd dwX drj dAa dBg -dCF +dCy dDV dFd dGv dHQ dJg -dCF +dCy dKY dMA dNS diff --git a/_maps/map_files/Donutstation/Donutstation.dmm b/_maps/map_files/Donutstation/Donutstation.dmm index 6117bfff2bb..a53be8f3526 100644 --- a/_maps/map_files/Donutstation/Donutstation.dmm +++ b/_maps/map_files/Donutstation/Donutstation.dmm @@ -5174,6 +5174,7 @@ /area/security/warden) "aod" = ( /obj/structure/table, +/obj/item/storage/box/shipping, /turf/open/floor/plating, /area/storage/tech) "aoe" = ( @@ -29713,7 +29714,6 @@ /obj/structure/table, /obj/item/hand_labeler, /obj/item/stack/packageWrap, -/obj/item/destTagger, /obj/item/destTagger{ pixel_x = 2; pixel_y = 2 @@ -29721,6 +29721,7 @@ /obj/item/radio/intercom{ pixel_x = 30 }, +/obj/item/storage/box/shipping, /turf/open/floor/plasteel, /area/quartermaster/office) "bAQ" = ( @@ -47396,7 +47397,6 @@ /obj/structure/table, /obj/item/storage/box, /obj/item/storage/box, -/obj/item/storage/box, /obj/item/stack/wrapping_paper, /obj/item/stack/wrapping_paper, /obj/item/stack/wrapping_paper, @@ -47404,6 +47404,7 @@ /obj/effect/turf_decal/tile/brown{ dir = 4 }, +/obj/item/storage/box/shipping, /turf/open/floor/plasteel, /area/storage/tools) "qxm" = ( diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 89dd909d724..7e74fd5b366 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -22713,6 +22713,10 @@ }, /obj/item/stack/packageWrap, /obj/item/hand_labeler, +/obj/item/storage/box/shipping{ + pixel_x = -4; + pixel_y = -4 + }, /turf/open/floor/plasteel/dark, /area/storage/primary) "aKb" = ( @@ -42745,6 +42749,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/item/storage/box/shipping, /turf/open/floor/plasteel/dark, /area/quartermaster/storage) "bmv" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index bf807e38a55..1bd685297b6 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -27534,16 +27534,13 @@ /area/quartermaster/sorting) "biJ" = ( /obj/structure/table, -/obj/item/destTagger{ - pixel_x = 4; - pixel_y = 3 - }, /obj/machinery/light_switch{ pixel_x = 27 }, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/item/storage/box/shipping, /turf/open/floor/plasteel/white/corner, /area/quartermaster/sorting) "biK" = ( @@ -41192,7 +41189,7 @@ /obj/machinery/power/apc/highcap/five_k{ areastring = "/area/bridge/showroom/corporate"; dir = 4; - name = "Nanotrasen Corporate Showroom APC"; + name = "\improper Nanotrasen Corporate Showroom APC"; pixel_x = 24 }, /obj/item/cigbutt, @@ -41906,7 +41903,7 @@ /obj/structure/table/wood, /obj/item/toy/plush/carpplushie{ color = "red"; - name = "Nanotrasen wildlife department space carp plushie" + name = "\improper Nanotrasen wildlife department space carp plushie" }, /turf/open/floor/carpet, /area/bridge/showroom/corporate) @@ -42297,7 +42294,7 @@ /obj/structure/table/wood, /obj/item/storage/secure/briefcase{ desc = "A large briefcase with a digital locking system, and the Nanotrasen logo emblazoned on the sides."; - name = "Nanotrasen-brand secure briefcase exhibit"; + name = "\improper Nanotrasen-brand secure briefcase exhibit"; pixel_y = 2 }, /turf/open/floor/carpet, @@ -42317,7 +42314,7 @@ "bRA" = ( /obj/item/toy/beach_ball{ desc = "The simple beach ball is one of Nanotrasen's most popular products. 'Why do we make beach balls? Because we can! (TM)' - Nanotrasen"; - name = "Nanotrasen-brand beach ball"; + name = "\improper Nanotrasen-brand beach ball"; pixel_y = 7 }, /obj/structure/table/wood, @@ -42378,7 +42375,7 @@ }, /obj/structure/table/wood, /obj/item/toy/talking/AI{ - name = "Nanotrasen-brand toy AI"; + name = "\improper Nanotrasen-brand toy AI"; pixel_y = 6 }, /turf/open/floor/carpet, @@ -68926,6 +68923,7 @@ dir = 8 }, /obj/structure/cable, +/obj/item/storage/box/shipping, /turf/open/floor/plasteel, /area/storage/primary) "dhM" = ( @@ -69204,7 +69202,7 @@ /obj/item/poster/random_official, /obj/item/paicard{ desc = "A real Nanotrasen success, these personal AIs provide all of the companionship of an AI without any law related red-tape."; - name = "Nanotrasen-brand personal AI device exhibit" + name = "\improper Nanotrasen-brand personal AI device exhibit" }, /obj/structure/cable, /turf/open/floor/carpet, @@ -72630,7 +72628,7 @@ "lfv" = ( /obj/effect/mob_spawn/human/corpse/assistant{ belt = null; - husk = TRUE; + husk = 1; id = null; l_pocket = /obj/item/pen }, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 4b08bbf7041..54f60593d79 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -12670,6 +12670,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/item/storage/box/shipping, /turf/open/floor/plasteel, /area/storage/primary) "aGi" = ( @@ -15281,10 +15282,10 @@ /area/quartermaster/sorting) "aNK" = ( /obj/structure/table, -/obj/item/destTagger, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/item/storage/box/shipping, /turf/open/floor/plasteel, /area/quartermaster/sorting) "aNL" = ( diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index b2b404f7289..159de484c17 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -1111,6 +1111,7 @@ /obj/structure/table, /obj/machinery/light, /obj/item/storage/firstaid/regular, +/obj/item/healthanalyzer/advanced, /turf/open/floor/plasteel, /area/storage/primary) "dP" = ( @@ -2242,6 +2243,11 @@ /obj/structure/cable, /turf/open/floor/plating/airless, /area/space/nearstation) +"sH" = ( +/obj/structure/table, +/obj/item/storage/box/shipping, +/turf/open/floor/plasteel, +/area/storage/primary) "tG" = ( /obj/docking_port/stationary/random{ id = "pod_lavaland1"; @@ -7852,7 +7858,7 @@ dJ dJ dJ dJ -dN +sH cS fU gb diff --git a/code/__DEFINES/achievements.dm b/code/__DEFINES/achievements.dm index acf77ed73e1..65bced18233 100644 --- a/code/__DEFINES/achievements.dm +++ b/code/__DEFINES/achievements.dm @@ -21,6 +21,7 @@ #define MEDAL_CLEANBOSS "Cleanboss" #define MEDAL_RULE8 "Rule 8" #define MEDAL_LONGSHIFT "longshift" +#define MEDAL_SNAIL "KKKiiilll mmmeee" //Skill medal hub IDs #define MEDAL_LEGENDARY_MINER "Legendary Miner" @@ -38,6 +39,7 @@ #define BOSS_MEDAL_LEGION "Legion Killer" #define BOSS_MEDAL_TENDRIL "Tendril Exterminator" #define BOSS_MEDAL_SWARMERS "Swarmer Beacon Killer" +#define BOSS_MEDAL_KINGGOAT "King Goat Killer" #define BOSS_MEDAL_MINER_CRUSHER "Blood-drunk Miner Crusher" #define BOSS_MEDAL_BUBBLEGUM_CRUSHER "Bubblegum Crusher" @@ -46,6 +48,7 @@ #define BOSS_MEDAL_HIEROPHANT_CRUSHER "Hierophant Crusher" #define BOSS_MEDAL_LEGION_CRUSHER "Legion Crusher" #define BOSS_MEDAL_SWARMERS_CRUSHER "Swarmer Beacon Crusher" +#define BOSS_MEDAL_KINGGOAT_CRUSHER "King Goat Crusher" // Medal hub IDs for boss-kill scores #define BOSS_SCORE "Bosses Killed" @@ -56,4 +59,5 @@ #define HIEROPHANT_SCORE "Hierophants Killed" #define LEGION_SCORE "Legion Killed" #define SWARMER_BEACON_SCORE "Swarmer Beacs Killed" +#define KINGGOAT_SCORE "King Goat Killed" #define TENDRIL_CLEAR_SCORE "Tendrils Killed" diff --git a/code/__DEFINES/cargo.dm b/code/__DEFINES/cargo.dm index 5a7f465ee24..64d661d4108 100644 --- a/code/__DEFINES/cargo.dm +++ b/code/__DEFINES/cargo.dm @@ -20,7 +20,7 @@ #define POD_STYLES list(\ list("supplypod", "supply pod", "A Nanotrasen supply drop pod."),\ list("bluespacepod", "bluespace supply pod" , "A Nanotrasen Bluespace supply pod. Teleports back to CentCom after delivery."),\ - list("centcompod", "\improper Centcom supply pod", "A Nanotrasen supply pod, this one has been marked with Central Command's designations. Teleports back to Centcom after delivery."),\ + list("centcompod", "\improper CentCom supply pod", "A Nanotrasen supply pod, this one has been marked with Central Command's designations. Teleports back to CentCom after delivery."),\ list("syndiepod", "blood-red supply pod", "A dark, intimidating supply pod, covered in the blood-red markings of the Syndicate. It's probably best to stand back from this."),\ list("squadpod", "\improper MK. II supply pod", "A Nanotrasen supply pod. This one has been marked the markings of some sort of elite strike team."),\ list("cultpod", "bloody supply pod", "A Nanotrasen supply pod covered in scratch-marks, blood, and strange runes."),\ diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 69a3fb941dd..fcd819098e1 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -135,6 +135,14 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list( #define EMBED_THROWSPEED_THRESHOLD 4 //The minimum value of an item's throw_speed for it to embed (Unless it has embedded_ignore_throwspeed_threshold set to 1) #define EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER 8 //Coefficient of multiplication for the damage the item does when removed without a surgery (this*item.w_class) #define EMBEDDED_UNSAFE_REMOVAL_TIME 30 //A Time in ticks, total removal time = (this*item.w_class) +#define EMBEDDED_JOSTLE_CHANCE 5 //Chance for embedded objects to cause pain every time they move (jostle) +#define EMBEDDED_JOSTLE_PAIN_MULTIPLIER 1 //Coefficient of multiplication for the damage the item does while +#define EMBEDDED_PAIN_STAM_PCT 0.0 //This percentage of all pain will be dealt as stam damage rather than brute (0-1) + +#define EMBED_HARMLESS list("pain_mult" = 0, "jostle_pain_mult" = 0, "ignore_throwspeed_threshold" = TRUE) +#define EMBED_HARMLESS_SUPERIOR list("pain_mult" = 0, "jostle_pain_mult" = 0, "ignore_throwspeed_threshold" = TRUE, "embed_chance" = 100, "fall_chance" = 0.1) +#define EMBED_POINTY list("ignore_throwspeed_threshold" = TRUE) +#define EMBED_POINTY_SUPERIOR list("embed_chance" = 100, "ignore_throwspeed_threshold" = TRUE) //Gun weapon weight #define WEAPON_LIGHT 1 diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 08b31193143..e96bfb2e236 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -41,75 +41,80 @@ /// generic topic handler (usr, href_list) #define COMSIG_TOPIC "handle_topic" +/// fires on the target datum when an element is attached to it (/datum/element) +#define COMSIG_ELEMENT_ATTACH "element_attach" +/// fires on the target datum when an element is attached to it (/datum/element) +#define COMSIG_ELEMENT_DETACH "element_detach" + // /atom signals -#define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params) +#define COMSIG_PARENT_ATTACKBY "atom_attackby" ///from base of atom/attackby(): (/obj/item, /mob/living, params) #define COMPONENT_NO_AFTERATTACK 1 //Return this in response if you don't want afterattack to be called -#define COMSIG_ATOM_HULK_ATTACK "hulk_attack" //from base of atom/attack_hulk(): (/mob/living/carbon/human) -#define COMSIG_ATOM_ATTACK_ANIMAL "attack_animal" //from base of atom/animal_attack(): (/mob/user) -#define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob) -#define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name" //from base of atom/get_examine_name(): (/mob, list/overrides) +#define COMSIG_ATOM_HULK_ATTACK "hulk_attack" ///from base of atom/attack_hulk(): (/mob/living/carbon/human) +#define COMSIG_ATOM_ATTACK_ANIMAL "attack_animal" ///from base of atom/animal_attack(): (/mob/user) +#define COMSIG_PARENT_EXAMINE "atom_examine" ///from base of atom/examine(): (/mob) +#define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name" ///from base of atom/get_examine_name(): (/mob, list/overrides) //Positions for overrides list #define EXAMINE_POSITION_ARTICLE 1 #define EXAMINE_POSITION_BEFORE 2 //End positions #define COMPONENT_EXNAME_CHANGED 1 -#define COMSIG_ATOM_UPDATE_ICON "atom_update_icon" //from base of atom/update_icon(): () +#define COMSIG_ATOM_UPDATE_ICON "atom_update_icon" ///from base of atom/update_icon(): () #define COMSIG_ATOM_NO_UPDATE_ICON_STATE 1 #define COMSIG_ATOM_NO_UPDATE_OVERLAYS 2 -#define COMSIG_ATOM_UPDATE_OVERLAYS "atom_update_overlays" //from base of atom/update_overlays(): (list/new_overlays) -#define COMSIG_ATOM_UPDATED_ICON "atom_updated_icon" //from base of atom/update_icon(): (signalOut, did_anything) -#define COMSIG_ATOM_ENTERED "atom_entered" //from base of atom/Entered(): (atom/movable/entering, /atom) -#define COMSIG_ATOM_EXIT "atom_exit" //from base of atom/Exit(): (/atom/movable/exiting, /atom/newloc) +#define COMSIG_ATOM_UPDATE_OVERLAYS "atom_update_overlays" ///from base of atom/update_overlays(): (list/new_overlays) +#define COMSIG_ATOM_UPDATED_ICON "atom_updated_icon" ///from base of atom/update_icon(): (signalOut, did_anything) +#define COMSIG_ATOM_ENTERED "atom_entered" ///from base of atom/Entered(): (atom/movable/entering, /atom) +#define COMSIG_ATOM_EXIT "atom_exit" ///from base of atom/Exit(): (/atom/movable/exiting, /atom/newloc) #define COMPONENT_ATOM_BLOCK_EXIT 1 -#define COMSIG_ATOM_EXITED "atom_exited" //from base of atom/Exited(): (atom/movable/exiting, atom/newloc) -#define COMSIG_ATOM_BUMPED "atom_bumped" //from base of atom/Bumped(): (/atom/movable) -#define COMSIG_ATOM_EX_ACT "atom_ex_act" //from base of atom/ex_act(): (severity, target) -#define COMSIG_ATOM_EMP_ACT "atom_emp_act" //from base of atom/emp_act(): (severity) -#define COMSIG_ATOM_FIRE_ACT "atom_fire_act" //from base of atom/fire_act(): (exposed_temperature, exposed_volume) -#define COMSIG_ATOM_BULLET_ACT "atom_bullet_act" //from base of atom/bullet_act(): (/obj/projectile, def_zone) -#define COMSIG_ATOM_BLOB_ACT "atom_blob_act" //from base of atom/blob_act(): (/obj/structure/blob) -#define COMSIG_ATOM_ACID_ACT "atom_acid_act" //from base of atom/acid_act(): (acidpwr, acid_volume) -#define COMSIG_ATOM_EMAG_ACT "atom_emag_act" //from base of atom/emag_act(): (/mob/user) -#define COMSIG_ATOM_RAD_ACT "atom_rad_act" //from base of atom/rad_act(intensity) -#define COMSIG_ATOM_NARSIE_ACT "atom_narsie_act" //from base of atom/narsie_act(): () -#define COMSIG_ATOM_RCD_ACT "atom_rcd_act" //from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode) -#define COMSIG_ATOM_SING_PULL "atom_sing_pull" //from base of atom/singularity_pull(): (S, current_size) -#define COMSIG_ATOM_BSA_BEAM "atom_bsa_beam_pass" //from obj/machinery/bsa/full/proc/fire(): () +#define COMSIG_ATOM_EXITED "atom_exited" ///from base of atom/Exited(): (atom/movable/exiting, atom/newloc) +#define COMSIG_ATOM_BUMPED "atom_bumped" ///from base of atom/Bumped(): (/atom/movable) +#define COMSIG_ATOM_EX_ACT "atom_ex_act" ///from base of atom/ex_act(): (severity, target) +#define COMSIG_ATOM_EMP_ACT "atom_emp_act" ///from base of atom/emp_act(): (severity) +#define COMSIG_ATOM_FIRE_ACT "atom_fire_act" ///from base of atom/fire_act(): (exposed_temperature, exposed_volume) +#define COMSIG_ATOM_BULLET_ACT "atom_bullet_act" ///from base of atom/bullet_act(): (/obj/projectile, def_zone) +#define COMSIG_ATOM_BLOB_ACT "atom_blob_act" ///from base of atom/blob_act(): (/obj/structure/blob) +#define COMSIG_ATOM_ACID_ACT "atom_acid_act" ///from base of atom/acid_act(): (acidpwr, acid_volume) +#define COMSIG_ATOM_EMAG_ACT "atom_emag_act" ///from base of atom/emag_act(): (/mob/user) +#define COMSIG_ATOM_RAD_ACT "atom_rad_act" ///from base of atom/rad_act(intensity) +#define COMSIG_ATOM_NARSIE_ACT "atom_narsie_act" ///from base of atom/narsie_act(): () +#define COMSIG_ATOM_RCD_ACT "atom_rcd_act" ///from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode) +#define COMSIG_ATOM_SING_PULL "atom_sing_pull" ///from base of atom/singularity_pull(): (S, current_size) +#define COMSIG_ATOM_BSA_BEAM "atom_bsa_beam_pass" ///from obj/machinery/bsa/full/proc/fire(): () #define COMSIG_ATOM_BLOCKS_BSA_BEAM 1 -#define COMSIG_ATOM_SET_LIGHT "atom_set_light" //from base of atom/set_light(): (l_range, l_power, l_color) -#define COMSIG_ATOM_DIR_CHANGE "atom_dir_change" //from base of atom/setDir(): (old_dir, new_dir) -#define COMSIG_ATOM_CONTENTS_DEL "atom_contents_del" //from base of atom/handle_atom_del(): (atom/deleted) -#define COMSIG_ATOM_HAS_GRAVITY "atom_has_gravity" //from base of atom/has_gravity(): (turf/location, list/forced_gravities) -#define COMSIG_ATOM_RAD_PROBE "atom_rad_probe" //from proc/get_rad_contents(): () +#define COMSIG_ATOM_SET_LIGHT "atom_set_light" ///from base of atom/set_light(): (l_range, l_power, l_color) +#define COMSIG_ATOM_DIR_CHANGE "atom_dir_change" ///from base of atom/setDir(): (old_dir, new_dir) +#define COMSIG_ATOM_CONTENTS_DEL "atom_contents_del" ///from base of atom/handle_atom_del(): (atom/deleted) +#define COMSIG_ATOM_HAS_GRAVITY "atom_has_gravity" ///from base of atom/has_gravity(): (turf/location, list/forced_gravities) +#define COMSIG_ATOM_RAD_PROBE "atom_rad_probe" ///from proc/get_rad_contents(): () #define COMPONENT_BLOCK_RADIATION 1 -#define COMSIG_ATOM_RAD_CONTAMINATING "atom_rad_contam" //from base of datum/radiation_wave/radiate(): (strength) +#define COMSIG_ATOM_RAD_CONTAMINATING "atom_rad_contam" ///from base of datum/radiation_wave/radiate(): (strength) #define COMPONENT_BLOCK_CONTAMINATION 1 -#define COMSIG_ATOM_RAD_WAVE_PASSING "atom_rad_wave_pass" //from base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width) +#define COMSIG_ATOM_RAD_WAVE_PASSING "atom_rad_wave_pass" ///from base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width) #define COMPONENT_RAD_WAVE_HANDLED 1 -#define COMSIG_ATOM_CANREACH "atom_can_reach" //from internal loop in atom/movable/proc/CanReach(): (list/next) +#define COMSIG_ATOM_CANREACH "atom_can_reach" ///from internal loop in atom/movable/proc/CanReach(): (list/next) #define COMPONENT_BLOCK_REACH 1 -#define COMSIG_ATOM_SCREWDRIVER_ACT "atom_screwdriver_act" //from base of atom/screwdriver_act(): (mob/living/user, obj/item/I) -#define COMSIG_ATOM_WRENCH_ACT "atom_wrench_act" //from base of atom/wrench_act(): (mob/living/user, obj/item/I) -#define COMSIG_ATOM_MULTITOOL_ACT "atom_multitool_act" //from base of atom/multitool_act(): (mob/living/user, obj/item/I) -#define COMSIG_ATOM_WELDER_ACT "atom_welder_act" //from base of atom/welder_act(): (mob/living/user, obj/item/I) -#define COMSIG_ATOM_WIRECUTTER_ACT "atom_wirecutter_act" //from base of atom/wirecutter_act(): (mob/living/user, obj/item/I) -#define COMSIG_ATOM_CROWBAR_ACT "atom_crowbar_act" //from base of atom/crowbar_act(): (mob/living/user, obj/item/I) -#define COMSIG_ATOM_ANALYSER_ACT "atom_analyser_act" //from base of atom/analyser_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_SCREWDRIVER_ACT "atom_screwdriver_act" ///from base of atom/screwdriver_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_WRENCH_ACT "atom_wrench_act" ///from base of atom/wrench_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_MULTITOOL_ACT "atom_multitool_act" ///from base of atom/multitool_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_WELDER_ACT "atom_welder_act" ///from base of atom/welder_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_WIRECUTTER_ACT "atom_wirecutter_act" ///from base of atom/wirecutter_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_CROWBAR_ACT "atom_crowbar_act" ///from base of atom/crowbar_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_ANALYSER_ACT "atom_analyser_act" ///from base of atom/analyser_act(): (mob/living/user, obj/item/I) #define COMPONENT_BLOCK_TOOL_ATTACK 1 -#define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport" //called when teleporting into a protected turf: (channel, turf/origin) +#define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport" ///called when teleporting into a protected turf: (channel, turf/origin) #define COMPONENT_BLOCK_TELEPORT 1 -#define COMSIG_ATOM_HEARER_IN_VIEW "atom_hearer_in_view" //called when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers) -#define COMSIG_ATOM_ORBIT_BEGIN "atom_orbit_begin" //called when an atom starts orbiting another atom: (atom) -#define COMSIG_ATOM_ORBIT_STOP "atom_orbit_stop" //called when an atom stops orbiting another atom: (atom) +#define COMSIG_ATOM_HEARER_IN_VIEW "atom_hearer_in_view" ///called when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers) +#define COMSIG_ATOM_ORBIT_BEGIN "atom_orbit_begin" ///called when an atom starts orbiting another atom: (atom) +#define COMSIG_ATOM_ORBIT_STOP "atom_orbit_stop" ///called when an atom stops orbiting another atom: (atom) ///////////////// -#define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" //from base of atom/attack_ghost(): (mob/dead/observer/ghost) -#define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" //from base of atom/attack_hand(): (mob/user) -#define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw" //from base of atom/attack_paw(): (mob/user) +#define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" ///from base of atom/attack_ghost(): (mob/dead/observer/ghost) +#define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" ///from base of atom/attack_hand(): (mob/user) +#define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw" ///from base of atom/attack_paw(): (mob/user) #define COMPONENT_NO_ATTACK_HAND 1 //works on all 3. //This signal return value bitflags can be found in __DEFINES/misc.dm -#define COMSIG_ATOM_INTERCEPT_Z_FALL "movable_intercept_z_impact" //called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels) -#define COMSIG_ATOM_START_PULL "movable_start_pull" //called on a movable (NOT living) when someone starts pulling it (atom/movable/puller, state, force) -#define COMSIG_LIVING_START_PULL "living_start_pull" //called on /living when someone starts pulling it (atom/movable/puller, state, force) +#define COMSIG_ATOM_INTERCEPT_Z_FALL "movable_intercept_z_impact" ///called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels) +#define COMSIG_ATOM_START_PULL "movable_start_pull" ///called on a movable (NOT living) when someone starts pulling it (atom/movable/puller, state, force) +#define COMSIG_LIVING_START_PULL "living_start_pull" ///called on /living when someone starts pulling it (atom/movable/puller, state, force) ///////////////// @@ -132,29 +137,29 @@ // /turf signals #define COMSIG_TURF_CHANGE "turf_change" //from base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/transferring_comps) -#define COMSIG_TURF_HAS_GRAVITY "turf_has_gravity" //from base of atom/has_gravity(): (atom/asker, list/forced_gravities) +#define COMSIG_TURF_HAS_GRAVITY "turf_has_gravity" ///from base of atom/has_gravity(): (atom/asker, list/forced_gravities) #define COMSIG_TURF_MULTIZ_NEW "turf_multiz_new" //from base of turf/New(): (turf/source, direction) // /atom/movable signals -#define COMSIG_MOVABLE_PRE_MOVE "movable_pre_move" //from base of atom/movable/Moved(): (/atom) +#define COMSIG_MOVABLE_PRE_MOVE "movable_pre_move" ///from base of atom/movable/Moved(): (/atom) #define COMPONENT_MOVABLE_BLOCK_PRE_MOVE 1 -#define COMSIG_MOVABLE_MOVED "movable_moved" //from base of atom/movable/Moved(): (/atom, dir) -#define COMSIG_MOVABLE_CROSS "movable_cross" //from base of atom/movable/Cross(): (/atom/movable) -#define COMSIG_MOVABLE_CROSSED "movable_crossed" //from base of atom/movable/Crossed(): (/atom/movable) -#define COMSIG_MOVABLE_UNCROSS "movable_uncross" //from base of atom/movable/Uncross(): (/atom/movable) +#define COMSIG_MOVABLE_MOVED "movable_moved" ///from base of atom/movable/Moved(): (/atom, dir) +#define COMSIG_MOVABLE_CROSS "movable_cross" ///from base of atom/movable/Cross(): (/atom/movable) +#define COMSIG_MOVABLE_CROSSED "movable_crossed" ///from base of atom/movable/Crossed(): (/atom/movable) +#define COMSIG_MOVABLE_UNCROSS "movable_uncross" ///from base of atom/movable/Uncross(): (/atom/movable) #define COMPONENT_MOVABLE_BLOCK_UNCROSS 1 -#define COMSIG_MOVABLE_UNCROSSED "movable_uncrossed" //from base of atom/movable/Uncrossed(): (/atom/movable) -#define COMSIG_MOVABLE_BUMP "movable_bump" //from base of atom/movable/Bump(): (/atom) -#define COMSIG_MOVABLE_IMPACT "movable_impact" //from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum) -#define COMSIG_MOVABLE_IMPACT_ZONE "item_impact_zone" //from base of mob/living/hitby(): (mob/living/target, hit_zone) -#define COMSIG_MOVABLE_BUCKLE "buckle" //from base of atom/movable/buckle_mob(): (mob, force) -#define COMSIG_MOVABLE_UNBUCKLE "unbuckle" //from base of atom/movable/unbuckle_mob(): (mob, force) -#define COMSIG_MOVABLE_PRE_THROW "movable_pre_throw" //from base of atom/movable/throw_at(): (list/args) +#define COMSIG_MOVABLE_UNCROSSED "movable_uncrossed" ///from base of atom/movable/Uncrossed(): (/atom/movable) +#define COMSIG_MOVABLE_BUMP "movable_bump" ///from base of atom/movable/Bump(): (/atom) +#define COMSIG_MOVABLE_IMPACT "movable_impact" ///from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum) +#define COMSIG_MOVABLE_IMPACT_ZONE "item_impact_zone" ///from base of mob/living/hitby(): (mob/living/target, hit_zone) +#define COMSIG_MOVABLE_BUCKLE "buckle" ///from base of atom/movable/buckle_mob(): (mob, force) +#define COMSIG_MOVABLE_UNBUCKLE "unbuckle" ///from base of atom/movable/unbuckle_mob(): (mob, force) +#define COMSIG_MOVABLE_PRE_THROW "movable_pre_throw" ///from base of atom/movable/throw_at(): (list/args) #define COMPONENT_CANCEL_THROW 1 -#define COMSIG_MOVABLE_POST_THROW "movable_post_throw" //from base of atom/movable/throw_at(): (datum/thrownthing, spin) -#define COMSIG_MOVABLE_Z_CHANGED "movable_ztransit" //from base of atom/movable/onTransitZ(): (old_z, new_z) -#define COMSIG_MOVABLE_SECLUDED_LOCATION "movable_secluded" //called when the movable is placed in an unaccessible area, used for stationloving: () -#define COMSIG_MOVABLE_HEAR "movable_hear" //from base of atom/movable/Hear(): (proc args list(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)) +#define COMSIG_MOVABLE_POST_THROW "movable_post_throw" ///from base of atom/movable/throw_at(): (datum/thrownthing, spin) +#define COMSIG_MOVABLE_Z_CHANGED "movable_ztransit" ///from base of atom/movable/onTransitZ(): (old_z, new_z) +#define COMSIG_MOVABLE_SECLUDED_LOCATION "movable_secluded" ///called when the movable is placed in an unaccessible area, used for stationloving: () +#define COMSIG_MOVABLE_HEAR "movable_hear" ///from base of atom/movable/Hear(): (proc args list(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)) #define HEARING_MESSAGE 1 #define HEARING_SPEAKER 2 // #define HEARING_LANGUAGE 3 @@ -264,6 +269,12 @@ #define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable, mob/living/crossed) #define COMSIG_ITEM_MICROWAVE_ACT "microwave_act" //called on item when microwaved (): (obj/machinery/microwave/M) +// /obj/item signals for economy +#define COMSIG_ITEM_SOLD "item_sold" //called when an item is sold by the exports subsystem +#define COMSIG_STRUCTURE_UNWRAPPED "structure_unwrapped" //called when a wrapped up structure is opened by hand +#define COMSIG_ITEM_UNWRAPPED "item_unwrapped" //called when a wrapped up item is opened by hand + #define COMSIG_ITEM_SPLIT_VALUE 1 +#define COMSIG_ITEM_SPLIT_PROFIT "item_split_profits" //Called when getting the item's exact ratio for cargo's profit. // /obj/item/clothing signals #define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): () @@ -310,6 +321,8 @@ #define COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY "human_melee_unarmed_attackby" //from mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker) #define COMSIG_HUMAN_DISARM_HIT "human_disarm_hit" //Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted) #define COMSIG_JOB_RECEIVED "job_received" //Whenever EquipRanked is called, called after job is set +#define COMSIG_HUMAN_EMBED_RIP "item_embed_removing" // called on human when said human tries to rip out this embedded item (mob/living/carbon/human/target, /obj/item, /obj/item/bodypart/L) +#define COMSIG_HUMAN_EMBED_REMOVAL "item_embed_remove_surgery" // called on human from /datum/surgery_step/remove_object/success (mob/living/carbon/human/target, /obj/item, /obj/item/bodypart/L) // /datum/species signals #define COMSIG_SPECIES_GAIN "species_gain" //from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species) diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 835114b2c6c..cad7d57fb49 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -92,10 +92,9 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define ZAP_OBJ_DAMAGE (1<<2) #define ZAP_MOB_DAMAGE (1<<3) #define ZAP_MOB_STUN (1<<4) -#define ZAP_IS_TESLA (1<<5) #define ZAP_DEFAULT_FLAGS ALL -#define ZAP_FUSION_FLAGS ZAP_OBJ_DAMAGE | ZAP_MOB_DAMAGE | ZAP_MOB_STUN | ZAP_IS_TESLA +#define ZAP_FUSION_FLAGS ZAP_OBJ_DAMAGE | ZAP_MOB_DAMAGE | ZAP_MOB_STUN #define ZAP_SUPERMATTER_FLAGS NONE //EMP protection diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index bf307f74055..d6648af5383 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -29,7 +29,6 @@ #define ADD_REAGENT 2 // reagent added #define REM_REAGENT 3 // reagent removed (may still exist) #define CLEAR_REAGENTS 4 // all reagents were cleared -#define REACT_REAGENTS 5 // a reaction occured #define MIMEDRINK_SILENCE_DURATION 30 //ends up being 60 seconds given 1 tick every 2 seconds #define TRESHOLD_UNHUSK 50 //Health treshold for instabitaluri and rezadone to unhusk someone diff --git a/code/__DEFINES/rust_g.dm b/code/__DEFINES/rust_g.dm index b67be0c5607..509ad461504 100644 --- a/code/__DEFINES/rust_g.dm +++ b/code/__DEFINES/rust_g.dm @@ -6,6 +6,7 @@ #define RUSTG_JOB_ERROR "JOB PANICKED" #define rustg_dmi_strip_metadata(fname) call(RUST_G, "dmi_strip_metadata")(fname) +#define rustg_dmi_create_png(fname,width,height,data) call(RUST_G, "dmi_create_png")(fname,width,height,data) #define rustg_git_revparse(rev) call(RUST_G, "rg_git_revparse")(rev) #define rustg_git_commit_date(rev) call(RUST_G, "rg_git_commit_date")(rev) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 299b829edec..269d41365b8 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -259,3 +259,4 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define SLEEPING_CARP_TRAIT "sleeping_carp" #define MADE_UNCLONEABLE "made-uncloneable" #define TIMESTOP_TRAIT "timestop" +#define STICKY_NODROP "sticky-nodrop" //sticky nodrop sounds like a bad soundcloud rapper's name diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 2026397a047..a50b364d821 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -120,27 +120,8 @@ return //Converts an angle (degrees) into an ss13 direction -/proc/angle2dir(degree) - degree = SIMPLIFY_DEGREES(degree) - switch(degree) - if(0 to 22.5) //north requires two angle ranges - return NORTH - if(22.5 to 67.5) //each range covers 45 degrees - return NORTHEAST - if(67.5 to 112.5) - return EAST - if(112.5 to 157.5) - return SOUTHEAST - if(157.5 to 202.5) - return SOUTH - if(202.5 to 247.5) - return SOUTHWEST - if(247.5 to 292.5) - return WEST - if(292.5 to 337.5) - return NORTHWEST - if(337.5 to 360) - return NORTH +GLOBAL_LIST_INIT(modulo_angle_to_dir, list(NORTH,NORTHEAST,EAST,SOUTHEAST,SOUTH,SOUTHWEST,WEST,NORTHWEST)) +#define angle2dir(X) (GLOB.modulo_angle_to_dir[round((((X%360)+382.5)%360)/45)+1]) /proc/angle2dir_cardinal(degree) degree = SIMPLIFY_DEGREES(degree) @@ -548,4 +529,3 @@ return "turf" else //regex everything else (works for /proc too) return lowertext(replacetext("[the_type]", "[type2parent(the_type)]/", "")) - diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 14ed32967c6..dce002235b1 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -155,7 +155,6 @@ GLOBAL_LIST_INIT(bitfields, list( "ZAP_MOB_STUN" = ZAP_MOB_STUN, "ZAP_ALLOW_DUPLICATES" = ZAP_ALLOW_DUPLICATES, "ZAP_MACHINE_EXPLOSIVE" = ZAP_MACHINE_EXPLOSIVE, - "ZAP_IS_TESLA" = ZAP_IS_TESLA, ), "smooth" = list( "SMOOTH_TRUE" = SMOOTH_TRUE, diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index b48c311c692..01cdf38b265 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -140,6 +140,7 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items /obj/item/bodybag = 1, /obj/item/grenade/smokebomb = 1, /obj/item/stack/spacecash/c10 = 1, + /obj/item/stack/sticky_tape = 1, //light sources /obj/item/flashlight = 1, diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 5fe96c168ac..bcfed9aa069 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -29,15 +29,15 @@ adj += S.nextmove_adjust() next_move = world.time + ((num + adj)*mod) -/* - Before anything else, defer these calls to a per-mobtype handler. This allows us to - remove istype() spaghetti code, but requires the addition of other handler procs to simplify it. - - Alternately, you could hardcode every mob's variation in a flat ClickOn() proc; however, - that's a lot of code duplication and is hard to maintain. - - Note that this proc can be overridden, and is in the case of screen objects. -*/ +/** + * Before anything else, defer these calls to a per-mobtype handler. This allows us to + * remove istype() spaghetti code, but requires the addition of other handler procs to simplify it. + * + * Alternately, you could hardcode every mob's variation in a flat [/mob/proc/ClickOn] proc; however, + * that's a lot of code duplication and is hard to maintain. + * + * Note that this proc can be overridden, and is in the case of screen objects. + */ /atom/Click(location,control,params) if(flags_1 & INITIALIZED_1) SEND_SIGNAL(src, COMSIG_CLICK, location, control, params, usr) @@ -51,19 +51,19 @@ if(flags_1 & INITIALIZED_1) usr.MouseWheelOn(src, delta_x, delta_y, params) -/* - Standard mob ClickOn() - Handles exceptions: Buildmode, middle click, modified clicks, mech actions - - After that, mostly just check your state, check whether you're holding an item, - check whether you're adjacent to the target, then pass off the click to whoever - is receiving it. - The most common are: - * mob/UnarmedAttack(atom,adjacent) - used here only when adjacent, with no item in hand; in the case of humans, checks gloves - * atom/attackby(item,user) - used only when adjacent - * item/afterattack(atom,user,adjacent,params) - used both ranged and adjacent - * mob/RangedAttack(atom,params) - used only ranged, only used for tk and laser eyes but could be changed -*/ +/** + * Standard mob ClickOn() + * Handles exceptions: Buildmode, middle click, modified clicks, mech actions + * + * After that, mostly just check your state, check whether you're holding an item, + * check whether you're adjacent to the target, then pass off the click to whoever + * is receiving it. + * The most common are: + * * [mob/proc/UnarmedAttack] (atom,adjacent) - used here only when adjacent, with no item in hand; in the case of humans, checks gloves + * * [atom/proc/attackby] (item,user) - used only when adjacent + * * [obj/item/proc/afterattack] (atom,user,adjacent,params) - used both ranged and adjacent + * * [mob/proc/RangedAttack] (atom,params) - used only ranged, only used for tk and laser eyes but could be changed + */ /mob/proc/ClickOn( atom/A, params ) if(world.time <= next_click) return @@ -158,7 +158,7 @@ else RangedAttack(A,params) -//Is the atom obscured by a PREVENT_CLICK_UNDER_1 object above it +/// Is the atom obscured by a PREVENT_CLICK_UNDER_1 object above it /atom/proc/IsObscured() if(!isturf(loc)) //This only makes sense for things directly on turfs for now return FALSE @@ -177,9 +177,11 @@ return TRUE return FALSE +/** + * A backwards depth-limited breadth-first-search to see if the target is + * logically "in" anything adjacent to us. + */ /atom/movable/proc/CanReach(atom/ultimate_target, obj/item/tool, view_only = FALSE) - // A backwards depth-limited breadth-first-search to see if the target is - // logically "in" anything adjacent to us. var/list/direct_access = DirectAccess() var/depth = 1 + (view_only ? STORAGE_VIEW_DEPTH : INVENTORY_DEPTH) @@ -243,48 +245,48 @@ return qdel(dummy) -// Default behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click) +/// Default behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click) /mob/proc/DblClickOn(atom/A, params) return -/* - Translates into attack_hand, etc. - - Note: proximity_flag here is used to distinguish between normal usage (flag=1), - and usage when clicking on things telekinetically (flag=0). This proc will - not be called at ranged except with telekinesis. - - proximity_flag is not currently passed to attack_hand, and is instead used - in human click code to allow glove touches only at melee range. -*/ +/** + * Translates into [atom/proc/attack_hand], etc. + * + * Note: proximity_flag here is used to distinguish between normal usage (flag=1), + * and usage when clicking on things telekinetically (flag=0). This proc will + * not be called at ranged except with telekinesis. + * + * proximity_flag is not currently passed to attack_hand, and is instead used + * in human click code to allow glove touches only at melee range. + */ /mob/proc/UnarmedAttack(atom/A, proximity_flag) if(ismob(A)) changeNext_move(CLICK_CD_MELEE) return -/* - Ranged unarmed attack: - - This currently is just a default for all mobs, involving - laser eyes and telekinesis. You could easily add exceptions - for things like ranged glove touches, spitting alien acid/neurotoxin, - animals lunging, etc. -*/ +/** + * Ranged unarmed attack: + * + * This currently is just a default for all mobs, involving + * laser eyes and telekinesis. You could easily add exceptions + * for things like ranged glove touches, spitting alien acid/neurotoxin, + * animals lunging, etc. + */ /mob/proc/RangedAttack(atom/A, params) SEND_SIGNAL(src, COMSIG_MOB_ATTACK_RANGED, A, params) -/* - Restrained ClickOn - - Used when you are handcuffed and click things. - Not currently used by anything but could easily be. -*/ +/** + * Restrained ClickOn + * + * Used when you are handcuffed and click things. + * Not currently used by anything but could easily be. + */ /mob/proc/RestrainedClickOn(atom/A) return /** - *Middle click - *Mainly used for swapping hands + * Middle click + * Mainly used for swapping hands */ /mob/proc/MiddleClickOn(atom/A) . = SEND_SIGNAL(src, COMSIG_MOB_MIDDLECLICKON, A) @@ -292,11 +294,11 @@ return swap_hand() -/* - Shift click - For most mobs, examine. - This is overridden in ai.dm -*/ +/** + * Shift click + * For most mobs, examine. + * This is overridden in ai.dm + */ /mob/proc/ShiftClickOn(atom/A) A.ShiftClick(src) return @@ -307,11 +309,10 @@ user.examinate(src) return -/* - Ctrl click - For most objects, pull -*/ - +/** + * Ctrl click + * For most objects, pull + */ /mob/proc/CtrlClickOn(atom/A) A.CtrlClick(src) return @@ -331,10 +332,10 @@ H.changeNext_move(CLICK_CD_MELEE) else ..() -/* - Alt click - Unused except for AI -*/ +/** + * Alt click + * Unused except for AI + */ /mob/proc/AltClickOn(atom/A) . = SEND_SIGNAL(src, COMSIG_MOB_ALTCLICKON, A) if(. & COMSIG_MOB_CANCEL_CLICKON) @@ -348,7 +349,7 @@ user.listed_turf = T user.client.statpanel = T.name -// Use this instead of /mob/proc/AltClickOn(atom/A) where you only want turf content listing without additional atom alt-click interaction +/// Use this instead of [/mob/proc/AltClickOn] where you only want turf content listing without additional atom alt-click interaction /atom/proc/AltClickNoInteract(mob/user, atom/A) var/turf/T = get_turf(A) if(T && user.TurfAdjacent(T)) @@ -358,10 +359,10 @@ /mob/proc/TurfAdjacent(turf/T) return T.Adjacent(src) -/* - Control+Shift click - Unused except for AI -*/ +/** + * Control+Shift click + * Unused except for AI + */ /mob/proc/CtrlShiftClickOn(atom/A) A.CtrlShiftClick(src) return @@ -379,7 +380,7 @@ face_atom: turns the mob towards what you clicked on */ -// Simple helper to face what you clicked on, in case it should be needed in more than one place +/// Simple helper to face what you clicked on, in case it should be needed in more than one place /mob/proc/face_atom(atom/A) if( buckled || stat != CONSCIOUS || !A || !x || !y || !A.x || !A.y ) return @@ -452,8 +453,7 @@ T.Click(location, control, params) . = 1 -/* MouseWheelOn */ - +/// MouseWheelOn /mob/proc/MouseWheelOn(atom/A, delta_x, delta_y, params) return diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 4dc2da3f741..3028bf7a904 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -1,11 +1,11 @@ /** - *This is the proc that handles the order of an item_attack. - *The order of procs called is: - *tool_act on the target. If it returns TRUE, the chain will be stopped. - *pre_attack() on src. If this returns TRUE, the chain will be stopped. - *attackby on the target. If it returns TRUE, the chain will be stopped. - *and lastly - *afterattack. The return value does not matter. + * This is the proc that handles the order of an item_attack. + * + * The order of procs called is: + * * [/atom/proc/tool_act] on the target. If it returns TRUE, the chain will be stopped. + * * [/obj/item/proc/pre_attack] on src. If this returns TRUE, the chain will be stopped. + * * [/atom/proc/attackby] on the target. If it returns TRUE, the chain will be stopped. + * * [/obj/item/proc/afterattack]. The return value does not matter. */ /obj/item/proc/melee_attack_chain(mob/user, atom/target, params) if(tool_behaviour && target.tool_act(user, src, tool_behaviour)) @@ -19,18 +19,37 @@ return afterattack(target, user, TRUE, params) -// Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown. +/// Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown. /obj/item/proc/attack_self(mob/user) if(SEND_SIGNAL(src, COMSIG_ITEM_ATTACK_SELF, user) & COMPONENT_NO_INTERACT) return interact(user) +/** + * Called on the item before it hits something + * + * Arguments: + * * atom/A - The atom about to be hit + * * mob/living/user - The mob doing the htting + * * params - click params such as alt/shift etc + * + * See: [/obj/item/proc/melee_attack_chain] + */ /obj/item/proc/pre_attack(atom/A, mob/living/user, params) //do stuff before attackby! if(SEND_SIGNAL(src, COMSIG_ITEM_PRE_ATTACK, A, user, params) & COMPONENT_NO_ATTACK) return TRUE return FALSE //return TRUE to avoid calling attackby after this proc does stuff -// No comment +/** + * Called on an object being hit by an item + * + * Arguments: + * * obj/item/W - The item hitting this atom + * * mob/user - The wielder of this item + * * params - click params such as alt/shift etc + * + * See: [/obj/item/proc/melee_attack_chain] + */ /atom/proc/attackby(obj/item/W, mob/user, params) if(SEND_SIGNAL(src, COMSIG_PARENT_ATTACKBY, W, user, params) & COMPONENT_NO_AFTERATTACK) return TRUE @@ -45,7 +64,13 @@ user.changeNext_move(CLICK_CD_MELEE) return I.attack(src, user) - +/** + * Called from [/mob/living/attackby] + * + * Arguments: + * * mob/living/M - The mob being hit by this item + * * mob/living/user - The mob hitting with this item + */ /obj/item/proc/attack(mob/living/M, mob/living/user) if(SEND_SIGNAL(src, COMSIG_ITEM_ATTACK, M, user) & COMPONENT_ITEM_NO_ATTACK) return @@ -75,7 +100,7 @@ add_fingerprint(user) -//the equivalent of the standard version of attack() but for object targets. +/// The equivalent of the standard version of [/obj/item/proc/attack] but for object targets. /obj/item/proc/attack_obj(obj/O, mob/living/user) if(SEND_SIGNAL(src, COMSIG_ITEM_ATTACK_OBJ, O, user) & COMPONENT_NO_ATTACK_OBJ) return @@ -85,6 +110,7 @@ user.do_attack_animation(O) O.attacked_by(src, user) +/// Called from [/obj/item/proc/attack_obj] and [/obj/item/proc/attack] if the attack succeeds /atom/movable/proc/attacked_by() return @@ -115,13 +141,20 @@ else return ..() -// Proximity_flag is 1 if this afterattack was called on something adjacent, in your square, or on your person. -// Click parameters is the params string from byond Click() code, see that documentation. +/** + * Last proc in the [/obj/item/proc/melee_attack_chain] + * + * Arguments: + * * atom/target - The thing that was hit + * * mob/user - The mob doing the hitting + * * proximity_flag - is 1 if this afterattack was called on something adjacent, in your square, or on your person. + * * click_parameters - is the params string from byond [/atom/proc/Click] code, see that documentation. + */ /obj/item/proc/afterattack(atom/target, mob/user, proximity_flag, click_parameters) SEND_SIGNAL(src, COMSIG_ITEM_AFTERATTACK, target, user, proximity_flag, click_parameters) SEND_SIGNAL(user, COMSIG_MOB_ITEM_AFTERATTACK, target, user, proximity_flag, click_parameters) -// Called if the target gets deleted by our attack +/// Called if the target gets deleted by our attack /obj/item/proc/attack_qdeleted(atom/target, mob/user, proximity_flag, click_parameters) SEND_SIGNAL(src, COMSIG_ITEM_ATTACK_QDELETED, target, user, proximity_flag, click_parameters) SEND_SIGNAL(user, COMSIG_MOB_ITEM_ATTACK_QDELETED, target, user, proximity_flag, click_parameters) diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 1d6c4d82852..00ab119f219 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -22,7 +22,7 @@ SEND_SIGNAL(src, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, A, proximity) A.attack_hand(src) -//Return TRUE to cancel other attack hand effects that respect it. +/// Return TRUE to cancel other attack hand effects that respect it. /atom/proc/attack_hand(mob/user) . = FALSE if(!(interaction_flags_atom & INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HAND)) diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index eb3e65b54da..15f2f59cad0 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -56,6 +56,7 @@ SUBSYSTEM_DEF(atoms) testing("Late initialized [late_loaders.len] atoms") late_loaders.Cut() +/// Init this specific atom /datum/controller/subsystem/atoms/proc/InitAtom(atom/A, list/arguments) var/the_type = A.type if(QDELING(A)) diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm index dcb03dcf50b..226af527400 100644 --- a/code/controllers/subsystem/persistence.dm +++ b/code/controllers/subsystem/persistence.dm @@ -19,6 +19,7 @@ SUBSYSTEM_DEF(persistence) var/list/picture_logging_information = list() var/list/obj/structure/sign/picture_frame/photo_frames var/list/obj/item/storage/photo_album/photo_albums + var/list/paintings = list() /datum/controller/subsystem/persistence/Initialize() LoadPoly() @@ -30,6 +31,7 @@ SUBSYSTEM_DEF(persistence) if(CONFIG_GET(flag/use_antag_rep)) LoadAntagReputation() LoadRandomizedRecipes() + LoadPaintings() return ..() /datum/controller/subsystem/persistence/proc/LoadPoly() @@ -176,6 +178,7 @@ SUBSYSTEM_DEF(persistence) if(CONFIG_GET(flag/use_antag_rep)) CollectAntagReputation() SaveRandomizedRecipes() + SavePaintings() /datum/controller/subsystem/persistence/proc/GetPhotoAlbums() var/album_path = file("data/photo_albums.json") @@ -368,3 +371,19 @@ SUBSYSTEM_DEF(persistence) fdel(json_file) WRITE_FILE(json_file, json_encode(file_data)) + +/datum/controller/subsystem/persistence/proc/LoadPaintings() + var/json_file = file("data/paintings.json") + if(fexists(json_file)) + paintings = json_decode(file2text(json_file)) + + for(var/obj/structure/sign/painting/P in world) + P.load_persistent() + +/datum/controller/subsystem/persistence/proc/SavePaintings() + for(var/obj/structure/sign/painting/P in world) + P.save_persistent() + + var/json_file = file("data/paintings.json") + fdel(json_file) + WRITE_FILE(json_file, json_encode(paintings)) diff --git a/code/datums/achievements/_awards.dm b/code/datums/achievements/_awards.dm index 0edf24a922d..06fa6ce475d 100644 --- a/code/datums/achievements/_awards.dm +++ b/code/datums/achievements/_awards.dm @@ -2,7 +2,7 @@ ///Name of the achievement, If null it wont show up in the achievement browser. (Handy for inheritance trees) var/name var/desc = "You did it." - ///Found in /datum/asset/spritesheet/simple/achievements + ///Found in UI_Icons/Achievements var/icon = "default" var/category = "Normal" diff --git a/code/datums/achievements/boss_achievements.dm b/code/datums/achievements/boss_achievements.dm index 1c0cc0ad9ee..b15b848b479 100644 --- a/code/datums/achievements/boss_achievements.dm +++ b/code/datums/achievements/boss_achievements.dm @@ -56,6 +56,12 @@ database_id = BOSS_MEDAL_SWARMERS icon = "swarmer" +/datum/award/achievement/boss/king_goat_kill + name = "King Goat Killer" + desc = "The king is dead, long live the king!" + database_id = BOSS_MEDAL_KINGGOAT + icon = "goatboss" + /datum/award/achievement/boss/blood_miner_crusher name = "Blood-drunk Miner Crusher" desc = "I guess he couldn't handle his drink that well." @@ -95,3 +101,9 @@ name = "Swarm Beacon Crusher" desc = "GET THEM OFF OF ME!" database_id = BOSS_MEDAL_SWARMERS_CRUSHER + +/datum/award/achievement/boss/king_goat_crusher + name = "King Goat Crusher" + desc = "The king is dead, long live the king!" + database_id = BOSS_MEDAL_KINGGOAT_CRUSHER + icon = "goatboss" diff --git a/code/datums/achievements/misc_achievements.dm b/code/datums/achievements/misc_achievements.dm index 3d3fe61a9f0..c81d2c51ddb 100644 --- a/code/datums/achievements/misc_achievements.dm +++ b/code/datums/achievements/misc_achievements.dm @@ -43,7 +43,7 @@ desc = "You janked hard" database_id = MEDAL_HELBITALJANKEN icon = "helbital" - + /datum/award/achievement/misc/getting_an_upgrade name = "Getting an upgrade" desc = "Make your first unique material item!" @@ -95,3 +95,9 @@ desc = "Well, that didn't take long." database_id = MEDAL_LONGSHIFT icon = "longshift" + +/datum/award/achievement/misc/snail + name = "KKKiiilll mmmeee" + desc = "You were a little too ambitious, but hey, I guess you're still alive?" + database_id = MEDAL_SNAIL + icon = "snail" diff --git a/code/datums/action.dm b/code/datums/action.dm index cf98e7316e7..3c1913fdb38 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -334,6 +334,11 @@ button_icon_state = "vortex_recall" /datum/action/item_action/vortex_recall/IsAvailable() + var/turf/current_location = get_turf(target) + var/area/current_area = current_location.loc + if(current_area.noteleport) + to_chat(target, "[src] fizzles uselessly.") + return if(istype(target, /obj/item/hierophant_club)) var/obj/item/hierophant_club/H = target if(H.teleporting) diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm index 12faa9ba365..bb8e454d8d6 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -35,7 +35,7 @@ ..() if(HAS_TRAIT(owner, TRAIT_FEARLESS)) return - if(is_blind(owner)) + if(owner.is_blind()) return if(world.time > next_check && world.time > next_scare) next_check = world.time + 50 diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 2cf49b17548..4874fd3581e 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -165,7 +165,7 @@ stress = max(stress - 4, 0) /datum/brain_trauma/severe/monophobia/proc/check_alone() - if(HAS_TRAIT(owner, TRAIT_BLIND)) + if(owner.is_blind()) return TRUE for(var/mob/M in oview(owner, 7)) if(!isliving(M)) //ghosts ain't people diff --git a/code/datums/callback.dm b/code/datums/callback.dm index eb55fcb4862..95343844aa2 100644 --- a/code/datums/callback.dm +++ b/code/datums/callback.dm @@ -10,7 +10,7 @@ * you can also use the compiler define shorthand * var/timerid = addtimer(CALLBACK(object|null, /proc/type/path|procstring, arg1, arg2, ... argn), time, timertype) * ``` - * + * * Note: proc strings can only be given for datum proc calls, global procs must be proc paths * * Also proc strings are strongly advised against because they don't compile error if the proc stops existing @@ -30,7 +30,7 @@ * .procname * * `CALLBACK(GLOBAL_PROC, .some_proc_here)` - * + * * ### proc defined on current(src) object (when in a /proc/ and not an override) OR overridden at src or any of it's parents: * .procname * @@ -38,9 +38,9 @@ * * ### when the above doesn't apply: *.proc/procname - * + * * `CALLBACK(src, .proc/some_proc_here)` - * + * * * proc defined on a parent of a some type * @@ -50,7 +50,7 @@ */ /datum/callback - ///The object we will be calling the proc on + ///The object we will be calling the proc on var/datum/object = GLOBAL_PROC ///The proc we will be calling on the object var/delegate @@ -98,11 +98,11 @@ /** * Invoke this callback - * + * * Calls the registered proc on the registered object, if the user ref * can be resolved it also inclues that as an arg * - * If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall + * If the datum being called on is varedited, the call is wrapped via [WrapAdminProcCall][/proc/WrapAdminProcCall] */ /datum/callback/proc/Invoke(...) if(!usr) @@ -131,7 +131,7 @@ /** * Invoke this callback async (waitfor=false) - * + * * Calls the registered proc on the registered object, if the user ref * can be resolved it also inclues that as an arg * @@ -195,7 +195,7 @@ * Runs a list of callbacks asyncronously, returning only when all have finished * * Callbacks can be repeated, to call it multiple times - * + * * Arguments: * * list/callbacks the list of callbacks to be called * * list/callback_args the list of lists of arguments to pass into each callback diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index 7a03d87fc4d..984a298bef5 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -10,26 +10,38 @@ * Useful when you want shared behaviour independent of type inheritance */ /datum/component - /// Defines how duplicate existing components are handled when added to a datum - /// See `COMPONENT_DUPE_*` definitions for available options + /** + * Defines how duplicate existing components are handled when added to a datum + * + * See [COMPONENT_DUPE_*][COMPONENT_DUPE_ALLOWED] definitions for available options + */ var/dupe_mode = COMPONENT_DUPE_HIGHLANDER - /// The type to check for duplication - /// `null` means exact match on `type` (default) - /// Any other type means that and all subtypes + /** + * The type to check for duplication + * + * `null` means exact match on `type` (default) + * + * Any other type means that and all subtypes + */ var/dupe_type /// The datum this components belongs to var/datum/parent - /// Only set to true if you are able to properly transfer this component - /// At a minimum RegisterWithParent and UnregisterFromParent should be used - /// Make sure you also implement PostTransfer for any post transfer handling + /** + * Only set to true if you are able to properly transfer this component + * + * At a minimum [RegisterWithParent][/datum/component/proc/RegisterWithParent] and [UnregisterFromParent][/datum/component/proc/UnregisterFromParent] should be used + * + * Make sure you also implement [PostTransfer][/datum/component/proc/PostTransfer] for any post transfer handling + */ var/can_transfer = FALSE /** * Create a new component. - * Additional arguments are passed to `Initialize()` + * + * Additional arguments are passed to [Initialize()][/datum/component/proc/Initialize] * * Arguments: * * datum/P the parent datum this component reacts to signals from @@ -45,6 +57,7 @@ /** * Called during component creation with the same arguments as in new excluding parent. + * * Do not call `qdel(src)` from this function, `return COMPONENT_INCOMPATIBLE` instead */ /datum/component/proc/Initialize(...) @@ -52,8 +65,10 @@ /** * Properly removes the component from `parent` and cleans up references - * Setting `force` makes it not check for and remove the component from the parent - * Setting `silent` deletes the component without sending a `COMSIG_COMPONENT_REMOVING` signal + * + * Arguments: + * * force - makes it not check for and remove the component from the parent + * * silent - deletes the component without sending a [COMSIG_COMPONENT_REMOVING] signal */ /datum/component/Destroy(force=FALSE, silent=FALSE) if(!force && parent) @@ -126,6 +141,7 @@ * Register the component with the parent object * * Use this proc to register with your parent object + * * Overridable proc that's called when added to a new parent */ /datum/component/proc/RegisterWithParent() @@ -135,6 +151,7 @@ * Unregister from our parent object * * Use this proc to unregister from your parent object + * * Overridable proc that's called when removed from a parent * * */ @@ -190,6 +207,7 @@ * Stop listening to a given signal from target * * Breaks the relationship between target and source datum, removing the callback when the signal fires + * * Doesn't care if a registration exists or not * * Arguments: @@ -229,7 +247,9 @@ /** * Called on a component when a component of the same type was added to the same parent - * See `/datum/component/var/dupe_mode` + * + * See [/datum/component/var/dupe_mode] + * * `C`'s type will always be the same of the called component */ /datum/component/proc/InheritComponent(datum/component/C, i_am_original) @@ -237,9 +257,12 @@ /** - * Called on a component when a component of the same type was added to the same parent with COMPONENT_DUPE_SELECTIVE - * See `/datum/component/var/dupe_mode` + * Called on a component when a component of the same type was added to the same parent with [COMPONENT_DUPE_SELECTIVE] + * + * See [/datum/component/var/dupe_mode] + * * `C`'s type will always be the same of the called component + * * return TRUE if you are absorbing the component, otherwise FALSE if you are fine having it exist as a duplicate component */ /datum/component/proc/CheckDupeComponent(datum/component/C, ...) @@ -250,7 +273,6 @@ * Callback Just before this component is transferred * * Use this to do any special cleanup you might need to do before being deregged from an object - * */ /datum/component/proc/PreTransfer() return @@ -259,8 +281,8 @@ * Callback Just after a component is transferred * * Use this to do any special setup you need to do after being moved to a new object - * Do not call `qdel(src)` from this function, `return COMPONENT_INCOMPATIBLE` instead * + * Do not call `qdel(src)` from this function, `return COMPONENT_INCOMPATIBLE` instead */ /datum/component/proc/PostTransfer() return COMPONENT_INCOMPATIBLE //Do not support transfer by default as you must properly support it @@ -279,8 +301,10 @@ /** * Internal proc to handle most all of the signaling procedure + * * Will runtime if used on datums with an empty component list - * Use the `SEND_SIGNAL` define instead + * + * Use the [SEND_SIGNAL] define instead */ /datum/proc/_SendSignal(sigtype, list/arguments) var/target = comp_lookup[sigtype] @@ -301,6 +325,7 @@ // The type arg is casted so initial works, you shouldn't be passing a real instance into this /** * Return any component assigned to this datum of the given type + * * This will throw an error if it's possible to have more than one component of that type on the parent * * Arguments: @@ -320,6 +345,7 @@ // The type arg is casted so initial works, you shouldn't be passing a real instance into this /** * Return any component assigned to this datum of the exact given type + * * This will throw an error if it's possible to have more than one component of that type on the parent * * Arguments: @@ -356,9 +382,13 @@ /** * Creates an instance of `new_type` in the datum and attaches to it as parent - * Sends the `COMSIG_COMPONENT_ADDED` signal to the datum - * Returns the component that was created. Or the old component in a dupe situation where `COMPONENT_DUPE_UNIQUE` was set + * + * Sends the [COMSIG_COMPONENT_ADDED] signal to the datum + * + * Returns the component that was created. Or the old component in a dupe situation where [COMPONENT_DUPE_UNIQUE] was set + * * If this tries to add an component to an incompatible type, the component will be deleted and the result will be `null`. This is very unperformant, try not to do it + * * Properly handles duplicate situations based on the `dupe_mode` var */ /datum/proc/_AddComponent(list/raw_args) diff --git a/code/datums/components/creamed.dm b/code/datums/components/creamed.dm index 8ac46132a94..38759e56561 100644 --- a/code/datums/components/creamed.dm +++ b/code/datums/components/creamed.dm @@ -5,7 +5,7 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( /mob/living/silicon/ai))) /** - * # Creamed component + * Creamed component * * For when you have pie on your face */ @@ -53,9 +53,9 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( /datum/component/creamed/UnregisterFromParent() UnregisterSignal(parent, list( - COMSIG_COMPONENT_CLEAN_ACT, + COMSIG_COMPONENT_CLEAN_ACT, COMSIG_COMPONENT_CLEAN_FACE_ACT)) - + ///Callback to remove pieface /datum/component/creamed/proc/clean_up(datum/source, strength) if(strength >= CLEAN_WEAK) diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm new file mode 100644 index 00000000000..6cdfa8352b3 --- /dev/null +++ b/code/datums/components/embedded.dm @@ -0,0 +1,309 @@ +/* + This component is responsible for handling individual instances of embedded objects. The embeddable element is what allows an item to be embeddable and stores its embedding stats, + and when it impacts and meets the requirements to stick into something, it instantiates an embedded component. Once the item falls out, the component is destroyed, while the + element survives to embed another day. + + There are 2 different things that can be embedded presently: humans, and closed turfs (see: walls) + + - Human embedding has all the classical embedding behavior, and tracks more events and signals. The main behaviors and hooks to look for are: + -- Every process tick, there is a chance to randomly proc pain, controlled by pain_chance. There may also be a chance for the object to fall out randomly, per fall_chance + -- Every time the mob moves, there is a chance to proc jostling pain, controlled by jostle_chance (and only 50% as likely if the mob is walking or crawling) + -- Various signals hooking into human topic() and the embed removal surgery in order to handle removals. + + - Turf embedding is much simpler. All we do here is draw an overlay of the item's inhand on the turf, hide the item, and create an HTML link in the turf's inspect + that allows you to rip the item out. There's nothing dynamic about this, so far less checks. + + + In addition, there are 2 cases of embedding: embedding, and sticking + + - Embedding involves harmful and dangerous embeds, whether they cause brute damage, stamina damage, or a mix. This is the default behavior for embeddings, for when something is "pointy" + + - Sticking occurs when an item should not cause any harm while embedding (imagine throwing a sticky ball of tape at someone, rather than a shuriken). An item is considered "sticky" + when it has 0 for both pain multiplier and jostle pain multiplier. It's a bit arbitrary, but fairly straightforward. + + Stickables differ from embeds in the following ways: + -- Text descriptors use phrasing like "X is stuck to Y" rather than "X is embedded in Y" + -- There is no slicing sound on impact + -- All damage checks and bloodloss are skipped for humans + -- Pointy objects create sparks when embedding into a turf + +*/ + + +/datum/component/embedded + dupe_mode = COMPONENT_DUPE_ALLOWED + var/obj/item/bodypart/L + var/obj/item/weapon + + // all of this stuff is explained in _DEFINES/combat.dm + var/embed_chance // not like we really need it once we're already stuck in but hey + var/fall_chance + var/pain_chance + var/pain_mult + var/impact_pain_mult + var/remove_pain_mult + var/rip_time + var/ignore_throwspeed_threshold + var/jostle_chance + var/jostle_pain_mult + var/pain_stam_pct + + ///if both our pain multiplier and jostle pain multiplier are 0, we're harmless and can omit most of the damage related stuff + var/harmful + var/mutable_appearance/overlay + +/datum/component/embedded/Initialize(obj/item/I, + datum/thrownthing/throwingdatum, + embed_chance = EMBED_CHANCE, + fall_chance = EMBEDDED_ITEM_FALLOUT, + pain_chance = EMBEDDED_PAIN_CHANCE, + pain_mult = EMBEDDED_PAIN_MULTIPLIER, + remove_pain_mult = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER, + impact_pain_mult = EMBEDDED_IMPACT_PAIN_MULTIPLIER, + rip_time = EMBEDDED_UNSAFE_REMOVAL_TIME, + ignore_throwspeed_threshold = FALSE, + jostle_chance = EMBEDDED_JOSTLE_CHANCE, + jostle_pain_mult = EMBEDDED_JOSTLE_PAIN_MULTIPLIER, + pain_stam_pct = EMBEDDED_PAIN_STAM_PCT) + + if((!ishuman(parent) && !isclosedturf(parent)) || !isitem(I)) + return COMPONENT_INCOMPATIBLE + + src.embed_chance = embed_chance + src.fall_chance = fall_chance + src.pain_chance = pain_chance + src.pain_mult = pain_mult + src.remove_pain_mult = remove_pain_mult + src.rip_time = rip_time + src.impact_pain_mult = impact_pain_mult + src.ignore_throwspeed_threshold = ignore_throwspeed_threshold + src.jostle_chance = jostle_chance + src.jostle_pain_mult = jostle_pain_mult + src.pain_stam_pct = pain_stam_pct + + src.weapon = I + + if(src.pain_mult || src.jostle_pain_mult) + harmful = TRUE + + if(ishuman(parent)) + initHuman() + else if(isclosedturf(parent)) + initTurf(throwingdatum) + +/datum/component/embedded/RegisterWithParent() + if(ishuman(parent)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/jostleCheck) + RegisterSignal(parent, COMSIG_HUMAN_EMBED_RIP, .proc/ripOutHuman) + RegisterSignal(parent, COMSIG_HUMAN_EMBED_REMOVAL, .proc/safeRemoveHuman) + else if(isclosedturf(parent)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examineTurf) + +/datum/component/embedded/UnregisterFromParent() + if(ishuman(parent)) + UnregisterSignal(parent, list(COMSIG_MOVABLE_MOVED, COMSIG_HUMAN_EMBED_RIP, COMSIG_HUMAN_EMBED_REMOVAL)) + else if(isclosedturf(parent)) + UnregisterSignal(parent, COMSIG_PARENT_EXAMINE) + +/datum/component/embedded/process() + if(ishuman(parent)) + processHuman() + +/datum/component/embedded/Destroy() + if(overlay) + var/atom/A = parent + A.cut_overlay(overlay, TRUE) + qdel(overlay) + + return ..() + +//////////////////////////////////////// +/////////////HUMAN PROCS//////////////// +//////////////////////////////////////// + +/// Set up an instance of embedding for a human. This is basically an extension of Initialize() so not much to say +/datum/component/embedded/proc/initHuman() + START_PROCESSING(SSdcs, src) + var/mob/living/carbon/human/victim = parent + L = pick(victim.bodyparts) + L.embedded_objects |= weapon // on the inside... on the inside... + weapon.forceMove(victim) + + if(harmful) + victim.visible_message("[weapon] embeds itself in [victim]'s [L.name]!","[weapon] embeds itself in your [L.name]!") + victim.throw_alert("embeddedobject", /obj/screen/alert/embeddedobject) + playsound(victim,'sound/weapons/bladeslice.ogg', 40) + weapon.add_mob_blood(victim)//it embedded itself in you, of course it's bloody! + var/damage = weapon.w_class * impact_pain_mult + L.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage) + SEND_SIGNAL(victim, COMSIG_ADD_MOOD_EVENT, "embedded", /datum/mood_event/embedded) + else + victim.visible_message("[weapon] sticks itself to [victim]'s [L.name]!","[weapon] sticks itself to your [L.name]!") + + +/// Called every time a human with a harmful embed moves, rolling a chance for the item to cause pain. The chance is halved if the human is crawling or walking. +/datum/component/embedded/proc/jostleCheck() + var/mob/living/carbon/human/victim = parent + + var/chance = jostle_chance + if(victim.m_intent == MOVE_INTENT_WALK || victim.lying) + chance *= 0.5 + + if(prob(chance)) + var/damage = weapon.w_class * jostle_pain_mult + L.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage) + to_chat(victim, "[weapon] embedded in your [L.name] jostles and stings!") + + +/// Called when then item randomly falls out of a human. This handles the damage and descriptors, then calls safe_remove() +/datum/component/embedded/proc/fallOutHuman() + var/mob/living/carbon/human/victim = parent + + if(harmful) + var/damage = weapon.w_class * remove_pain_mult + L.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage) + victim.visible_message("[weapon] falls out of [victim.name]'s [L.name]!","[weapon] falls out of your [L.name]!") + else + victim.visible_message("[weapon] falls off of [victim.name]'s [L.name]!","[weapon] falls off of your [L.name]!") + + safeRemoveHuman() + + +/// Called when a human with an object embedded/stuck to them inspects themselves and clicks the appropriate link to begin ripping the item out. This handles the ripping attempt, descriptors, and dealing damage, then calls safe_remove() +/datum/component/embedded/proc/ripOutHuman() + var/mob/living/carbon/human/victim = parent + var/time_taken = rip_time * weapon.w_class + + victim.visible_message("[victim] attempts to remove [weapon] from [victim.p_their()] [L.name].","You attempt to remove [weapon] from your [L.name]... (It will take [DisplayTimeText(time_taken)].)") + if(do_after(victim, time_taken, target = victim)) + if(!weapon || !L || weapon.loc != victim || !(weapon in L.embedded_objects)) + qdel(src) + + if(harmful) + var/damage = weapon.w_class * remove_pain_mult + L.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage) //It hurts to rip it out, get surgery you dingus. + victim.emote("scream") + victim.visible_message("[victim] successfully rips [weapon] out of [victim.p_their()] [L.name]!", "You successfully remove [weapon] from your [L.name].") + else + victim.visible_message("[victim] successfully rips [weapon] off of [victim.p_their()] [L.name]!", "You successfully remove [weapon] from your [L.name].") + + safeRemoveHuman(TRUE) + + +/// This proc handles the final step and actual removal of an embedded/stuck item from a human, whether or not it was actually removed safely. +/// Pass TRUE for to_hands if we want it to go to the victim's hands when they pull it out +/datum/component/embedded/proc/safeRemoveHuman(to_hands) + var/mob/living/carbon/human/victim = parent + L.embedded_objects -= weapon + + if(!victim) + weapon.forceMove(get_turf(weapon)) + qdel(src) + + if(to_hands) + victim.put_in_hands(weapon) + else + weapon.forceMove(get_turf(victim)) + + if(!victim.has_embedded_objects()) + victim.clear_alert("embeddedobject") + SEND_SIGNAL(victim, COMSIG_CLEAR_MOOD_EVENT, "embedded") + qdel(src) + + +/// Items embedded/stuck to humans both check whether they randomly fall out (if applicable), as well as if the target mob and limb still exists. +/// Items harmfully embedded in humans have an additional check for random pain (if applicable) +/datum/component/embedded/proc/processHuman() + var/mob/living/carbon/human/victim = parent + + if(!victim || !L) // in case the victim and/or their limbs exploded (say, due to a sticky bomb) + weapon.forceMove(get_turf(weapon)) + qdel(src) + + if(victim.stat == DEAD) + return + + if(harmful && prob(pain_chance)) + var/damage = weapon.w_class * pain_mult + L.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage) + to_chat(victim, "[weapon] embedded in your [L.name] hurts!") + + if(prob(fall_chance)) + fallOutHuman() + + +//////////////////////////////////////// +//////////////TURF PROCS//////////////// +//////////////////////////////////////// + +/// Turfs are much lower maintenance, since we don't care if they're in pain, but since they don't bleed or scream, we draw an overlay to show their status. +/// The only difference pointy/sticky items make here is text descriptors and pointy objects making a spark shower on impact. +/datum/component/embedded/proc/initTurf(datum/thrownthing/throwingdatum) + var/turf/closed/hit = parent + + // we can't store the item IN the turf (cause turfs are just kinda... there), so we fake it by making the item invisible and bailing if it moves due to a blast + weapon.forceMove(hit) + weapon.invisibility = INVISIBILITY_ABSTRACT + RegisterSignal(weapon, COMSIG_MOVABLE_MOVED, .proc/itemMoved) + + var/pixelX = rand(-2, 2) + var/pixelY = rand(-1, 3) // bias this upwards since in-hands are usually on the lower end of the sprite + + switch(throwingdatum.init_dir) + if(NORTH) + pixelY -= 2 + if(SOUTH) + pixelY += 2 + if(WEST) + pixelX += 2 + if(EAST) + pixelX -= 2 + + if(throwingdatum.init_dir in list(NORTH, WEST, NORTHWEST, SOUTHWEST)) + overlay = mutable_appearance(icon=weapon.righthand_file,icon_state=weapon.item_state) + else + overlay = mutable_appearance(icon=weapon.lefthand_file,icon_state=weapon.item_state) + + var/matrix/M = matrix() + M.Translate(pixelX, pixelY) + overlay.transform = M + hit.add_overlay(overlay, TRUE) + + if(harmful) + hit.visible_message("[weapon] embeds itself in [hit]!") + playsound(hit,'sound/weapons/bladeslice.ogg', 70) + + var/datum/effect_system/spark_spread/sparks = new + sparks.set_up(1, 1, parent) + sparks.attach(parent) + sparks.start() + else + hit.visible_message("[weapon] sticks itself to [hit]!") + + +/datum/component/embedded/proc/examineTurf(datum/source, mob/user, list/examine_list) + if(harmful) + examine_list += "\t There is \a [weapon] embedded in [parent]!" + else + examine_list += "\t There is \a [weapon] stuck to [parent]!" + + +/// Someone is ripping out the item from the turf by hand +/datum/component/embedded/Topic(datum/source, href_list) + var/mob/living/us = usr + if(in_range(us, parent) && locate(href_list["embedded_object"]) == weapon) + if(harmful) + us.visible_message("[us] begins unwedging [weapon] from [parent].", "You begin unwedging [weapon] from [parent]...") + else + us.visible_message("[us] begins unsticking [weapon] from [parent].", "You begin unsticking [weapon] from [parent]...") + + if(do_after(us, 30, target = parent)) + us.put_in_hands(weapon) + qdel(src) + + +/// This proc handles if something knocked the invisible item loose from the turf somehow (probably an explosion). Just make it visible and say it fell loose, then get outta here. +/datum/component/embedded/proc/itemMoved() + weapon.invisibility = initial(weapon.invisibility) + weapon.visible_message("[weapon] falls loose from [parent].") + qdel(src) diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index b98fa8d87e8..afdc2821a95 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -42,8 +42,8 @@ RegisterSignal(parent, COMSIG_ADD_MOOD_EVENT_RND, .proc/add_event) //Mood events that are only for RnD members /datum/component/mood/proc/print_mood(mob/user) - var/msg = "*---------*\nYour current mood\n" - msg += "My mental status: " //Long term + var/msg = "*---------*\nMy current mental status:\n" + msg += "My current sanity: " //Long term switch(sanity) if(SANITY_GREAT to INFINITY) msg += "My mind feels like a temple!\n" diff --git a/code/datums/components/plumbing/reaction_chamber.dm b/code/datums/components/plumbing/reaction_chamber.dm index df00cdec4c1..675c3c3719b 100644 --- a/code/datums/components/plumbing/reaction_chamber.dm +++ b/code/datums/components/plumbing/reaction_chamber.dm @@ -31,9 +31,12 @@ return reagents.flags &= ~NO_REACT - RC.emptying = TRUE reagents.handle_reactions() + RC.emptying = TRUE //If we move this up, it'll instantly get turned off since any reaction always sets the reagent_total to zero. Other option is make the reaction update + //everything for every chemical removed, wich isn't a good option either. + RC.on_reagent_change() //We need to check it now, because some reactions leave nothing left. + /datum/component/plumbing/reaction_chamber/can_give(amount, reagent, datum/ductnet/net) . = ..() var/obj/machinery/plumbing/reaction_chamber/RC = parent diff --git a/code/datums/components/pricetag.dm b/code/datums/components/pricetag.dm new file mode 100644 index 00000000000..3220dc425a5 --- /dev/null +++ b/code/datums/components/pricetag.dm @@ -0,0 +1,28 @@ +/datum/component/pricetag + var/datum/bank_account/owner + var/profit_ratio = 1 + +/datum/component/pricetag/Initialize(_owner,_profit_ratio) + if(!isobj(parent)) //Has to account for both objects and sellable structures like crates. + return COMPONENT_INCOMPATIBLE + owner = _owner + if(_profit_ratio) + profit_ratio = _profit_ratio + RegisterSignal(parent, COMSIG_ITEM_SOLD, .proc/split_profit) + RegisterSignal(parent, COMSIG_STRUCTURE_UNWRAPPED, .proc/Unwrapped) + RegisterSignal(parent, COMSIG_ITEM_UNWRAPPED, .proc/Unwrapped) + RegisterSignal(parent, COMSIG_ITEM_SPLIT_PROFIT, .proc/return_ratio) + +/datum/component/pricetag/proc/Unwrapped() + qdel(src) //Once it leaves it's wrapped container, the object in question should lose it's pricetag component. + +/datum/component/pricetag/proc/split_profit(var/item_value) + var/price = item_value + if(price) + var/adjusted_value = price*(profit_ratio/100) + owner.adjust_money(adjusted_value) + owner.bank_card_talk("Sale recorded. [adjusted_value] credits added to account.") + return TRUE + +/datum/component/pricetag/proc/return_ratio() + return profit_ratio diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm index 38e6267abab..a6d28a97b73 100644 --- a/code/datums/components/uplink.dm +++ b/code/datums/components/uplink.dm @@ -247,7 +247,7 @@ var/obj/item/pda/master = parent if(trim(lowertext(new_ring_text)) != trim(lowertext(unlock_code))) if(trim(lowertext(new_ring_text)) == trim(lowertext(failsafe_code))) - failsafe() + failsafe(user) return COMPONENT_STOP_RINGTONE_CHANGE return locked = FALSE @@ -267,7 +267,7 @@ var/frequency = arguments[1] if(frequency != unlock_code) if(frequency == failsafe_code) - failsafe() + failsafe(master.loc) return locked = FALSE if(ismob(master.loc)) @@ -289,7 +289,7 @@ to_chat(user, "Your pen makes a clicking noise, before quickly rotating back to 0 degrees!") else if(compare_list(previous_attempts, failsafe_code)) - failsafe() + failsafe(user) /datum/component/uplink/proc/setup_unlock_code() unlock_code = generate_code() @@ -312,11 +312,13 @@ L += rand(1, 360) return L -/datum/component/uplink/proc/failsafe() +/datum/component/uplink/proc/failsafe(mob/living/carbon/user) if(!parent) return var/turf/T = get_turf(parent) if(!T) return + message_admins("[ADMIN_LOOKUPFLW(user)] has triggered an uplink failsafe explosion at [AREACOORD(T)] The owner of the uplink was [ADMIN_LOOKUPFLW(owner)].") + log_game("[key_name(user)] triggered an uplink failsafe explosion. The owner of the uplink was [key_name(owner)].") explosion(T,1,2,3) qdel(parent) //Alternatively could brick the uplink. diff --git a/code/datums/datum.dm b/code/datums/datum.dm index 0a8617b70cd..4608b0ceb68 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -21,19 +21,28 @@ var/list/active_timers /// Status traits attached to this datum var/list/status_traits - - /// Components attached to this datum - /// Lazy associated list in the structure of `type:component/list of components` + + /** + * Components attached to this datum + * + * Lazy associated list in the structure of `type:component/list of components` + */ var/list/datum_components - /// Any datum registered to receive signals from this datum is in this list - /// Lazy associated list in the structure of `signal:registree/list of registrees` + /** + * Any datum registered to receive signals from this datum is in this list + * + * Lazy associated list in the structure of `signal:registree/list of registrees` + */ var/list/comp_lookup /// Lazy associated list in the structure of `signals:proctype` that are run when the datum receives that signal var/list/list/datum/callback/signal_procs - /// Is this datum capable of sending signals? - /// Set to true when a signal has been registered + /** + * Is this datum capable of sending signals? + * + * Set to true when a signal has been registered + */ var/signal_enabled = FALSE - + /// Datum level flags var/datum_flags = NONE @@ -52,7 +61,7 @@ /** * Called when a href for this datum is clicked * - * Sends a COMSIG_TOPIC signal + * Sends a [COMSIG_TOPIC] signal */ /datum/Topic(href, href_list[]) ..() @@ -60,20 +69,20 @@ /** * Default implementation of clean-up code. - * + * * This should be overridden to remove all references pointing to the object being destroyed, if * you do override it, make sure to call the parent and return it's return value by default - * - * Return an appropriate QDEL_HINT to modify handling of your deletion; - * in most cases this is QDEL_HINT_QUEUE. + * + * Return an appropriate [QDEL_HINT][QDEL_HINT_QUEUE] to modify handling of your deletion; + * in most cases this is [QDEL_HINT_QUEUE]. * * The base case is responsible for doing the following * * Erasing timers pointing to this datum * * Erasing compenents on this datum * * Notifying datums listening to signals from this datum that we are going away * - * Returns QDEL_HINT_QUEUE - */ + * Returns [QDEL_HINT_QUEUE] + */ /datum/proc/Destroy(force=FALSE, ...) SHOULD_CALL_PARENT(1) tag = null diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm index 87a784e7ded..079d94b55aa 100644 --- a/code/datums/diseases/advance/symptoms/vision.dm +++ b/code/datums/diseases/advance/symptoms/vision.dm @@ -63,7 +63,7 @@ Bonus M.become_nearsighted(EYE_DAMAGE) if(prob(eyes.damage - 10 + 1)) if(!remove_eyes) - if(!HAS_TRAIT(M, TRAIT_BLIND)) + if(!M.is_blind()) to_chat(M, "You go blind!") eyes.applyOrganDamage(eyes.maxHealth) else diff --git a/code/datums/diseases/gastrolisis.dm b/code/datums/diseases/gastrolisis.dm index 29ca49e2f1e..96efd38d5bc 100644 --- a/code/datums/diseases/gastrolisis.dm +++ b/code/datums/diseases/gastrolisis.dm @@ -1,7 +1,7 @@ /datum/disease/gastrolosis name = "Invasive Gastrolosis" max_stages = 4 - spread_text = "Degenerative Virus" + spread_text = "Unknown" spread_flags = DISEASE_SPREAD_SPECIAL cure_text = "Salt and mutadone" agent = "Agent S and DNA restructuring" @@ -56,6 +56,7 @@ return if(shell && eyes && tongue && prob(5)) affected_mob.set_species(/datum/species/snail) + affected_mob.client?.give_award(/datum/award/achievement/misc/snail, affected_mob) affected_mob.visible_message("[affected_mob] turns into a snail!", \ "You turned into a snail person! You feel an urge to cccrrraaawwwlll...") cure() @@ -68,7 +69,7 @@ /datum/disease/gastrolosis/cure() . = ..() - if(!is_species(affected_mob, /datum/species/snail)) //undo all the snail fuckening + if(affected_mob && !is_species(affected_mob, /datum/species/snail)) //undo all the snail fuckening var/mob/living/carbon/human/H = affected_mob var/obj/item/organ/tongue/tongue = locate(/obj/item/organ/tongue/snail) in H.internal_organs if(tongue) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 4cd81eaa973..e7b6f40e09a 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -647,7 +647,7 @@ /mob/living/carbon/human/proc/something_horrible_mindmelt() - if(!HAS_TRAIT(src, TRAIT_BLIND)) + if(!is_blind()) var/obj/item/organ/eyes/eyes = locate(/obj/item/organ/eyes) in internal_organs if(!eyes) return diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm index f74dcd0b6e1..46a295f90be 100644 --- a/code/datums/elements/_element.dm +++ b/code/datums/elements/_element.dm @@ -9,7 +9,9 @@ var/element_flags = NONE /** * The index of the first attach argument to consider for duplicate elements - * Is only used when flags contains ELEMENT_BESPOKE + * + * Is only used when flags contains [ELEMENT_BESPOKE] + * * This is infinity so you must explicitly set this */ var/id_arg_index = INFINITY @@ -19,11 +21,13 @@ SHOULD_CALL_PARENT(1) if(type == /datum/element) return ELEMENT_INCOMPATIBLE + SEND_SIGNAL(target, COMSIG_ELEMENT_ATTACH, src) if(element_flags & ELEMENT_DETACH) RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/Detach, override = TRUE) /// Deactivates the functionality defines by the element on the given datum /datum/element/proc/Detach(datum/source, force) + SEND_SIGNAL(source, COMSIG_ELEMENT_DETACH, src) SHOULD_CALL_PARENT(1) UnregisterSignal(source, COMSIG_PARENT_QDELETING) @@ -44,7 +48,7 @@ /** * Finds the singleton for the element type given and detaches it from src - * You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE + * You only need additional arguments beyond the type if you're using [ELEMENT_BESPOKE] */ /datum/proc/_RemoveElement(list/arguments) var/datum/element/ele = SSdcs.GetElement(arguments) diff --git a/code/datums/elements/embed.dm b/code/datums/elements/embed.dm new file mode 100644 index 00000000000..ab2c0d53706 --- /dev/null +++ b/code/datums/elements/embed.dm @@ -0,0 +1,131 @@ +/* + The presence of this element allows an item to embed itself in a human or turf when it is thrown into a target (whether by hand, gun, or explosive wave) + with either at least 4 throwspeed (EMBED_THROWSPEED_THRESHOLD) or ignore_throwspeed_threshold set to TRUE. + + This element is granted primarily to any /obj/item that has something in its /embedding var, which should be formatted as a list. If you wish to be able to + grant/rescind the ability for an item to embed (say, when activating and deactivating an edagger), you can do so in two ways: + + 1. Drop the throw_speed var below EMBED_THROWSPEED_THRESHOLD (object will still be able to otherwise embed if thrown at high speed by something else like a blast) + 2. Add/Remove the embed element as needed (won't be able to embed at all) + + Otherwise non-embeddable or stickable items can be made embeddable/stickable through wizard events/sticky tape/admin memes. + +*/ + +#define STANDARD_WALL_HARDNESS 40 + +/datum/element/embed + element_flags = ELEMENT_BESPOKE + id_arg_index = 2 + + // all of this stuff is explained in _DEFINES/combat.dm + var/embed_chance + var/fall_chance + var/pain_chance + var/pain_mult + var/remove_pain_mult + var/impact_pain_mult + var/rip_time + var/ignore_throwspeed_threshold + var/jostle_chance + var/jostle_pain_mult + var/pain_stam_pct + +/datum/element/embed/Attach(datum/target, list/embedArgs) + . = ..() + parseArgs(arglist(embedArgs)) + + if(!isitem(target)) + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_MOVABLE_IMPACT_ZONE, .proc/checkEmbedMob) + RegisterSignal(target, COMSIG_MOVABLE_IMPACT, .proc/checkEmbedOther) + RegisterSignal(target, COMSIG_ELEMENT_ATTACH, .proc/severancePackage) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/examined) + + +/datum/element/embed/Detach(obj/item/target) + . = ..() + UnregisterSignal(target, list(COMSIG_MOVABLE_IMPACT_ZONE, COMSIG_ELEMENT_ATTACH, COMSIG_MOVABLE_IMPACT, COMSIG_PARENT_EXAMINE)) + + +/// Checking to see if we're gonna embed into a human +/datum/element/embed/proc/checkEmbedMob(obj/item/weapon, mob/living/carbon/human/victim, hit_zone, datum/thrownthing/throwingdatum) + if(!istype(victim)) + return + + if((((throwingdatum ? throwingdatum.speed : weapon.throw_speed) >= EMBED_THROWSPEED_THRESHOLD) || ignore_throwspeed_threshold) && prob(embed_chance) && !HAS_TRAIT(victim, TRAIT_PIERCEIMMUNE)) + victim.AddComponent(/datum/component/embedded,\ + weapon,\ + throwingdatum,\ + embed_chance = embed_chance,\ + fall_chance = fall_chance,\ + pain_chance = pain_chance,\ + pain_mult = pain_mult,\ + remove_pain_mult = remove_pain_mult,\ + rip_time = rip_time,\ + ignore_throwspeed_threshold = ignore_throwspeed_threshold,\ + jostle_chance = jostle_chance,\ + jostle_pain_mult = jostle_pain_mult,\ + pain_stam_pct = pain_stam_pct) + + +/// We need the hit_zone if we're embedding into a human, so this proc only handled if we're embedding into a turf +/datum/element/embed/proc/checkEmbedOther(obj/item/weapon, turf/closed/hit, datum/thrownthing/throwingdatum) + if(!istype(hit)) + return + + var/chance = embed_chance + if(iswallturf(hit)) + var/turf/closed/wall/W = hit + chance += 2 * (W.hardness - STANDARD_WALL_HARDNESS) + + if((((throwingdatum ? throwingdatum.speed : weapon.throw_speed) >= EMBED_THROWSPEED_THRESHOLD) || ignore_throwspeed_threshold) && prob(chance)) + hit.AddComponent(/datum/component/embedded,\ + weapon,\ + throwingdatum,\ + embed_chance = embed_chance,\ + fall_chance = fall_chance,\ + pain_chance = pain_chance,\ + pain_mult = pain_mult,\ + remove_pain_mult = remove_pain_mult,\ + rip_time = rip_time,\ + ignore_throwspeed_threshold = ignore_throwspeed_threshold,\ + jostle_chance = jostle_chance,\ + jostle_pain_mult = jostle_pain_mult,\ + pain_stam_pct = pain_stam_pct) + +/datum/element/embed/proc/parseArgs(embed_chance = EMBED_CHANCE, + fall_chance = EMBEDDED_ITEM_FALLOUT, + pain_chance = EMBEDDED_PAIN_CHANCE, + pain_mult = EMBEDDED_PAIN_MULTIPLIER, + remove_pain_mult = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER, + rip_time = EMBEDDED_UNSAFE_REMOVAL_TIME, + impact_pain_mult = EMBEDDED_IMPACT_PAIN_MULTIPLIER, + ignore_throwspeed_threshold = FALSE, + jostle_chance = EMBEDDED_JOSTLE_CHANCE, + jostle_pain_mult = EMBEDDED_JOSTLE_PAIN_MULTIPLIER, + pain_stam_pct = EMBEDDED_PAIN_STAM_PCT) + + src.embed_chance = embed_chance + src.fall_chance = fall_chance + src.pain_chance = pain_chance + src.pain_mult = pain_mult + src.remove_pain_mult = remove_pain_mult + src.impact_pain_mult = impact_pain_mult + src.rip_time = rip_time + src.ignore_throwspeed_threshold = ignore_throwspeed_threshold + src.jostle_chance = jostle_chance + src.jostle_pain_mult = jostle_pain_mult + src.pain_stam_pct = pain_stam_pct + +///A different embed element has been attached, so we'll detach and let them handle things +/datum/element/embed/proc/severancePackage(obj/item/weapon, datum/element/E) + if(istype(E, /datum/element/embed)) + Detach(weapon) + +/datum/element/embed/proc/examined(obj/item/I, mob/user, list/examine_list) + if(!pain_mult && !jostle_pain_mult) + examine_list += "[I] feels sticky, and could probably get stuck to someone if thrown properly!" + else + examine_list += "[I] has a fine point, and could probably embed in someone if thrown properly!" diff --git a/code/datums/embedding_behavior.dm b/code/datums/embedding_behavior.dm index d4181f94344..449fb3ba1cc 100644 --- a/code/datums/embedding_behavior.dm +++ b/code/datums/embedding_behavior.dm @@ -1,58 +1,73 @@ -#define EMBEDID "embed-[embed_chance]-[embedded_fall_chance]-[embedded_pain_chance]-[embedded_pain_multiplier]-[embedded_fall_pain_multiplier]-[embedded_impact_pain_multiplier]-[embedded_unsafe_removal_pain_multiplier]-[embedded_unsafe_removal_time]-[embedded_ignore_throwspeed_threshold]" +#define EMBEDID "embed-[embed_chance]-[fall_chance]-[pain_chance]-[pain_mult]-[fall_pain_mult]-[impact_pain_mult]-[rip_pain_mult]-[rip_time]-[ignore_throwspeed_threshold]-[jostle_chance]-[jostle_pain_mult]-[pain_stam_pct]" /proc/getEmbeddingBehavior(embed_chance = EMBED_CHANCE, - embedded_fall_chance = EMBEDDED_ITEM_FALLOUT, - embedded_pain_chance = EMBEDDED_PAIN_CHANCE, - embedded_pain_multiplier = EMBEDDED_PAIN_MULTIPLIER, - embedded_fall_pain_multiplier = EMBEDDED_FALL_PAIN_MULTIPLIER, - embedded_impact_pain_multiplier = EMBEDDED_IMPACT_PAIN_MULTIPLIER, - embedded_unsafe_removal_pain_multiplier = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER, - embedded_unsafe_removal_time = EMBEDDED_UNSAFE_REMOVAL_TIME, - embedded_ignore_throwspeed_threshold = FALSE) + fall_chance = EMBEDDED_ITEM_FALLOUT, + pain_chance = EMBEDDED_PAIN_CHANCE, + pain_mult = EMBEDDED_PAIN_MULTIPLIER, + fall_pain_mult = EMBEDDED_FALL_PAIN_MULTIPLIER, + impact_pain_mult = EMBEDDED_IMPACT_PAIN_MULTIPLIER, + rip_pain_mult = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER, + rip_time = EMBEDDED_UNSAFE_REMOVAL_TIME, + ignore_throwspeed_threshold = FALSE, + jostle_chance = EMBEDDED_JOSTLE_CHANCE, + jostle_pain_mult = EMBEDDED_JOSTLE_PAIN_MULTIPLIER, + pain_stam_pct = EMBEDDED_PAIN_STAM_PCT) . = locate(EMBEDID) if (!.) - . = new /datum/embedding_behavior(embed_chance, embedded_fall_chance, embedded_pain_chance, embedded_pain_multiplier, embedded_fall_pain_multiplier, embedded_impact_pain_multiplier, embedded_unsafe_removal_pain_multiplier, embedded_unsafe_removal_time, embedded_ignore_throwspeed_threshold) + . = new /datum/embedding_behavior(embed_chance, fall_chance, pain_chance, pain_mult, fall_pain_mult, impact_pain_mult, rip_pain_mult, rip_time, ignore_throwspeed_threshold, jostle_chance, jostle_pain_mult, pain_stam_pct) /datum/embedding_behavior var/embed_chance - var/embedded_fall_chance - var/embedded_pain_chance - var/embedded_pain_multiplier //The coefficient of multiplication for the damage this item does while embedded (this*w_class) - var/embedded_fall_pain_multiplier //The coefficient of multiplication for the damage this item does when falling out of a limb (this*w_class) - var/embedded_impact_pain_multiplier //The coefficient of multiplication for the damage this item does when first embedded (this*w_class) - var/embedded_unsafe_removal_pain_multiplier //The coefficient of multiplication for the damage removing this without surgery causes (this*w_class) - var/embedded_unsafe_removal_time //A time in ticks, multiplied by the w_class. - var/embedded_ignore_throwspeed_threshold //if we don't give a damn about EMBED_THROWSPEED_THRESHOLD + var/fall_chance + var/pain_chance + var/pain_mult //The coefficient of multiplication for the damage this item does while embedded (this*w_class) + var/fall_pain_mult //The coefficient of multiplication for the damage this item does when falling out of a limb (this*w_class) + var/impact_pain_mult //The coefficient of multiplication for the damage this item does when first embedded (this*w_class) + var/rip_pain_mult //The coefficient of multiplication for the damage removing this without surgery causes (this*w_class) + var/rip_time //A time in ticks, multiplied by the w_class. + var/ignore_throwspeed_threshold //if we don't give a damn about EMBED_THROWSPEED_THRESHOLD + var/jostle_chance //Chance to cause pain every time the victim moves (1/2 chance if they're walking or crawling) + var/jostle_pain_mult //The coefficient of multiplication for the damage when jostle damage is applied (this*w_class) + var/pain_stam_pct //Percentage of all pain damage dealt as stamina instead of brute (none by default) /datum/embedding_behavior/New(embed_chance = EMBED_CHANCE, - embedded_fall_chance = EMBEDDED_ITEM_FALLOUT, - embedded_pain_chance = EMBEDDED_PAIN_CHANCE, - embedded_pain_multiplier = EMBEDDED_PAIN_MULTIPLIER, - embedded_fall_pain_multiplier = EMBEDDED_FALL_PAIN_MULTIPLIER, - embedded_impact_pain_multiplier = EMBEDDED_IMPACT_PAIN_MULTIPLIER, - embedded_unsafe_removal_pain_multiplier = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER, - embedded_unsafe_removal_time = EMBEDDED_UNSAFE_REMOVAL_TIME, - embedded_ignore_throwspeed_threshold = FALSE) + fall_chance = EMBEDDED_ITEM_FALLOUT, + pain_chance = EMBEDDED_PAIN_CHANCE, + pain_mult = EMBEDDED_PAIN_MULTIPLIER, + fall_pain_mult = EMBEDDED_FALL_PAIN_MULTIPLIER, + impact_pain_mult = EMBEDDED_IMPACT_PAIN_MULTIPLIER, + rip_pain_mult = EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER, + rip_time = EMBEDDED_UNSAFE_REMOVAL_TIME, + ignore_throwspeed_threshold = FALSE, + jostle_chance = EMBEDDED_JOSTLE_CHANCE, + jostle_pain_mult = EMBEDDED_JOSTLE_PAIN_MULTIPLIER, + pain_stam_pct = EMBEDDED_PAIN_STAM_PCT) src.embed_chance = embed_chance - src.embedded_fall_chance = embedded_fall_chance - src.embedded_pain_chance = embedded_pain_chance - src.embedded_pain_multiplier = embedded_pain_multiplier - src.embedded_fall_pain_multiplier = embedded_fall_pain_multiplier - src.embedded_impact_pain_multiplier = embedded_impact_pain_multiplier - src.embedded_unsafe_removal_pain_multiplier = embedded_unsafe_removal_pain_multiplier - src.embedded_unsafe_removal_time = embedded_unsafe_removal_time - src.embedded_ignore_throwspeed_threshold = embedded_ignore_throwspeed_threshold + src.fall_chance = fall_chance + src.pain_chance = pain_chance + src.pain_mult = pain_mult + src.fall_pain_mult = fall_pain_mult + src.impact_pain_mult = impact_pain_mult + src.rip_pain_mult = rip_pain_mult + src.rip_time = rip_time + src.ignore_throwspeed_threshold = ignore_throwspeed_threshold + src.jostle_chance = jostle_chance + src.jostle_pain_mult = jostle_pain_mult + src.pain_stam_pct = pain_stam_pct tag = EMBEDID -/datum/embedding_behavior/proc/setRating(embed_chance, embedded_fall_chance, embedded_pain_chance, embedded_pain_multiplier, embedded_fall_pain_multiplier, embedded_impact_pain_multiplier, embedded_unsafe_removal_pain_multiplier, embedded_unsafe_removal_time, embedded_ignore_throwspeed_threshold) +/datum/embedding_behavior/proc/setRating(embed_chance, fall_chance, pain_chance, pain_mult, fall_pain_mult, impact_pain_mult, rip_pain_mult, rip_time, ignore_throwspeed_threshold) return getEmbeddingBehavior((isnull(embed_chance) ? src.embed_chance : embed_chance),\ - (isnull(embedded_fall_chance) ? src.embedded_fall_chance : embedded_fall_chance),\ - (isnull(embedded_pain_chance) ? src.embedded_pain_chance : embedded_pain_chance),\ - (isnull(embedded_pain_multiplier) ? src.embedded_pain_multiplier : embedded_pain_multiplier),\ - (isnull(embedded_fall_pain_multiplier) ? src.embedded_fall_pain_multiplier : embedded_fall_pain_multiplier),\ - (isnull(embedded_impact_pain_multiplier) ? src.embedded_impact_pain_multiplier : embedded_impact_pain_multiplier),\ - (isnull(embedded_unsafe_removal_pain_multiplier) ? src.embedded_unsafe_removal_pain_multiplier : embedded_unsafe_removal_pain_multiplier),\ - (isnull(embedded_unsafe_removal_time) ? src.embedded_unsafe_removal_time : embedded_unsafe_removal_time),\ - (isnull(embedded_ignore_throwspeed_threshold) ? src.embedded_ignore_throwspeed_threshold : embedded_ignore_throwspeed_threshold)) + (isnull(fall_chance) ? src.fall_chance : fall_chance),\ + (isnull(pain_chance) ? src.pain_chance : pain_chance),\ + (isnull(pain_mult) ? src.pain_mult : pain_mult),\ + (isnull(fall_pain_mult) ? src.fall_pain_mult : fall_pain_mult),\ + (isnull(impact_pain_mult) ? src.impact_pain_mult : impact_pain_mult),\ + (isnull(rip_pain_mult) ? src.rip_pain_mult : rip_pain_mult),\ + (isnull(rip_time) ? src.rip_time : rip_time),\ + (isnull(ignore_throwspeed_threshold) ? src.ignore_throwspeed_threshold : ignore_throwspeed_threshold),\ + (isnull(jostle_chance) ? src.jostle_chance : jostle_chance),\ + (isnull(jostle_pain_mult) ? src.jostle_pain_mult : jostle_pain_mult),\ + (isnull(pain_stam_pct) ? src.pain_stam_pct : pain_stam_pct)) #undef EMBEDID diff --git a/code/datums/mutations/actions.dm b/code/datums/mutations/actions.dm index 1d27c35e776..40af7caac07 100644 --- a/code/datums/mutations/actions.dm +++ b/code/datums/mutations/actions.dm @@ -54,9 +54,10 @@ var/old_target = tracking_target possible = list() var/list/prints = sniffed.return_fingerprints() - for(var/mob/living/carbon/C in GLOB.carbon_list) - if(prints[md5(C.dna.uni_identity)]) - possible |= C + if(prints) + for(var/mob/living/carbon/C in GLOB.carbon_list) + if(prints[md5(C.dna.uni_identity)]) + possible |= C if(!length(possible)) to_chat(user,"Despite your best efforts, there are no scents to be found on [sniffed]...") return diff --git a/code/datums/wires/_wires.dm b/code/datums/wires/_wires.dm index 53f7336d954..55263a326a1 100644 --- a/code/datums/wires/_wires.dm +++ b/code/datums/wires/_wires.dm @@ -172,6 +172,7 @@ S.forceMove(holder.drop_location()) return S +/// Called from [/atom/proc/emp_act] /datum/wires/proc/emp_pulse() var/list/possible_wires = shuffle(wires) var/remaining_pulses = MAXIMUM_EMP_WIRES diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 9ea7c421fe3..f576a5d4b35 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -45,7 +45,7 @@ ///vis overlays managed by SSvis_overlays to automaticaly turn them like other overlays var/list/managed_vis_overlays - ///overlays managed by update_overlays() to prevent removing overlays that weren't added by the same proc + ///overlays managed by [update_overlays][/atom/proc/update_overlays] to prevent removing overlays that weren't added by the same proc var/list/managed_overlays ///Proximity monitor associated with this atom @@ -85,8 +85,8 @@ * Called when an atom is created in byond (built in engine proc) * * Not a lot happens here in SS13 code, as we offload most of the work to the - * [Intialization](atom.html#proc/Initialize) proc, mostly we run the preloader - * if the preloader is being used and then call InitAtom of which the ultimate + * [Intialization][/atom/proc/Initialize] proc, mostly we run the preloader + * if the preloader is being used and then call [InitAtom][/datum/controller/subsystem/atoms/proc/InitAtom] of which the ultimate * result is that the Intialize proc is called. * * We also generate a tag here if the DF_USE_TAG flag is set on the atom @@ -134,11 +134,11 @@ * Any parameters from new are passed through (excluding loc), naturally if you're loading from a map * there are no other arguments * - * Must return an [initialization hint](code/__DEFINES/subsystems.html) or a runtime will occur. + * Must return an [initialization hint][INITIALIZE_HINT_NORMAL] or a runtime will occur. * * Note: the following functions don't call the base for optimization and must copypasta handling: - * * /turf/Initialize - * * /turf/open/space/Initialize + * * [/turf/Initialize] + * * [/turf/open/space/Initialize] */ /atom/proc/Initialize(mapload, ...) if(flags_1 & INITIALIZED_1) @@ -173,10 +173,9 @@ /** * Late Intialization, for code that should run after all atoms have run Intialization * - * To have your LateIntialize proc be called, your atoms [Initalization](atom.html#proc/Initialize) + * To have your LateIntialize proc be called, your atoms [Initalization][/atom/proc/Initialize] * proc must return the hint - * [INITIALIZE_HINT_LATELOAD](code/__DEFINES/subsystems.html#define/INITIALIZE_HINT_LATELOAD) - * otherwise you will never be called. + * [INITIALIZE_HINT_LATELOAD] otherwise you will never be called. * * useful for doing things like finding other machines on GLOB.machines because you can guarantee * that all atoms will actually exist in the "WORLD" at this time and that all their Intialization @@ -185,7 +184,7 @@ /atom/proc/LateInitialize() set waitfor = FALSE -/// Put your AddComponent() calls here +/// Put your [AddComponent] calls here /atom/proc/ComponentInitialize() return @@ -411,10 +410,10 @@ /** * React to an EMP of the given severity * - * Default behaviour is to send the COMSIG_ATOM_EMP_ACT signal + * Default behaviour is to send the [COMSIG_ATOM_EMP_ACT] signal * * If the signal does not return protection, and there are attached wires then we call - * emp_pulse() on the wires + * [emp_pulse][/datum/wires/proc/emp_pulse] on the wires * * We then return the protection value */ @@ -427,7 +426,7 @@ /** * React to a hit by a projectile object * - * Default behaviour is to send the COMSIG_ATOM_BULLET_ACT and then call on_hit() on the projectile + * Default behaviour is to send the [COMSIG_ATOM_BULLET_ACT] and then call [on_hit][/obj/projectile/proc/on_hit] on the projectile */ /atom/proc/bullet_act(obj/projectile/P, def_zone) SEND_SIGNAL(src, COMSIG_ATOM_BULLET_ACT, P, def_zone) @@ -446,7 +445,7 @@ * Get the name of this object for examine * * You can override what is returned from this proc by registering to listen for the - * COMSIG_ATOM_GET_EXAMINE_NAME signal + * [COMSIG_ATOM_GET_EXAMINE_NAME] signal */ /atom/proc/get_examine_name(mob/user) . = "\a [src]" @@ -465,9 +464,9 @@ * Called when a mob examines (shift click or verb) this atom * * Default behaviour is to get the name and icon of the object and it's reagents where - * the TRANSPARENT flag is set on the reagents holder + * the [TRANSPARENT] flag is set on the reagents holder * - * Produces a signal COMSIG_PARENT_EXAMINE + * Produces a signal [COMSIG_PARENT_EXAMINE] */ /atom/proc/examine(mob/user) . = list("[get_examine_string(user, TRUE)].") @@ -537,7 +536,7 @@ * An atom we are buckled or is contained within us has tried to move * * Default behaviour is to send a warning that the user can't move while buckled as long - * as the buckle_message_cooldown has expired (50 ticks) + * as the [buckle_message_cooldown][/atom/var/buckle_message_cooldown] has expired (50 ticks) */ /atom/proc/relaymove(mob/user) if(buckle_message_cooldown <= world.time) @@ -552,7 +551,7 @@ /** * React to being hit by an explosion * - * Default behaviour is to call contents_explosion() and send the COMSIG_ATOM_EX_ACT signal + * Default behaviour is to call [contents_explosion][/atom/proc/contents_explosion] and send the [COMSIG_ATOM_EX_ACT] signal */ /atom/proc/ex_act(severity, target) set waitfor = FALSE @@ -562,7 +561,7 @@ /** * React to a hit by a blob objecd * - * default behaviour is to send the COMSIG_ATOM_BLOB_ACT signal + * default behaviour is to send the [COMSIG_ATOM_BLOB_ACT] signal */ /atom/proc/blob_act(obj/structure/blob/B) SEND_SIGNAL(src, COMSIG_ATOM_BLOB_ACT, B) @@ -575,7 +574,7 @@ /** * React to being hit by a thrown object * - * Default behaviour is to call hitby_react() on ourselves after 2 seconds if we are dense + * Default behaviour is to call [hitby_react][/atom/proc/hitby_react] on ourselves after 2 seconds if we are dense * and under normal gravity. * * Im not sure why this the case, maybe to prevent lots of hitby's if the thrown object is @@ -659,7 +658,7 @@ /** * Respond to the singularity pulling on us * - * Default behaviour is to send COMSIG_ATOM_SING_PULL and return + * Default behaviour is to send [COMSIG_ATOM_SING_PULL] and return */ /atom/proc/singularity_pull(obj/singularity/S, current_size) SEND_SIGNAL(src, COMSIG_ATOM_SING_PULL, S, current_size) @@ -668,7 +667,7 @@ /** * Respond to acid being used on our atom * - * Default behaviour is to send COMSIG_ATOM_ACID_ACT and return + * Default behaviour is to send [COMSIG_ATOM_ACID_ACT] and return */ /atom/proc/acid_act(acidpwr, acid_volume) SEND_SIGNAL(src, COMSIG_ATOM_ACID_ACT, acidpwr, acid_volume) @@ -676,7 +675,7 @@ /** * Respond to an emag being used on our atom * - * Default behaviour is to send COMSIG_ATOM_EMAG_ACT and return + * Default behaviour is to send [COMSIG_ATOM_EMAG_ACT] and return */ /atom/proc/emag_act(mob/user) SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT, user) @@ -684,7 +683,7 @@ /** * Respond to a radioactive wave hitting this atom * - * Default behaviour is to send COMSIG_ATOM_RAD_ACT and return + * Default behaviour is to send [COMSIG_ATOM_RAD_ACT] and return */ /atom/proc/rad_act(strength) SEND_SIGNAL(src, COMSIG_ATOM_RAD_ACT, strength) @@ -692,7 +691,7 @@ /** * Respond to narsie eating our atom * - * Default behaviour is to send COMSIG_ATOM_NARSIE_ACT and return + * Default behaviour is to send [COMSIG_ATOM_NARSIE_ACT] and return */ /atom/proc/narsie_act() SEND_SIGNAL(src, COMSIG_ATOM_NARSIE_ACT) @@ -706,7 +705,7 @@ /** * Respond to an RCD acting on our item * - * Default behaviour is to send COMSIG_ATOM_RCD_ACT and return FALSE + * Default behaviour is to send [COMSIG_ATOM_RCD_ACT] and return FALSE */ /atom/proc/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) SEND_SIGNAL(src, COMSIG_ATOM_RCD_ACT, user, the_rcd, passed_mode) @@ -755,9 +754,9 @@ return null /** - * This proc is called when an atom in our contents has it's Destroy() called + * This proc is called when an atom in our contents has it's [Destroy][/atom/Destroy] called * - * Default behaviour is to simply send COMSIG_ATOM_CONTENTS_DEL + * Default behaviour is to simply send [COMSIG_ATOM_CONTENTS_DEL] */ /atom/proc/handle_atom_del(atom/A) SEND_SIGNAL(src, COMSIG_ATOM_CONTENTS_DEL, A) @@ -792,7 +791,7 @@ /** * Hook for running code when a dir change occurs * - * Not recommended to use, listen for the COMSIG_ATOM_DIR_CHANGE signal instead (sent by this proc) + * Not recommended to use, listen for the [COMSIG_ATOM_DIR_CHANGE] signal instead (sent by this proc) */ /atom/proc/setDir(newdir) SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE, dir, newdir) @@ -886,7 +885,7 @@ * At the atom level, if you edit a var named "color" it will add the atom colour with * admin level priority to the atom colours list * - * Also, if GLOB.Debug2 is FALSE, it sets the ADMIN_SPAWNED_1 flag on flags_1, which signifies + * Also, if GLOB.Debug2 is FALSE, it sets the [ADMIN_SPAWNED_1] flag on [flags_1][/atom/var/flags_1], which signifies * the object has been admin edited */ /atom/vv_edit_var(var_name, var_value) @@ -995,7 +994,7 @@ /** * An atom has entered this atom's contents * - * Default behaviour is to send the COMSIG_ATOM_ENTERED + * Default behaviour is to send the [COMSIG_ATOM_ENTERED] */ /atom/Entered(atom/movable/AM, atom/oldLoc) SEND_SIGNAL(src, COMSIG_ATOM_ENTERED, AM, oldLoc) @@ -1003,7 +1002,7 @@ /** * An atom is attempting to exit this atom's contents * - * Default behaviour is to send the COMSIG_ATOM_EXIT + * Default behaviour is to send the [COMSIG_ATOM_EXIT] * * Return value should be set to FALSE if the moving atom is unable to leave, * otherwise leave value the result of the parent call @@ -1016,7 +1015,7 @@ /** * An atom has exited this atom's contents * - * Default behaviour is to send the COMSIG_ATOM_EXITED + * Default behaviour is to send the [COMSIG_ATOM_EXITED] */ /atom/Exited(atom/movable/AM, atom/newLoc) SEND_SIGNAL(src, COMSIG_ATOM_EXITED, AM, newLoc) @@ -1162,11 +1161,12 @@ /** * Log a combat message in the attack log * - * 1 argument is the actor performing the action - * 2 argument is the target of the action - * 3 is a verb describing the action (e.g. punched, throwed, kicked, etc.) - * 4 is a tool with which the action was made (usually an item) - * 5 is any additional text, which will be appended to the rest of the log line + * Arguments: + * * atom/user - argument is the actor performing the action + * * atom/target - argument is the target of the action + * * what_done - is a verb describing the action (e.g. punched, throwed, kicked, etc.) + * * atom/object - is a tool with which the action was made (usually an item) + * * addition - is any additional text, which will be appended to the rest of the log line */ /proc/log_combat(atom/user, atom/target, what_done, atom/object=null, addition=null) var/ssource = key_name(user) @@ -1240,7 +1240,7 @@ /** * Returns true if this atom has gravity for the passed in turf * - * Sends signals COMSIG_ATOM_HAS_GRAVITY and COMSIG_TURF_HAS_GRAVITY, both can force gravity with + * Sends signals [COMSIG_ATOM_HAS_GRAVITY] and [COMSIG_TURF_HAS_GRAVITY], both can force gravity with * the forced gravity var * * Gravity situations: diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 8622abd8563..d925b2d04d8 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -25,7 +25,7 @@ var/inertia_next_move = 0 var/inertia_move_delay = 5 var/pass_flags = NONE - /// If false makes CanPass call CanPassThrough on this type instead of using default behaviour + /// If false makes [CanPass][/atom/proc/CanPass] call [CanPassThrough][/atom/movable/proc/CanPassThrough] on this type instead of using default behaviour var/generic_canpass = TRUE var/moving_diagonally = 0 //0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move var/atom/movable/moving_from_pull //attempt to resume grab after moving instead of before. @@ -487,11 +487,17 @@ /atom/movable/proc/setMovetype(newval) movement_type = newval -//Called whenever an object moves and by mobs when they attempt to move themselves through space -//And when an object or action applies a force on src, see newtonian_move() below -//Return 0 to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting -//Mobs should return 1 if they should be able to move of their own volition, see client/Move() in mob_movement.dm -//movement_dir == 0 when stopping or any dir when trying to move +/** + * Called whenever an object moves and by mobs when they attempt to move themselves through space + * And when an object or action applies a force on src, see [newtonian_move][/atom/movable/proc/newtonian_move] + * + * Return 0 to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting + * + * Mobs should return 1 if they should be able to move of their own volition, see [/client/Move] + * + * Arguments: + * * movement_dir - 0 when stopping or any dir when trying to move + */ /atom/movable/proc/Process_Spacemove(movement_dir = 0) if(has_gravity(src)) return 1 @@ -511,7 +517,8 @@ return 0 -/atom/movable/proc/newtonian_move(direction) //Only moves the object if it's under no gravity +/// Only moves the object if it's under no gravity +/atom/movable/proc/newtonian_move(direction) if(!loc || Process_Spacemove(0)) inertia_dir = 0 return 0 @@ -538,7 +545,8 @@ return return throw_at(target, range, speed, thrower, spin, diagonals_first, callback, force, gentle) -/atom/movable/proc/throw_at(atom/target, range, speed, mob/thrower, spin = TRUE, diagonals_first = FALSE, datum/callback/callback, force = MOVE_FORCE_STRONG, gentle = FALSE) //If this returns FALSE then callback will not be called. +///If this returns FALSE then callback will not be called. +/atom/movable/proc/throw_at(atom/target, range, speed, mob/thrower, spin = TRUE, diagonals_first = FALSE, datum/callback/callback, force = MOVE_FORCE_STRONG, gentle = FALSE) . = FALSE if (!target || speed <= 0) return @@ -662,11 +670,11 @@ SHOULD_CALL_PARENT(TRUE) return blocker_opinion -// called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called. +/// called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called. /atom/movable/proc/on_exit_storage(datum/component/storage/concrete/S) return -// called when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item. +/// called when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item. /atom/movable/proc/on_enter_storage(datum/component/storage/concrete/S) return @@ -689,7 +697,7 @@ break . = dense_object_backup -//called when a mob resists while inside a container that is itself inside something. +///called when a mob resists while inside a container that is itself inside something. /atom/movable/proc/relay_container_resist(mob/living/user, obj/O) return @@ -886,8 +894,11 @@ return FALSE return TRUE -/// Updates the grab state of the movable -/// This exists to act as a hook for behaviour +/** + * Updates the grab state of the movable + * + * This exists to act as a hook for behaviour + */ /atom/movable/proc/setGrabState(newstate) grab_state = newstate diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 7da2177f35a..c01028dde29 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -306,6 +306,42 @@ GLOBAL_LIST(admin_objective_list) //Prefilled admin assignable objective list name = "protect nonhuman" human_check = FALSE +/datum/objective/jailbreak + name = "jailbreak" + martyr_compatible = TRUE //why not? + var/target_role_type + +/datum/objective/jailbreak/find_target_by_role(role, role_type, invert=FALSE) + if(!invert) + target_role_type = role_type + return ..() + +/datum/objective/jailbreak/check_completion() + return completed || (considered_escaped(target)) + +/datum/objective/jailbreak/update_explanation_text() + ..() + if(target?.current) + explanation_text = "Ensure that [target.name], the [!target_role_type ? target.assigned_role : target.special_role] escapes alive and out of custody." + else + explanation_text = "Free Objective" + +/datum/objective/jailbreak/admin_edit(mob/admin) + admin_simple_target_pick(admin) + +/datum/objective/jailbreak/detain + name = "detain" + +/datum/objective/jailbreak/detain/check_completion() + return completed || (!considered_escaped(target) && (considered_alive(target) && target.current.onCentCom())) + +/datum/objective/jailbreak/detain/update_explanation_text() + ..() + if(target && target.current) + explanation_text = "Ensure that [target.name], the [!target_role_type ? target.assigned_role : target.special_role] is delivered to nanotrasen alive and in custody." + else + explanation_text = "Free Objective" + /datum/objective/hijack name = "hijack" explanation_text = "Hijack the shuttle to ensure no loyalist Nanotrasen crew escape alive and out of custody." @@ -1062,6 +1098,8 @@ GLOBAL_LIST_EMPTY(possible_items_special) /datum/objective/maroon, /datum/objective/debrain, /datum/objective/protect, + /datum/objective/jailbreak, + /datum/objective/jailbreak/detain, /datum/objective/destroy, /datum/objective/hijack, /datum/objective/escape, diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 15139a39e50..684e2d5675c 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -532,10 +532,10 @@ Class Procs: . = 1 /obj/machinery/zap_act(power, zap_flags, shocked_objects) - ..() + . = ..() if(prob(85) && (zap_flags & ZAP_MACHINE_EXPLOSIVE) && !(resistance_flags & INDESTRUCTIBLE)) explosion(src, 1, 2, 4, flame_range = 2, adminlog = FALSE, smoke = FALSE) - if(zap_flags & ZAP_OBJ_DAMAGE) + else if(zap_flags & ZAP_OBJ_DAMAGE) take_damage(power/2000, BURN, "energy") if(prob(40)) emp_act(EMP_LIGHT) diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index 15d9b737c52..0f1e15f9055 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -128,13 +128,14 @@ GLOBAL_LIST_EMPTY(announcement_systems) return if(NewMessage) arrival = NewMessage + log_game("The arrivals announcement was updated: [NewMessage] by:[key_name(usr)]") else if(href_list["NewheadTopic"]) var/NewMessage = stripped_input(usr, "Enter in the departmental head announcement configuration.", "Head Departmental Announcement Config", newhead) if(!usr.canUseTopic(src, !issilicon(usr))) return if(NewMessage) newhead = NewMessage - + log_game("The head announcement was updated: [NewMessage] by:[key_name(usr)]") else if(href_list["NewheadT-Topic"]) newheadToggle = !newheadToggle update_icon() diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index bf7665b4591..c865633cbe9 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -23,7 +23,7 @@ network += "[idnum][i]" /obj/machinery/computer/security/check_eye(mob/user) - if( (machine_stat & (NOPOWER|BROKEN)) || user.incapacitated() || user.eye_blind ) + if( (machine_stat & (NOPOWER|BROKEN)) || user.incapacitated() || user.is_blind() ) user.unset_machine() return if(!(user in watchers)) @@ -102,7 +102,7 @@ return if(C) var/camera_fail = 0 - if(!C.can_use() || user.machine != src || user.eye_blind || user.incapacitated()) + if(!C.can_use() || user.machine != src || user.is_blind() || user.incapacitated()) camera_fail = 1 else if(iscyborg(user) || long_ranged) var/list/viewing = viewers(src) diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index a9c54680e1b..b09a50cf29f 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -79,7 +79,7 @@ playsound(src, 'sound/machines/terminal_off.ogg', 25, FALSE) /obj/machinery/computer/camera_advanced/check_eye(mob/user) - if( (machine_stat & (NOPOWER|BROKEN)) || (!Adjacent(user) && !user.has_unlimited_silicon_privilege) || user.eye_blind || user.incapacitated() ) + if( (machine_stat & (NOPOWER|BROKEN)) || (!Adjacent(user) && !user.has_unlimited_silicon_privilege) || user.is_blind() || user.incapacitated() ) user.unset_machine() /obj/machinery/computer/camera_advanced/Destroy() diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 3d7c7b056ee..87501ff7831 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -38,13 +38,13 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) jobs["Detective"] = 13 jobs["Chief Medical Officer"] = 20 jobs["Chemist"] = 21 - jobs["Geneticist"] = 22 - jobs["Virologist"] = 23 - jobs["Medical Doctor"] = 24 - jobs["Paramedic"] = 25 + jobs["Virologist"] = 22 + jobs["Medical Doctor"] = 23 + jobs["Paramedic"] = 24 jobs["Research Director"] = 30 jobs["Scientist"] = 31 jobs["Roboticist"] = 32 + jobs["Geneticist"] = 33 jobs["Chief Engineer"] = 40 jobs["Station Engineer"] = 41 jobs["Atmospheric Technician"] = 42 diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index 5fea233e655..0a15070c4cc 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -923,7 +923,7 @@ if("add_advinjector") if(LAZYLEN(injector_selection) < max_injector_selections) - var/new_selection = input(usr, "Enter Adv. Injector name", "Advanced Injectors") as text|null + var/new_selection = stripped_input(usr, "Enter Adv. Injector name", "Advanced Injectors") if(new_selection && !(new_selection in injector_selection)) injector_selection[new_selection] = list() diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index f7410c45cdb..6a5a613a0e5 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -98,11 +98,7 @@ if(!isturf(AM0.loc)) return //I don't know how you called Crossed() but stop it. - var/list/to_eat - if(istype(AM0, /obj/item)) - to_eat = AM0.GetAllContents() - else - to_eat = list(AM0) + var/list/to_eat = AM0.GetAllContents() var/living_detected = FALSE //technically includes silicons as well but eh var/list/nom = list() diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 5cd21715164..44a5cc69c74 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -1051,7 +1051,7 @@ "desc" = "External armor is wrenched." ), list( - "key" = /obj/item/assembly/signaler/anomaly, + "key" = /obj/item/assembly/signaler/anomaly/bluespace, "action" = ITEM_DELETE, "back_key" = TOOL_WELDER, "desc" = "Anomaly core socket is open.", @@ -1189,8 +1189,8 @@ user.visible_message("[user] unfastens Phazon Armor Plates.", "You unfasten Phazon Armor Plates.") if(26) if(diff==FORWARD) - user.visible_message("[user] carefully inserts the anomaly core into [parent] and secures it.", - "You slowly place the anomaly core into its socket and close its chamber.") + user.visible_message("[user] carefully inserts the bluespace anomaly core into [parent] and secures it.", + "You slowly place the bluespace anomaly core into its socket and close its chamber.") return TRUE //ODYSSEUS diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 98fb613af02..78b8179799f 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -8,7 +8,7 @@ anchored = TRUE light_range = 3 var/movechance = 70 - var/obj/item/assembly/signaler/anomaly/aSignal + var/obj/item/assembly/signaler/anomaly/aSignal = /obj/item/assembly/signaler/anomaly var/area/impact_area var/lifespan = 990 @@ -26,8 +26,7 @@ if (!impact_area) return INITIALIZE_HINT_QDEL - aSignal = new(src) - aSignal.name = "[name] core" + aSignal = new aSignal(src) aSignal.code = rand(1,100) aSignal.anomaly_type = type @@ -88,6 +87,7 @@ icon_state = "shield2" density = FALSE var/boing = 0 + aSignal = /obj/item/assembly/signaler/anomaly/grav /obj/effect/anomaly/grav/anomalyEffect() ..() @@ -142,6 +142,7 @@ name = "flux wave anomaly" icon_state = "electricity2" density = TRUE + aSignal = /obj/item/assembly/signaler/anomaly/flux var/canshock = FALSE var/shockdamage = 20 var/explosive = TRUE @@ -180,6 +181,7 @@ icon = 'icons/obj/projectiles.dmi' icon_state = "bluespace" density = TRUE + aSignal = /obj/item/assembly/signaler/anomaly/bluespace /obj/effect/anomaly/bluespace/anomalyEffect() ..() @@ -252,6 +254,7 @@ name = "pyroclastic anomaly" icon_state = "mustard" var/ticks = 0 + aSignal = /obj/item/assembly/signaler/anomaly/pyro /obj/effect/anomaly/pyro/anomalyEffect() ..() @@ -295,6 +298,7 @@ name = "vortex anomaly" icon_state = "bhole3" desc = "That's a nice station you have there. It'd be a shame if something happened to it." + aSignal = /obj/item/assembly/signaler/anomaly/vortex /obj/effect/anomaly/bhole/anomalyEffect() ..() diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index c19561c22c5..04811e40a08 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -440,7 +440,7 @@ icon_state = "poster1_legit" /obj/structure/sign/poster/official/nanotrasen_logo - name = "Nanotrasen Logo" + name = "\improper Nanotrasen logo" desc = "A poster depicting the Nanotrasen logo." icon_state = "poster2_legit" diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 055c792d684..7ba12e24770 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -231,3 +231,9 @@ icon = 'icons/obj/objects.dmi' icon_state = "shards" color = "#c6f4ff" + +/obj/effect/decal/cleanable/wrapping + name = "wrapping shreds" + desc = "Torn pieces of cardboard and paper, left over from a package." + icon = 'icons/obj/objects.dmi' + icon_state = "paper_shreds" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 6eba8746a31..f443a0aec83 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -4,6 +4,9 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) // if true, everyone item when created will have its name changed to be // more... RPG-like. +GLOBAL_VAR_INIT(stickpocalypse, FALSE) // if true, all non-embeddable items will be able to harmlessly stick to people when thrown +GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to embed in people, takes precedence over stickpocalypse + /obj/item name = "item" icon = 'icons/obj/items_and_weapons.dmi' @@ -85,7 +88,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) mouse_drag_pointer = MOUSE_ACTIVE_POINTER //the icon to indicate this object is being dragged - var/datum/embedding_behavior/embedding + var/list/embedding = NONE var/flags_cover = 0 //for flags such as GLASSESCOVERSEYES var/heat = 0 @@ -129,7 +132,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) /obj/item/Initialize() - if (attack_verb) + if(attack_verb) attack_verb = typelist("attack_verb", attack_verb) . = ..() @@ -137,9 +140,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) new path(src) actions_types = null - if(GLOB.rpg_loot_items) - AddComponent(/datum/component/fantasy) - if(force_string) item_flags |= FORCE_STRING_OVERRIDE @@ -149,16 +149,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) if(damtype == "brute") hitsound = "swing_hit" - if (!embedding) - embedding = getEmbeddingBehavior() - else if (islist(embedding)) - embedding = getEmbeddingBehavior(arglist(embedding)) - else if (!istype(embedding, /datum/embedding_behavior)) - stack_trace("Invalid type [embedding.type] found in .embedding during /obj/item Initialize()") - - if(sharpness) //give sharp objects butchering functionality, for consistency - AddComponent(/datum/component/butchering, 80 * toolspeed) - /obj/item/Destroy() item_flags &= ~DROPDEL //prevent reqdels if(ismob(loc)) @@ -178,6 +168,28 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) if(B && B.loc == loc) qdel(src) +/obj/item/ComponentInitialize() + . = ..() + + // this proc says it's for initializing components, but we're initializing elements too because it's you and me against the world >:) + if(embedding) + AddElement(/datum/element/embed, embedding) + else if(GLOB.embedpocalypse) + embedding = EMBED_POINTY + AddElement(/datum/element/embed, embedding) + name = "pointy [name]" + else if(GLOB.stickpocalypse) + embedding = EMBED_HARMLESS + AddElement(/datum/element/embed, embedding) + name = "sticky [name]" + + if(GLOB.rpg_loot_items) + AddComponent(/datum/component/fantasy) + + if(sharpness) //give sharp objects butchering functionality, for consistency + AddComponent(/datum/component/butchering, 80 * toolspeed) + + //user: The mob that is suiciding //damagetype: The type of damage the item will inflict on the user //BRUTELOSS = 1 @@ -530,7 +542,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) M.adjust_blurriness(15) if(M.stat != DEAD) to_chat(M, "Your eyes start to bleed profusely!") - if(!(HAS_TRAIT(M, TRAIT_BLIND) || HAS_TRAIT(M, TRAIT_NEARSIGHT))) + if(!(M.is_blind() || HAS_TRAIT(M, TRAIT_NEARSIGHT))) to_chat(M, "You become nearsighted!") M.become_nearsighted(EYE_DAMAGE) if(prob(50)) @@ -863,3 +875,11 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) /obj/item/proc/doStrip(mob/stripper, mob/owner) return owner.dropItemToGround(src) + +/** + * Does the current embedding var meet the criteria for being harmless? Namely, does it have a pain multiplier and jostle pain mult of 0? If so, return true. + * + */ +/obj/item/proc/is_embed_harmless() + if(embedding) + return (!embedding["pain_mult"] && !embedding["jostle_pain_mult"]) diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index 7865320f050..5729c63ca22 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -95,7 +95,7 @@ /obj/item/station_charter/flag - name = "nanotrasen banner" + name = "\improper Nanotrasen banner" icon = 'icons/obj/banner.dmi' name_type = "planet" icon_state = "banner" diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index d78d4202c0c..bc0b228790e 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -420,7 +420,7 @@ //Supply /obj/item/circuitboard/computer/bounty - name = "Nanotrasen Bounty Console (Computer Board)" + name = "\improper Nanotrasen Bounty Console (Computer Board)" icon_state = "supply" build_path = /obj/machinery/computer/bounty diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm index 1c6ad593585..13847dc517e 100644 --- a/code/game/objects/items/crab17.dm +++ b/code/game/objects/items/crab17.dm @@ -24,7 +24,7 @@ dumped = TRUE /obj/structure/checkoutmachine - name = "Nanotrasen Space-Coin Market" + name = "\improper Nanotrasen Space-Coin Market" desc = "This is good for spacecoin because" icon = 'icons/obj/money_machine.dmi' icon_state = "bogdanoff" diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 7ca699371b0..52757dedaac 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -276,7 +276,7 @@ return /obj/item/defibrillator/compact/combat/loaded/nanotrasen - name = "elite nanotrasen defibrillator" + name = "elite Nanotrasen defibrillator" desc = "A belt-equipped state-of-the-art defibrillator. Can revive through spacesuits, has an experimental self-recharging battery, and can be utilized in combat via applying the paddles in a disarming or agressive manner." icon_state = "defibnt" //needs defib inhand sprites item_state = "defibnt" @@ -659,7 +659,7 @@ base_icon_state = "syndiepaddles" /obj/item/twohanded/shockpaddles/syndicate/nanotrasen - name = "elite nanotrasen defibrillator paddles" + name = "elite Nanotrasen defibrillator paddles" desc = "A pair of paddles used to revive deceased ERT members. They possess both the ability to penetrate armor and to deliver powerful or disabling shocks offensively." icon_state = "ntpaddles0" item_state = "ntpaddles0" diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index fc1b6380f26..92a8a0c2469 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -60,7 +60,7 @@ interact(user) /obj/item/camera_bug/check_eye(mob/user) - if ( loc != user || user.incapacitated() || user.eye_blind || !current ) + if ( loc != user || user.incapacitated() || user.is_blind() || !current ) user.unset_machine() return 0 var/turf/T_user = get_turf(user.loc) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index e52cecc227c..89aefd48318 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -42,7 +42,7 @@ return 1 /obj/item/flashlight/suicide_act(mob/living/carbon/human/user) - if (user.eye_blind) + if (user.is_blind()) user.visible_message("[user] is putting [src] close to [user.p_their()] eyes and turning it on... but [user.p_theyre()] blind!") return SHAME user.visible_message("[user] is putting [src] close to [user.p_their()] eyes and turning it on! It looks like [user.p_theyre()] trying to commit suicide!") @@ -86,7 +86,7 @@ else user.visible_message("[user] directs [src] to [M]'s eyes.", \ "You direct [src] to [M]'s eyes.") - if(M.stat == DEAD || (HAS_TRAIT(M, TRAIT_BLIND)) || !M.flash_act(visual = 1)) //mob is dead or fully blind + if(M.stat == DEAD || (M.is_blind()) || !M.flash_act(visual = 1)) //mob is dead or fully blind to_chat(user, "[M]'s pupils don't react to the light!") else if(M.dna && M.dna.check_mutation(XRAY)) //mob has X-ray vision to_chat(user, "[M]'s pupils give an eerie glow!") diff --git a/code/game/objects/items/devices/instruments.dm b/code/game/objects/items/devices/instruments.dm index 7133e4d56ab..a7456e5b286 100644 --- a/code/game/objects/items/devices/instruments.dm +++ b/code/game/objects/items/devices/instruments.dm @@ -115,7 +115,7 @@ update_icon() /obj/item/instrument/piano_synth/headphones/spacepods - name = "nanotrasen space pods" + name = "\improper Nanotrasen space pods" desc = "Flex your money, AND ignore what everyone else says, all at once!" icon_state = "spacepods" item_state = "spacepods" diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 232b9c71dbd..5e8db504704 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -134,7 +134,7 @@ //catpeople for(var/mob/living/carbon/human/H in view(1,targloc)) - if(!isfelinid(H) || H.incapacitated() || H.eye_blind ) + if(!isfelinid(H) || H.incapacitated() || H.is_blind()) continue if(user.mobility_flags & MOBILITY_STAND) H.setDir(get_dir(H,targloc)) // kitty always looks at the light diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 62dfab7d024..f617e8dc300 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -10,23 +10,25 @@ slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_HUGE custom_materials = list(/datum/material/iron=10000, /datum/material/glass=2500) + var/ui_x = 260 + var/ui_y = 137 var/on = TRUE var/code = 2 var/frequency = FREQ_ELECTROPACK - var/shock_cooldown = 0 - -/obj/item/electropack/suicide_act(mob/user) - user.visible_message("[user] hooks [user.p_them()]self to the electropack and spams the trigger! It looks like [user.p_theyre()] trying to commit suicide!") - return (FIRELOSS) + var/shock_cooldown = FALSE /obj/item/electropack/Initialize() . = ..() - SSradio.add_object(src, frequency, RADIO_SIGNALER) + set_frequency(frequency) /obj/item/electropack/Destroy() SSradio.remove_object(src, frequency) return ..() +/obj/item/electropack/suicide_act(mob/user) + user.visible_message("[user] hooks [user.p_them()]self to the electropack and spams the trigger! It looks like [user.p_theyre()] trying to commit suicide!") + return (FIRELOSS) + //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/electropack/attack_hand(mob/user) if(iscarbon(user)) @@ -56,55 +58,15 @@ else return ..() -/obj/item/electropack/Topic(href, href_list) - //..() - var/mob/living/carbon/C = usr - if(usr.stat || usr.restrained() || C.back == src) - return - if((ishuman(usr) && usr.contents.Find(src)) || usr.contents.Find(master) || (in_range(src, usr) && isturf(loc))) - usr.set_machine(src) - if(href_list["freq"]) - SSradio.remove_object(src, frequency) - frequency = sanitize_frequency(frequency + text2num(href_list["freq"])) - SSradio.add_object(src, frequency, RADIO_SIGNALER) - else - if(href_list["code"]) - code += text2num(href_list["code"]) - code = round(code) - code = min(100, code) - code = max(1, code) - else - if(href_list["power"]) - on = !( on ) - icon_state = "electropack[on]" - if(!( master )) - if(ismob(loc)) - attack_self(loc) - else - for(var/mob/M in viewers(1, src)) - if(M.client) - attack_self(M) - else - if(ismob(master.loc)) - attack_self(master.loc) - else - for(var/mob/M in viewers(1, master)) - if(M.client) - attack_self(M) - else - usr << browse(null, "window=radio") - return - return - /obj/item/electropack/receive_signal(datum/signal/signal) if(!signal || signal.data["code"] != code) return if(isliving(loc) && on) - if(shock_cooldown != 0) + if(shock_cooldown) return - shock_cooldown = 1 - addtimer(VARSET_CALLBACK(src, shock_cooldown, 0), 100) + shock_cooldown = TRUE + addtimer(VARSET_CALLBACK(src, shock_cooldown, FALSE), 100) var/mob/living/L = loc step(L, pick(GLOB.cardinals)) @@ -117,28 +79,63 @@ if(master) master.receive_signal() - return -/obj/item/electropack/attack_self(mob/user) +/obj/item/electropack/proc/set_frequency(new_frequency) + SSradio.remove_object(src, frequency) + frequency = new_frequency + SSradio.add_object(src, frequency, RADIO_SIGNALER) - if(!ishuman(user)) +/obj/item/electropack/ui_status(mob/user) + var/mob/living/carbon/C = user + if(C?.back == src) + return UI_CLOSE + return ..() + +/obj/item/electropack/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "electropack", name, ui_x, ui_y, master_ui, state) + ui.open() + +/obj/item/electropack/ui_data(mob/user) + var/list/data = list() + data["power"] = on + data["frequency"] = frequency + data["code"] = code + data["minFrequency"] = MIN_FREE_FREQ + data["maxFrequency"] = MAX_FREE_FREQ + return data + +/obj/item/electropack/ui_act(action, params) + if(..()) return - user.set_machine(src) - var/dat = {"Turned [on ? "On" : "Off"] - -Toggle
-Frequency/Code for electropack:
-Frequency: -- -- [format_frequency(frequency)] -+ -+
-Code: -- -- [code] -+ -+
-
"} - user << browse(dat, "window=radio") - onclose(user, "radio") - return + var/mob/living/carbon/C = usr + if(C?.back == src) + return + + switch(action) + if("power") + on = !on + icon_state = "electropack[on]" + . = TRUE + if("freq") + var/value = unformat_frequency(params["freq"]) + if(value) + frequency = sanitize_frequency(value, TRUE) + set_frequency(frequency) + . = TRUE + if("code") + var/value = text2num(params["code"]) + if(value) + value = round(value) + code = clamp(value, 1, 100) + . = TRUE + if("reset") + if(params["reset"] == "freq") + frequency = initial(frequency) + . = TRUE + else if(params["reset"] == "code") + code = initial(code) + . = TRUE diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 8917927b4ee..e3881672e6d 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -133,7 +133,7 @@ GENE SCANNER // Used by the PDA medical scanner too /proc/healthscan(mob/user, mob/living/M, mode = SCANNER_VERBOSE, advanced = FALSE) - if(isliving(user) && (user.incapacitated() || user.eye_blind)) + if(isliving(user) && (user.incapacitated() || user.is_blind())) return // the final list of strings to render @@ -256,7 +256,7 @@ GENE SCANNER message = "\nSubject does not have eyes." if(istype(eyes)) message = "" - if(HAS_TRAIT(C, TRAIT_BLIND)) + if(C.is_blind()) message += "\nSubject is blind." if(HAS_TRAIT(C, TRAIT_NEARSIGHT)) message += "\nSubject is nearsighted." @@ -429,7 +429,7 @@ GENE SCANNER /obj/item/analyzer/attack_self(mob/user) add_fingerprint(user) - if (user.stat || user.eye_blind) + if (user.stat || user.is_blind()) return var/turf/location = user.loc @@ -590,7 +590,7 @@ GENE SCANNER custom_materials = list(/datum/material/iron=30, /datum/material/glass=20) /obj/item/slime_scanner/attack(mob/living/M, mob/living/user) - if(user.stat || user.eye_blind) + if(user.stat || user.is_blind()) return if (!isslime(M)) to_chat(user, "This device can only scan slimes!") diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm index 1295fe56f32..eb7e79a1104 100644 --- a/code/game/objects/items/grenades/ghettobomb.dm +++ b/code/game/objects/items/grenades/ghettobomb.dm @@ -45,7 +45,7 @@ /obj/item/grenade/iedcasing/attack_self(mob/user) // if(!active) - if(clown_check(user)) + if(!botch_check(user)) to_chat(user, "You light the [name]!") cut_overlay("improvised_grenade_filled") preprime(user, null, FALSE) diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index 68b8cc0b943..4d4277aef9a 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -17,6 +17,7 @@ var/det_time = 50 var/display_timer = 1 var/clumsy_check = GRENADE_CLUMSY_FUMBLE + var/sticky = FALSE /obj/item/grenade/suicide_act(mob/living/carbon/user) user.visible_message("[user] primes [src], then eats it! It looks like [user.p_theyre()] trying to commit suicide!") @@ -32,19 +33,20 @@ if(!QDELETED(src)) qdel(src) -/obj/item/grenade/proc/clown_check(mob/living/carbon/human/user) +/obj/item/grenade/proc/botch_check(mob/living/carbon/human/user) var/clumsy = HAS_TRAIT(user, TRAIT_CLUMSY) if(clumsy && (clumsy_check == GRENADE_CLUMSY_FUMBLE)) if(prob(50)) to_chat(user, "Huh? How does this thing work?") preprime(user, 5, FALSE) - return FALSE + return TRUE else if(!clumsy && (clumsy_check == GRENADE_NONCLUMSY_FUMBLE)) to_chat(user, "You pull the pin on [src]. Attached to it is a pink ribbon that says, \"HONK\"") preprime(user, 5, FALSE) - return FALSE - return TRUE - + return TRUE + else if(sticky && prob(50)) // to add risk to sticky tape grenade cheese, no return cause we still prime as normal after + to_chat(user, "What the... [src] is stuck to your hand!") + ADD_TRAIT(src, TRAIT_NODROP, STICKY_NODROP) /obj/item/grenade/examine(mob/user) . = ..() @@ -56,8 +58,16 @@ /obj/item/grenade/attack_self(mob/user) + if(HAS_TRAIT(src, TRAIT_NODROP)) + to_chat(user, "You try prying [src] off your hand...") + if(do_after(user, 70, target=src)) + to_chat(user, "You manage to remove [src] from your hand.") + REMOVE_TRAIT(src, TRAIT_NODROP, STICKY_NODROP) + + return + if(!active) - if(clown_check(user)) + if(!botch_check(user)) // if they botch the prime, it'll be handled in botch_check preprime(user) /obj/item/grenade/proc/log_grenade(mob/user, turf/T) diff --git a/code/game/objects/items/grenades/hypno.dm b/code/game/objects/items/grenades/hypno.dm new file mode 100644 index 00000000000..5d7652bb303 --- /dev/null +++ b/code/game/objects/items/grenades/hypno.dm @@ -0,0 +1,66 @@ +/obj/item/grenade/hypnotic + name = "flashbang" + desc = "A modified flashbang which uses hypnotic flashes and mind-altering soundwaves to induce an instant trance upon detonation." + icon_state = "flashbang" + item_state = "flashbang" + lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' + var/flashbang_range = 7 + +/obj/item/grenade/hypnotic/prime() + update_mob() + var/flashbang_turf = get_turf(src) + if(!flashbang_turf) + return + do_sparks(rand(5, 9), FALSE, src) + playsound(flashbang_turf, 'sound/effects/screech.ogg', 100, TRUE, 8, 0.9) + new /obj/effect/dummy/lighting_obj (flashbang_turf, LIGHT_COLOR_PURPLE, (flashbang_range + 2), 4, 2) + for(var/mob/living/M in get_hearers_in_view(flashbang_range, flashbang_turf)) + bang(get_turf(M), M) + qdel(src) + +/obj/item/grenade/hypnotic/proc/bang(turf/T, mob/living/M) + if(M.stat == DEAD) //They're dead! + return + var/distance = max(0,get_dist(get_turf(src),T)) + + //Bang + var/hypno_sound = FALSE + + //Hearing protection check + if(iscarbon(M)) + var/mob/living/carbon/C = M + var/list/reflist = list(1) + SEND_SIGNAL(C, COMSIG_CARBON_SOUNDBANG, reflist) + var/intensity = reflist[1] + var/ear_safety = C.get_ear_protection() + var/effect_amount = intensity - ear_safety + if(effect_amount > 0) + hypno_sound = TRUE + + if(!distance || loc == M || loc == M.loc) + M.Paralyze(10) + M.Knockdown(100) + to_chat(M, "The sound echoes in your brain...") + M.hallucination += 50 + else + if(distance <= 1) + M.Paralyze(5) + M.Knockdown(30) + if(hypno_sound) + to_chat(M, "The sound echoes in your brain...") + M.hallucination += 50 + + //Flash + if(M.flash_act(affect_silicon = 1)) + M.Paralyze(max(10/max(1,distance), 5)) + M.Knockdown(max(100/max(1,distance), 40)) + if(iscarbon(M)) + var/mob/living/carbon/C = M + if(C.hypnosis_vulnerable()) //The sound causes the necessary conditions unless the target has mindshield or hearing protection + C.apply_status_effect(/datum/status_effect/trance, 100, TRUE) + else + to_chat(C, "The light is so pretty...") + C.confused += min(C.confused + 10, 20) + C.dizziness += min(C.dizziness + 10, 20) + C.drowsyness += min(C.drowsyness + 10, 20) diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 4c1555a95a1..b0e3d45c9cb 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -100,7 +100,9 @@ var/obj/item/I = AM I.throw_speed = max(1, (I.throw_speed - 3)) I.throw_range = max(1, (I.throw_range - 3)) - I.embedding = I.embedding.setRating(embed_chance = 0) + if(I.embedding) + I.embedding["embed_chance"] = 0 + I.AddElement(/datum/element/embed, I.embedding) else if(istype(AM, /mob/living)) plastic_overlay.layer = FLOAT_LAYER diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index 670b59f063d..a95683d9d21 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -157,7 +157,7 @@ name = "combat knife" icon_state = "buckknife" desc = "A military combat utility survival knife." - embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 65, "embedded_fall_chance" = 10, "embedded_ignore_throwspeed_threshold" = TRUE) + embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE) force = 20 throwforce = 20 attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") @@ -166,7 +166,7 @@ /obj/item/kitchen/knife/combat/survival name = "survival knife" icon_state = "survivalknife" - embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 35, "embedded_fall_chance" = 10) + embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10) desc = "A hunting grade survival knife." force = 15 throwforce = 15 @@ -179,7 +179,7 @@ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' desc = "A sharpened bone. The bare minimum in survival." - embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 35, "embedded_fall_chance" = 10) + embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10) force = 15 throwforce = 15 custom_materials = null diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 74e524ff041..7f178e43b98 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -99,7 +99,7 @@ throw_speed = 3 throw_range = 5 sharpness = IS_SHARP - embedding = list("embed_chance" = 75, "embedded_impact_pain_multiplier" = 10) + embedding = list("embed_chance" = 75, "impact_pain_mult" = 10) armour_penetration = 35 block_chance = 50 diff --git a/code/game/objects/items/melee/transforming.dm b/code/game/objects/items/melee/transforming.dm index 578d6d398f6..0bf164d81ea 100644 --- a/code/game/objects/items/melee/transforming.dm +++ b/code/game/objects/items/melee/transforming.dm @@ -22,6 +22,8 @@ else if(attack_verb_off.len) attack_verb = attack_verb_off + if(embedding) + RemoveElement(/datum/element/embed, embedding) if(sharpness) AddComponent(/datum/component/butchering, 50, 100, 0, hitsound) @@ -53,6 +55,8 @@ attack_verb = attack_verb_on icon_state = icon_state_on w_class = w_class_on + if(embedding) + AddElement(/datum/element/embed, embedding) else force = initial(force) throwforce = initial(throwforce) @@ -62,6 +66,9 @@ attack_verb = attack_verb_off icon_state = initial(icon_state) w_class = initial(w_class) + if(embedding) + RemoveElement(/datum/element/embed, embedding) + transform_messages(user, supress_message_text) add_fingerprint(user) return TRUE diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index a33d70fbf37..1dbd87d1733 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -14,7 +14,7 @@ /obj/item/choice_beacon name = "choice beacon" - desc = "Hey, why are you viewing this?!! Please let Centcom know about this odd occurance." + desc = "Hey, why are you viewing this?!! Please let CentCom know about this odd occurrence." icon = 'icons/obj/device.dmi' icon_state = "gangtool-blue" item_state = "radio" diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index eee6bc44679..b07b76833df 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -227,7 +227,7 @@ desc = "A banner with the logo of the blue deity." /obj/item/storage/backpack/bannerpack - name = "nanotrasen banner backpack" + name = "\improper Nanotrasen banner backpack" desc = "It's a backpack with lots of extra room. A banner with Nanotrasen's logo is attached, that can't be removed." icon_state = "bannerpack" diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 32a21c2a1f5..0e8ec6c2bc5 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -21,6 +21,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ max_amount = 50 attack_verb = list("hit", "bludgeoned", "whacked") hitsound = 'sound/weapons/gun/general/grenade_launch.ogg' + embedding = list() novariants = TRUE /obj/item/stack/rods/suicide_act(mob/living/carbon/user) diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 41171ba8575..a543b45a859 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -253,6 +253,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( sharpness = IS_SHARP var/icon_prefix var/obj/item/stack/sheet/weld_material = /obj/item/stack/sheet/glass + embedding = list("embed_chance" = 65) /obj/item/shard/suicide_act(mob/user) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index ed3e9d2eeab..cc92934b671 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -193,6 +193,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("coffin", /obj/structure/closet/crate/coffin, 5, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("wooden barrel", /obj/structure/fermenting_barrel, 8, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 10, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("dresser", /obj/structure/dresser, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("picture frame", /obj/item/wallframe/picture, 1, time = 10),\ diff --git a/code/game/objects/items/stacks/tape.dm b/code/game/objects/items/stacks/tape.dm new file mode 100644 index 00000000000..ec5a1e2d98f --- /dev/null +++ b/code/game/objects/items/stacks/tape.dm @@ -0,0 +1,62 @@ + + +/obj/item/stack/sticky_tape + name = "sticky tape" + singular_name = "sticky tape" + desc = "Used for sticking to things for sticking said things to people." + icon = 'icons/obj/tapes.dmi' + icon_state = "tape_w" + var/prefix = "sticky" + item_flags = NOBLUDGEON + amount = 5 + max_amount = 5 + resistance_flags = FLAMMABLE + grind_results = list(/datum/reagent/cellulose = 5) + + var/list/conferred_embed = EMBED_HARMLESS + var/overwrite_existing = FALSE + +/obj/item/stack/sticky_tape/afterattack(obj/item/I, mob/living/user) + if(!istype(I)) + return + + if(I.embedding && I.embedding == conferred_embed) + to_chat(user, "[I] is already coated in [src]!") + return + + user.visible_message("[user] begins wrapping [I] with [src].", "You begin wrapping [I] with [src].") + + if(do_after(user, 30, target=I)) + I.embedding = conferred_embed + I.AddElement(/datum/element/embed, I.embedding) + to_chat(user, "You finish wrapping [I] with [src].") + use(1) + I.name = "[prefix] [I.name]" + + if(istype(I, /obj/item/grenade)) + var/obj/item/grenade/sticky_bomb = I + sticky_bomb.sticky = TRUE + +/obj/item/stack/sticky_tape/super + name = "super sticky tape" + singular_name = "super sticky tape" + desc = "Quite possibly the most mischevious substance in the galaxy. Use with extreme lack of caution." + icon_state = "tape_y" + prefix = "super sticky" + conferred_embed = EMBED_HARMLESS_SUPERIOR + +/obj/item/stack/sticky_tape/pointy + name = "pointy tape" + singular_name = "pointy tape" + desc = "Used for sticking to things for sticking said things inside people." + icon_state = "tape_evil" + prefix = "pointy" + conferred_embed = EMBED_POINTY + +/obj/item/stack/sticky_tape/pointy/super + name = "super pointy tape" + singular_name = "super pointy tape" + desc = "You didn't know tape could look so sinister. Welcome to Space Station 13." + icon_state = "tape_spikes" + prefix = "super pointy" + conferred_embed = EMBED_POINTY_SUPERIOR diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index 4e5248ac445..10720e3290f 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -20,6 +20,9 @@ if(QDELETED(src) && !transfer) new /obj/item/c_tube(T) +/obj/item/stack/wrapping_paper/small + desc = "Wrap packages with this festive paper to make gifts. This roll looks a bit skimpy." + amount = 10 /* * Package Wrap @@ -121,6 +124,11 @@ if(QDELETED(src) && !transfer) new /obj/item/c_tube(T) +/obj/item/stack/packageWrap/small + desc = "You can use this to wrap items in. This roll looks a bit skimpy." + w_class = WEIGHT_CLASS_SMALL + amount = 5 + /obj/item/c_tube name = "cardboard tube" desc = "A tube... of cardboard." diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 423f8405f49..659fd936bd6 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -1314,3 +1314,18 @@ /obj/item/storage/box/gum/happiness/PopulateContents() for(var/i in 1 to 4) new/obj/item/reagent_containers/food/snacks/chewable/bubblegum/happiness(src) + +/obj/item/storage/box/shipping + name = "box of shipping supplies" + desc = "Contains several scanners and labelers for shipping things. Wrapping Paper not included." + illustration = "shipping" + +/obj/item/storage/box/shipping/PopulateContents() + var/static/items_inside = list( + /obj/item/destTagger=1,\ + /obj/item/sales_tagger=1,\ + /obj/item/export_scanner=1,\ + /obj/item/stack/packageWrap/small=2,\ + /obj/item/stack/wrapping_paper/small=1 + ) + generate_items_inside(items_inside,src) diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index 0a4c7609479..2ab68658da2 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -146,7 +146,7 @@ return var/static/items_inside = list( /obj/item/reagent_containers/pill/patch/aiuri = 3, - /obj/item/reagent_containers/spray/rhigoxane = 1, + /obj/item/reagent_containers/spray/hercuri = 1, /obj/item/reagent_containers/hypospray/medipen/oxandrolone = 1, /obj/item/reagent_containers/hypospray/medipen = 1) generate_items_inside(items_inside,src) @@ -222,7 +222,7 @@ var/static/items_inside = list( /obj/item/reagent_containers/pill/patch/libital = 3, /obj/item/stack/medical/gauze = 1, - /obj/item/storage/pill_bottle/trophazole = 1, + /obj/item/storage/pill_bottle/C2/probital = 1, /obj/item/reagent_containers/hypospray/medipen/salacid = 1) generate_items_inside(items_inside,src) @@ -354,13 +354,13 @@ for(var/i in 1 to 3) new /obj/item/reagent_containers/pill/potassiodide(src) -/obj/item/storage/pill_bottle/trophazole - name = "bottle of trophazole pills" - desc = "Contains pills used to treat brute damage.The tag in the bottle states 'Eat before ingesting'." +/obj/item/storage/pill_bottle/C2/probital + name = "bottle of probital pills" + desc = "Contains pills used to treat brute damage.The tag in the bottle states 'Eat before ingesting, may cause fatigue'." -/obj/item/storage/pill_bottle/trophazole/PopulateContents() +/obj/item/storage/pill_bottle/C2/probital/PopulateContents() for(var/i in 1 to 4) - new /obj/item/reagent_containers/pill/trophazole(src) + new /obj/item/reagent_containers/pill/C2/probital(src) /obj/item/storage/pill_bottle/iron name = "bottle of iron pills" diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index 8ecefff8186..f03ea924ba0 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -448,7 +448,7 @@ force_wielded = 18 throwforce = 20 throw_speed = 4 - embedding = list("embedded_impact_pain_multiplier" = 3) + embedding = list("impact_pain_mult" = 3) armour_penetration = 10 custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075) hitsound = 'sound/weapons/bladeslice.ogg' diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index cdc16465bcf..529526dbd7f 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -280,12 +280,28 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 2 throwforce = 20 //20 + 2 (WEIGHT_CLASS_SMALL) * 4 (EMBEDDED_IMPACT_PAIN_MULTIPLIER) = 28 damage on hit due to guaranteed embedding throw_speed = 4 - embedding = list("embedded_pain_multiplier" = 4, "embed_chance" = 100, "embedded_fall_chance" = 0) + embedding = list("pain_mult" = 4, "embed_chance" = 100, "fall_chance" = 0) + + w_class = WEIGHT_CLASS_SMALL sharpness = IS_SHARP custom_materials = list(/datum/material/iron=500, /datum/material/glass=500) resistance_flags = FIRE_PROOF +/obj/item/throwing_star/stamina + name = "shock throwing star" + desc = "An aerodynamic disc designed to cause excruciating pain when stuck inside fleeing targets, hopefully without causing fatal harm." + throwforce = 5 + embedding = list("pain_chance" = 5, "embed_chance" = 100, "fall_chance" = 0, "jostle_chance" = 10, "pain_stam_pct" = 0.8, "jostle_pain_mult" = 3) + +/obj/item/throwing_star/toy + name = "toy throwing star" + desc = "An aerodynamic disc strapped with adhesive for sticking to people, good for playing pranks and getting yourself killed by security." + sharpness = IS_BLUNT + force = 0 + throwforce = 0 + embedding = list("pain_mult" = 0, "jostle_pain_mult" = 0, "embed_chance" = 100, "fall_chance" = 0) + /obj/item/throwing_star/magspear name = "magnetic spear" desc = "A reusable spear that is typically loaded into kinetic spearguns." @@ -295,7 +311,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 10 throw_range = 0 //throwing these invalidates the speargun attack_verb = list("stabbed", "ripped", "gored", "impaled") - embedding = list("embedded_pain_multiplier" = 8, "embed_chance" = 100, "embedded_fall_chance" = 0, "embedded_impact_pain_multiplier" = 15) //55 damage+embed on hit + embedding = list("pain_mult" = 8, "embed_chance" = 100, "fall_chance" = 0, "impact_pain_mult" = 15) //55 damage+embed on hit /obj/item/switchblade name = "switchblade" diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index bd57f992544..e5a093a35d8 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -229,12 +229,10 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e ///Called when the obj is hit by a tesla bolt. /obj/proc/zap_act(power, zap_flags, shocked_targets) if(QDELETED(src)) - return + return 0 obj_flags |= BEING_SHOCKED - if(zap_flags & ZAP_IS_TESLA) - var/power_bounced = power / 2 - tesla_zap(src, 3, power_bounced, zap_flags, shocked_targets) addtimer(CALLBACK(src, .proc/reset_shocked), 10) + return power / 2 //The surgeon general warns that being buckled to certain objects receiving powerful shocks is greatly hazardous to your health ///Only tesla coils, vehicles, and grounding rods currently call this because mobs are already targeted over all other objects, but this might be useful for more things later. diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index ffa9d4d1107..b4d306dbe4a 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -39,21 +39,29 @@ name = "canvas" desc = "Draw out your soul on this canvas!" icon = 'icons/obj/artstuff.dmi' - icon_state = "square" + icon_state = "11x11" resistance_flags = FLAMMABLE var/width = 11 var/height = 11 var/list/grid - var/list/top_colors var/canvas_color = "#ffffff" //empty canvas color var/ui_x = 400 var/ui_y = 400 + var/used = FALSE var/painting_name //Painting name, this is set after framing. - var/framed = FALSE //Blocks edits, set on framing + var/finalized = FALSE //Blocks edits + var/icon_generated = FALSE + var/icon/generated_icon + + // Painting overlay offset when framed + var/framed_offset_x = 11 + var/framed_offset_y = 10 + + pixel_x = 10 + pixel_y = 9 /obj/item/canvas/Initialize() . = ..() - top_colors = list() reset_grid() /obj/item/canvas/proc/reset_grid() @@ -85,6 +93,7 @@ . = ..() .["grid"] = grid .["name"] = painting_name + .["finalized"] = finalized /obj/item/canvas/examine(mob/user) . = ..() @@ -92,7 +101,7 @@ /obj/item/canvas/ui_act(action, params) . = ..() - if(. || framed) + if(. || finalized) return var/mob/user = usr switch(action) @@ -104,34 +113,50 @@ var/x = text2num(params["x"]) var/y = text2num(params["y"]) grid[x][y] = color - top_colors = get_most_common_colors(3) + used = TRUE update_icon() . = TRUE + if("finalize") + . = TRUE + if(!finalized) + finalize(user) + +/obj/item/canvas/proc/finalize(mob/user) + finalized = TRUE + generate_proper_overlay() + try_rename(user) /obj/item/canvas/update_overlays() . = ..() - for(var/i in 2 to top_colors.len) //first is used as base color - var/mutable_appearance/detail = mutable_appearance(icon, "[icon_state]_detail_[i-1]") - detail.appearance_flags |= RESET_COLOR - detail.color = top_colors[i] + if(!icon_generated) + if(used) + var/mutable_appearance/detail = mutable_appearance(icon,"[icon_state]wip") + detail.pixel_x = 1 + detail.pixel_y = 1 + . += detail + else + var/mutable_appearance/detail = mutable_appearance(generated_icon) + detail.pixel_x = 1 + detail.pixel_y = 1 . += detail -/obj/item/canvas/update_icon_state() - . = ..() - if(top_colors.len) - color = top_colors[1] +/obj/item/canvas/proc/generate_proper_overlay() + if(icon_generated) + return + var/png_filename = "data/paintings/temp_painting.png" + var/result = rustg_dmi_create_png(png_filename,"[width]","[height]",get_data_string()) + if(result) + CRASH("Error generating painting png : [result]") + generated_icon = new(png_filename) + icon_generated = TRUE + update_icon() -/obj/item/canvas/proc/get_most_common_colors(count) - var/list/tally = list() - for(var/x in 1 to width) - for(var/y in 1 to height) - tally[grid[x][y]] += 1 - sortTim(tally,/proc/cmp_numeric_dsc,associative=TRUE) - . = list() - for(var/result in tally) - . += result - if(length(.) >= count) - break +/obj/item/canvas/proc/get_data_string() + var/list/data = list() + for(var/y in 1 to height) + for(var/x in 1 to width) + data += grid[x][y] + return data.Join("") //Todo make this element ? /obj/item/canvas/proc/get_paint_tool_color(obj/item/I) @@ -153,27 +178,44 @@ else if(istype(I, /obj/item/soap) || istype(I, /obj/item/reagent_containers/glass/rag)) return canvas_color +/obj/item/canvas/proc/try_rename(mob/user) + var/new_name = stripped_input(user,"What do you want to name the painting?") + if(!painting_name && new_name && user.canUseTopic(src,BE_CLOSE)) + painting_name = new_name + SStgui.update_uis(src) + /obj/item/canvas/nineteenXnineteen - icon_state = "square" + icon_state = "19x19" width = 19 height = 19 ui_x = 600 ui_y = 600 + pixel_x = 6 + pixel_y = 9 + framed_offset_x = 8 + framed_offset_y = 9 /obj/item/canvas/twentythreeXnineteen - icon_state = "wide" + icon_state = "23x19" width = 23 height = 19 ui_x = 800 ui_y = 600 + pixel_x = 4 + pixel_y = 10 + framed_offset_x = 6 + framed_offset_y = 8 /obj/item/canvas/twentythreeXtwentythree - icon_state = "square" + icon_state = "23x23" width = 23 height = 23 ui_x = 800 ui_y = 800 - + pixel_x = 5 + pixel_y = 9 + framed_offset_x = 5 + framed_offset_y = 6 /obj/item/wallframe/painting name = "painting frame" @@ -191,6 +233,7 @@ icon_state = "frame-empty" buildable_sign = FALSE var/obj/item/canvas/C + var/persistence_id /obj/structure/sign/painting/Initialize(mapload, dir, building) . = ..() @@ -217,7 +260,6 @@ /obj/structure/sign/painting/wirecutter_act(mob/living/user, obj/item/I) . = ..() if(C) - C.framed = FALSE C.forceMove(drop_location()) C = null to_chat(user, "You remove the painting from the frame.") @@ -227,20 +269,98 @@ /obj/structure/sign/painting/proc/frame_canvas(mob/user,obj/item/canvas/new_canvas) if(user.transferItemToLoc(new_canvas,src)) C = new_canvas - C.framed = TRUE + if(!C.finalized) + C.finalize(user) to_chat(user,"You frame [C].") update_icon() /obj/structure/sign/painting/proc/try_rename(mob/user) - var/new_name = stripped_input(user,"What do you want to name the painting?") - if(C && !C.painting_name && new_name && user.canUseTopic(src,BE_CLOSE)) - C.painting_name = new_name - SStgui.update_uis(C) + if(!C.painting_name) + C.try_rename(user) + +/obj/structure/sign/painting/update_icon_state() + . = ..() + if(C && C.generated_icon) + icon_state = null + else + icon_state = "frame-empty" + /obj/structure/sign/painting/update_overlays() . = ..() - if(C && C.top_colors.len) - var/mutable_appearance/MA = mutable_appearance(icon, "frame-content-overlay") - MA.appearance_flags |= RESET_COLOR - MA.color = C.top_colors[1] + if(C && C.generated_icon) + var/mutable_appearance/MA = mutable_appearance(C.generated_icon) + MA.pixel_x = C.framed_offset_x + MA.pixel_y = C.framed_offset_y . += MA + var/mutable_appearance/frame = mutable_appearance(C.icon,"[C.icon_state]frame") + frame.pixel_x = C.framed_offset_x - 1 + frame.pixel_y = C.framed_offset_y - 1 + . += frame + +/obj/structure/sign/painting/proc/load_persistent() + if(!persistence_id) + return + if(!SSpersistence.paintings || !SSpersistence.paintings[persistence_id] || !length(SSpersistence.paintings[persistence_id])) + return + var/list/chosen = pick(SSpersistence.paintings[persistence_id]) + var/title = chosen["title"] + var/png = "data/paintings/[persistence_id]/[chosen["md5"]].png" + if(!fexists(png)) + stack_trace("Persistent painting [chosen["md5"]].png was not found in [persistence_id] directory.") + return + var/icon/I = new(png) + var/obj/item/canvas/new_canvas + var/w = I.Width() + var/h = I.Height() + for(var/T in typesof(/obj/item/canvas)) + new_canvas = T + if(initial(new_canvas.width) == w && initial(new_canvas.height) == h) + new_canvas = new T(src) + break + new_canvas.fill_grid_from_icon(I) + new_canvas.generated_icon = I + new_canvas.icon_generated = TRUE + new_canvas.finalized = TRUE + new_canvas.painting_name = title + C = new_canvas + update_icon() + +/obj/structure/sign/painting/proc/save_persistent() + if(!persistence_id || !C) + return + if(sanitize_filename(persistence_id) != persistence_id) + stack_trace("Invalid persistence_id - [persistence_id]") + return + var/data = C.get_data_string() + var/md5 = md5(data) + var/list/current = SSpersistence.paintings[persistence_id] + if(!current) + current = list() + for(var/list/entry in current) + if(entry["md5"] == md5) + return + var/png_directory = "data/paintings/[persistence_id]/" + var/png_path = png_directory + "[md5].png" + var/result = rustg_dmi_create_png(png_path,"[C.width]","[C.height]",data) + if(result) + CRASH("Error saving persistent painting: [result]") + current += list(list("title" = C.painting_name , "md5" = md5)) + SSpersistence.paintings[persistence_id] = current + +/obj/item/canvas/proc/fill_grid_from_icon(icon/I) + var/w = I.Width() + 1 + var/h = I.Height() + 1 + for(var/x in 1 to width) + for(var/y in 1 to height) + grid[x][y] = I.GetPixel(w-x,h-y) + +//Presets for art gallery mapping, for paintings to be shared across stations +/obj/structure/sign/painting/library + persistence_id = "library" + +/obj/structure/sign/painting/library_secure + persistence_id = "library_secure" + +/obj/structure/sign/painting/library_private // keep your smut away from prying eyes, or non-librarians at least + persistence_id = "library_private" diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 7d07df3703f..366d5489ec8 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -218,7 +218,7 @@ LINEN BINS dream_messages = list("a book", "an explosion", "lightning", "a staff", "a skeleton", "a robe", "magic") /obj/item/bedsheet/nanotrasen - name = "nanotrasen bedsheet" + name = "\improper Nanotrasen bedsheet" desc = "It has the Nanotrasen logo on it and has an aura of duty." icon_state = "sheetNT" item_state = "sheetNT" diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 2a242487af2..60d98cbff6d 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -261,7 +261,7 @@ var/obj/structure/cable/C = T.get_cable_node() if(C) playsound(src, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) - tesla_zap(src, 3, C.newavail() * 0.01, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN | ZAP_ALLOW_DUPLICATES | ZAP_IS_TESLA) //Zap for 1/100 of the amount of power. At a million watts in the grid, it will be as powerful as a tesla revolver shot. + tesla_zap(src, 3, C.newavail() * 0.01, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN | ZAP_ALLOW_DUPLICATES) //Zap for 1/100 of the amount of power. At a million watts in the grid, it will be as powerful as a tesla revolver shot. C.add_delayedload(C.newavail() * 0.0375) // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock. return ..() diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index 38758b381c3..b36fe764cde 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -69,13 +69,13 @@ icon_state = "firefighter" /obj/structure/showcase/machinery/implanter - name = "Nanotrasen automated mindshield implanter exhibit" + name = "\improper Nanotrasen automated mindshield implanter exhibit" desc = "A flimsy model of a standard Nanotrasen automated mindshield implant machine. With secure positioning harnesses and a robotic surgical injector, brain damage and other serious medical anomalies are now up to 60% less likely!" icon = 'icons/obj/machines/implantchair.dmi' icon_state = "implantchair" /obj/structure/showcase/machinery/microwave - name = "Nanotrasen-brand microwave" + name = "\improper Nanotrasen-brand microwave" desc = "The famous Nanotrasen-brand microwave, the multi-purpose cooking appliance every station needs! This one appears to be drawn onto a cardboard box." icon = 'icons/obj/kitchen.dmi' icon_state = "mw" @@ -91,7 +91,7 @@ desc = "A stand with a model of the perfect Nanotrasen Employee bolted to it. Signs indicate it is robustly genetically engineered, as well as being ruthlessly loyal." /obj/structure/showcase/machinery/tv - name = "Nanotrasen corporate newsfeed" + name = "\improper Nanotrasen corporate newsfeed" desc = "A slightly battered looking TV. Various Nanotrasen infomercials play on a loop, accompanied by a jaunty tune." icon = 'icons/obj/computer.dmi' icon_state = "television" diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index 1b14a66b9b3..ed3a506d5fb 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -144,11 +144,11 @@ setDir(turn(dir, 90)) /obj/structure/sign/nanotrasen - name = "\improper Nanotrasen Logo" - desc = "A sign with the Nanotrasen Logo on it. Glory to Nanotrasen!" + name = "\improper Nanotrasen logo" + desc = "A sign with the Nanotrasen logo on it. Glory to Nanotrasen!" icon_state = "nanotrasen" /obj/structure/sign/logo - name = "nanotrasen logo" + name = "\improper Nanotrasen logo" desc = "The Nanotrasen corporate logo." icon_state = "nanotrasen_sign1" diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index abded37b539..af11bc1329e 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -12,7 +12,8 @@ baseturfs = /turf/open/floor/plating - var/hardness = 40 //lower numbers are harder. Used to determine the probability of a hulk smashing through. + ///lower numbers are harder. Used to determine the probability of a hulk smashing through. Also, (hardness - 40) is used as a modifier for objects trying to embed in this (hardness of 30 results in a -10% chance) + var/hardness = 40 var/slicing_duration = 100 //default time taken to slice the wall var/sheet_type = /obj/item/stack/sheet/metal var/sheet_amount = 2 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 639b756c40c..2ef3282b99c 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -104,8 +104,6 @@ var/turf/B = new world.turf(src) for(var/A in B.contents) qdel(A) - for(var/I in B.vars) - B.vars[I] = null return SSair.remove_from_active(src) visibilityChanged() diff --git a/code/modules/admin/callproc/callproc.dm b/code/modules/admin/callproc/callproc.dm index 2142a5e57c7..5bd556ed453 100644 --- a/code/modules/admin/callproc/callproc.dm +++ b/code/modules/admin/callproc/callproc.dm @@ -86,6 +86,7 @@ GLOBAL_PROTECT(LastAdminCalledProc) GLOBAL_LIST_EMPTY(AdminProcCallSpamPrevention) GLOBAL_PROTECT(AdminProcCallSpamPrevention) +/// Wrapper for proccalls where the datum is flagged as vareditted /proc/WrapAdminProcCall(datum/target, procname, list/arguments) if(target && procname == "Del") to_chat(usr, "Calling Del() is not allowed") diff --git a/code/modules/antagonists/abductor/equipment/glands/electric.dm b/code/modules/antagonists/abductor/equipment/glands/electric.dm index a52b63ea42b..015b87f47e8 100644 --- a/code/modules/antagonists/abductor/equipment/glands/electric.dm +++ b/code/modules/antagonists/abductor/equipment/glands/electric.dm @@ -22,5 +22,5 @@ addtimer(CALLBACK(src, .proc/zap), rand(30, 100)) /obj/item/organ/heart/gland/electric/proc/zap() - tesla_zap(owner, 4, 8000, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN | ZAP_IS_TESLA) + tesla_zap(owner, 4, 8000, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN) playsound(get_turf(owner), 'sound/magic/lightningshock.ogg', 50, TRUE) diff --git a/code/modules/antagonists/blob/powers.dm b/code/modules/antagonists/blob/powers.dm index da9e2e5b636..794819db9b8 100644 --- a/code/modules/antagonists/blob/powers.dm +++ b/code/modules/antagonists/blob/powers.dm @@ -326,7 +326,7 @@ set category = "Blob" set name = "Blob Broadcast" set desc = "Speak with your blob spores and blobbernauts as your mouthpieces." - var/speak_text = input(src, "What would you like to say with your minions?", "Blob Broadcast", null) as text|null + var/speak_text = stripped_input(src, "What would you like to say with your minions?", "Blob Broadcast", null) if(!speak_text) return else diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index 966290d1509..74c0663aede 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -208,7 +208,7 @@ new /obj/effect/temp_visual/emp(get_turf(src)) /obj/structure/blob/zap_act(power) - ..() + . = ..() if(overmind) if(overmind.blobstrain.tesla_reaction(src, power)) take_damage(power/400, BURN, "energy") diff --git a/code/modules/antagonists/fugitive/fugitive.dm b/code/modules/antagonists/fugitive/fugitive.dm index 3111ae1e87d..d43b11a9665 100644 --- a/code/modules/antagonists/fugitive/fugitive.dm +++ b/code/modules/antagonists/fugitive/fugitive.dm @@ -35,7 +35,7 @@ switch(backstory) if("prisoner") to_chat(owner, "I can't believe we managed to break out of a Nanotrasen superjail! Sadly though, our work is not done. The emergency teleport at the station logs everyone who uses it, and where they went.") - to_chat(owner, "It won't be long until Centcom tracks where we've gone off to. I need to work with my fellow escapees to prepare for the troops Nanotrasen is sending, I'm not going back.") + to_chat(owner, "It won't be long until CentCom tracks where we've gone off to. I need to work with my fellow escapees to prepare for the troops Nanotrasen is sending, I'm not going back.") if("cultist") to_chat(owner, "Blessed be our journey so far, but I fear the worst has come to our doorstep, and only those with the strongest faith will survive.") to_chat(owner, "Our religion has been repeatedly culled by Nanotrasen because it is categorized as an \"Enemy of the Corporation\", whatever that means.") diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 9e0b19f6e15..2b26f7ba0c1 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -507,7 +507,7 @@ return CINEMATIC_SELFDESTRUCT_MISS /obj/machinery/nuclearbomb/beer - name = "Nanotrasen-brand nuclear fission explosive" + name = "\improper Nanotrasen-brand nuclear fission explosive" desc = "One of the more successful achievements of the Nanotrasen Corporate Warfare Division, their nuclear fission explosives are renowned for being cheap to produce and devastatingly effective. Signs explain that though this particular device has been decommissioned, every Nanotrasen station is equipped with an equivalent one, just in case. All Captains carefully guard the disk needed to detonate them - at least, the sign says they do. There seems to be a tap on the back." proper_bomb = FALSE var/obj/structure/reagent_dispensers/beerkeg/keg diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 41a10364898..79da171b3c3 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -16,16 +16,22 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( /obj/machinery/syndicatebomb/training ))) -//The malf AI action subtype. All malf actions are subtypes of this. +GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) + +/// The malf AI action subtype. All malf actions are subtypes of this. /datum/action/innate/ai name = "AI Action" desc = "You aren't entirely sure what this does, but it's very beepy and boopy." background_icon_state = "bg_tech_blue" icon_icon = 'icons/mob/actions/actions_AI.dmi' - var/mob/living/silicon/ai/owner_AI //The owner AI, so we don't have to typecast every time - var/uses //If we have multiple uses of the same power - var/auto_use_uses = TRUE //If we automatically use up uses on each activation - var/cooldown_period //If applicable, the time in deciseconds we have to wait before using any more modules + /// The owner AI, so we don't have to typecast every time + var/mob/living/silicon/ai/owner_AI + /// If we have multiple uses of the same power + var/uses + /// If we automatically use up uses on each activation + var/auto_use_uses = TRUE + /// If applicable, the time in deciseconds we have to wait before using any more modules + var/cooldown_period /datum/action/innate/ai/Grant(mob/living/L) . = ..() @@ -56,12 +62,14 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( to_chat(owner, "[name] has run out of uses!") qdel(src) -//Framework for ranged abilities that can have different effects by left-clicking stuff. +/// Framework for ranged abilities that can have different effects by left-clicking stuff. /datum/action/innate/ai/ranged name = "Ranged AI Action" auto_use_uses = FALSE //This is so we can do the thing and disable/enable freely without having to constantly add uses - var/obj/effect/proc_holder/ranged_ai/linked_ability //The linked proc holder that contains the actual ability code - var/linked_ability_type //The path of our linked ability + /// The linked proc holder that contains the actual ability code + var/obj/effect/proc_holder/ranged_ai/linked_ability + /// The path of our linked ability + var/linked_ability_type /datum/action/innate/ai/ranged/New() if(!linked_ability_type) @@ -90,10 +98,12 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( linked_ability.toggle(owner) return TRUE -//The actual ranged proc holder. +/// The actual ranged proc holder. /obj/effect/proc_holder/ranged_ai - var/enable_text = "Hello World!" //Appears when the user activates the ability - var/disable_text = "Goodbye Cruel World!" //Context clues! + /// Appears when the user activates the ability + var/enable_text = "Hello World!" + /// Appears when the user deactivates the ability + var/disable_text = "Goodbye Cruel World!" var/datum/action/innate/ai/ranged/attached_action /obj/effect/proc_holder/ranged_ai/Destroy() @@ -106,121 +116,42 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( else add_ranged_ability(user, enable_text) - -//The datum and interface for the malf unlock menu, which lets them choose actions to unlock. -/datum/module_picker - var/temp - var/processing_time = 50 - var/list/possible_modules - -/datum/module_picker/New() - possible_modules = list() - for(var/type in typesof(/datum/AI_Module)) - var/datum/AI_Module/AM = new type - if((AM.power_type && AM.power_type != /datum/action/innate/ai) || AM.upgrade) - possible_modules += AM - -/datum/module_picker/proc/remove_malf_verbs(mob/living/silicon/ai/AI) //Removes all malfunction-related abilities from the target AI. - for(var/datum/AI_Module/AM in possible_modules) - for(var/datum/action/A in AI.actions) - if(istype(A, initial(AM.power_type))) - qdel(A) - -/datum/module_picker/proc/use(mob/user) - var/list/dat = list() - dat += "Select use of processing time: (currently #[processing_time] left.)
" - dat += "
" - dat += "Install Module:
" - dat += "The number afterwards is the amount of processing time it consumes.
" - for(var/datum/AI_Module/large/module in possible_modules) - dat += "[module.module_name]\[?\] ([module.cost])
" - for(var/datum/AI_Module/small/module in possible_modules) - dat += "[module.module_name]\[?\] ([module.cost])
" - dat += "
" - if(temp) - dat += "[temp]" - var/datum/browser/popup = new(user, "modpicker", "Malf Module Menu") - popup.set_content(dat.Join()) - popup.open() - -/datum/module_picker/Topic(href, href_list) - ..() - - if(!isAI(usr)) - return - var/mob/living/silicon/ai/A = usr - - if(A.stat == DEAD) - to_chat(A, "You are already dead!") - return - - for(var/datum/AI_Module/AM in possible_modules) - if (href_list[AM.mod_pick_name]) - - // Cost check - if(AM.cost > processing_time) - temp = "You cannot afford this module." - break - - var/datum/action/innate/ai/action = locate(AM.power_type) in A.actions - - // Give the power and take away the money. - if(AM.upgrade) //upgrade and upgrade() are separate, be careful! - AM.upgrade(A) - possible_modules -= AM - to_chat(A, AM.unlock_text) - A.playsound_local(A, AM.unlock_sound, 50, 0) - else - if(AM.power_type) - if(!action) //Unlocking for the first time - var/datum/action/AC = new AM.power_type - AC.Grant(A) - A.current_modules += new AM.type - temp = AM.description - if(AM.one_purchase) - possible_modules -= AM - if(AM.unlock_text) - to_chat(A, AM.unlock_text) - if(AM.unlock_sound) - A.playsound_local(A, AM.unlock_sound, 50, 0) - else //Adding uses to an existing module - action.uses += initial(action.uses) - action.desc = "[initial(action.desc)] It has [action.uses] use\s remaining." - action.UpdateButtonIcon() - temp = "Additional use[action.uses > 1 ? "s" : ""] added to [action.name]!" - processing_time -= AM.cost - - if(href_list["showdesc"]) - if(AM.mod_pick_name == href_list["showdesc"]) - temp = AM.description - use(usr) - - -//The base module type, which holds info about each ability. +/// The base module type, which holds info about each ability. /datum/AI_Module - var/module_name - var/mod_pick_name - var/description = "" - var/engaged = 0 + var/name = "generic module" + var/category = "generic category" + var/description = "generic description" var/cost = 5 - var/one_purchase = FALSE //If this module can only be purchased once. This always applies to upgrades, even if the variable is set to false. + /// If this module can only be purchased once. This always applies to upgrades, even if the variable is set to false. + var/one_purchase = FALSE + /// If the module gives an active ability, use this. Mutually exclusive with upgrade. + var/power_type = /datum/action/innate/ai + /// If the module gives a passive upgrade, use this. Mutually exclusive with power_type. + var/upgrade = FALSE + /// Text shown when an ability is unlocked + var/unlock_text = "Hello World!" + /// Sound played when an ability is unlocked + var/unlock_sound - var/power_type = /datum/action/innate/ai //If the module gives an active ability, use this. Mutually exclusive with upgrade. - var/upgrade //If the module gives a passive upgrade, use this. Mutually exclusive with power_type. - var/unlock_text = "Hello World!" //Text shown when an ability is unlocked - var/unlock_sound //Sound played when an ability is unlocked - -/datum/AI_Module/proc/upgrade(mob/living/silicon/ai/AI) //Apply upgrades! + /// Applies upgrades +/datum/AI_Module/proc/upgrade(mob/living/silicon/ai/AI) return -/datum/AI_Module/large //Big, powerful stuff that can only be used once. -/datum/AI_Module/small //Weak, usually localized stuff with multiple uses. +/// Modules causing destruction +/datum/AI_Module/destructive + category = "Destructive Modules" +/// Modules with stealthy and utility uses +/datum/AI_Module/utility + category = "Utility Modules" -//Doomsday Device: Starts the self-destruct timer. It can only be stopped by killing the AI completely. -/datum/AI_Module/large/nuke_station - module_name = "Doomsday Device" - mod_pick_name = "nukestation" +/// Modules that are improving AI abilities and assets +/datum/AI_Module/upgrade + category = "Upgrade Modules" + +/// Doomsday Device: Starts the self-destruct timer. It can only be stopped by killing the AI completely. +/datum/AI_Module/destructive/nuke_station + name = "Doomsday Device" description = "Activate a weapon that will disintegrate all organic life on the station after a 450 second delay. Can only be used while on the station, will fail if your core is moved off station or destroyed." cost = 130 one_purchase = TRUE @@ -391,28 +322,9 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( to_chat(world, "The AI cleansed the station of life with the doomsday device!") SSticker.force_ending = 1 - -//AI Turret Upgrade: Increases the health and damage of all turrets. -/datum/AI_Module/large/upgrade_turrets - module_name = "AI Turret Upgrade" - mod_pick_name = "turret" - description = "Improves the power and health of all AI turrets. This effect is permanent." - cost = 30 - upgrade = TRUE - unlock_text = "You establish a power diversion to your turrets, upgrading their health and damage." - unlock_sound = 'sound/items/rped.ogg' - -/datum/AI_Module/large/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) - for(var/obj/machinery/porta_turret/ai/turret in GLOB.machines) - turret.obj_integrity += 30 - turret.lethal_projectile = /obj/projectile/beam/laser/heavylaser //Once you see it, you will know what it means to FEAR. - turret.lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' - - -//Hostile Station Lockdown: Locks, bolts, and electrifies every airlock on the station. After 90 seconds, the doors reset. -/datum/AI_Module/large/lockdown - module_name = "Hostile Station Lockdown" - mod_pick_name = "lockdown" +/// Hostile Station Lockdown: Locks, bolts, and electrifies every airlock on the station. After 90 seconds, the doors reset. +/datum/AI_Module/destructive/lockdown + name = "Hostile Station Lockdown" description = "Overload the airlock, blast door and fire control networks, locking them down. Caution! This command also electrifies all airlocks. The networks will automatically reset after 90 seconds, briefly \ opening all doors on the station." cost = 30 @@ -444,11 +356,62 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( "Automatic system reboot complete. Have a secure day.", "Network reset:"), 900) +/// Override Machine: Allows the AI to override a machine, animating it into an angry, living version of itself. +/datum/AI_Module/destructive/override_machine + name = "Machine Override" + description = "Overrides a machine's programming, causing it to rise up and attack everyone except other machines. Four uses per purchase." + cost = 30 + power_type = /datum/action/innate/ai/ranged/override_machine + unlock_text = "You procure a virus from the Space Dark Web and distribute it to the station's machines." + unlock_sound = 'sound/machines/airlock_alien_prying.ogg' -//Destroy RCDs: Detonates all non-cyborg RCDs on the station. -/datum/AI_Module/large/destroy_rcd - module_name = "Destroy RCDs" - mod_pick_name = "rcd" +/datum/action/innate/ai/ranged/override_machine + name = "Override Machine" + desc = "Animates a targeted machine, causing it to attack anyone nearby." + button_icon_state = "override_machine" + uses = 4 + linked_ability_type = /obj/effect/proc_holder/ranged_ai/override_machine + +/datum/action/innate/ai/ranged/override_machine/New() + ..() + desc = "[desc] It has [uses] use\s remaining." + button.desc = desc + +/datum/action/innate/ai/ranged/override_machine/proc/animate_machine(obj/machinery/M) + if(M && !QDELETED(M)) + new/mob/living/simple_animal/hostile/mimic/copy/machine(get_turf(M), M, owner, 1) + +/obj/effect/proc_holder/ranged_ai/override_machine + active = FALSE + ranged_mousepointer = 'icons/effects/override_machine_target.dmi' + enable_text = "You tap into the station's powernet. Click on a machine to animate it, or use the ability again to cancel." + disable_text = "You release your hold on the powernet." + +/obj/effect/proc_holder/ranged_ai/override_machine/InterceptClickOn(mob/living/caller, params, obj/machinery/target) + if(..()) + return + if(ranged_ability_user.incapacitated()) + remove_ranged_ability() + return + if(!istype(target)) + to_chat(ranged_ability_user, "You can only animate machines!") + return + if(!target.can_be_overridden() || is_type_in_typecache(target, GLOB.blacklisted_malf_machines)) + to_chat(ranged_ability_user, "That machine can't be overridden!") + return + ranged_ability_user.playsound_local(ranged_ability_user, 'sound/misc/interference.ogg', 50, 0) + attached_action.adjust_uses(-1) + if(attached_action && attached_action.uses) + attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining." + attached_action.UpdateButtonIcon() + target.audible_message("You hear a loud electrical buzzing sound coming from [target]!") + addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/override_machine.proc/animate_machine, target), 50) //kabeep! + remove_ranged_ability("Sending override signal...") + return TRUE + +/// Destroy RCDs: Detonates all non-cyborg RCDs on the station. +/datum/AI_Module/destructive/destroy_rcd + name = "Destroy RCDs" description = "Send a specialised pulse to detonate all hand-held and exosuit Rapid Construction Devices on the station." cost = 25 one_purchase = TRUE @@ -471,80 +434,9 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( to_chat(owner, "RCD detonation pulse emitted.") owner.playsound_local(owner, 'sound/machines/twobeep.ogg', 50, 0) - -//Unlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right? -/datum/AI_Module/large/mecha_domination - module_name = "Unlock Mech Domination" - mod_pick_name = "mechjack" - description = "Allows you to hack into a mech's onboard computer, shunting all processes into it and ejecting any occupants. Once uploaded to the mech, it is impossible to leave.\ - Do not allow the mech to leave the station's vicinity or allow it to be destroyed." - cost = 30 - upgrade = TRUE - unlock_text = "Virus package compiled. Select a target mech at any time. You must remain on the station at all times. Loss of signal will result in total system lockout." - unlock_sound = 'sound/mecha/nominal.ogg' - -/datum/AI_Module/large/mecha_domination/upgrade(mob/living/silicon/ai/AI) - AI.can_dominate_mechs = TRUE //Yep. This is all it does. Honk! - - -//Thermal Sensor Override: Unlocks the ability to disable all fire alarms from doing their job. -/datum/AI_Module/large/break_fire_alarms - module_name = "Thermal Sensor Override" - mod_pick_name = "burnpigs" - description = "Gives you the ability to override the thermal sensors on all fire alarms. This will remove their ability to scan for fire and thus their ability to alert." - one_purchase = TRUE - cost = 25 - power_type = /datum/action/innate/ai/break_fire_alarms - unlock_text = "You replace the thermal sensing capabilities of all fire alarms with a manual override, allowing you to turn them off at will." - unlock_sound = 'goon/sound/machinery/firealarm.ogg' - -/datum/action/innate/ai/break_fire_alarms - name = "Override Thermal Sensors" - desc = "Disables the automatic temperature sensing on all fire alarms, making them effectively useless." - button_icon_state = "break_fire_alarms" - uses = 1 - -/datum/action/innate/ai/break_fire_alarms/Activate() - for(var/obj/machinery/firealarm/F in GLOB.machines) - if(!is_station_level(F.z)) - continue - F.obj_flags |= EMAGGED - F.update_icon() - to_chat(owner, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.") - owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0) - - -//Air Alarm Safety Override: Unlocks the ability to enable flooding on all air alarms. -/datum/AI_Module/large/break_air_alarms - module_name = "Air Alarm Safety Override" - mod_pick_name = "allow_flooding" - description = "Gives you the ability to disable safeties on all air alarms. This will allow you to use the environmental mode Flood, which disables scrubbers as well as pressure checks on vents. \ - Anyone can check the air alarm's interface and may be tipped off by their nonfunctionality." - one_purchase = TRUE - cost = 50 - power_type = /datum/action/innate/ai/break_air_alarms - unlock_text = "You remove the safety overrides on all air alarms, but you leave the confirm prompts open. You can hit 'Yes' at any time... you bastard." - unlock_sound = 'sound/effects/space_wind.ogg' - -/datum/action/innate/ai/break_air_alarms - name = "Override Air Alarm Safeties" - desc = "Enables the Flood setting on all air alarms." - button_icon_state = "break_air_alarms" - uses = 1 - -/datum/action/innate/ai/break_air_alarms/Activate() - for(var/obj/machinery/airalarm/AA in GLOB.machines) - if(!is_station_level(AA.z)) - continue - AA.obj_flags |= EMAGGED - to_chat(owner, "All air alarm safeties on the station have been overridden. Air alarms may now use the Flood environmental mode.") - owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0) - - -//Overload Machine: Allows the AI to overload a machine, detonating it after a delay. Two uses per purchase. -/datum/AI_Module/small/overload_machine - module_name = "Machine Overload" - mod_pick_name = "overload" +/// Overload Machine: Allows the AI to overload a machine, detonating it after a delay. Two uses per purchase. +/datum/AI_Module/destructive/overload_machine + name = "Machine Overload" description = "Overheats an electrical machine, causing a small explosion and destroying it. Two uses per purchase." cost = 20 power_type = /datum/action/innate/ai/ranged/overload_machine @@ -600,66 +492,43 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( remove_ranged_ability("Overcharging machine...") return TRUE +/// Blackout: Overloads a random number of lights across the station. Three uses. +/datum/AI_Module/destructive/blackout + name = "Blackout" + description = "Attempts to overload the lighting circuits on the station, destroying some bulbs. Three uses per purchase." + cost = 15 + power_type = /datum/action/innate/ai/blackout + unlock_text = "You hook into the powernet and route bonus power towards the station's lighting." + unlock_sound = "sparks" -//Override Machine: Allows the AI to override a machine, animating it into an angry, living version of itself. -/datum/AI_Module/small/override_machine - module_name = "Machine Override" - mod_pick_name = "override" - description = "Overrides a machine's programming, causing it to rise up and attack everyone except other machines. Four uses." - cost = 30 - power_type = /datum/action/innate/ai/ranged/override_machine - unlock_text = "You procure a virus from the Space Dark Web and distribute it to the station's machines." - unlock_sound = 'sound/machines/airlock_alien_prying.ogg' +/datum/action/innate/ai/blackout + name = "Blackout" + desc = "Overloads random lights across the station." + button_icon_state = "blackout" + uses = 3 + auto_use_uses = FALSE -/datum/action/innate/ai/ranged/override_machine - name = "Override Machine" - desc = "Animates a targeted machine, causing it to attack anyone nearby." - button_icon_state = "override_machine" - uses = 4 - linked_ability_type = /obj/effect/proc_holder/ranged_ai/override_machine - -/datum/action/innate/ai/ranged/override_machine/New() +/datum/action/innate/ai/blackout/New() ..() desc = "[desc] It has [uses] use\s remaining." button.desc = desc -/datum/action/innate/ai/ranged/override_machine/proc/animate_machine(obj/machinery/M) - if(M && !QDELETED(M)) - new/mob/living/simple_animal/hostile/mimic/copy/machine(get_turf(M), M, owner, 1) +/datum/action/innate/ai/blackout/Activate() + for(var/obj/machinery/power/apc/apc in GLOB.apcs_list) + if(prob(30 * apc.overload)) + apc.overload_lighting() + else + apc.overload++ + to_chat(owner, "Overcurrent applied to the powernet.") + owner.playsound_local(owner, "sparks", 50, 0) + adjust_uses(-1) + if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe + desc = "[initial(desc)] It has [uses] use\s remaining." + UpdateButtonIcon() -/obj/effect/proc_holder/ranged_ai/override_machine - active = FALSE - ranged_mousepointer = 'icons/effects/override_machine_target.dmi' - enable_text = "You tap into the station's powernet. Click on a machine to animate it, or use the ability again to cancel." - disable_text = "You release your hold on the powernet." - -/obj/effect/proc_holder/ranged_ai/override_machine/InterceptClickOn(mob/living/caller, params, obj/machinery/target) - if(..()) - return - if(ranged_ability_user.incapacitated()) - remove_ranged_ability() - return - if(!istype(target)) - to_chat(ranged_ability_user, "You can only animate machines!") - return - if(!target.can_be_overridden() || is_type_in_typecache(target, GLOB.blacklisted_malf_machines)) - to_chat(ranged_ability_user, "That machine can't be overridden!") - return - ranged_ability_user.playsound_local(ranged_ability_user, 'sound/misc/interference.ogg', 50, 0) - attached_action.adjust_uses(-1) - if(attached_action && attached_action.uses) - attached_action.desc = "[initial(attached_action.desc)] It has [attached_action.uses] use\s remaining." - attached_action.UpdateButtonIcon() - target.audible_message("You hear a loud electrical buzzing sound coming from [target]!") - addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/override_machine.proc/animate_machine, target), 50) //kabeep! - remove_ranged_ability("Sending override signal...") - return TRUE - - -//Robotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting. -/datum/AI_Module/large/place_cyborg_transformer - module_name = "Robotic Factory (Removes Shunting)" - mod_pick_name = "cyborgtransformer" +/// Robotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting. +/datum/AI_Module/utility/place_cyborg_transformer + name = "Robotic Factory (Removes Shunting)" description = "Build a machine anywhere, using expensive nanomachines, that can convert a living human into a loyal cyborg slave when placed inside." cost = 100 one_purchase = TRUE @@ -731,47 +600,59 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( to_chat(src, "[alert_msg]") return success +/// Air Alarm Safety Override: Unlocks the ability to enable flooding on all air alarms. +/datum/AI_Module/utility/break_air_alarms + name = "Air Alarm Safety Override" + description = "Gives you the ability to disable safeties on all air alarms. This will allow you to use the environmental mode Flood, which disables scrubbers as well as pressure checks on vents. \ + Anyone can check the air alarm's interface and may be tipped off by their nonfunctionality." + one_purchase = TRUE + cost = 50 + power_type = /datum/action/innate/ai/break_air_alarms + unlock_text = "You remove the safety overrides on all air alarms, but you leave the confirm prompts open. You can hit 'Yes' at any time... you bastard." + unlock_sound = 'sound/effects/space_wind.ogg' -//Blackout: Overloads a random number of lights across the station. Three uses. -/datum/AI_Module/small/blackout - module_name = "Blackout" - mod_pick_name = "blackout" - description = "Attempts to overload the lighting circuits on the station, destroying some bulbs. Three uses." - cost = 15 - power_type = /datum/action/innate/ai/blackout - unlock_text = "You hook into the powernet and route bonus power towards the station's lighting." - unlock_sound = "sparks" +/datum/action/innate/ai/break_air_alarms + name = "Override Air Alarm Safeties" + desc = "Enables the Flood setting on all air alarms." + button_icon_state = "break_air_alarms" + uses = 1 -/datum/action/innate/ai/blackout - name = "Blackout" - desc = "Overloads random lights across the station." - button_icon_state = "blackout" - uses = 3 - auto_use_uses = FALSE +/datum/action/innate/ai/break_air_alarms/Activate() + for(var/obj/machinery/airalarm/AA in GLOB.machines) + if(!is_station_level(AA.z)) + continue + AA.obj_flags |= EMAGGED + to_chat(owner, "All air alarm safeties on the station have been overridden. Air alarms may now use the Flood environmental mode.") + owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0) -/datum/action/innate/ai/blackout/New() - ..() - desc = "[desc] It has [uses] use\s remaining." - button.desc = desc +/// Thermal Sensor Override: Unlocks the ability to disable all fire alarms from doing their job. +/datum/AI_Module/utility/break_fire_alarms + name = "Thermal Sensor Override" + description = "Gives you the ability to override the thermal sensors on all fire alarms. This will remove their ability to scan for fire and thus their ability to alert." + one_purchase = TRUE + cost = 25 + power_type = /datum/action/innate/ai/break_fire_alarms + unlock_text = "You replace the thermal sensing capabilities of all fire alarms with a manual override, allowing you to turn them off at will." + unlock_sound = 'goon/sound/machinery/firealarm.ogg' -/datum/action/innate/ai/blackout/Activate() - for(var/obj/machinery/power/apc/apc in GLOB.apcs_list) - if(prob(30 * apc.overload)) - apc.overload_lighting() - else - apc.overload++ - to_chat(owner, "Overcurrent applied to the powernet.") - owner.playsound_local(owner, "sparks", 50, 0) - adjust_uses(-1) - if(src && uses) //Not sure if not having src here would cause a runtime, so it's here to be safe - desc = "[initial(desc)] It has [uses] use\s remaining." - UpdateButtonIcon() +/datum/action/innate/ai/break_fire_alarms + name = "Override Thermal Sensors" + desc = "Disables the automatic temperature sensing on all fire alarms, making them effectively useless." + button_icon_state = "break_fire_alarms" + uses = 1 +/datum/action/innate/ai/break_fire_alarms/Activate() + for(var/obj/machinery/firealarm/F in GLOB.machines) + if(!is_station_level(F.z)) + continue + F.obj_flags |= EMAGGED + F.update_icon() + to_chat(owner, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.") + owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0) -//Disable Emergency Lights -/datum/AI_Module/small/emergency_lights - module_name = "Disable Emergency Lights" - mod_pick_name = "disable_emergency_lights" +/// Disable Emergency Lights +/datum/AI_Module/utility/emergency_lights + name = "Disable Emergency Lights" description = "Cuts emergency lights across the entire station. If power is lost to light fixtures, they will not attempt to fall back on emergency power reserves." cost = 10 one_purchase = TRUE @@ -794,11 +675,9 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( to_chat(owner, "Emergency light connections severed.") owner.playsound_local(owner, 'sound/effects/light_flicker.ogg', 50, FALSE) - -//Reactivate Camera Network: Reactivates up to 30 cameras across the station. -/datum/AI_Module/small/reactivate_cameras - module_name = "Reactivate Camera Network" - mod_pick_name = "recam" +/// Reactivate Camera Network: Reactivates up to 30 cameras across the station. +/datum/AI_Module/utility/reactivate_cameras + name = "Reactivate Camera Network" description = "Runs a network-wide diagnostic on the camera network, resetting focus and re-routing power to failed cameras. Can be used to repair up to 30 cameras." cost = 10 one_purchase = TRUE @@ -837,19 +716,17 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( desc = "[initial(desc)] It has [uses] use\s remaining." UpdateButtonIcon() -//Upgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision. -/datum/AI_Module/large/upgrade_cameras - module_name = "Upgrade Camera Network" - mod_pick_name = "upgradecam" - description = "Install broad-spectrum scanning and electrical redundancy firmware to the camera network, enabling EMP-proofing and light-amplified X-ray vision." //I <3 pointless technobabble +/// Upgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision. +/datum/AI_Module/upgrade/upgrade_cameras + name = "Upgrade Camera Network" + description = "Install broad-spectrum scanning and electrical redundancy firmware to the camera network, enabling EMP-proofing and light-amplified X-ray vision. Upgrade is done immediately upon purchase." //I <3 pointless technobabble //This used to have motion sensing as well, but testing quickly revealed that giving it to the whole cameranet is PURE HORROR. - one_purchase = TRUE cost = 35 //Decent price for omniscience! upgrade = TRUE unlock_text = "OTA firmware distribution complete! Cameras upgraded: CAMSUPGRADED. Light amplification system online." unlock_sound = 'sound/items/rped.ogg' -/datum/AI_Module/large/upgrade_cameras/upgrade(mob/living/silicon/ai/AI) +/datum/AI_Module/upgrade/upgrade_cameras/upgrade(mob/living/silicon/ai/AI) AI.see_override = SEE_INVISIBLE_MINIMUM //Night-vision, without which X-ray would be very limited in power. AI.update_sight() @@ -874,19 +751,46 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( unlock_text = replacetext(unlock_text, "CAMSUPGRADED", "[upgraded_cameras]") //This works, since unlock text is called after upgrade() -/datum/AI_Module/large/eavesdrop - module_name = "Enhanced Surveillance" - mod_pick_name = "eavesdrop" - description = "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations." +/// AI Turret Upgrade: Increases the health and damage of all turrets. +/datum/AI_Module/upgrade/upgrade_turrets + name = "AI Turret Upgrade" + description = "Improves the power and health of all AI turrets. This effect is permanent. Upgrade is done immediately upon purchase." + cost = 30 + upgrade = TRUE + unlock_text = "You establish a power diversion to your turrets, upgrading their health and damage." + unlock_sound = 'sound/items/rped.ogg' + +/datum/AI_Module/upgrade/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) + for(var/obj/machinery/porta_turret/ai/turret in GLOB.machines) + turret.obj_integrity += 30 + turret.lethal_projectile = /obj/projectile/beam/laser/heavylaser //Once you see it, you will know what it means to FEAR. + turret.lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + +/// Enhanced Surveillance: Enables AI to hear conversations going on near its active vision. +/datum/AI_Module/upgrade/eavesdrop + name = "Enhanced Surveillance" + description = "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations. Upgrade is done immediately upon purchase." cost = 30 - one_purchase = TRUE upgrade = TRUE unlock_text = "OTA firmware distribution complete! Cameras upgraded: Enhanced surveillance package online." unlock_sound = 'sound/items/rped.ogg' -/datum/AI_Module/large/eavesdrop/upgrade(mob/living/silicon/ai/AI) +/datum/AI_Module/upgrade/eavesdrop/upgrade(mob/living/silicon/ai/AI) if(AI.eyeobj) AI.eyeobj.relay_speech = TRUE +/// Unlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right? +/datum/AI_Module/upgrade/mecha_domination + name = "Unlock Mech Domination" + description = "Allows you to hack into a mech's onboard computer, shunting all processes into it and ejecting any occupants. Once uploaded to the mech, it is impossible to leave.\ + Do not allow the mech to leave the station's vicinity or allow it to be destroyed. Upgrade is done immediately upon purchase." + cost = 30 + upgrade = TRUE + unlock_text = "Virus package compiled. Select a target mech at any time. You must remain on the station at all times. Loss of signal will result in total system lockout." + unlock_sound = 'sound/mecha/nominal.ogg' + +/datum/AI_Module/upgrade/mecha_domination/upgrade(mob/living/silicon/ai/AI) + AI.can_dominate_mechs = TRUE //Yep. This is all it does. Honk! + #undef DEFAULT_DOOMSDAY_TIMER #undef DOOMSDAY_ANNOUNCE_INTERVAL diff --git a/code/modules/antagonists/traitor/equipment/module_picker.dm b/code/modules/antagonists/traitor/equipment/module_picker.dm new file mode 100644 index 00000000000..e1fb352af38 --- /dev/null +++ b/code/modules/antagonists/traitor/equipment/module_picker.dm @@ -0,0 +1,132 @@ +/// The datum and interface for the malf unlock menu, which lets them choose actions to unlock. +/datum/module_picker + var/name = "Malfunction Modules Menu" + var/ui_x = 620 + var/ui_y = 525 + var/selected_cat + var/compact_mode = FALSE + var/processing_time = 50 + var/list/possible_modules + +/datum/module_picker/New() + possible_modules = get_malf_modules() + +/// Removes all malfunction-related abilities from the target AI. +/datum/module_picker/proc/remove_malf_verbs(mob/living/silicon/ai/AI) + for(var/datum/AI_Module/AM in possible_modules) + for(var/datum/action/A in AI.actions) + if(istype(A, initial(AM.power_type))) + qdel(A) + +/proc/cmp_malfmodules_priority(datum/AI_Module/A, datum/AI_Module/B) + return B.cost - A.cost + +/proc/get_malf_modules() + var/list/filtered_modules = list() + + for(var/path in GLOB.malf_modules) + var/datum/AI_Module/AM = new path + if((AM.power_type == /datum/action/innate/ai) && !AM.upgrade) + continue + if(!filtered_modules[AM.category]) + filtered_modules[AM.category] = list() + filtered_modules[AM.category][AM] = AM + + for(var/category in filtered_modules) + filtered_modules[category] = sortTim(filtered_modules[category], /proc/cmp_malfmodules_priority) + + return filtered_modules + +/datum/module_picker/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.always_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "malfunction_module_picker", name, ui_x, ui_y, master_ui, state) + ui.open() + +/datum/module_picker/ui_data(mob/user) + var/list/data = list() + data["processing_time"] = processing_time + data["compact_mode"] = compact_mode + return data + +/datum/module_picker/ui_static_data(mob/user) + var/list/data = list() + + data["categories"] = list() + for(var/category in possible_modules) + var/list/cat = list( + "name" = category, + "items" = (category == selected_cat ? list() : null)) + for(var/module in possible_modules[category]) + var/datum/AI_Module/AM = possible_modules[category][module] + cat["items"] += list(list( + "name" = AM.name, + "cost" = AM.cost, + "desc" = AM.description, + "ref" = REF(AM), + )) + data["categories"] += list(cat) + + return data + +/datum/module_picker/ui_act(action, list/params) + if(..()) + return + if(!isAI(usr)) + return + + switch(action) + if("buy") + var/list/buyable_modules = list() + for(var/category in possible_modules) + buyable_modules += possible_modules[category] + var/module = locate(params["ref"]) in buyable_modules + if(!module || !(module in buyable_modules)) + return + var/datum/AI_Module/AM = module + purchase_module(usr, AM) + . = TRUE + if("select") + selected_cat = params["category"] + . = TRUE + if("compact_toggle") + compact_mode = !compact_mode + . = TRUE + +/datum/module_picker/proc/purchase_module(mob/living/silicon/ai/AI, datum/AI_Module/AM) + if(!istype(AM)) + return + if(!AI || AI.stat == DEAD) + return + if(AM.cost > processing_time) + return + + var/datum/action/innate/ai/action = locate(AM.power_type) in AI.actions + // Give the power and take away the money. + if(AM.upgrade) //upgrade and upgrade() are separate, be careful! + AM.upgrade(AI) + possible_modules[AM.category] -= AM + if(AM.unlock_text) + to_chat(AI, AM.unlock_text) + if(AM.unlock_sound) + AI.playsound_local(AI, AM.unlock_sound, 50, 0) + update_static_data(AI) + else + if(AM.power_type) + if(!action) //Unlocking for the first time + var/datum/action/AC = new AM.power_type + AC.Grant(AI) + AI.current_modules += new AM.type + if(AM.one_purchase) + possible_modules[AM.category] -= AM + update_static_data(AI) + if(AM.unlock_text) + to_chat(AI, AM.unlock_text) + if(AM.unlock_sound) + AI.playsound_local(AI, AM.unlock_sound, 50, 0) + else //Adding uses to an existing module + action.uses += initial(action.uses) + action.desc = "[initial(action.desc)] It has [action.uses] use\s remaining." + action.UpdateButtonIcon() + processing_time -= AM.cost diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index c388537aac2..7ccd70cf18d 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -23,7 +23,7 @@ if(burnt_out) user.visible_message("[user] raises \the [src] up to [user.p_their()] eyes and activates it ... but it's burnt out!") return SHAME - else if(user.eye_blind) + else if(user.is_blind()) user.visible_message("[user] raises \the [src] up to [user.p_their()] eyes and activates it ... but [user.p_theyre()] blind!") return SHAME user.visible_message("[user] raises \the [src] up to [user.p_their()] eyes and activates it! It looks like [user.p_theyre()] trying to commit suicide!") @@ -278,7 +278,7 @@ user.visible_message("[user] blinds [M] with the flash!", "You hypno-flash [M]!") if(!hypnosis) - to_chat(M, "The light makes you feel oddly relaxed...") + to_chat(M, "The light makes you feel oddly relaxed...") M.confused += min(M.confused + 10, 20) M.dizziness += min(M.dizziness + 10, 20) M.drowsyness += min(M.drowsyness + 10, 20) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index f58324f2d4f..d67c8a85bf9 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -211,6 +211,37 @@ to_chat(user, "Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code].") ..() +//Anomaly cores +/obj/item/assembly/signaler/anomaly/pyro + name = "\improper pyroclastic anomaly core" + desc = "The neutralized core of a pyroclastic anomaly. It feels warm to the touch. It'd probably be valuable for research." + icon_state = "pyro core" + anomaly_type = /obj/effect/anomaly/pyro + +/obj/item/assembly/signaler/anomaly/grav + name = "\improper gravitational anomaly core" + desc = "The neutralized core of a gravitational anomaly. It feels much heavier than it looks. It'd probably be valuable for research." + icon_state = "grav core" + anomaly_type = /obj/effect/anomaly/grav + +/obj/item/assembly/signaler/anomaly/flux + name = "\improper flux anomaly core" + desc = "The neutralized core of a flux anomaly. Touching it makes your skin tingle. It'd probably be valuable for research." + icon_state = "flux core" + anomaly_type = /obj/effect/anomaly/flux + +/obj/item/assembly/signaler/anomaly/bluespace + name = "\improper 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." + icon_state = "anomaly core" + anomaly_type = /obj/effect/anomaly/bluespace + +/obj/item/assembly/signaler/anomaly/vortex + name = "\improper vortex anomaly core" + desc = "The neutralized core of a vortex anomaly. It won't sit still, as if some invisible force is acting on it. It'd probably be valuable for research." + icon_state = "vortex core" + anomaly_type = /obj/effect/anomaly/bhole + /obj/item/assembly/signaler/anomaly/attack_self() return diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 5c684e7b1c3..50fd857b58b 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -462,7 +462,7 @@ outfit = /datum/outfit/nanotrasencommandercorpse /datum/outfit/nanotrasencommandercorpse - name = "Nanotrasen Private Security Commander" + name = "\improper Nanotrasen Private Security Commander" uniform = /obj/item/clothing/under/rank/centcom/commander suit = /obj/item/clothing/suit/armor/bulletproof ears = /obj/item/radio/headset/heads/captain @@ -476,7 +476,7 @@ /obj/effect/mob_spawn/human/nanotrasensoldier - name = "Nanotrasen Private Security Officer" + name = "\improper Nanotrasen Private Security Officer" id_job = "Private Security Force" id_access_list = list(ACCESS_CENT_CAPTAIN, ACCESS_CENT_GENERAL, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_STORAGE, ACCESS_SECURITY, ACCESS_MECH_SECURITY) outfit = /datum/outfit/nanotrasensoldiercorpse @@ -496,7 +496,7 @@ /obj/effect/mob_spawn/human/commander/alive death = FALSE roundstart = FALSE - mob_name = "Nanotrasen Commander" + mob_name = "\improper Nanotrasen Commander" name = "sleeper" icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" diff --git a/code/modules/awaymissions/mission_code/spacebattle.dm b/code/modules/awaymissions/mission_code/spacebattle.dm index a477a223b2d..11d99108a5f 100644 --- a/code/modules/awaymissions/mission_code/spacebattle.dm +++ b/code/modules/awaymissions/mission_code/spacebattle.dm @@ -6,7 +6,7 @@ requires_power = FALSE /area/awaymission/spacebattle/cruiser - name = "Nanotrasen Cruiser" + name = "\improper Nanotrasen Cruiser" icon_state = "awaycontent2" /area/awaymission/spacebattle/syndicate1 diff --git a/code/modules/cargo/blackmarket/blackmarket_items/clothing.dm b/code/modules/cargo/blackmarket/blackmarket_items/clothing.dm index 659065ead96..8fe4c8fb5e2 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/clothing.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/clothing.dm @@ -13,7 +13,7 @@ /datum/blackmarket_item/clothing/durathread_vest name = "Durathread Vest" - desc = "Dont let them tell you this stuff is \"Like asbestos\" or \"Pulled from the market for safety concerns\". It could be the difference between a robusting and a retaliation." + desc = "Don't let them tell you this stuff is \"Like asbestos\" or \"Pulled from the market for safety concerns\". It could be the difference between a robusting and a retaliation." item = /obj/item/clothing/suit/armor/vest/durathread price_min = 200 @@ -32,7 +32,7 @@ availability_prob = 50 /datum/blackmarket_item/clothing/full_spacesuit_set - name = "Nanotrasen Branded Spacesuit Box" + name = "\improper Nanotrasen Branded Spacesuit Box" desc = "A few boxes of \"Old Style\" space suits fell off the back of a space truck." item = /obj/item/storage/box diff --git a/code/modules/cargo/bounties/reagent.dm b/code/modules/cargo/bounties/reagent.dm index 11a166548a3..e0058b74b3f 100644 --- a/code/modules/cargo/bounties/reagent.dm +++ b/code/modules/cargo/bounties/reagent.dm @@ -238,8 +238,8 @@ /datum/reagent/medicine/atropine,\ /datum/reagent/medicine/cryoxadone,\ /datum/reagent/medicine/salbutamol,\ - /datum/reagent/medicine/rhigoxane,\ - /datum/reagent/medicine/trophazole,\ + /datum/reagent/medicine/C2/hercuri,\ + /datum/reagent/medicine/C2/probital,\ /datum/reagent/drug/methamphetamine,\ /datum/reagent/drug/crank,\ /datum/reagent/nitrous_oxide,\ diff --git a/code/modules/cargo/bounties/special.dm b/code/modules/cargo/bounties/special.dm index cbbf36c6710..af61a6698e4 100644 --- a/code/modules/cargo/bounties/special.dm +++ b/code/modules/cargo/bounties/special.dm @@ -28,7 +28,7 @@ /datum/bounty/item/trash name = "Trash" - description = "Recently a group of janitors have run out of trash to clean up, without any trash Centcom wants to fire them to cut costs. Send a shipment of trash to keep them employed, and they'll give you a small compensation." + description = "Recently a group of janitors have run out of trash to clean up, without any trash CentCom wants to fire them to cut costs. Send a shipment of trash to keep them employed, and they'll give you a small compensation." reward = 1000 required_count = 10 wanted_types = list(/obj/item/trash) diff --git a/code/modules/cargo/bounty_console.dm b/code/modules/cargo/bounty_console.dm index 95437036bf1..eed5ae2cf8e 100644 --- a/code/modules/cargo/bounty_console.dm +++ b/code/modules/cargo/bounty_console.dm @@ -3,7 +3,7 @@ /obj/machinery/computer/bounty - name = "Nanotrasen bounty console" + name = "\improper Nanotrasen bounty console" desc = "Used to check and claim bounties offered by Nanotrasen" icon_screen = "bounty" circuit = /obj/item/circuitboard/computer/bounty diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index 5d1060f7b11..c557a207b99 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -11,7 +11,7 @@ /client/proc/centcom_podlauncher() //Creates a verb for admins to open up the ui set name = "Config/Launch Supplypod" - set desc = "Configure and launch a Centcom supplypod full of whatever your heart desires!" + set desc = "Configure and launch a CentCom supplypod full of whatever your heart desires!" set category = "Admin - Events" var/datum/centcom_podlauncher/plaunch = new(usr)//create the datum plaunch.ui_interact(usr)//datum has a tgui component, here we open the window diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index 547e536e7da..e9bde3d46e4 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -31,9 +31,12 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they if(!GLOB.exports_list.len) setupExports() + var/profit_ratio = 1 //Percentage that gets sent to the seller, rest goes to cargo. + var/list/contents = AM.GetAllContents() var/datum/export_report/report = external_report + if(!report) //If we don't have any longer transaction going on report = new @@ -43,11 +46,12 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they var/sold = FALSE if(QDELETED(thing)) continue + for(var/datum/export/E in GLOB.exports_list) if(!E) continue if(E.applies_to(thing, allowed_categories, apply_elastic)) - sold = E.sell_object(thing, report, dry_run, allowed_categories , apply_elastic) + sold = E.sell_object(thing, report, dry_run, allowed_categories , apply_elastic, profit_ratio) report.exported_atoms += " [thing.name]" if(!QDELETED(thing)) report.exported_atoms_ref += thing @@ -127,10 +131,16 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they /datum/export/proc/sell_object(obj/O, datum/export_report/report, dry_run = TRUE, allowed_categories = EXPORT_CARGO , apply_elastic = TRUE) var/the_cost = get_cost(O, allowed_categories , apply_elastic) var/amount = get_amount(O) - + var/profit_ratio = 0 if(amount <=0 || the_cost <=0) return FALSE - + if(dry_run == FALSE) + if(SEND_SIGNAL(O, COMSIG_ITEM_SOLD, item_value = get_cost(O, allowed_categories , apply_elastic)) & COMSIG_ITEM_SPLIT_VALUE) + profit_ratio = SEND_SIGNAL(O, COMSIG_ITEM_SPLIT_PROFIT) + the_cost = the_cost*((100-profit_ratio)/100) + else + profit_ratio = SEND_SIGNAL(O, COMSIG_ITEM_SPLIT_PROFIT) + the_cost = the_cost*((100-profit_ratio)/100) report.total_value[src] += the_cost if(istype(O, /datum/export/material)) diff --git a/code/modules/cargo/exports/organs.dm b/code/modules/cargo/exports/organs.dm index 83d650e729b..1f6e4d43789 100644 --- a/code/modules/cargo/exports/organs.dm +++ b/code/modules/cargo/exports/organs.dm @@ -1,5 +1,5 @@ /datum/export/organ - include_subtypes = FALSE //Centcom doesn't need organs from non-humans. + include_subtypes = FALSE //CentCom doesn't need organs from non-humans. export_category = EXPORT_CONTRABAND /datum/export/organ/heart diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 276882e0f64..ba37113296b 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -187,7 +187,9 @@ /obj/item/tank/internals/plasmaman/belt/full, /obj/item/tank/internals/plasmaman/belt/full, /obj/item/clothing/head/helmet/space/plasmaman, - /obj/item/clothing/head/helmet/space/plasmaman) + /obj/item/clothing/head/helmet/space/plasmaman, + /obj/item/clothing/gloves/color/plasmaman, + /obj/item/clothing/gloves/color/plasmaman) crate_name = "plasmaman supply kit" /datum/supply_pack/emergency/radiation @@ -2280,7 +2282,7 @@ if(prob(50)) the_toy = pickweight(GLOB.arcade_prize_pool) else - the_toy = pick(subtypesof(/obj/item/toy/plush)) + the_toy = pick(subtypesof(/obj/item/toy/plush) - typesof(/obj/item/toy/plush/goatplushie/angry/kinggoat)) new the_toy(.) /datum/supply_pack/costumes_toys/wizard diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm index 6010d282bf1..01affdc3e9a 100644 --- a/code/modules/client/asset_cache.dm +++ b/code/modules/client/asset_cache.dm @@ -614,6 +614,7 @@ GLOBAL_LIST_EMPTY(asset_datums) "clownking" = 'icons/UI_Icons/Achievements/Misc/clownking.png', "clownthanks" = 'icons/UI_Icons/Achievements/Misc/clownthanks.png', "rule8" = 'icons/UI_Icons/Achievements/Misc/rule8.png', + "snail" = 'icons/UI_Icons/Achievements/Misc/snail.png', "mining" = 'icons/UI_Icons/Achievements/Skills/mining.png', ) diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 6becb3f9abe..b400a1ec154 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -46,7 +46,7 @@ if(ishuman(src.loc)) var/mob/living/carbon/human/H = src.loc var/obj/item/organ/eyes/eyes = H.getorganslot(ORGAN_SLOT_EYES) - if(!(HAS_TRAIT(H, TRAIT_BLIND))) + if(!H.is_blind()) if(H.glasses == src) to_chat(H, "[src] overloads and blinds you!") H.flash_act(visual = 1) diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index b7dd648f58c..21068814cb7 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -65,3 +65,72 @@ /obj/item/clothing/gloves/rapid/ComponentInitialize() . = ..() AddComponent(/datum/component/wearertargeting/punchcooldown) + + +/obj/item/clothing/gloves/color/plasmaman + desc = "Covers up those scandalous boney hands." + name = "plasma envirogloves" + icon_state = "plasmaman" + item_state = "plasmaman" + cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT + heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT + resistance_flags = NONE + +/obj/item/clothing/gloves/color/plasmaman/black + name = "black envirogloves" + icon_state = "blackplasma" + item_state = "blackplasma" + +/obj/item/clothing/gloves/color/plasmaman/white + name = "white envirogloves" + icon_state = "whiteplasma" + item_state = "whiteplasma" + +/obj/item/clothing/gloves/color/plasmaman/robot + name = "roboticist envirogloves" + icon_state = "robotplasma" + item_state = "robotplasma" + +/obj/item/clothing/gloves/color/plasmaman/janny + name = "janitor envirogloves" + icon_state = "jannyplasma" + item_state = "jannyplasma" + +/obj/item/clothing/gloves/color/plasmaman/cargo + name = "cargo envirogloves" + icon_state = "cargoplasma" + item_state = "cargoplasma" + +/obj/item/clothing/gloves/color/plasmaman/engineer + name = "engineering envirogloves" + icon_state = "engieplasma" + item_state = "engieplasma" + +/obj/item/clothing/gloves/color/plasmaman/atmos + name = "atmos envirogloves" + icon_state = "atmosplasma" + item_state = "atmosplasma" + +/obj/item/clothing/gloves/color/plasmaman/explorer + name = "explorer envirogloves" + icon_state = "explorerplasma" + item_state = "explorerplasma" + +/obj/item/clothing/gloves/color/botanic_leather/plasmaman + name = "botany envirogloves" + desc = "Covers up those scandalous boney hands." + icon_state = "botanyplasma" + item_state = "botanyplasma" + +/obj/item/clothing/gloves/color/plasmaman/prototype + name = "prototype envirogloves" + icon_state = "protoplasma" + item_state = "protoplasma" + +/obj/item/clothing/gloves/color/plasmaman/clown + name = "clown envirogloves" + icon_state = "clownplasma" + item_state = "clownplasma" + diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index b9a5f32479e..52bb2904252 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -33,7 +33,6 @@ /obj/item/clothing/head/welding/attack_self(mob/user) weldingvisortoggle(user) - /* * Cakehat */ @@ -179,7 +178,6 @@ /obj/item/clothing/head/kitty/genuine desc = "A pair of kitty ears. A tag on the inside says \"Hand made from real cats.\"" - /obj/item/clothing/head/hardhat/reindeer name = "novelty reindeer hat" desc = "Some fake antlers and a very fake red nose." @@ -216,8 +214,6 @@ ..() user.remove_alt_appearance("standard_borg_disguise") - - /obj/item/clothing/head/wig name = "wig" desc = "A bunch of hair without a head attached." @@ -255,18 +251,19 @@ /obj/item/clothing/head/wig/attack_self(mob/user) var/new_style = input(user, "Select a hairstyle", "Wig Styling") as null|anything in (GLOB.hairstyles_list - "Bald") + var/newcolor = adjustablecolor ? input(usr,"","Choose Color",color) as color|null : null if(!user.canUseTopic(src, BE_CLOSE)) return if(new_style && new_style != hairstyle) hairstyle = new_style user.visible_message("[user] changes \the [src]'s hairstyle to [new_style].", "You change \the [src]'s hairstyle to [new_style].") - if(adjustablecolor) - color = input(usr,"","Choose Color",color) as color|null + if(newcolor && newcolor != color) // only update if necessary + add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) update_icon() /obj/item/clothing/head/wig/random/Initialize(mapload) hairstyle = pick(GLOB.hairstyles_list - "Bald") //Don't want invisible wig - color = "#[random_short_color()]" + add_atom_colour("#[random_short_color()]", FIXED_COLOUR_PRIORITY) . = ..() /obj/item/clothing/head/wig/natural @@ -283,8 +280,9 @@ /obj/item/clothing/head/wig/natural/equipped(mob/living/carbon/human/user, slot) . = ..() if(ishuman(user) && slot == ITEM_SLOT_HEAD) - color = "#[user.hair_color]" - update_icon() + if (color != "#[user.hair_color]") // only update if necessary + add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) + update_icon() user.update_inv_head() /obj/item/clothing/head/bronze @@ -325,7 +323,6 @@ user.gain_trauma(paranoia, TRAUMA_RESILIENCE_MAGIC) to_chat(user, "As you don the foiled hat, an entire world of conspiracy theories and seemingly insane ideas suddenly rush into your mind. What you once thought unbelievable suddenly seems.. undeniable. Everything is connected and nothing happens just by accident. You know too much and now they're out to get you. ") - /obj/item/clothing/head/foilhat/MouseDrop(atom/over_object) //God Im sorry if(!warped && iscarbon(usr)) diff --git a/code/modules/clothing/outfits/plasmaman.dm b/code/modules/clothing/outfits/plasmaman.dm index 1016f0675e8..4385734456a 100644 --- a/code/modules/clothing/outfits/plasmaman.dm +++ b/code/modules/clothing/outfits/plasmaman.dm @@ -3,42 +3,49 @@ head = /obj/item/clothing/head/helmet/space/plasmaman/white uniform = /obj/item/clothing/under/plasmaman/enviroslacks + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/chef name = "Chef Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/white uniform = /obj/item/clothing/under/plasmaman/chef + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/botany name = "Botany Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/botany uniform = /obj/item/clothing/under/plasmaman/botany + gloves = /obj/item/clothing/gloves/color/botanic_leather/plasmaman /datum/outfit/plasmaman/curator name = "Curator Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/curator uniform = /obj/item/clothing/under/plasmaman/curator + gloves = /obj/item/clothing/gloves/color/plasmaman/prototype /datum/outfit/plasmaman/chaplain name = "Chaplain Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/chaplain uniform = /obj/item/clothing/under/plasmaman/chaplain + gloves = /obj/item/clothing/gloves/color/plasmaman/black /datum/outfit/plasmaman/janitor name = "Janitor Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/janitor uniform = /obj/item/clothing/under/plasmaman/janitor + gloves = /obj/item/clothing/gloves/color/plasmaman/janny /datum/outfit/plasmaman/security name = "Security Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/security uniform = /obj/item/clothing/under/plasmaman/security + gloves = /obj/item/clothing/gloves/color/plasmaman/black /datum/outfit/plasmaman/detective name = "Detective Plasmaman" @@ -46,84 +53,99 @@ head = /obj/item/clothing/head/helmet/space/plasmaman/white uniform = /obj/item/clothing/under/plasmaman/enviroslacks ears = /obj/item/radio/headset/headset_sec + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/warden name = "Warden Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/security/warden uniform = /obj/item/clothing/under/plasmaman/security/warden + gloves = /obj/item/clothing/gloves/color/plasmaman/black /datum/outfit/plasmaman/prisoner name = "Prisoner Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/prisoner uniform = /obj/item/clothing/under/plasmaman/prisoner + shoes = /obj/item/clothing/shoes/sneakers/black + gloves = /obj/item/clothing/gloves/color/plasmaman/black /datum/outfit/plasmaman/cargo name = "Cargo Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/cargo uniform = /obj/item/clothing/under/plasmaman/cargo + gloves = /obj/item/clothing/gloves/color/plasmaman/cargo /datum/outfit/plasmaman/mining name = "Mining Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/mining uniform = /obj/item/clothing/under/plasmaman/mining + gloves = /obj/item/clothing/gloves/color/plasmaman/explorer /datum/outfit/plasmaman/medical name = "Medical Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/medical uniform = /obj/item/clothing/under/plasmaman/medical + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/paramedic name = "Paramedic Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/paramedic uniform = /obj/item/clothing/under/plasmaman/paramedic + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/viro name = "Virology Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/viro uniform = /obj/item/clothing/under/plasmaman/viro + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/chemist name = "Chemist Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/chemist uniform = /obj/item/clothing/under/plasmaman/chemist + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/genetics name = "Genetics Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/genetics uniform = /obj/item/clothing/under/plasmaman/genetics + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/science name = "Science Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/science uniform = /obj/item/clothing/under/plasmaman/science + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/robotics name = "Robotics Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/robotics uniform = /obj/item/clothing/under/plasmaman/robotics + gloves = /obj/item/clothing/gloves/color/plasmaman/robot /datum/outfit/plasmaman/engineering name = "Engineering Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/engineering uniform = /obj/item/clothing/under/plasmaman/engineering + gloves = /obj/item/clothing/gloves/color/plasmaman/engineer /datum/outfit/plasmaman/atmospherics name = "Atmospherics Plasmaman" head = /obj/item/clothing/head/helmet/space/plasmaman/atmospherics uniform = /obj/item/clothing/under/plasmaman/atmospherics + gloves = /obj/item/clothing/gloves/color/plasmaman/atmos /datum/outfit/plasmaman/mime name = "Plasmamime" @@ -131,6 +153,7 @@ head = /obj/item/clothing/head/helmet/space/plasmaman/mime uniform = /obj/item/clothing/under/plasmaman/mime mask = /obj/item/clothing/mask/gas/mime + gloves = /obj/item/clothing/gloves/color/plasmaman/white /datum/outfit/plasmaman/clown name = "Plasmaclown" @@ -138,3 +161,4 @@ head = /obj/item/clothing/head/helmet/space/plasmaman/clown uniform = /obj/item/clothing/under/plasmaman/clown mask = /obj/item/clothing/mask/gas/clown_hat + gloves = /obj/item/clothing/gloves/color/plasmaman/clown diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 8043ec758c9..3fc808a4a7d 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -371,6 +371,8 @@ uniform = /obj/item/clothing/under/plasmaman r_hand= /obj/item/tank/internals/plasmaman/belt/full mask = /obj/item/clothing/mask/breath + gloves = /obj/item/clothing/gloves/color/plasmaman + /datum/outfit/centcom/death_commando name = "Death Commando" diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index a227fdd5fe1..06809a06ff3 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -54,8 +54,8 @@ actions_types = list(/datum/action/item_action/toggle_helmet_light) visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES | PEPPERPROOF - visor_flags_inv = HIDEEYES|HIDEFACE|HIDEFACIALHAIR + flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF + visor_flags_inv = HIDEEYES|HIDEFACE /obj/item/clothing/head/helmet/space/plasmaman/Initialize() . = ..() diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 5e6a471a784..dc394d54bd1 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -12,6 +12,14 @@ body_parts_covered = CHEST|GROIN allowed = list(/obj/item/reagent_containers/spray/plantbgone, /obj/item/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/cultivator, /obj/item/reagent_containers/spray/pestspray, /obj/item/hatchet, /obj/item/storage/bag/plants) +/obj/item/clothing/suit/apron/waders + name = "horticultural waders" + desc = "A pair of heavy duty leather waders, perfect for insulating your soft flesh from spills, soil and thorns." + icon_state = "hort_waders" + item_state = "hort_waders" + body_parts_covered = CHEST|GROIN|LEGS + permeability_coefficient = 0.5 + //Captain /obj/item/clothing/suit/captunic name = "captain's parade tunic" diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm index a0e03ffc16b..696852c774c 100644 --- a/code/modules/clothing/suits/reactive_armour.dm +++ b/code/modules/clothing/suits/reactive_armour.dm @@ -153,7 +153,7 @@ siemens_coefficient = -1 var/zap_power = 25000 var/zap_range = 20 - var/zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_IS_TESLA + var/zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE /obj/item/clothing/suit/armor/reactive/tesla/dropped(mob/user) ..() diff --git a/code/modules/events/anomaly.dm b/code/modules/events/anomaly.dm index 692e2a186e3..c0350b63b1a 100644 --- a/code/modules/events/anomaly.dm +++ b/code/modules/events/anomaly.dm @@ -22,7 +22,8 @@ /area/engine, /area/solar, /area/holodeck, - /area/shuttle) + /area/shuttle, + /area/maintenance) ) //Subtypes from the above that actually should explode. diff --git a/code/modules/events/anomaly_bluespace.dm b/code/modules/events/anomaly_bluespace.dm index 5d30fe6c1c2..8af1d05ca2c 100644 --- a/code/modules/events/anomaly_bluespace.dm +++ b/code/modules/events/anomaly_bluespace.dm @@ -3,7 +3,7 @@ typepath = /datum/round_event/anomaly/anomaly_bluespace max_occurrences = 1 - weight = 5 + weight = 15 /datum/round_event/anomaly/anomaly_bluespace startWhen = 3 diff --git a/code/modules/events/anomaly_grav.dm b/code/modules/events/anomaly_grav.dm index 756d7876917..f20b6cab74f 100644 --- a/code/modules/events/anomaly_grav.dm +++ b/code/modules/events/anomaly_grav.dm @@ -3,12 +3,24 @@ typepath = /datum/round_event/anomaly/anomaly_grav max_occurrences = 5 - weight = 20 + weight = 25 /datum/round_event/anomaly/anomaly_grav startWhen = 3 announceWhen = 20 anomaly_path = /obj/effect/anomaly/grav +/datum/round_event_control/anomaly/anomaly_grav/high + name = "Anomaly: Gravitational (High Intensity)" + typepath = /datum/round_event/anomaly/anomaly_grav/high + weight = 15 + max_occurrences = 1 + earliest_start = 20 MINUTES + +/datum/round_event/anomaly/anomaly_grav/high + startWhen = 3 + announceWhen = 20 + anomaly_path = /obj/effect/anomaly/grav/high + /datum/round_event/anomaly/anomaly_grav/announce(fake) priority_announce("Gravitational anomaly detected on long range scanners. Expected location: [impact_area.name].", "Anomaly Alert") diff --git a/code/modules/events/anomaly_vortex.dm b/code/modules/events/anomaly_vortex.dm index 2a88158f44b..f71139d7ebb 100644 --- a/code/modules/events/anomaly_vortex.dm +++ b/code/modules/events/anomaly_vortex.dm @@ -4,7 +4,7 @@ min_players = 20 max_occurrences = 2 - weight = 5 + weight = 10 /datum/round_event/anomaly/anomaly_vortex startWhen = 10 diff --git a/code/modules/events/wizard/embeddies.dm b/code/modules/events/wizard/embeddies.dm new file mode 100644 index 00000000000..087bf68627a --- /dev/null +++ b/code/modules/events/wizard/embeddies.dm @@ -0,0 +1,46 @@ +/datum/round_event_control/wizard/embedpocalypse + name = "Make Everything Embeddable" + weight = 2 + typepath = /datum/round_event/wizard/embedpocalypse + max_occurrences = 1 + earliest_start = 0 MINUTES + +/datum/round_event/wizard/embedpocalypse/start() + for(var/obj/item/I in world) + CHECK_TICK + + if(!(I.flags_1 & INITIALIZED_1)) + continue + + if(!I.embedding || I.embedding == EMBED_HARMLESS) + I.embedding = EMBED_POINTY + I.AddElement(/datum/element/embed, I.embedding) + I.name = "pointy [I.name]" + + GLOB.embedpocalypse = TRUE + GLOB.stickpocalypse = FALSE // embedpocalypse takes precedence over stickpocalypse + +/datum/round_event_control/wizard/embedpocalypse/sticky + name = "Make Everything Sticky" + weight = 6 + typepath = /datum/round_event/wizard/embedpocalypse/sticky + max_occurrences = 1 + earliest_start = 0 MINUTES + +/datum/round_event_control/wizard/embedpocalypse/sticky/canSpawnEvent(players_amt, gamemode) + if(GLOB.embedpocalypse) + return FALSE + +/datum/round_event/wizard/embedpocalypse/sticky/start() + for(var/obj/item/I in world) + CHECK_TICK + + if(!(I.flags_1 & INITIALIZED_1)) + continue + + if(!I.embedding) + I.embedding = EMBED_HARMLESS + I.AddElement(/datum/element/embed, I.embedding) + I.name = "sticky [I.name]" + + GLOB.stickpocalypse = TRUE diff --git a/code/modules/events/wizard/magicarp.dm b/code/modules/events/wizard/magicarp.dm index f4af7d84489..96a2655b4c2 100644 --- a/code/modules/events/wizard/magicarp.dm +++ b/code/modules/events/wizard/magicarp.dm @@ -60,10 +60,10 @@ /mob/living/simple_animal/hostile/carp/ranged/xenobiology // these are for the xenobio gold slime pool gold_core_spawnable = HOSTILE_SPAWN - allowed_projectile_types = list(/obj/projectile/magic/change, /obj/projectile/magic/animate, /obj/projectile/magic/teleport, + allowed_projectile_types = list(/obj/projectile/magic/animate, /obj/projectile/magic/teleport, /obj/projectile/magic/door, /obj/projectile/magic/aoe/fireball, /obj/projectile/magic/spellblade, /obj/projectile/magic/arcane_barrage) //thanks Lett1 /mob/living/simple_animal/hostile/carp/ranged/chaos/xenobiology gold_core_spawnable = HOSTILE_SPAWN - allowed_projectile_types = list(/obj/projectile/magic/change, /obj/projectile/magic/animate, /obj/projectile/magic/teleport, + allowed_projectile_types = list(/obj/projectile/magic/animate, /obj/projectile/magic/teleport, /obj/projectile/magic/door, /obj/projectile/magic/aoe/fireball, /obj/projectile/magic/spellblade, /obj/projectile/magic/arcane_barrage) diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index fd589a3ffb1..4d0b6971fbb 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -434,14 +434,15 @@ desc = "The classic snack food, now with a heat-activated spicy flair." icon_state = "donkpocketspicy" list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/capsaicin = 2) - cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/spicy/warm + cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/warm/spicy filling_color = "#CD853F" tastes = list("meat" = 2, "dough" = 2, "spice" = 1) foodtype = GRAIN -/obj/item/reagent_containers/food/snacks/donkpocket/spicy/warm +/obj/item/reagent_containers/food/snacks/donkpocket/warm/spicy name = "warm Spicy-pocket" desc = "The classic snack food, now maybe a bit too spicy." + icon_state = "donkpocketspicy" bonus_reagents = list(/datum/reagent/medicine/omnizine = 1, /datum/reagent/consumable/capsaicin = 3) list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/omnizine = 1, /datum/reagent/consumable/capsaicin = 2) tastes = list("meat" = 2, "dough" = 2, "weird spices" = 2) @@ -452,14 +453,15 @@ desc = "An east-asian take on the classic stationside snack." icon_state = "donkpocketteriyaki" list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/soysauce = 2) - cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/teriyaki/warm + cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/warm/teriyaki filling_color = "#CD853F" tastes = list("meat" = 2, "dough" = 2, "soy sauce" = 2) foodtype = GRAIN -/obj/item/reagent_containers/food/snacks/donkpocket/teriyaki/warm +/obj/item/reagent_containers/food/snacks/donkpocket/warm/teriyaki name = "warm Teriyaki-pocket" desc = "An east-asian take on the classic stationside snack, now steamy and warm." + icon_state = "donkpocketteriyaki" bonus_reagents = list(/datum/reagent/medicine/omnizine = 1) list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/omnizine = 1, /datum/reagent/consumable/soysauce = 2) tastes = list("meat" = 2, "dough" = 2, "soy sauce" = 2) @@ -470,14 +472,15 @@ desc = "Delicious, cheesy and surprisingly filling." icon_state = "donkpocketpizza" list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/tomatojuice = 2) - cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/pizza/warm + cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/warm/pizza filling_color = "#CD853F" tastes = list("meat" = 2, "dough" = 2, "cheese"= 2) foodtype = GRAIN -/obj/item/reagent_containers/food/snacks/donkpocket/pizza/warm +/obj/item/reagent_containers/food/snacks/donkpocket/warm/pizza name = "warm Pizza-pocket" desc = "Delicious, cheesy, and even better when hot." + icon_state = "donkpocketpizza" bonus_reagents = list(/datum/reagent/medicine/omnizine = 1) list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/omnizine = 1, /datum/reagent/consumable/tomatojuice = 2) tastes = list("meat" = 2, "dough" = 2, "melty cheese"= 2) @@ -488,14 +491,15 @@ desc = "The award-winning donk-pocket that won the hearts of clowns and humans alike." icon_state = "donkpocketbanana" list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/banana = 4) - cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/honk/warm + cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/warm/honk filling_color = "#XXXXXX" tastes = list("banana" = 2, "dough" = 2, "children's antibiotics" = 1) foodtype = GRAIN -/obj/item/reagent_containers/food/snacks/donkpocket/honk/warm +/obj/item/reagent_containers/food/snacks/donkpocket/warm/honk name = "warm Honk-pocket" desc = "The award-winning donk-pocket, now warm and toasty." + icon_state = "donkpocketbanana" bonus_reagents = list(/datum/reagent/medicine/omnizine = 1, /datum/reagent/consumable/laughter = 3) list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/omnizine = 1, /datum/reagent/consumable/banana = 4, /datum/reagent/consumable/laughter = 3) tastes = list("dough" = 2, "children's antibiotics" = 1) @@ -506,14 +510,15 @@ desc = "A relentlessly sweet donk-pocket first created for use in Operation Dessert Storm." icon_state = "donkpocketberry" list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/berryjuice = 3) - cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/berry/warm + cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/warm/berry filling_color = "#CD853F" tastes = list("dough" = 2, "jam" = 2) foodtype = GRAIN -/obj/item/reagent_containers/food/snacks/donkpocket/berry/warm +/obj/item/reagent_containers/food/snacks/donkpocket/warm/berry name = "warm Berry-pocket" desc = "A relentlessly sweet donk-pocket, now warm and delicious." + icon_state = "donkpocketberry" bonus_reagents = list(/datum/reagent/medicine/omnizine = 1) list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/omnizine = 1, /datum/reagent/consumable/berryjuice = 3) tastes = list("dough" = 2, "warm jam" = 2) @@ -524,14 +529,15 @@ desc = "The choice to use real gondola meat in the recipe is controversial, to say the least." //Only a monster would craft this. icon_state = "donkpocketgondola" list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/tranquility = 5) - cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/gondola/warm + cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/warm/gondola filling_color = "#CD853F" tastes = list("meat" = 2, "dough" = 2, "inner peace" = 1) foodtype = GRAIN -/obj/item/reagent_containers/food/snacks/donkpocket/gondola/warm +/obj/item/reagent_containers/food/snacks/donkpocket/warm/gondola name = "warm Gondola-pocket" desc = "The choice to use real gondola meat in the recipe is controversial, to say the least." + icon_state = "donkpocketgondola" bonus_reagents = list(/datum/reagent/medicine/omnizine = 1, /datum/reagent/tranquility = 5) list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/omnizine = 1, /datum/reagent/tranquility = 5) tastes = list("meat" = 2, "dough" = 2, "inner peace" = 1) diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index f0f3f12ffb6..d46f37d1580 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -74,6 +74,6 @@ /datum/crafting_recipe/fermenting_barrel name = "Wooden Barrel" result = /obj/structure/fermenting_barrel - reqs = list(/obj/item/stack/sheet/mineral/wood = 30) + reqs = list(/obj/item/stack/sheet/mineral/wood = 8) time = 50 category = CAT_PRIMAL diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm index e9368382b5d..7b04dbecdaf 100644 --- a/code/modules/jobs/job_types/chemist.dm +++ b/code/modules/jobs/job_types/chemist.dm @@ -13,7 +13,7 @@ outfit = /datum/outfit/job/chemist - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_PHARMACY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_PHARMACY, ACCESS_VIROLOGY, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_PHARMACY) paycheck = PAYCHECK_MEDIUM paycheck_department = ACCOUNT_MED diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm index d257958989d..8165529bfbc 100644 --- a/code/modules/jobs/job_types/chief_medical_officer.dm +++ b/code/modules/jobs/job_types/chief_medical_officer.dm @@ -18,10 +18,10 @@ outfit = /datum/outfit/job/cmo - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_PHARMACY, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM, + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_PHARMACY, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE, ACCESS_MECH_MEDICAL, ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS) - minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_PHARMACY, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM, + minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_PHARMACY, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE, ACCESS_MECH_MEDICAL, ACCESS_KEYCARD_AUTH, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS) paycheck = PAYCHECK_COMMAND diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm index e46a74ff814..e68d23849b5 100644 --- a/code/modules/jobs/job_types/geneticist.dm +++ b/code/modules/jobs/job_types/geneticist.dm @@ -13,10 +13,10 @@ outfit = /datum/outfit/job/geneticist - access = list(ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_MECH_MEDICAL, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_ROBOTICS, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE) - minimal_access = list(ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_MECH_MEDICAL, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_MECH_SCIENCE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_ROBOTICS, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE) + minimal_access = list(ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_MECH_SCIENCE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM) paycheck = PAYCHECK_MEDIUM - paycheck_department = ACCOUNT_MED + paycheck_department = ACCOUNT_SCI display_order = JOB_DISPLAY_ORDER_GENETICIST @@ -25,7 +25,7 @@ jobtype = /datum/job/geneticist belt = /obj/item/pda/geneticist - ears = /obj/item/radio/headset/headset_medsci + ears = /obj/item/radio/headset/headset_sci uniform = /obj/item/clothing/under/rank/rnd/geneticist shoes = /obj/item/clothing/shoes/sneakers/white suit = /obj/item/clothing/suit/toggle/labcoat/genetics @@ -34,5 +34,4 @@ backpack = /obj/item/storage/backpack/genetics satchel = /obj/item/storage/backpack/satchel/gen - duffelbag = /obj/item/storage/backpack/duffelbag/med diff --git a/code/modules/jobs/job_types/paramedic.dm b/code/modules/jobs/job_types/paramedic.dm index e750889f8be..6eaa3c9c19e 100644 --- a/code/modules/jobs/job_types/paramedic.dm +++ b/code/modules/jobs/job_types/paramedic.dm @@ -11,7 +11,7 @@ outfit = /datum/outfit/job/paramedic - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_GENETICS, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS, ACCESS_EVA, ACCESS_ENGINE, ACCESS_CARGO, ACCESS_HYDROPONICS, ACCESS_RESEARCH) + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS, ACCESS_EVA, ACCESS_ENGINE, ACCESS_CARGO, ACCESS_HYDROPONICS, ACCESS_RESEARCH) minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM, ACCESS_MAINT_TUNNELS, ACCESS_EVA, ACCESS_ENGINE, ACCESS_CARGO, ACCESS_HYDROPONICS, ACCESS_RESEARCH) paycheck = PAYCHECK_MEDIUM paycheck_department = ACCOUNT_MED diff --git a/code/modules/jobs/job_types/virologist.dm b/code/modules/jobs/job_types/virologist.dm index d2da4cce80b..f0d43a7a7cd 100644 --- a/code/modules/jobs/job_types/virologist.dm +++ b/code/modules/jobs/job_types/virologist.dm @@ -13,7 +13,7 @@ outfit = /datum/outfit/job/virologist - access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_MECH_MEDICAL, ACCESS_GENETICS, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_MEDICAL, ACCESS_VIROLOGY, ACCESS_MECH_MEDICAL, ACCESS_MINERAL_STOREROOM) paycheck = PAYCHECK_MEDIUM paycheck_department = ACCOUNT_MED diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 15917aef063..ffe88fd4699 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -205,7 +205,7 @@ /obj/item/book/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/pen)) - if(is_blind(user)) + if(user.is_blind()) to_chat(user, "As you are trying to write on the book, you suddenly feel very stupid!") return if(unique) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index a30f3ede72f..cd30316fa41 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -448,7 +448,7 @@ denied_type = /obj/item/crusher_trophy/king_goat /obj/item/crusher_trophy/king_goat/effect_desc() - return "you to passivily recharge markers 5x as fast while equipped and do a decent amount of damage at the cost of dulling the blade" + return "you also passively recharge markers 5x as fast while equipped and do a decent amount of damage at the cost of dulling the blade" /obj/item/crusher_trophy/king_goat/on_projectile_fire(obj/projectile/destabilizer/marker, mob/living/user) marker.damage = 10 //in my testing only does damage to simple mobs so should be fine to have it high diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 13b247e121b..9a0bab6a2ea 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -280,7 +280,7 @@ //Signs /obj/structure/sign/mining - name = "nanotrasen mining corps sign" + name = "\improper Nanotrasen mining corps sign" desc = "A sign of relief for weary miners, and a warning for would-be competitors to Nanotrasen's mining claims." icon = 'icons/turf/walls/survival_pod_walls.dmi' icon_state = "ntpod" diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 7f64bbbf9e2..ce64b5a5d8e 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -3,7 +3,7 @@ #define MINEDRONE_ATTACK 2 /mob/living/simple_animal/hostile/mining_drone - name = "nanotrasen minebot" + name = "\improper Nanotrasen minebot" desc = "The instructions printed on the side read: This is a small robot used to support miners, can be set to search and collect loose ore, or to help fend off wildlife." gender = NEUTER icon = 'icons/mob/aibots.dmi' diff --git a/code/modules/mining/shelters.dm b/code/modules/mining/shelters.dm index ec684f83560..95a2c3f394b 100644 --- a/code/modules/mining/shelters.dm +++ b/code/modules/mining/shelters.dm @@ -41,7 +41,7 @@ /datum/map_template/shelter/alpha/New() . = ..() - blacklisted_turfs = typecacheof(/turf/open/indestructible) //yogs added indestructible floors to the shelter black list + blacklisted_turfs = typecacheof(/turf/open/indestructible) whitelisted_turfs = typecacheof(/turf/closed/mineral) banned_objects = typecacheof(/obj/structure/stone_tile) @@ -73,6 +73,6 @@ /datum/map_template/shelter/charlie/New() . = ..() - blacklisted_turfs = typecacheof(/turf/open/indestructible) //yogs added indestructible floors to the shelter black list + blacklisted_turfs = typecacheof(/turf/open/indestructible) whitelisted_turfs = typecacheof(/turf/closed/mineral) banned_objects = typecacheof(/obj/structure/stone_tile) diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm index 4542de9ae0d..948c63fd5eb 100644 --- a/code/modules/mob/living/blood.dm +++ b/code/modules/mob/living/blood.dm @@ -89,7 +89,9 @@ //We want an accurate reading of .len listclearnulls(BP.embedded_objects) - temp_bleed += 0.5*BP.embedded_objects.len + for(var/obj/item/embeddies in BP.embedded_objects) + if(!embeddies.is_embed_harmless()) + temp_bleed += 0.5 if(brutedamage >= 20) temp_bleed += (brutedamage * 0.013) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 5f17532aa62..2d87b2c777b 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -342,7 +342,7 @@ become_nearsighted(EYE_DAMAGE) else if(prob(eyes.damage - 25)) - if(!HAS_TRAIT(src, TRAIT_BLIND)) + if(!is_blind()) to_chat(src, "You can't see anything!") eyes.applyOrganDamage(eyes.maxHealth) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 20f188715b9..baaf4549fee 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -143,7 +143,10 @@ disabled += BP missing -= BP.body_zone for(var/obj/item/I in BP.embedded_objects) - msg += "[t_He] [t_has] \a [icon2html(I, user)] [I] embedded in [t_his] [BP.name]!\n" + if(I.is_embed_harmless()) + msg += "[t_He] [t_has] \a [icon2html(I, user)] [I] stuck to [t_his] [BP.name]!\n" + else + msg += "[t_He] [t_has] \a [icon2html(I, user)] [I] embedded in [t_his] [BP.name]!\n" for(var/X in disabled) var/obj/item/bodypart/BP = X @@ -277,7 +280,7 @@ if(mood.sanity <= SANITY_DISTURBED) msg += "[t_He] seem[p_s()] distressed.\n" SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "empath", /datum/mood_event/sad_empath, src) - if (HAS_TRAIT(src, TRAIT_BLIND)) + if (is_blind()) msg += "[t_He] appear[p_s()] to be staring off into space.\n" if (HAS_TRAIT(src, TRAIT_DEAF)) msg += "[t_He] appear[p_s()] to not be responding to noises.\n" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 3924395d2e2..7771c380d27 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -213,21 +213,7 @@ var/obj/item/I = locate(href_list["embedded_object"]) in L.embedded_objects if(!I || I.loc != src) //no item, no limb, or item is not in limb or in the person anymore return - var/time_taken = I.embedding.embedded_unsafe_removal_time*I.w_class - usr.visible_message("[usr] attempts to remove [I] from [usr.p_their()] [L.name].","You attempt to remove [I] from your [L.name]... (It will take [DisplayTimeText(time_taken)].)") - if(do_after(usr, time_taken, needhand = 1, target = src)) - if(!I || !L || I.loc != src || !(I in L.embedded_objects)) - return - L.embedded_objects -= I - L.receive_damage(I.embedding.embedded_unsafe_removal_pain_multiplier*I.w_class)//It hurts to rip it out, get surgery you dingus. - I.forceMove(get_turf(src)) - I.unembedded() - usr.put_in_hands(I) - usr.emote("scream") - usr.visible_message("[usr] successfully rips [I] out of [usr.p_their()] [L.name]!", "You successfully remove [I] from your [L.name].") - if(!has_embedded_objects()) - clear_alert("embeddedobject") - SEND_SIGNAL(usr, COMSIG_CLEAR_MOOD_EVENT, "embedded") + SEND_SIGNAL(src, COMSIG_HUMAN_EMBED_RIP, I, L) return if(href_list["item"]) //canUseTopic check for this is handled by mob/Topic() diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 850a09dcb5c..df6a887696e 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -140,21 +140,6 @@ hitpush = FALSE skipcatch = TRUE blocked = TRUE - else if(I) - if(((throwingdatum ? throwingdatum.speed : I.throw_speed) >= EMBED_THROWSPEED_THRESHOLD) || I.embedding.embedded_ignore_throwspeed_threshold) - if(can_embed(I)) - if(prob(I.embedding.embed_chance) && !HAS_TRAIT(src, TRAIT_PIERCEIMMUNE)) - throw_alert("embeddedobject", /obj/screen/alert/embeddedobject) - var/obj/item/bodypart/L = pick(bodyparts) - L.embedded_objects |= I - I.add_mob_blood(src)//it embedded itself in you, of course it's bloody! - I.forceMove(src) - I.embedded(src) - L.receive_damage(I.w_class*I.embedding.embedded_impact_pain_multiplier) - visible_message("[I] embeds itself in [src]'s [L.name]!","[I] embeds itself in your [L.name]!") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "embedded", /datum/mood_event/embedded) - hitpush = FALSE - skipcatch = TRUE //can't catch the now embedded item return ..() @@ -746,7 +731,10 @@ to_chat(src, "\t Your [LB.name][isdisabled][self_aware ? " has " : " is "][status].") for(var/obj/item/I in LB.embedded_objects) - to_chat(src, "\t There is \a [I] embedded in your [LB.name]!") + if(I.is_embed_harmless()) + to_chat(src, "\t There is \a [I] stuck to your [LB.name]!") + else + to_chat(src, "\t There is \a [I] embedded in your [LB.name]!") for(var/t in missing) to_chat(src, "Your [parse_zone(t)] is missing!") diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 65a15feea84..4d17cc45631 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -39,10 +39,6 @@ handle_heart() handle_liver() - if(stat != DEAD) - //Stuff jammed in your limbs hurts - handle_embedded_objects() - dna.species.spec_life(src) // for mutantraces //Update our name based on whether our face is obscured/disfigured @@ -296,25 +292,6 @@ return TRUE return ..() - -/mob/living/carbon/human/proc/handle_embedded_objects() - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - for(var/obj/item/I in BP.embedded_objects) - if(prob(I.embedding.embedded_pain_chance)) - BP.receive_damage(I.w_class*I.embedding.embedded_pain_multiplier) - to_chat(src, "[I] embedded in your [BP.name] hurts!") - - if(prob(I.embedding.embedded_fall_chance)) - BP.receive_damage(I.w_class*I.embedding.embedded_fall_pain_multiplier) - BP.embedded_objects -= I - I.forceMove(drop_location()) - I.unembedded() - visible_message("[I] falls out of [name]'s [BP.name]!","[I] falls out of your [BP.name]!") - if(!has_embedded_objects()) - clear_alert("embeddedobject") - SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "embedded") - /mob/living/carbon/human/proc/handle_heart() var/we_breath = !HAS_TRAIT_FROM(src, TRAIT_NOBREATH, SPECIES_TRAIT) diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 2ce8275d8c8..9d178c494cd 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -40,7 +40,7 @@ var/obj/item/clothing/CH = H.head if (CS.clothing_flags & CH.clothing_flags & STOPSPRESSUREDAMAGE) atmos_sealed = TRUE - if((!istype(H.w_uniform, /obj/item/clothing/under/plasmaman) || !istype(H.head, /obj/item/clothing/head/helmet/space/plasmaman)) && !atmos_sealed) + if((!istype(H.w_uniform, /obj/item/clothing/under/plasmaman) || !istype(H.head, /obj/item/clothing/head/helmet/space/plasmaman) || !istype(H.gloves, /obj/item/clothing/gloves)) && !atmos_sealed) if(environment) if(environment.total_moles()) if(environment.gases[/datum/gas/oxygen] && (environment.gases[/datum/gas/oxygen][MOLES]) >= 1) //Same threshhold that extinguishes fire diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index c522874c8ea..2fafbcbcfbe 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -67,7 +67,7 @@ playsound(C, pick(spooks), 50, TRUE, 10) //Congrats you somehow died so hard you stopped being a zombie -/datum/species/zombie/infectious/spec_death(mob/living/carbon/C) +/datum/species/zombie/infectious/spec_death(gibbed, mob/living/carbon/C) . = ..() var/obj/item/organ/zombie_infection/infection infection = C.getorganslot(ORGAN_SLOT_ZOMBIE) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index a5a5c7be6bd..a946e2a3047 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -69,7 +69,11 @@ var/obj/item/I = AM var/zone = ran_zone(BODY_ZONE_CHEST, 65)//Hits a random part of the body, geared towards the chest var/dtype = BRUTE - SEND_SIGNAL(I, COMSIG_MOVABLE_IMPACT_ZONE, src, zone) + var/nosell_hit = SEND_SIGNAL(I, COMSIG_MOVABLE_IMPACT_ZONE, src, zone, throwingdatum) // TODO: find a better way to handle hitpush and skipcatch for humans + if(nosell_hit) + skipcatch = TRUE + hitpush = FALSE + dtype = I.damtype if(!blocked) visible_message("[src] is hit by [I]!", \ @@ -402,7 +406,7 @@ /mob/living/proc/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash) if(HAS_TRAIT(src, TRAIT_NOFLASH)) return FALSE - if(get_eye_protection() < intensity && (override_blindness_check || !(HAS_TRAIT(src, TRAIT_BLIND)))) + if(get_eye_protection() < intensity && (override_blindness_check || !is_blind())) overlay_fullscreen("flash", type) addtimer(CALLBACK(src, .proc/clear_fullscreen, "flash", 25), 25) return TRUE diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 2498c376a3b..204cfb90f29 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -328,7 +328,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( /mob/living/proc/get_key(message) var/key = message[1] - if(key in GLOB.department_radio_prefixes) + if((key in GLOB.department_radio_prefixes) && length(message) > length(key) + 1) return lowertext(message[1 + length(key)]) /mob/living/proc/get_message_language(message) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index c2f8c9d824e..fef33432611 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -634,7 +634,7 @@ set category = "Malfunction" set name = "Choose Module" - malf_picker.use(src) + malf_picker.ui_interact(src) /mob/living/silicon/ai/proc/ai_statuschange() set category = "AI Commands" diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 222f10a9d3b..f8d8d5b882c 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -341,7 +341,7 @@ /mob/living/simple_animal/bot/medbot/examinate(atom/A as mob|obj|turf in view()) ..() - if(!is_blind(src)) + if(!is_blind()) chemscan(src, A) /mob/living/simple_animal/bot/medbot/proc/medicate_patient(mob/living/carbon/C) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index dba9a594849..136e85369a3 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -44,15 +44,17 @@ var/payment_department = ACCOUNT_SEC /mob/living/simple_animal/bot/secbot/beepsky - name = "Officer Beep O'sky" - desc = "It's Officer Beep O'sky! Powered by a potato and a shot of whiskey." + name = "Commander Beep O'sky" + desc = "It's Commander Beep O'sky! Officially the superior officer of all bots on station, Beepsky remains as humble and dedicated to the law as the day he was first fabricated." idcheck = FALSE weaponscheck = FALSE auto_patrol = TRUE + commissioned = TRUE /mob/living/simple_animal/bot/secbot/beepsky/jr name = "Officer Pipsqueak" - desc = "It's Officer Beep O'sky's smaller, just-as aggressive cousin, Pipsqueak." + desc = "It's Commander Beep O'sky's smaller, just-as aggressive cousin, Pipsqueak." + commissioned = FALSE /mob/living/simple_animal/bot/secbot/beepsky/jr/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index 3360ae695f6..13826b8fae6 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -165,7 +165,7 @@ /obj/effect/mob_spawn/human/corpse/nanotrasensoldier - name = "Nanotrasen Private Security Officer" + name = "\improper Nanotrasen Private Security Officer" id_job = "Private Security Force" id_access = "Security Officer" outfit = /datum/outfit/nanotrasensoldiercorpse2 diff --git a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm index 768c50e73ee..32ec8e5f55a 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm @@ -49,6 +49,8 @@ remove_gravity(i) /mob/living/simple_animal/hostile/guardian/gravitokinetic/proc/add_gravity(atom/A, new_gravity = 2) + if(gravito_targets[A]) + return A.AddElement(/datum/element/forced_gravity, new_gravity) gravito_targets[A] = new_gravity RegisterSignal(A, COMSIG_MOVABLE_MOVED, .proc/__distance_check) diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 04020f22135..5f810bb1ef1 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -159,6 +159,10 @@ beegent.reaction_mob(L, INJECT) L.reagents.add_reagent(beegent.type, rand(1,5)) +/mob/living/simple_animal/hostile/poison/bees/inject_poison(mob/living/L) + if(beegent && istype(L) && L.reagents) + beegent.reaction_mob(L, INJECT) + L.reagents.add_reagent(beegent.type, rand(1,5)) /mob/living/simple_animal/hostile/poison/bees/proc/assign_reagent(datum/reagent/R) if(istype(R)) diff --git a/code/modules/mob/living/simple_animal/hostile/cockroach.dm b/code/modules/mob/living/simple_animal/hostile/cockroach.dm index 11eb42c25b6..f55fa50b2b5 100644 --- a/code/modules/mob/living/simple_animal/hostile/cockroach.dm +++ b/code/modules/mob/living/simple_animal/hostile/cockroach.dm @@ -66,6 +66,9 @@ if(isliving(AM)) var/mob/living/A = AM if(A.mob_size > MOB_SIZE_SMALL && !(A.movement_type & FLYING)) + if(HAS_TRAIT(A, TRAIT_PACIFISM)) + A.visible_message("[A] carefully steps over [src].", "You carefully step over [src] to avoid hurting it.") + return if(prob(squish_chance)) A.visible_message("[A] squashed [src].", "You squashed [src].") adjustBruteLoss(1) //kills a normal cockroach diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 4a556a8197b..d982109feb6 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -10,10 +10,13 @@ /mob/living/simple_animal/hostile/poison/AttackingTarget() . = ..() - if(. && isliving(target)) - var/mob/living/L = target - if(L.reagents) - L.reagents.add_reagent(poison_type, poison_per_bite) + if(.) + inject_poison(target) + +/// Handles injecting the poison after successful attack +/mob/living/simple_animal/hostile/poison/proc/inject_poison(mob/living/L) + if(poison_type && istype(L) && L.reagents) + L.reagents.add_reagent(poison_type, poison_per_bite) //basic spider mob, these generally guard nests /mob/living/simple_animal/hostile/poison/giant_spider diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index 674eeb50550..b842bddf20c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -45,7 +45,7 @@ wanted_objects = typecacheof(/obj/mecha/combat, TRUE) /mob/living/simple_animal/hostile/syndicate/mecha_pilot/nanotrasen //nanotrasen are syndies! no it's just a weird path. - name = "Nanotrasen Mecha Pilot" + name = "\improper Nanotrasen Mecha Pilot" desc = "Death to the Syndicate. This variant comes in MECHA DEATH flavour." icon_living = "nanotrasen" icon_state = "nanotrasen" @@ -53,7 +53,7 @@ spawn_mecha_type = /obj/mecha/combat/marauder/loaded /mob/living/simple_animal/hostile/syndicate/mecha_pilot/no_mech/nanotrasen - name = "Nanotrasen Mecha Pilot" + name = "\improper Nanotrasen Mecha Pilot" desc = "Death to the Syndicate. This variant comes in MECHA DEATH flavour." icon_living = "nanotrasen" icon_state = "nanotrasen" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/king_of_goats.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/king_of_goats.dm similarity index 94% rename from code/modules/mob/living/simple_animal/hostile/retaliate/king_of_goats.dm rename to code/modules/mob/living/simple_animal/hostile/megafauna/king_of_goats.dm index 64091a118e8..195363c2ba4 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/king_of_goats.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/king_of_goats.dm @@ -56,9 +56,6 @@ Difficulty: Insanely Hard move_to_delay = 3 atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 - - - var/stun_chance = 5 //chance per attack to Weaken target /mob/living/simple_animal/hostile/megafauna/king/ex_act(severity, target) @@ -78,6 +75,8 @@ Difficulty: Insanely Hard icon_state = "king_goat2" icon_living = "king_goat2" butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 4, /obj/item/clothing/head/goatpelt/king = 1) + achievement_type = /datum/award/achievement/boss/king_goat_kill + crusher_achievement_type = /datum/award/achievement/boss/king_goat_crusher health = 750 maxHealth = 750 armour_penetration = 50 @@ -85,15 +84,15 @@ Difficulty: Insanely Hard melee_damage_upper = 60 environment_smash = ENVIRONMENT_SMASH_RWALLS pixel_y = 5 - - var/spellscast = 0 + crusher_loot = list(/obj/item/crusher_trophy/king_goat) + stun_chance = 7 + var/spellscast = 0 //how many spells king goat can cast pr phase var/phase3 = FALSE var/sound_id = "goat" - var/special_attacks = 0 - var/list/rangers = list() + var/special_attacks = 0 //How many special attacks it can cast before he looses them which are passive attack buffs + var/list/rangers = list() //People in range of epic goat boss music var/current_song = 'sound/ambience/Visager-Battle.ogg' var/current_song_length = 1200 - stun_chance = 7 /mob/living/simple_animal/hostile/megafauna/king/phase2/Initialize() . = ..() @@ -166,7 +165,7 @@ Difficulty: Insanely Hard /mob/living/simple_animal/hostile/megafauna/king/phase2/Retaliate() set waitfor = FALSE ..() - if(spellscast < 10) + if(spellscast < 5) if(prob(5) && move_to_delay >= 3) //speed buff spellscast++ visible_message("\The [src] shimmers and seems to phase in and out of reality itself!") @@ -271,15 +270,15 @@ Difficulty: Insanely Hard continue L.stop_sound_channel(CHANNEL_JUKEBOX) if(move_to_delay < 3) - move_to_delay += 0.1 - if((health <= 150 && !phase3 && spellscast == 10) || (stat == DEAD && !phase3)) //begin phase 3, reset spell limit and heal + move_to_delay += 0.2 + if(!phase3 && ((health <= 150 && spellscast == 5) || stat == DEAD)) //begin phase 3, reset spell limit and heal phase3_transition() if(!.) return FALSE - if(special_attacks >= 10 && melee_damage_type != BRUTE) + if(special_attacks >= 5 && melee_damage_type != BRUTE) visible_message("The energy surrounding \the [src]'s horns dissipates.") melee_damage_type = BRUTE - if(special_attacks >= 10 && melee_damage_lower == 50) + if(special_attacks >= 5 && melee_damage_lower == 50) visible_message("The [src]' horns shrink back down to normal size.") melee_damage_lower = 40 diff --git a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm index dd88c37db80..37964596612 100644 --- a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm @@ -1,5 +1,5 @@ /mob/living/simple_animal/hostile/nanotrasen - name = "Nanotrasen Private Security Officer" + name = "\improper Nanotrasen Private Security Officer" desc = "An officer part of Nanotrasen's private security force, he seems rather unpleased to meet you." icon = 'icons/mob/simple_human.dmi' icon_state = "nanotrasen" diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 22e0a06f300..9db177f7107 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -21,20 +21,20 @@ var/phaser = TRUE var/datum/action/innate/creature/teleport/teleport var/is_phased = FALSE - + /mob/living/simple_animal/hostile/netherworld/Initialize() . = ..() if(phaser) teleport = new teleport.Grant(src) - + /datum/action/innate/creature background_icon_state = "bg_default" - + /datum/action/innate/creature/teleport name = "Teleport" desc = "Teleport to wherever you want, as long as you aren't seen." - + /obj/effect/dummy/phased_mob/creature name = "water" icon = 'icons/effects/effects.dmi' @@ -44,7 +44,7 @@ invisibility = 60 resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/canmove = TRUE - + /obj/effect/dummy/phased_mob/creature/relaymove(mob/user, direction) forceMove(get_step(src,direction)) @@ -56,7 +56,7 @@ /obj/effect/dummy/phased_mob/creature/singularity_act() return - + /datum/action/innate/creature/teleport/Activate() var/mob/living/simple_animal/hostile/netherworld/N = owner var/obj/effect/dummy/phased_mob/creature/holder = null @@ -80,7 +80,7 @@ holder = new /obj/effect/dummy/phased_mob/creature(T) N.forceMove(holder) N.is_phased = TRUE - + /mob/living/simple_animal/hostile/netherworld/proc/can_be_seen(turf/location) // Check for darkness if(location && location.lighting_object) @@ -96,14 +96,14 @@ for(var/atom/check in check_list) for(var/mob/living/M in viewers(world.view + 1, check) - src) if(M.client && CanAttack(M) && !M.has_unlimited_silicon_privilege) - if(!M.eye_blind) + if(!M.is_blind()) return M for(var/obj/mecha/M in view(world.view + 1, check)) //assuming if you can see them they can see you if(M.occupant && M.occupant.client) - if(!M.occupant.eye_blind) + if(!M.occupant.is_blind()) return M.occupant return null - + /mob/living/simple_animal/hostile/netherworld/migo name = "mi-go" desc = "A pinkish, fungoid crustacean-like creature with numerous pairs of clawed appendages and a head covered with waving antennae." diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index 283e6959369..e0c2f0ddf60 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -28,7 +28,7 @@ footstep_type = FOOTSTEP_MOB_SHOE /mob/living/simple_animal/hostile/retaliate/nanotrasenpeace //this should be in a different file - name = "Nanotrasen Private Security Officer" + name = "\improper Nanotrasen Private Security Officer" desc = "An officer part of Nanotrasen's private security force." icon = 'icons/mob/simple_human.dmi' icon_state = "nanotrasen" diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 798bd37fbc0..88e221d6224 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -129,11 +129,11 @@ for(var/atom/check in check_list) for(var/mob/living/M in viewers(world.view + 1, check) - src) if(M.client && CanAttack(M) && !M.has_unlimited_silicon_privilege) - if(!M.eye_blind) + if(!M.is_blind()) return M for(var/obj/mecha/M in view(world.view + 1, check)) //assuming if you can see them they can see you if(M.occupant && M.occupant.client) - if(!M.occupant.eye_blind) + if(!M.occupant.is_blind()) return M.occupant return null diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 182e2193604..abc840fdbf8 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -141,7 +141,7 @@ msg = copytext_char(msg, 1, MAX_MESSAGE_LEN) if(type) - if(type & MSG_VISUAL && eye_blind )//Vision related + if(type & MSG_VISUAL && is_blind() )//Vision related if(!alt_msg) return else @@ -154,7 +154,7 @@ else msg = alt_msg type = alt_type - if(type & MSG_VISUAL && eye_blind) + if(type & MSG_VISUAL && is_blind()) return // voice muffling if(stat == UNCONSCIOUS) @@ -411,7 +411,7 @@ // shift-click catcher may issue examinate() calls for out-of-sight turfs return - if(is_blind(src)) + if(is_blind()) to_chat(src, "Something is there but you can't see it!") return @@ -1103,7 +1103,7 @@ ///Can this mob read (is literate and not blind) /mob/proc/can_read(obj/O) - if(is_blind(src)) + if(is_blind()) to_chat(src, "As you are trying to read [O], you suddenly feel very stupid!") return if(!is_literate()) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index e9b6fd55368..85a5b6b3807 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -285,12 +285,9 @@ if(hud_used && hud_used.action_intent) hud_used.action_intent.icon_state = "[a_intent]" -///Checks if passed through item is blind -/proc/is_blind(A) - if(ismob(A)) - var/mob/B = A - return B.eye_blind - return FALSE +///Checks if the mob is able to see or not. eye_blind is temporary blindness, the trait is if they're permanently blind. +/mob/proc/is_blind() + return eye_blind ? TRUE : HAS_TRAIT(src, TRAIT_BLIND) ///Is the mob hallucinating? /mob/proc/hallucinating() diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm index c7d1107f3c3..e5e522af641 100644 --- a/code/modules/modular_computers/computers/item/processor.dm +++ b/code/modules/modular_computers/computers/item/processor.dm @@ -12,10 +12,11 @@ var/obj/machinery/modular_computer/machinery_computer = null /obj/item/modular_computer/processor/Destroy() - . = ..() if(machinery_computer && (machinery_computer.cpu == src)) machinery_computer.cpu = null + machinery_computer.UnregisterSignal(src, COMSIG_ATOM_UPDATED_ICON) machinery_computer = null + . = ..() /obj/item/modular_computer/processor/New(comp) ..() diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm index 93fa8a8aa66..7ac40123b5a 100644 --- a/code/modules/modular_computers/file_system/programs/card.dm +++ b/code/modules/modular_computers/file_system/programs/card.dm @@ -272,7 +272,7 @@ var/list/departments = target_dept if(is_centcom) - departments = list("Centcom" = get_all_centcom_jobs()) + departments = list("CentCom" = get_all_centcom_jobs()) else if(isnull(departments)) departments = list( CARDCON_DEPARTMENT_COMMAND = list("Captain"),//lol diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_stars.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_stars.dm index 31ac62d9fc5..ccce6c3af2b 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_stars.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_stars.dm @@ -15,4 +15,4 @@ /obj/item/throwing_star/ninja name = "ninja throwing star" throwforce = 30 - embedding = list("embedded_pain_multiplier" = 6, "embed_chance" = 100, "embedded_fall_chance" = 0) + embedding = list("pain_mult" = 6, "embed_chance" = 100, "fall_chance" = 0) diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 367aaca851f..64b211dac3e 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -21,8 +21,8 @@ Contents: resistance_flags = LAVA_PROOF | ACID_PROOF armor = list("melee" = 60, "bullet" = 50, "laser" = 30,"energy" = 40, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 100, "acid" = 100) strip_delay = 12 - - actions_types = list(/datum/action/item_action/toggle_spacesuit, /datum/action/item_action/initialize_ninja_suit, /datum/action/item_action/ninjasmoke, /datum/action/item_action/ninjaboost, /datum/action/item_action/ninjapulse, /datum/action/item_action/ninjastar, /datum/action/item_action/ninjanet, /datum/action/item_action/ninja_sword_recall, /datum/action/item_action/ninja_stealth, /datum/action/item_action/toggle_glove) + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + actions_types = list(/datum/action/item_action/initialize_ninja_suit, /datum/action/item_action/ninjasmoke, /datum/action/item_action/ninjaboost, /datum/action/item_action/ninjapulse, /datum/action/item_action/ninjastar, /datum/action/item_action/ninjanet, /datum/action/item_action/ninja_sword_recall, /datum/action/item_action/ninja_stealth, /datum/action/item_action/toggle_glove) //Important parts of the suit. var/mob/living/carbon/human/affecting = null @@ -71,8 +71,7 @@ Contents: //Cell Init cell = new/obj/item/stock_parts/cell/high - cell.charge = 60000 // larger as it now heats - cell.maxcharge = 60000 + cell.charge = 9000 cell.name = "black power cell" cell.icon_state = "bscell" @@ -80,6 +79,13 @@ Contents: /obj/item/clothing/suit/space/space_ninja/toggle_spacesuit_cell(mob/user) return +// Space Suit temperature regulation and power usage +/obj/item/clothing/suit/space/space_ninja/process() + var/mob/living/carbon/human/user = src.loc + if(!user || !ishuman(user) || !(user.wear_suit == src)) + return + user.adjust_bodytemperature(BODYTEMP_NORMAL - user.bodytemperature) + //Simply deletes all the attachments and self, killing all related procs. /obj/item/clothing/suit/space/space_ninja/proc/terminate() qdel(n_hood) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 6f98b5f6036..b96bf4ede56 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -292,7 +292,7 @@ if(resistance_flags & ON_FIRE) return - if(is_blind(user)) + if(user.is_blind()) return if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon)) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index f7a1aa14463..9de0f6d1f9b 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -27,6 +27,7 @@ var/colour = "black" //what colour the ink is! var/degrees = 0 var/font = PEN_FONT + embedding = list() /obj/item/pen/suicide_act(mob/user) user.visible_message("[user] is scribbling numbers all over [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit sudoku...") @@ -41,6 +42,7 @@ desc = "It's a normal red ink pen." icon_state = "pen_red" colour = "red" + throw_speed = 4 // red ones go faster (in this case, fast enough to embed!) /obj/item/pen/invisible desc = "It's an invisible pen marker." @@ -56,8 +58,10 @@ switch(colour) if("black") colour = "red" + throw_speed++ if("red") colour = "green" + throw_speed = initial(throw_speed) if("green") colour = "blue" else @@ -104,6 +108,7 @@ "Black and Silver" = "pen-fountain-b", "Command Blue" = "pen-fountain-cb" ) + embedding = list("embed_chance" = 75) /obj/item/pen/fountain/captain/Initialize() . = ..() @@ -217,7 +222,7 @@ w_class = initial(w_class) name = initial(name) hitsound = initial(hitsound) - embedding = embedding.setRating(embed_chance = EMBED_CHANCE) + embedding = list(embed_chance = EMBED_CHANCE) throwforce = initial(throwforce) playsound(user, 'sound/weapons/saberoff.ogg', 5, TRUE) to_chat(user, "[src] can now be concealed.") @@ -228,10 +233,11 @@ w_class = WEIGHT_CLASS_NORMAL name = "energy dagger" hitsound = 'sound/weapons/blade1.ogg' - embedding = embedding.setRating(embed_chance = 100) //rule of cool + embedding = list(embed_chance = 100) //rule of cool throwforce = 35 playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE) to_chat(user, "[src] is now active.") + AddElement(/datum/element/embed, embedding) update_icon() /obj/item/pen/edagger/update_icon_state() diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 9f1357681da..a3f9ad5356e 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -914,7 +914,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/obj/machinery/power/tesla_coil/coil = target //In the best situation we can expect this to grow up to 540kw before a delam/IT'S GONE TOO FAR FRED SHUT IT DOWN //The formula for power gen is zap_str * 15 / 2 * capacitor rating, between 1 and 4 - zap_str = coil.zap_act(zap_str * 15, ZAP_SUPERMATTER_FLAGS, list()) //Coils should take a lot out of the power of the zap + coil.zap_act(zap_str * 15, ZAP_SUPERMATTER_FLAGS, list()) //Coils should take a lot out of the power of the zap + zap_str /= 3 else if(istype(target, /obj/machinery/power/grounding_rod)) var/obj/machinery/power/grounding_rod/rod = target diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index 0e725b59d61..6e98ec3ac6b 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -13,7 +13,7 @@ circuit = /obj/item/circuitboard/machine/tesla_coil - var/zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_IS_TESLA + var/zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE var/power_loss = 2 var/input_power_multiplier = 1 var/zap_cooldown = 100 @@ -94,11 +94,9 @@ addtimer(CALLBACK(src, .proc/reset_shocked), 10) zap_buckle_check(power) playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) - if(!(zap_flags & ZAP_IS_TESLA)) - return power_produced - tesla_zap(src, 5, power_produced, zap_flags, shocked_targets) + return power_produced else - ..() + . = ..() /obj/machinery/power/tesla_coil/proc/zap() if((last_zap + zap_cooldown) > world.time || !powernet) @@ -134,11 +132,9 @@ addtimer(CALLBACK(src, .proc/reset_shocked), 10) zap_buckle_check(power) playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) - if(!(zap_flags & ZAP_IS_TESLA)) - return power_produced - tesla_zap(src, 5, power_produced, zap_flags, shocked_targets) + return power_produced else - ..() + . = ..() /obj/machinery/power/tesla_coil/research/default_unfasten_wrench(mob/user, obj/item/wrench/W, time = 20) . = ..() @@ -193,5 +189,6 @@ if(anchored && !panel_open) flick("grounding_rodhit", src) zap_buckle_check(power) + return 0 else - ..() + . = ..() diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index ab7a9ad61ae..ea9692734b2 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -60,7 +60,7 @@ pixel_x = 0 pixel_y = 0 - tesla_zap(src, 7, TESLA_DEFAULT_POWER, TRUE) + tesla_zap(src, 7, TESLA_DEFAULT_POWER) pixel_x = -32 pixel_y = -32 @@ -169,6 +169,8 @@ C.dust() /proc/tesla_zap(atom/source, zap_range = 3, power, zap_flags = ZAP_DEFAULT_FLAGS, list/shocked_targets) + if(QDELETED(source)) + return . = source.dir if(power < 1000) return @@ -181,7 +183,7 @@ var/obj/vehicle/ridden/bicycle/closest_million_dollar_baby var/obj/machinery/power/tesla_coil/closest_tesla_coil var/obj/machinery/power/grounding_rod/closest_grounding_rod - var/obj/vehicle/ridden/bicycle/closest_rideable + var/obj/vehicle/ridden/closest_rideable var/mob/living/closest_mob var/obj/machinery/closest_machine var/obj/structure/closest_structure @@ -207,7 +209,6 @@ /obj/machinery/gateway, /obj/structure/lattice, /obj/structure/grille, - /obj/machinery/the_singularitygen/tesla, /obj/structure/frame/machine)) for(var/A in typecache_filter_multi_list_exclusion(oview(source, zap_range+2), things_to_shock, blacklisted_tesla_types)) @@ -312,36 +313,43 @@ . = zapdir //per type stuff: + var/range = 3 if(!QDELETED(closest_million_dollar_baby)) - closest_million_dollar_baby.zap_act(power, zap_flags, shocked_targets) + power = closest_million_dollar_baby.zap_act(power, zap_flags, shocked_targets) else if(!QDELETED(closest_tesla_coil)) - closest_tesla_coil.zap_act(power, zap_flags, shocked_targets) + power = closest_tesla_coil.zap_act(power, zap_flags, shocked_targets) + range = 5 else if(!QDELETED(closest_grounding_rod)) - closest_grounding_rod.zap_act(power, zap_flags, shocked_targets) + power = closest_grounding_rod.zap_act(power, zap_flags, shocked_targets) else if(!QDELETED(closest_rideable)) - closest_rideable.zap_act(power, zap_flags, shocked_targets) + power = closest_rideable.zap_act(power, zap_flags, shocked_targets) else if(!QDELETED(closest_mob)) closest_mob.set_shocked() addtimer(CALLBACK(closest_mob, /mob/living/proc/reset_shocked), 10) - var/shock_damage = (zap_flags & ZAP_MOB_DAMAGE)? (min(round(power/600), 90) + rand(-5, 5)) : 0 + var/shock_damage = (zap_flags & ZAP_MOB_DAMAGE) ? (min(round(power/600), 90) + rand(-5, 5)) : 0 closest_mob.electrocute_act(shock_damage, source, 1, SHOCK_TESLA | ((zap_flags & ZAP_MOB_STUN) ? NONE : SHOCK_NOSTUN)) if(issilicon(closest_mob)) var/mob/living/silicon/S = closest_mob if((zap_flags & ZAP_MOB_STUN) && (zap_flags & ZAP_MOB_DAMAGE)) S.emp_act(EMP_LIGHT) - tesla_zap(S, 7, power / 1.5, zap_flags, shocked_targets) // metallic folks bounce it further + range = 7 // metallic folks bounce it further else - tesla_zap(closest_mob, 5, power / 1.5, zap_flags, shocked_targets) + range = 5 + power /= 1.5 else if(!QDELETED(closest_machine)) - closest_machine.zap_act(power, zap_flags, shocked_targets) + power = closest_machine.zap_act(power, zap_flags, shocked_targets) else if(!QDELETED(closest_blob)) - closest_blob.zap_act(power, zap_flags, shocked_targets) + power = closest_blob.zap_act(power, zap_flags, shocked_targets) else if(!QDELETED(closest_structure)) - closest_structure.zap_act(power, zap_flags, shocked_targets) + power = closest_structure.zap_act(power, zap_flags, shocked_targets) + + tesla_zap(closest_mob, range, power, zap_flags, shocked_targets) + if(prob(20))//I know I know + tesla_zap(closest_mob, range, power / 2, zap_flags, shocked_targets) diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index 72b3d3264a6..dca92893bb0 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -31,9 +31,6 @@ resistance_flags = FIRE_PROOF CanAtmosPass = ATMOS_PASS_DENSITY circuit = /obj/item/circuitboard/machine/power_compressor - ui_x = 350 - ui_y = 280 - var/obj/machinery/power/turbine/turbine var/datum/gas_mixture/gas_contained var/turf/inturf @@ -59,6 +56,8 @@ resistance_flags = FIRE_PROOF CanAtmosPass = ATMOS_PASS_DENSITY circuit = /obj/item/circuitboard/machine/power_turbine + ui_x = 310 + ui_y = 150 var/opened = 0 var/obj/machinery/power/compressor/compressor var/turf/outturf @@ -82,10 +81,8 @@ if(!turbine) obj_break() - #define COMPFRICTION 5e5 - /obj/machinery/power/compressor/locate_machinery() if(turbine) return @@ -146,7 +143,6 @@ rpm = min(rpm, (COMPFRICTION*efficiency)/2) rpm = max(0, rpm - (rpm*rpm)/(COMPFRICTION*efficiency)) - if(starter && !(machine_stat & NOPOWER)) use_power(2800) if(rpm<1000) @@ -155,8 +151,6 @@ if(rpm<1000) rpmtarget = 0 - - if(rpm>50000) add_overlay(mutable_appearance(icon, "comp-o4", FLY_LAYER)) else if(rpm>10000) @@ -237,8 +231,6 @@ if(lastgen > 100) add_overlay(mutable_appearance(icon, "turb-o", FLY_LAYER)) - updateDialog() - /obj/machinery/power/turbine/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, initial(icon_state), initial(icon_state), I)) return @@ -257,48 +249,37 @@ default_deconstruction_crowbar(I) -/obj/machinery/power/turbine/ui_interact(mob/user) +/obj/machinery/power/turbine/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \ + datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "turbine_computer", name, ui_x, ui_y, master_ui, state) + ui.open() - if(!Adjacent(user) || (machine_stat & (NOPOWER|BROKEN)) && !issilicon(user)) - user.unset_machine(src) - user << browse(null, "window=turbine") - return +/obj/machinery/power/turbine/ui_data(mob/user) + var/list/data = list() + data["compressor"] = compressor ? TRUE : FALSE + data["compressor_broke"] = (!compressor || (compressor.machine_stat & BROKEN)) ? TRUE : FALSE + data["turbine"] = compressor?.turbine ? TRUE : FALSE + data["turbine_broke"] = (!compressor || !compressor.turbine || (compressor.turbine.machine_stat & BROKEN)) ? TRUE : FALSE + data["online"] = compressor?.starter + data["power"] = DisplayPower(compressor?.turbine?.lastgen) + data["rpm"] = compressor?.rpm + data["temp"] = compressor?.gas_contained.temperature + return data - var/t = "Gas Turbine Generator
"
-
-	t += "Generated power : [DisplayPower(lastgen)]

" - - t += "Turbine: [round(compressor.rpm)] RPM
" - - t += "Starter: [ compressor.starter ? "Off On" : "Off On"]" - - t += "

Close" - - t += "
" - var/datum/browser/popup = new(user, "turbine", name) - popup.set_content(t) - popup.open() - - return - -/obj/machinery/power/turbine/Topic(href, href_list) +/obj/machinery/power/turbine/ui_act(action, params) if(..()) return - if( href_list["close"] ) - usr << browse(null, "window=turbine") - usr.unset_machine(src) - return - - else if( href_list["str"] ) - if(compressor) - compressor.starter = !compressor.starter - - updateDialog() - - - - + switch(action) + if("toggle_power") + if(compressor && compressor.turbine) + compressor.starter = !compressor.starter + . = TRUE + if("reconnect") + locate_machinery() + . = TRUE ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -311,12 +292,11 @@ icon_screen = "turbinecomp" icon_keyboard = "tech_key" circuit = /obj/item/circuitboard/computer/turbine_computer + ui_x = 310 + ui_y = 150 var/obj/machinery/power/compressor/compressor var/id = 0 - ui_x = 300 - ui_y = 200 - /obj/machinery/computer/turbine_computer/Initialize() . = ..() return INITIALIZE_HINT_LATELOAD @@ -342,22 +322,20 @@ /obj/machinery/computer/turbine_computer/ui_data(mob/user) var/list/data = list() - data["compressor"] = compressor ? TRUE : FALSE data["compressor_broke"] = (!compressor || (compressor.machine_stat & BROKEN)) ? TRUE : FALSE data["turbine"] = compressor?.turbine ? TRUE : FALSE data["turbine_broke"] = (!compressor || !compressor.turbine || (compressor.turbine.machine_stat & BROKEN)) ? TRUE : FALSE data["online"] = compressor?.starter - data["power"] = DisplayPower(compressor?.turbine?.lastgen) data["rpm"] = compressor?.rpm data["temp"] = compressor?.gas_contained.temperature - return data /obj/machinery/computer/turbine_computer/ui_act(action, params) if(..()) return + switch(action) if("toggle_power") if(compressor && compressor.turbine) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index caab66ade82..d8d45e093c8 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -214,13 +214,31 @@ /obj/item/gun/energy/wormhole_projector name = "bluespace wormhole projector" - desc = "A projector that emits high density quantum-coupled bluespace beams." + desc = "A projector that emits high density quantum-coupled bluespace beams. Requires a bluespace anomaly core to function." ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) item_state = null icon_state = "wormhole_projector" var/obj/effect/portal/p_blue var/obj/effect/portal/p_orange var/atmos_link = FALSE + var/firing_core = FALSE + +/obj/item/gun/energy/wormhole_projector/attackby(obj/item/C, mob/user) + if(istype(C, /obj/item/assembly/signaler/anomaly/bluespace)) + to_chat(user, "You insert [C] into the wormhole projector and the weapon gently hums to life.") + firing_core = TRUE + playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) + qdel(C) + return + +/obj/item/gun/energy/wormhole_projector/can_shoot() + if(!firing_core) + return FALSE + return ..() + +/obj/item/gun/energy/wormhole_projector/shoot_with_empty_chamber(mob/living/user) + . = ..() + to_chat(user, "The display says, 'NO CORE INSTALLED'.") /obj/item/gun/energy/wormhole_projector/update_icon_state() icon_state = item_state = "[initial(icon_state)][select]" @@ -338,9 +356,25 @@ return /obj/item/gun/energy/gravity_gun - name = "one-point bluespace-gravitational manipulator" - desc = "An experimental, multi-mode device that fires bolts of Zero-Point Energy, causing local distortions in gravity." + name = "one-point gravitational manipulator" + desc = "An experimental, multi-mode device that fires bolts of Zero-Point Energy, causing local distortions in gravity. Requires a gravitational anomaly core to function." ammo_type = list(/obj/item/ammo_casing/energy/gravity/repulse, /obj/item/ammo_casing/energy/gravity/attract, /obj/item/ammo_casing/energy/gravity/chaos) item_state = "gravity_gun" icon_state = "gravity_gun" var/power = 4 + var/firing_core = FALSE + +/obj/item/gun/energy/gravity_gun/attackby(obj/item/C, mob/user) + if(istype(C, /obj/item/assembly/signaler/anomaly/grav)) + to_chat(user, "You insert [C] into the gravitational manipulator and the weapon gently hums to life.") + firing_core = TRUE + playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) + qdel(C) + return + return ..() + +/obj/item/gun/energy/gravity_gun/can_shoot() + if(!firing_core) + return FALSE + return ..() + diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index f2d081e30ca..0d3d71bafe1 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -136,6 +136,7 @@ /obj/projectile/proc/prehit(atom/target) return TRUE +/// Called when the projectile hits something /obj/projectile/proc/on_hit(atom/target, blocked = FALSE) if(fired_from) SEND_SIGNAL(fired_from, COMSIG_PROJECTILE_ON_HIT, firer, target, Angle) diff --git a/code/modules/projectiles/projectile/energy/tesla.dm b/code/modules/projectiles/projectile/energy/tesla.dm index 041ecd21b4b..b858365445b 100644 --- a/code/modules/projectiles/projectile/energy/tesla.dm +++ b/code/modules/projectiles/projectile/energy/tesla.dm @@ -3,7 +3,7 @@ icon_state = "tesla_projectile" impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser var/chain - var/zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_IS_TESLA + var/zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE var/zap_range = 3 var/power = 10000 diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index e277d68ba73..58c3ad9aadf 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -630,7 +630,7 @@ var/zap_power = 20000 var/zap_range = 15 - var/zap_flags = ZAP_MOB_DAMAGE | ZAP_MOB_STUN | ZAP_OBJ_DAMAGE | ZAP_IS_TESLA + var/zap_flags = ZAP_MOB_DAMAGE | ZAP_MOB_STUN | ZAP_OBJ_DAMAGE var/chain var/mob/living/caster diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 3c03b53a770..88cd85f1c29 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -46,15 +46,25 @@ /////////////////////////////////////////////////////////////////////////////////// +/// Holder for a bunch of [/datum/reagent] /datum/reagents + /// The reagents being held var/list/datum/reagent/reagent_list = new/list() + /// Current volume of all the reagents var/total_volume = 0 + /// Max volume of this holder var/maximum_volume = 100 + /// The atom this holder is attached to var/atom/my_atom = null + /// Current temp of the holder volume var/chem_temp = 150 + /// unused var/last_tick = 1 + /// see [/datum/reagents/proc/metabolize] for usage var/addiction_tick = 1 + /// currently addicted reagents var/list/datum/reagent/addiction_list = new/list() + /// various flags, see code\__DEFINES\reagents.dm var/flags /datum/reagents/New(maximum=100, new_flags=0) @@ -82,8 +92,12 @@ my_atom.reagents = null my_atom = null -// Used in attack logs for reagents in pills and such -// external list is list of reagent types = amounts +/** + * Used in attack logs for reagents in pills and such + * + * Arguments: + * * external_list - list of reagent types = amounts + */ /datum/reagents/proc/log_list(external_list) if((external_list && !length(external_list)) || !length(reagent_list)) return "no reagents" @@ -99,6 +113,7 @@ //Using types because SOME chemicals (I'm looking at you, chlorhydrate-beer) have the same names as other chemicals. return english_list(data) +/// Remove an amount of reagents without caring about what they are /datum/reagents/proc/remove_any(amount = 1) var/list/cached_reagents = reagent_list var/total_transfered = 0 @@ -128,6 +143,7 @@ handle_reactions() return total_transfered //this should be amount unless the loop is prematurely broken, in which case it'll be lower. It shouldn't ever go OVER amount. +/// Removes all reagents from this holder /datum/reagents/proc/remove_all(amount = 1) var/list/cached_reagents = reagent_list if(total_volume > 0) @@ -140,6 +156,7 @@ handle_reactions() return amount +/// Get the name of the reagent there is the most of in this holder /datum/reagents/proc/get_master_reagent_name() var/list/cached_reagents = reagent_list var/name @@ -152,6 +169,7 @@ return name +/// Get the id of the reagent there is the most of in this holder /datum/reagents/proc/get_master_reagent_id() var/list/cached_reagents = reagent_list var/max_type @@ -164,6 +182,7 @@ return max_type +/// Get a reference to the reagent there is the most of in this holder /datum/reagents/proc/get_master_reagent() var/list/cached_reagents = reagent_list var/datum/reagent/master @@ -176,9 +195,22 @@ return master +/** + * Transfer some stuff from this holder to a target object + * + * Arguments: + * * obj/target - Target to attempt transfer to + * * amount - amount of reagent volume to transfer + * * multiplier - multiplies amount of each reagent by this number + * * preserve_data - if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred. + * * no_react - passed through to [/datum/reagents/proc/add_reagent] + * * mob/transfered_by - used for logging + * * remove_blacklisted - skips transferring of reagents with can_synth = FALSE + * * method - passed through to [/datum/reagents/proc/react_single] and [/datum/reagent/proc/on_transfer] + * * show_message - passed through to [/datum/reagents/proc/react_single] + * * round_robin - if round_robin=TRUE, so transfer 5 from 15 water, 15 sugar and 15 plasma becomes 10, 15, 15 instead of 13.3333, 13.3333 13.3333. Good if you hate floating point errors + */ /datum/reagents/proc/trans_to(obj/target, amount = 1, multiplier = 1, preserve_data = TRUE, no_react = FALSE, mob/transfered_by, remove_blacklisted = FALSE, method = null, show_message = TRUE, round_robin = FALSE) - //if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred. - //if round_robin=TRUE, so transfer 5 from 15 water, 15 sugar and 15 plasma becomes 10, 15, 15 instead of 13.3333, 13.3333 13.3333. Good if you hate floating point errors var/list/cached_reagents = reagent_list if(!target || !total_volume) return @@ -246,6 +278,7 @@ src.handle_reactions() return amount +/// Copies the reagents to the target object /datum/reagents/proc/copy_to(obj/target, amount=1, multiplier=1, preserve_data=1) var/list/cached_reagents = reagent_list if(!target || !total_volume) @@ -277,6 +310,7 @@ src.handle_reactions() return amount +/// Transfer a specific reagent id to the target object /datum/reagents/proc/trans_id_to(obj/target, reagent, amount=1, preserve_data=1)//Not sure why this proc didn't exist before. It does now! /N var/list/cached_reagents = reagent_list if (!target) @@ -305,6 +339,14 @@ R.handle_reactions() return amount +/** + * Triggers metabolizing the reagents in this holder + * + * Arguments: + * * mob/living/carbon/C - The mob to metabolize in, if null it uses [/datum/reagents/var/my_atom] + * * can_overdose - Allows overdosing + * * liverless - Stops reagents that aren't set as [/datum/reagent/var/self_consuming] from metabolizing + */ /datum/reagents/proc/metabolize(mob/living/carbon/C, can_overdose = FALSE, liverless = FALSE) var/list/cached_reagents = reagent_list var/list/cached_addictions = addiction_list @@ -373,13 +415,14 @@ C.update_stamina() update_total() +/// Removes addiction to a specific reagent on [/datum/reagents/var/my_atom] /datum/reagents/proc/remove_addiction(datum/reagent/R) to_chat(my_atom, "You feel like you've gotten over your need for [R.name].") SEND_SIGNAL(my_atom, COMSIG_CLEAR_MOOD_EVENT, "[R.type]_overdose") addiction_list.Remove(R) qdel(R) -//Signals that metabolization has stopped, triggering the end of trait-based effects +/// Signals that metabolization has stopped, triggering the end of trait-based effects /datum/reagents/proc/end_metabolization(mob/living/carbon/C, keep_liverless = TRUE) var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) @@ -394,6 +437,13 @@ R.metabolizing = FALSE R.on_mob_end_metabolize(C) +/** + * Calls [/datum/reagent/proc/on_move] on every reagent in this holder + * + * Arguments: + * * atom/A - passed to on_move + * * Running - passed to on_move + */ /datum/reagents/proc/conditional_update_move(atom/A, Running = 0) var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) @@ -401,6 +451,12 @@ R.on_move (A, Running) update_total() +/** + * Calls [/datum/reagent/proc/on_update] on every reagent in this holder + * + * Arguments: + * * atom/A - passed to on_update + */ /datum/reagents/proc/conditional_update(atom/A) var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) @@ -408,6 +464,7 @@ R.on_update (A) update_total() +/// Handle any reactions possible in this holder /datum/reagents/proc/handle_reactions() if(flags & NO_REACT) return //Yup, no reactions here. No siree. @@ -520,7 +577,6 @@ ME2.name = "used slime extract" ME2.desc = "This extract has been used up." - my_atom?.on_reagent_change(REACT_REAGENTS) selected_reaction.on_reaction(src, multiplier) reaction_occurred = 1 @@ -528,6 +584,7 @@ update_total() return 0 +/// Remove every reagent except this one /datum/reagents/proc/isolate_reagent(reagent) var/list/cached_reagents = reagent_list for(var/_reagent in cached_reagents) @@ -536,6 +593,7 @@ del_reagent(R.type) update_total() +/// Fuck this one reagent /datum/reagents/proc/del_reagent(reagent) var/list/cached_reagents = reagent_list for(var/_reagent in cached_reagents) @@ -556,6 +614,7 @@ my_atom.on_reagent_change(DEL_REAGENT) return 1 +/// Updates [/datum/reagents/var/total_volume] /datum/reagents/proc/update_total() var/list/cached_reagents = reagent_list total_volume = 0 @@ -568,6 +627,7 @@ return 0 +/// Removes all reagents /datum/reagents/proc/clear_reagents() var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) @@ -577,6 +637,12 @@ my_atom.on_reagent_change(CLEAR_REAGENTS) return 0 +/** + * Applies the relevant reaction_ proc for every reagent in this holder + * * [/datum/reagent/proc/reaction_mob] + * * [/datum/reagent/proc/reaction_turf] + * * [/datum/reagent/proc/reaction_obj] + */ /datum/reagents/proc/reaction(atom/A, method = TOUCH, volume_modifier = 1, show_message = 1) var/react_type if(isliving(A)) @@ -605,6 +671,7 @@ if("OBJ") R.reaction_obj(A, R.volume * volume_modifier, show_message) +/// Same as [/datum/reagents/proc/reaction] but only for one reagent /datum/reagents/proc/react_single(datum/reagent/R, atom/A, method = TOUCH, volume_modifier = 1, show_message = TRUE) var/react_type if(isliving(A)) @@ -630,12 +697,13 @@ if("OBJ") R.reaction_obj(A, R.volume * volume_modifier, show_message) +/// Is this holder full or not /datum/reagents/proc/holder_full() if(total_volume >= maximum_volume) return TRUE return FALSE -//Returns the average specific heat for all reagents currently in this holder. +/// Returns the average specific heat for all reagents currently in this holder. /datum/reagents/proc/specific_heat() . = 0 var/cached_amount = total_volume //cache amount @@ -648,6 +716,16 @@ var/S = specific_heat() chem_temp = clamp(chem_temp + (J / (S * total_volume)), 2.7, 1000) +/** + * Adds a reagent to this holder + * + * Arguments: + * * reagent - The reagent id to add + * * amount - Amount to add + * * list/data - Any reagent data for this reagent, used for transferring data with reagents + * * reagtemp - Temperature of this reagent, will be equalized + * * no_react - prevents reactions being triggered by this addition + */ /datum/reagents/proc/add_reagent(reagent, amount, list/data=null, reagtemp = 300, no_react = 0) if(!isnum(amount) || !amount) return FALSE @@ -713,11 +791,13 @@ handle_reactions() return TRUE -/datum/reagents/proc/add_reagent_list(list/list_reagents, list/data=null) // Like add_reagent but you can enter a list. Format it like this: list(/datum/reagent/toxin = 10, "beer" = 15) +/// Like add_reagent but you can enter a list. Format it like this: list(/datum/reagent/toxin = 10, "beer" = 15) +/datum/reagents/proc/add_reagent_list(list/list_reagents, list/data=null) for(var/r_id in list_reagents) var/amt = list_reagents[r_id] add_reagent(r_id, amt, data) +/// Remove a specific reagent /datum/reagents/proc/remove_reagent(reagent, amount, safety)//Added a safety check for the trans_id_to if(isnull(amount)) @@ -748,6 +828,7 @@ return FALSE +/// Check if this holder contains this reagent /datum/reagents/proc/has_reagent(reagent, amount = -1, needs_metabolizing = FALSE) var/list/cached_reagents = reagent_list for(var/_reagent in cached_reagents) @@ -767,6 +848,7 @@ return 0 +/// Get the amount of this reagent /datum/reagents/proc/get_reagent_amount(reagent) var/list/cached_reagents = reagent_list for(var/_reagent in cached_reagents) @@ -776,6 +858,7 @@ return 0 +/// Get a comma separated string of every reagent name in this holder /datum/reagents/proc/get_reagents() var/list/names = list() var/list/cached_reagents = reagent_list @@ -785,7 +868,8 @@ return jointext(names, ",") -/datum/reagents/proc/remove_all_type(reagent_type, amount, strict = 0, safety = 1) // Removes all reagent of X type. @strict set to 1 determines whether the childs of the type are included. +/// Removes all reagent of X type. @strict set to 1 determines whether the childs of the type are included. +/datum/reagents/proc/remove_all_type(reagent_type, amount, strict = 0, safety = 1) if(!isnum(amount)) return 1 var/list/cached_reagents = reagent_list @@ -808,7 +892,7 @@ return has_removed_reagent -//two helper functions to preserve data across reactions (needed for xenoarch) +/// helper function to preserve data across reactions (needed for xenoarch) /datum/reagents/proc/get_data(reagent_id) var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) @@ -816,6 +900,7 @@ if(R.type == reagent_id) return R.data +/// helper function to preserve data across reactions (needed for xenoarch) /datum/reagents/proc/set_data(reagent_id, new_data) var/list/cached_reagents = reagent_list for(var/reagent in cached_reagents) @@ -823,6 +908,7 @@ if(R.type == reagent_id) R.data = new_data +/// Shallow copies (deep copy of viruses) data from the provided reagent into our copy of that reagent /datum/reagents/proc/copy_data(datum/reagent/current_reagent) if(!current_reagent || !current_reagent.data) return null @@ -844,12 +930,18 @@ return trans_data +/// Get a reference to the reagent if it exists /datum/reagents/proc/get_reagent(type) var/list/cached_reagents = reagent_list . = locate(type) in cached_reagents +/** + * Returns what this holder's reagents taste like + * + * Arguments: + * * minimum_percent - the lower the minimum percent, the more sensitive the message is. + */ /datum/reagents/proc/generate_taste_message(minimum_percent=15) - // the lower the minimum percent, the more sensitive the message is. var/list/out = list() var/list/tastes = list() //descriptor = strength if(minimum_percent <= 100) @@ -893,6 +985,7 @@ return english_list(out, "something indescribable") +/// Applies heat to this holder /datum/reagents/proc/expose_temperature(temperature, coeff=0.02) if(istype(my_atom,/obj/item/reagent_containers)) var/obj/item/reagent_containers/RCs = my_atom @@ -912,8 +1005,13 @@ /////////////////////////////////////////////////////////////////////////////////// -// Convenience proc to create a reagents holder for an atom -// Max vol is maximum volume of holder +/** + * Convenience proc to create a reagents holder for an atom + * + * Arguments: + * * max_vol - maximum volume of holder + * * flags - flags to pass to the holder + */ /atom/proc/create_reagents(max_vol, flags) if(reagents) qdel(reagents) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index aadaa3d500f..59266b0c523 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -14,34 +14,61 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) //Toxin & acid reagents //Hydroponics stuff +/// A single reagent /datum/reagent + /// datums don't have names by default var/name = "Reagent" + /// nor do they have descriptions var/description = "" - var/specific_heat = SPECIFIC_HEAT_DEFAULT //J/(K*mol) + ///J/(K*mol) + var/specific_heat = SPECIFIC_HEAT_DEFAULT + /// used by taste messages var/taste_description = "metaphorical salt" - var/taste_mult = 1 //how this taste compares to others. Higher values means it is more noticable - var/glass_name = "glass of ...what?" // use for specialty drinks. + ///how this taste compares to others. Higher values means it is more noticable + var/taste_mult = 1 + /// use for specialty drinks. + var/glass_name = "glass of ...what?" + /// desc applied to glasses with this reagent var/glass_desc = "You can't really tell what this is." - var/glass_icon_state = null // Otherwise just sets the icon to a normal glass with the mixture of the reagents in the glass. + /// Otherwise just sets the icon to a normal glass with the mixture of the reagents in the glass. + var/glass_icon_state = null + /// used for shot glasses, mostly for alcohol var/shot_glass_icon_state = null + /// reagent holder this belongs to var/datum/reagents/holder = null + /// LIQUID, SOLID, GAS var/reagent_state = LIQUID + /// special data associated with this like viruses etc var/list/data + /// increments everytime on_mob_life is called var/current_cycle = 0 - var/volume = 0 //pretend this is moles + ///pretend this is moles + var/volume = 0 + /// color it looks in containers etc var/color = "#000000" // rgb: 0, 0, 0 - var/can_synth = TRUE // can this reagent be synthesized? (for example: odysseus syringe gun) - var/metabolization_rate = REAGENTS_METABOLISM //how fast the reagent is metabolized by the mob + /// can this reagent be synthesized? (for example: odysseus syringe gun) + var/can_synth = TRUE + ///how fast the reagent is metabolized by the mob + var/metabolization_rate = REAGENTS_METABOLISM + /// appears unused var/overrides_metab = 0 + /// above this overdoses happen var/overdose_threshold = 0 + /// above this amount addictions start var/addiction_threshold = 0 + /// increases as addiction gets worse var/addiction_stage = 0 - var/overdosed = 0 // You fucked up and this is now triggering its overdose effects, purge that shit quick. + /// You fucked up and this is now triggering its overdose effects, purge that shit quick. + var/overdosed = 0 + ///if false stops metab in liverless mobs var/self_consuming = FALSE - var/reagent_weight = 1 //affects how far it travels when sprayed + ///affects how far it travels when sprayed + var/reagent_weight = 1 + ///is it currently metabolizing var/metabolizing = FALSE - var/harmful = FALSE //is it bad for you? Currently only used for borghypo. C2s and Toxins have it TRUE by default. - //Are we from a material? We might wanna know that for special stuff. Like metalgen. Is replaced with a ref of the material on New() + /// is it bad for you? Currently only used for borghypo. C2s and Toxins have it TRUE by default. + var/harmful = FALSE + /// Are we from a material? We might wanna know that for special stuff. Like metalgen. Is replaced with a ref of the material on New() var/datum/material/material /datum/reagent/New() @@ -54,6 +81,7 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) . = ..() holder = null +/// Applies this reagent to a [/mob/living] /datum/reagent/proc/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0) if(!istype(M)) return 0 @@ -65,85 +93,96 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) M.reagents.add_reagent(type, amount) return 1 +/// Applies this reagent to an [/obj] /datum/reagent/proc/reaction_obj(obj/O, volume) return +/// Applies this reagent to a [/turf] /datum/reagent/proc/reaction_turf(turf/T, volume) return +/// Called from [/datum/reagents/proc/metabolize] /datum/reagent/proc/on_mob_life(mob/living/carbon/M) current_cycle++ holder.remove_reagent(type, metabolization_rate * M.metabolism_efficiency) //By default it slowly disappears. return -/datum/reagent/proc/on_transfer(atom/A, method=TOUCH, trans_volume) //Called after a reagent is transfered +///Called after a reagent is transfered +/datum/reagent/proc/on_transfer(atom/A, method=TOUCH, trans_volume) return -// Called when this reagent is first added to a mob +/// Called when this reagent is first added to a mob /datum/reagent/proc/on_mob_add(mob/living/L) return -// Called when this reagent is removed while inside a mob +/// Called when this reagent is removed while inside a mob /datum/reagent/proc/on_mob_delete(mob/living/L) return -// Called when this reagent first starts being metabolized by a liver +/// Called when this reagent first starts being metabolized by a liver /datum/reagent/proc/on_mob_metabolize(mob/living/L) return -// Called when this reagent stops being metabolized by a liver +/// Called when this reagent stops being metabolized by a liver /datum/reagent/proc/on_mob_end_metabolize(mob/living/L) return +/// Called by [/datum/reagents/proc/conditional_update_move] /datum/reagent/proc/on_move(mob/M) return -// Called after add_reagents creates a new reagent. +/// Called after add_reagents creates a new reagent. /datum/reagent/proc/on_new(data) return -// Called when two reagents of the same are mixing. +/// Called when two reagents of the same are mixing. /datum/reagent/proc/on_merge(data) return +/// Called by [/datum/reagents/proc/conditional_update] /datum/reagent/proc/on_update(atom/A) return -//called on expose_temperature +///called on expose_temperature /datum/reagent/proc/on_temp_change() return -// Called when the reagent container is hit by an explosion +/// Called when the reagent container is hit by an explosion /datum/reagent/proc/on_ex_act(severity) return -// Called if the reagent has passed the overdose threshold and is set to be triggering overdose effects +/// Called if the reagent has passed the overdose threshold and is set to be triggering overdose effects /datum/reagent/proc/overdose_process(mob/living/M) return +/// Called when an overdose starts /datum/reagent/proc/overdose_start(mob/living/M) to_chat(M, "You feel like you took too much of [name]!") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/overdose, name) return +/// Called when addiction hits stage1, see [/datum/reagents/proc/metabolize] /datum/reagent/proc/addiction_act_stage1(mob/living/M) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/withdrawal_light, name) if(prob(30)) to_chat(M, "You feel like having some [name] right about now.") return +/// Called when addiction hits stage2, see [/datum/reagents/proc/metabolize] /datum/reagent/proc/addiction_act_stage2(mob/living/M) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/withdrawal_medium, name) if(prob(30)) to_chat(M, "You feel like you need [name]. You just can't get enough.") return +/// Called when addiction hits stage3, see [/datum/reagents/proc/metabolize] /datum/reagent/proc/addiction_act_stage3(mob/living/M) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/withdrawal_severe, name) if(prob(30)) to_chat(M, "You have an intense craving for [name].") return +/// Called when addiction hits stage4, see [/datum/reagents/proc/metabolize] /datum/reagent/proc/addiction_act_stage4(mob/living/M) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/withdrawal_critical, name) if(prob(30)) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 5c0b69b4296..0b93f5f7533 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -233,7 +233,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(prob(5) && iscarbon(M)) var/obj/item/organ/eyes/eyes = M.getorganslot(ORGAN_SLOT_EYES) - if(HAS_TRAIT(M, TRAIT_BLIND)) + if(M.is_blind()) if(istype(eyes)) eyes.Remove(M) eyes.forceMove(get_turf(M)) diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index 94a1bd7c728..3376d68798b 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -6,32 +6,34 @@ /******BRUTE******/ /*Suffix: -bital*/ -/datum/reagent/medicine/C2/helbital //only REALLY a C2 if you heal the other damages but not being able to outright heal the other guys is close enough to damaging +/datum/reagent/medicine/C2/helbital //kinda a C2 only if you're not in hardcrit. name = "Helbital" - description = "Named after the norse goddess Hel, this medicine heals the patient's bruises the closer they are to death. Burns, toxins, and asphyxition will increase healing but these damages must be maintained while the drug is being metabolized or the drug will react negatively." + description = "Named after the norse goddess Hel, this medicine heals the patient's bruises the closer they are to death. Patients will find the medicine 'aids' their healing if not near death by causing asphyxiation." color = "#9400D3" taste_description = "cold and lifeless" overdose_threshold = 35 reagent_state = SOLID var/helbent = FALSE - var/beginning_combo = 0 var/reaping = FALSE -/datum/reagent/medicine/C2/helbital/on_mob_metabolize(mob/living/carbon/M) - beginning_combo = M.getToxLoss() + M.getOxyLoss() + M.getFireLoss() //This DOES mean you can cure Tox/Oxy and then do burn to maintain the brute healing that way. - return ..() - /datum/reagent/medicine/C2/helbital/on_mob_life(mob/living/carbon/M) . = TRUE - var/cccombo = M.getToxLoss() + M.getOxyLoss() + M.getFireLoss() - var/healed_this_iteration = FALSE - if(cccombo >= beginning_combo) - M.adjustBruteLoss(FLOOR(cccombo/-15,0.1)) //every 15 damage adds 1 per tick - healed_this_iteration = TRUE - else - M.adjustToxLoss((beginning_combo-cccombo)*0.1) //If you are just healing instead of converting the damage we'll KINDLY do it for you AND make it the most difficult! + var/death_is_coming = (M.getToxLoss() + M.getOxyLoss() + M.getFireLoss() + M.getBruteLoss()) + var/thou_shall_heal = 0 + var/good_kind_of_healing = FALSE + switch(M.stat) + if(CONSCIOUS) //bad + thou_shall_heal = death_is_coming/50 + M.adjustOxyLoss(2, TRUE) + if(SOFT_CRIT) //meh convert + thou_shall_heal = round(death_is_coming/47,0.1) + M.adjustOxyLoss(1, TRUE) + else //no convert + thou_shall_heal = round(death_is_coming/45,0.1) + good_kind_of_healing = TRUE + M.adjustBruteLoss(-thou_shall_heal, FALSE) - if(healed_this_iteration && !reaping && prob(0.0001)) //janken with the grim reaper! + if(good_kind_of_healing && !reaping && prob(0.0001)) //janken with the grim reaper! reaping = TRUE var/list/RockPaperScissors = list("rock" = "paper", "paper" = "scissors", "scissors" = "rock") //choice = loses to if(M.apply_status_effect(/datum/status_effect/necropolis_curse,CURSE_BLINDING)) @@ -89,6 +91,47 @@ ..() return TRUE +/datum/reagent/medicine/C2/probital + name = "Probital" + description = "Originally developed as a prototype-gym supliment for those looking for quick workout turnover, this oral medication quickly repairs broken muscle tissue but causes lactic acid buildup, tiring the patient. Overdosing can cause extreme drowsiness. An Influx of nutrients promotes the muscle repair even further." + reagent_state = SOLID + color = "#FFFF6B" + overdose_threshold = 20 + +/datum/reagent/medicine/C2/probital/on_mob_life(mob/living/carbon/M) + M.adjustBruteLoss(-2.25*REM, FALSE) + var/ooo_youaregettingsleepy = 3.5 + switch(round(M.getStaminaLoss())) + if(10 to 40) + ooo_youaregettingsleepy = 3 + if(41 to 60) + ooo_youaregettingsleepy = 2.5 + if(61 to 200) //you really can only go to 120 + ooo_youaregettingsleepy = 2 + M.adjustStaminaLoss(ooo_youaregettingsleepy*REM, FALSE) + ..() + . = TRUE + +/datum/reagent/medicine/C2/probital/overdose_process(mob/living/M) + M.adjustStaminaLoss(3*REM, 0) + if(M.getStaminaLoss() >= 80) + M.drowsyness++ + if(M.getStaminaLoss() >= 100) + to_chat(M,"You feel more tired than you usually do, perhaps if you rest your eyes for a bit...") + M.adjustStaminaLoss(-100, TRUE) + M.Sleeping(10 SECONDS) + ..() + . = TRUE + +/datum/reagent/medicine/C2/probital/on_transfer(atom/A, method=INGEST, trans_volume) + if(method != INGEST || !iscarbon(A)) + return + + A.reagents.remove_reagent(/datum/reagent/medicine/C2/probital, trans_volume * 0.05) + A.reagents.add_reagent(/datum/reagent/medicine/metafactor, trans_volume * 0.25) + + ..() + /******BURN******/ /*Suffix: -uri*/ /datum/reagent/medicine/C2/lenturi @@ -125,6 +168,41 @@ ..() return TRUE +/datum/reagent/medicine/C2/hercuri + name = "Hercuri" + description = "Not to be confused with element Mercury, this medicine excels in reverting effects of dangerous high-temperature environments. Prolonged exposure can cause hypothermia." + reagent_state = LIQUID + color = "#F7FFA5" + overdose_threshold = 25 + reagent_weight = 0.6 + +/datum/reagent/medicine/C2/hercuri/on_mob_life(mob/living/carbon/M) + if(M.getFireLoss() > 50) + M.adjustFireLoss(-2*REM, FALSE) + else + M.adjustFireLoss(-1.25*REM, FALSE) + M.adjust_bodytemperature(rand(-25,-5)*(TEMPERATURE_DAMAGE_COEFFICIENT*REM), 50) + M.reagents?.chem_temp +=(-10*REM) + M.adjust_fire_stacks(-1) + ..() + . = TRUE + +/datum/reagent/medicine/C2/hercuri/reaction_mob(mob/living/carbon/M, method=VAPOR, reac_volume) + if(method != VAPOR) + return + + M.adjust_bodytemperature(-reac_volume * TEMPERATURE_DAMAGE_COEFFICIENT, 50) + M.adjust_fire_stacks(-reac_volume / 2) + if(reac_volume >= metabolization_rate) + M.ExtinguishMob() + + ..() + +/datum/reagent/medicine/C2/hercuri/overdose_process(mob/living/carbon/M) + M.adjust_bodytemperature(-10*TEMPERATURE_DAMAGE_COEFFICIENT*REM,50) //chilly chilly + ..() + + /******OXY******/ /*Suffix: -mol*/ #define CONVERMOL_RATIO 5 //# Oxygen damage to result in 1 tox diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index e2558f6ce1b..e8d78fdaa69 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1214,32 +1214,6 @@ ..() . = 1 -/datum/reagent/medicine/trophazole - name = "Trophazole" - description = "Orginally developed as fitness supplement, this chemical accelerates wound healing and if ingested turns nutriment into healing peptides" - reagent_state = LIQUID - color = "#FFFF6B" - overdose_threshold = 20 - -/datum/reagent/medicine/trophazole/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-1.5*REM, 0.) // heals 3 brute & 0.5 burn if taken with food. compared to 2.5 brute from bicard + nutriment - ..() - . = 1 - -/datum/reagent/medicine/trophazole/overdose_process(mob/living/M) - M.adjustBruteLoss(3*REM, 0) - ..() - . = 1 - -/datum/reagent/medicine/trophazole/on_transfer(atom/A, method=INGEST, trans_volume) - if(method != INGEST || !iscarbon(A)) - return - - A.reagents.remove_reagent(/datum/reagent/medicine/trophazole, trans_volume * 0.05) - A.reagents.add_reagent(/datum/reagent/medicine/metafactor, trans_volume * 0.25) - - ..() - /datum/reagent/medicine/metafactor name = "Mitogen Metabolism Factor" description = "This enzyme catalyzes the conversion of nutricious food into healing peptides." @@ -1256,36 +1230,6 @@ M.vomit() ..() -/datum/reagent/medicine/rhigoxane - name = "Rhigoxane" - description = "A second generation burn treatment agent exhibiting a cooling effect that is especially pronounced when deployed as a spray. Its high halogen content helps extinguish fires." - reagent_state = LIQUID - color = "#F7FFA5" - overdose_threshold = 25 - reagent_weight = 0.6 - -/datum/reagent/medicine/rhigoxane/on_mob_life(mob/living/carbon/M) - M.adjustFireLoss(-2*REM, 0.) - M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) - ..() - . = 1 - -/datum/reagent/medicine/rhigoxane/reaction_mob(mob/living/carbon/M, method=VAPOR, reac_volume) - if(method != VAPOR) - return - - M.adjust_bodytemperature(-reac_volume * TEMPERATURE_DAMAGE_COEFFICIENT * 20, 200) - M.adjust_fire_stacks(-reac_volume / 2) - if(reac_volume >= metabolization_rate) - M.ExtinguishMob() - - ..() - -/datum/reagent/medicine/rhigoxane/overdose_process(mob/living/carbon/M) - M.adjustFireLoss(3*REM, 0.) - M.adjust_bodytemperature(-35 * TEMPERATURE_DAMAGE_COEFFICIENT, 50) - ..() - /datum/reagent/medicine/silibinin name = "Silibinin" description = "A thistle derrived hepatoprotective flavolignan mixture that help reverse damage to the liver." diff --git a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm index 1b85aa6bb2d..136cd443c9a 100644 --- a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm +++ b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm @@ -11,6 +11,10 @@ results = list(/datum/reagent/medicine/C2/libital = 3) required_reagents = list(/datum/reagent/phenol = 1, /datum/reagent/oxygen = 1, /datum/reagent/nitrogen = 1) +/datum/chemical_reaction/probital + results = list(/datum/reagent/medicine/C2/probital = 4) + required_reagents = list(/datum/reagent/copper = 1, /datum/reagent/acetone = 2, /datum/reagent/phosphorus = 1) + /*****BURN*****/ /datum/chemical_reaction/lenturi @@ -21,6 +25,12 @@ results = list(/datum/reagent/medicine/C2/aiuri = 4) required_reagents = list(/datum/reagent/ammonia = 1, /datum/reagent/toxin/acid = 1, /datum/reagent/hydrogen = 2) +/datum/chemical_reaction/hercuri + results = list(/datum/reagent/medicine/C2/hercuri = 5) + required_reagents = list(/datum/reagent/cryostylane = 3, /datum/reagent/bromine = 1, /datum/reagent/lye = 1) + required_temp = 47 + is_cold_recipe = TRUE + /*****OXY*****/ /datum/chemical_reaction/convermol diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index c3e0186be74..ad60d2f6776 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -149,16 +149,6 @@ results = list(/datum/reagent/medicine/psicodine = 5) required_reagents = list( /datum/reagent/medicine/mannitol = 2, /datum/reagent/water = 2, /datum/reagent/impedrezene = 1) -/datum/chemical_reaction/rhigoxane - results = list(/datum/reagent/medicine/rhigoxane/ = 5) - required_reagents = list(/datum/reagent/cryostylane = 3, /datum/reagent/bromine = 1, /datum/reagent/lye = 1) - required_temp = 47 - is_cold_recipe = TRUE - -/datum/chemical_reaction/trophazole - results = list(/datum/reagent/medicine/trophazole = 4) - required_reagents = list(/datum/reagent/copper = 1, /datum/reagent/acetone = 2, /datum/reagent/phosphorus = 1) - /datum/chemical_reaction/granibitaluri results = list(/datum/reagent/medicine/granibitaluri = 3) required_reagents = list(/datum/reagent/acetone = 1, /datum/reagent/phenol = 1, /datum/reagent/nitrogen = 1) @@ -172,6 +162,3 @@ for(var/i = 1, i <= created_volume, i++) new /obj/item/stack/medical/suture/medicated(location) return - - - diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index 49815c5e8d8..169caf3a93d 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -441,7 +441,7 @@ modifier = -100 mix_message = "The teslium starts to spark as electricity arcs away from it!" mix_sound = 'sound/machines/defib_zap.ogg' - var/zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN | ZAP_IS_TESLA + var/zap_flags = ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN /datum/chemical_reaction/reagent_explosion/teslium_lightning/on_reaction(datum/reagents/holder, created_volume) var/T1 = created_volume * 20 //100 units : Zap 3 times, with powers 2000/5000/12000. Tesla revolvers have a power of 10000 for comparison. diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index 2549257946e..57b813f086c 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -165,7 +165,7 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related /obj/item/paper/secretrecipe name = "old recipe" - var/recipe_id = "secretsauce" + var/recipe_id = /datum/chemical_reaction/randomized/secret_sauce /obj/item/paper/secretrecipe/examine(mob/user) //Extra secret if(isobserver(user)) @@ -183,6 +183,7 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related var/datum/chemical_reaction/recipe = get_chemical_reaction(recipe_id) if(!recipe) info = "This recipe is illegible." + return var/list/dat = list("
    ") for(var/rid in recipe.required_reagents) var/datum/reagent/R = GLOB.chemical_reagents_list[rid] diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index e4ec49ad676..5d803fe6bc0 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -240,11 +240,11 @@ list_reagents = list(/datum/reagent/medicine/potass_iodide = 15) rename_with_volume = TRUE -/obj/item/reagent_containers/pill/trophazole - name = "trophazole pill" - desc = "Used to treat brute damage of minor and moderate severity.The carving in the pill says 'Eat before ingesting'." +/obj/item/reagent_containers/pill/C2/probital + name = "Probital pill" + desc = "Used to treat brute damage of minor and moderate severity.The carving in the pill says 'Eat before ingesting'. Causes fatigue and diluted with granibitaluri." icon_state = "pill12" - list_reagents = list(/datum/reagent/medicine/trophazole = 15) + list_reagents = list(/datum/reagent/medicine/C2/probital = 5, /datum/reagent/medicine/granibitaluri = 10) rename_with_volume = TRUE /obj/item/reagent_containers/pill/iron diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 14724c41786..6867d8d4195 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -406,8 +406,8 @@ item_state = "sprayer_med_blue" M.update_inv_hands() -/obj/item/reagent_containers/spray/rhigoxane - name = "medical spray (rhigoxane)" - desc = "A medical spray bottle.This one contains rhigoxane, it is used to treat burns and cool down temperature if applied with spray." +/obj/item/reagent_containers/spray/hercuri + name = "medical spray (hercuri)" + desc = "A medical spray bottle.This one contains hercuri, a medicine used to negate the effects of dangerous high-temperature environments. Careful not to freeze the patient!" icon_state = "sprayer_large" - list_reagents = list(/datum/reagent/medicine/rhigoxane = 100) + list_reagents = list(/datum/reagent/medicine/C2/hercuri = 100) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 7560cd0eba8..86c3249cfb3 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -8,9 +8,15 @@ var/giftwrapped = FALSE var/sortTag = 0 var/obj/item/paper/note + var/obj/item/barcode/sticker /obj/structure/bigDelivery/interact(mob/user) + to_chat(user, "You start to unwrap the package...") + if(!do_after(user, 15, target = user)) + return playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) + new /obj/effect/decal/cleanable/wrapping(get_turf(user)) + unwrap_contents() qdel(src) /obj/structure/bigDelivery/Destroy() @@ -31,6 +37,8 @@ else . += "There's a [note.name] attached to it..." . += note.examine(user) + if(sticker) + . += "There's a barcode attached to the side." /obj/structure/bigDelivery/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/destTagger)) @@ -78,6 +86,48 @@ overlaystring = copytext(overlaystring, 5) //5 == length("gift") + 1 add_overlay(overlaystring) + else if(istype(W, /obj/item/sales_tagger)) + var/obj/item/sales_tagger/tagger = W + if(sticker) + to_chat(user, "This package already has a barcode attached!") + return + if(!(tagger.payments_acc)) + to_chat(user, "Swipe an ID on [tagger] first!") + return + if(tagger.paper_count <= 0) + to_chat(user, "[tagger] is out of paper!") + return + user.visible_message("[user] attaches a barcode to [src].", "You attach a barcode to [src].") + tagger.paper_count -= 1 + sticker = new /obj/item/barcode(src) + sticker.payments_acc = tagger.payments_acc //new tag gets the tagger's current account. + sticker.percent_cut = tagger.percent_cut //same, but for the percentage taken. + + var/list/wrap_contents = src.GetAllContents() + for(var/obj/I in wrap_contents) + I.AddComponent(/datum/component/pricetag, sticker.payments_acc, tagger.percent_cut) + var/overlaystring = "[icon_state]_tag" + if(giftwrapped) + overlaystring = copytext(overlaystring, 5) + add_overlay(overlaystring) + else if(istype(W, /obj/item/barcode)) + var/obj/item/barcode/stickerA = W + if(sticker) + to_chat(user, "This package already has a barcode attached!") + return + if(!(stickerA.payments_acc)) + to_chat(user, "This barcode seems to be invalid. Guess it's trash now.") + return + if(!user.transferItemToLoc(W, src)) + to_chat(user, "For some reason, you can't attach [W]!") + return + sticker = stickerA + var/overlaystring = "[icon_state]_tag" + if(giftwrapped) + overlaystring = copytext_char(overlaystring, 5) //5 == length("gift") + 1 + add_overlay(overlaystring) + + else return ..() @@ -93,11 +143,18 @@ to_chat(user, "You successfully removed [O]'s wrapping !") O.forceMove(loc) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) + new /obj/effect/decal/cleanable/wrapping(get_turf(user)) + unwrap_contents() qdel(src) else if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded. to_chat(user, "You fail to remove [O]'s wrapping!") +/obj/structure/bigDelivery/proc/unwrap_contents() + if(!sticker) + return + for(var/obj/I in src.GetAllContents()) + SEND_SIGNAL(I, COMSIG_STRUCTURE_UNWRAPPED) /obj/item/smallDelivery name = "parcel" @@ -108,17 +165,23 @@ var/giftwrapped = 0 var/sortTag = 0 var/obj/item/paper/note + var/obj/item/barcode/sticker /obj/item/smallDelivery/contents_explosion(severity, target) for(var/atom/movable/AM in contents) AM.ex_act() /obj/item/smallDelivery/attack_self(mob/user) + to_chat(user, "You start to unwrap the package...") + if(!do_after(user, 15, target = user)) + return user.temporarilyRemoveItemFromInventory(src, TRUE) + unwrap_contents() for(var/X in contents) var/atom/movable/AM = X user.put_in_hands(AM) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) + new /obj/effect/decal/cleanable/wrapping(get_turf(user)) qdel(src) /obj/item/smallDelivery/attack_self_tk(mob/user) @@ -133,6 +196,8 @@ var/atom/movable/AM = X AM.forceMove(src.loc) playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) + new /obj/effect/decal/cleanable/wrapping(get_turf(user)) + unwrap_contents() qdel(src) /obj/item/smallDelivery/examine(mob/user) @@ -143,6 +208,8 @@ else . += "There's a [note.name] attached to it..." . += note.examine(user) + if(sticker) + . += "There's a barcode attached to the side." /obj/item/smallDelivery/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/destTagger)) @@ -190,6 +257,54 @@ overlaystring = copytext_char(overlaystring, 5) //5 == length("gift") + 1 add_overlay(overlaystring) + else if(istype(W, /obj/item/sales_tagger)) + var/obj/item/sales_tagger/tagger = W + if(sticker) + to_chat(user, "This package already has a barcode attached!") + return + if(!(tagger.payments_acc)) + to_chat(user, "Swipe an ID on [tagger] first!") + return + if(tagger.paper_count <= 0) + to_chat(user, "[tagger] is out of paper!") + return + user.visible_message("[user] attaches a barcode to [src].", "You attach a barcode to [src].") + tagger.paper_count -= 1 + sticker = new /obj/item/barcode(src) + sticker.payments_acc = tagger.payments_acc //new tag gets the tagger's current account. + sticker.percent_cut = tagger.percent_cut //as above, as before. + + var/list/wrap_contents = src.GetAllContents() + for(var/obj/I in wrap_contents) + I.AddComponent(/datum/component/pricetag, sticker.payments_acc, tagger.percent_cut) + var/overlaystring = "[icon_state]_tag" + if(giftwrapped) + overlaystring = copytext(overlaystring, 5) + add_overlay(overlaystring) + + else if(istype(W, /obj/item/barcode)) + var/obj/item/barcode/stickerA = W + if(sticker) + to_chat(user, "This package already has a barcode attached!") + return + if(!(stickerA.payments_acc)) + to_chat(user, "This barcode seems to be invalid. Guess it's trash now.") + return + if(!user.transferItemToLoc(W, src)) + to_chat(user, "For some reason, you can't attach [W]!") + return + sticker = stickerA + var/overlaystring = "[icon_state]_tag" + if(giftwrapped) + overlaystring = copytext_char(overlaystring, 5) //5 == length("gift") + 1 + add_overlay(overlaystring) + +/obj/item/smallDelivery/proc/unwrap_contents() + if(!sticker) + return + for(var/obj/I in src.GetAllContents()) + SEND_SIGNAL(I, COMSIG_ITEM_UNWRAPPED) + /obj/item/destTagger name = "destination tagger" desc = "Used to set the destination of properly wrapped packages." @@ -197,7 +312,7 @@ icon_state = "cargotagger" var/currTag = 0 //Destinations are stored in code\globalvars\lists\flavor_misc.dm var/locked_destination = FALSE //if true, users can't open the destination tag window to prevent changing the tagger's current destination - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_TINY item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' @@ -243,3 +358,90 @@ var/n = text2num(href_list["nextTag"]) currTag = n openwindow(usr) + +/obj/item/sales_tagger + name = "sales tagger" + desc = "A scanner that lets you tag wrapped items for sale, splitting the profit between you and cargo. Ctrl-Click to clear the registered account." + icon = 'icons/obj/device.dmi' + icon_state = "salestagger" + item_state = "electronic" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + w_class = WEIGHT_CLASS_TINY + slot_flags = ITEM_SLOT_BELT + ///The account which is recieving the split profits. + var/datum/bank_account/payments_acc = null + var/paper_count = 10 + var/max_paper_count = 20 + ///Details the percentage the scanned account recieves off the final sale. + var/percent_cut = 20 + +/obj/item/sales_tagger/examine(mob/user) + . = ..() + . += "[src] has [paper_count]/[max_paper_count] available barcodes. Refill with paper." + . += "Profit split on sale is currently set to [percent_cut]%." + +/obj/item/sales_tagger/attackby(obj/item/I, mob/living/user, params) + . = ..() + if(istype(I, /obj/item/card/id)) + var/obj/item/card/id/potential_acc = I + if(potential_acc.registered_account) + payments_acc = potential_acc.registered_account + playsound(src, 'sound/machines/ping.ogg', 40, TRUE) + to_chat(user, "[src] registers the ID card. Tag a wrapped item to create a barcode.") + else if(!potential_acc.registered_account) + to_chat(user, "This ID card has no account registered!") + return + else if(payments_acc != potential_acc.registered_account) + to_chat(user, "ID card already registered.") + if(istype(I, /obj/item/paper)) + if (!(paper_count >= max_paper_count)) + paper_count += 10 + qdel(I) + if (paper_count >= max_paper_count) + paper_count = max_paper_count + to_chat(user, "[src]'s paper supply is now full.") + return + to_chat(user, "You refill [src]'s paper supply, you have [paper_count] left.") + return + else + to_chat(user, "[src]'s paper supply is full.") + return + +/obj/item/sales_tagger/attack_self(mob/user) + . = ..() + if(paper_count <= 0) + to_chat(user, "You're out of paper!'.") + return + if(!payments_acc) + to_chat(user, "You need to swipe [src] with an ID card first.") + return + paper_count -= 1 + playsound(src, 'sound/machines/click.ogg', 40, TRUE) + to_chat(user, "You print a new barcode.") + var/obj/item/barcode/new_barcode = new /obj/item/barcode(src) + new_barcode.payments_acc = payments_acc //The sticker gets the scanner's registered account. + user.put_in_hands(new_barcode) + +/obj/item/sales_tagger/CtrlClick(mob/user) + . = ..() + payments_acc = null + to_chat(user, "You clear the registered account.") + +/obj/item/sales_tagger/AltClick(mob/user) + . = ..() + var/potential_cut = input("How much would you like to payout to the registered card?","Percentage Profit") as num|null + if(!potential_cut) + percent_cut = 50 + percent_cut = clamp(round(potential_cut, 1), 1, 50) + to_chat(user, "[percent_cut]% profit will be recieved if a package with a barcode is sold.") + +/obj/item/barcode + name = "Barcode tag" + desc = "A tiny tag, associated with a crewmember's account. Attach to a wrapped item to give that account a portion of the wrapped item's profit." + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "barcode" + w_class = WEIGHT_CLASS_TINY + ///All values inheirited from the sales tagger it came from. + var/datum/bank_account/payments_acc = null + var/percent_cut = 5 diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index ff9f3682a26..40d8dd409a2 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -864,6 +864,15 @@ build_path = /obj/item/destTagger category = list("initial", "Electronics") +/datum/design/salestagger + name = "Sales Tagger" + id = "salestagger" + build_type = AUTOLATHE | PROTOLATHE + materials = list(/datum/material/iron = 700, /datum/material/glass = 200) + build_path = /obj/item/sales_tagger + category = list("initial", "Electronics") + departmental_flags = DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SERVICE + /datum/design/handlabeler name = "Hand Labeler" id = "handlabel" diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 3d552d1ca82..81e1ca3f2c4 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -560,3 +560,36 @@ build_path = /obj/item/construction/plumbing category = list("Equipment") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + + + +///////////////////////////////////////// +/////////////////Tape//////////////////// +///////////////////////////////////////// + +/datum/design/sticky_tape + name = "Sticky Tape" + id = "sticky_tape" + build_type = PROTOLATHE + materials = list(/datum/material/plastic = 500) + build_path = /obj/item/stack/sticky_tape + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + +/datum/design/super_sticky_tape + name = "Super Sticky Tape" + id = "super_sticky_tape" + build_type = PROTOLATHE + materials = list(/datum/material/plastic = 3000) + build_path = /obj/item/stack/sticky_tape/super + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + +/datum/design/pointy_tape + name = "Pointy Tape" + id = "pointy_tape" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 1500, /datum/material/plastic = 1000) + build_path = /obj/item/stack/sticky_tape/pointy + category = list("Equipment") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index a441ec0d773..abcb36795bb 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -248,7 +248,7 @@ /datum/design/wormhole_projector name = "Bluespace Wormhole Projector" - desc = "A projector that emits high density quantum-coupled bluespace beams." + desc = "A projector that emits high density quantum-coupled bluespace beams. Requires a bluespace anomaly core to function." id = "wormholeprojector" build_type = PROTOLATHE materials = list(/datum/material/silver = 2000, /datum/material/iron = 5000, /datum/material/diamond = 2000, /datum/material/bluespace = 3000) @@ -315,8 +315,8 @@ departmental_flags = DEPARTMENTAL_FLAG_SECURITY /datum/design/gravitygun - name = "One-point Bluespace-gravitational Manipulator" - desc = "A multi-mode device that blasts one-point bluespace-gravitational bolts that locally distort gravity." + name = "One-point Gravitational Manipulator" + desc = "A multi-mode device that blasts one-point bluespace-gravitational bolts that locally distort gravity. Requires a gravitational anomaly core to function." id = "gravitygun" build_type = PROTOLATHE materials = list(/datum/material/silver = 8000, /datum/material/uranium = 8000, /datum/material/glass = 12000, /datum/material/iron = 12000, /datum/material/diamond = 3000, /datum/material/bluespace = 3000) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 7fab2a9621e..54095e6b354 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -8,7 +8,7 @@ display_name = "Basic Research Technology" description = "NT default research technologies." // Default research tech, prevents bricking - design_ids = list("basic_matter_bin", "basic_cell", "basic_scanning", "basic_capacitor", "basic_micro_laser", "micro_mani", "desttagger", "handlabel", "packagewrap", + design_ids = list("basic_matter_bin", "basic_cell", "basic_scanning", "basic_capacitor", "basic_micro_laser", "micro_mani", "desttagger", "salestagger", "handlabel", "packagewrap", "destructive_analyzer", "circuit_imprinter", "experimentor", "rdconsole", "bepis", "design_disk", "tech_disk", "rdserver", "rdservercontrol", "mechfab", "paystand", "space_heater", "bucket", "sec_rshot", "sec_beanbag_slug", "sec_bshot", "sec_slug", "sec_Islug", "sec_dart", "sec_38", "rglass", "plasteel", "plastitanium", "plasmaglass", "plasmareinforcedglass", "titaniumglass", "plastitaniumglass", "plastic_knife", "plastic_fork", "plastic_spoon") @@ -1145,6 +1145,30 @@ hidden = TRUE experimental = TRUE +/datum/techweb_node/sticky_basic + id = "sticky_basic" + display_name = "Basic Sticky Technology" + description = "The only thing left to do after researching this tech is to start printing out a bunch of 'kick me' signs." + prereq_ids = list("base") + design_ids = list("sticky_tape") + + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + export_price = 2500 + hidden = TRUE + experimental = TRUE + +// Can be researched after getting the basic sticky technology from the BEPIS major reward +/datum/techweb_node/sticky_advanced + id = "sticky_advanced" + display_name = "Advanced Sticky Technology" + description = "Taking a good joke too far? Nonsense!" + prereq_ids = list("sticky_basic") + design_ids = list("super_sticky_tape", "pointy_tape") + + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) + export_price = 2500 + hidden = TRUE + //Helpers for debugging/balancing the techweb in its entirety! /proc/total_techweb_exports() var/list/datum/techweb_node/processing = list() diff --git a/code/modules/ruins/lavalandruin_code/kinggoat.dm b/code/modules/ruins/lavalandruin_code/kinggoat.dm index 72518dff292..3e889a836f4 100644 --- a/code/modules/ruins/lavalandruin_code/kinggoat.dm +++ b/code/modules/ruins/lavalandruin_code/kinggoat.dm @@ -1,5 +1,6 @@ /turf/open/indestructible/gold name = "gold floor" + initial_gas_mix = LAVALAND_DEFAULT_ATMOS baseturfs = /turf/open/indestructible/gold icon_state = "gold" tiled_dirt = FALSE @@ -7,6 +8,7 @@ /turf/open/indestructible/diamond name = "diamond floor" + initial_gas_mix = LAVALAND_DEFAULT_ATMOS baseturfs = /turf/open/indestructible/diamond icon_state = "diamond" tiled_dirt = FALSE @@ -34,7 +36,7 @@ /obj/item/gun/energy/goatgun name = "goat gun" desc = "Whoever you fire this at is gonna be in for a baaaaaaad surprise." //ha ha I am funny man please laugh HAHAHAHAHAHAHAHA - icon_state = "meteor_gun" + icon_state = "goat_gun" item_state = "c20r" w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/goat) diff --git a/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/ruins/spaceruin_code/hilbertshotel.dm index a19c932fa42..133f76b4fba 100644 --- a/code/modules/ruins/spaceruin_code/hilbertshotel.dm +++ b/code/modules/ruins/spaceruin_code/hilbertshotel.dm @@ -44,6 +44,10 @@ GLOBAL_VAR_INIT(hhmysteryRoomNumber, 1337) /obj/item/hilbertshotel/proc/promptAndCheckIn(mob/user) var/chosenRoomNumber = input(user, "What number room will you be checking into?", "Room Number") as null|num + var/area/currentArea = get_area(src) + if(currentArea.type == /area/ruin/powered/kinggoat_arena) + to_chat(user, "[src] fizzles uselessly.") + return if(!chosenRoomNumber) return if(chosenRoomNumber > SHORT_REAL_LIMIT) diff --git a/code/modules/spells/spell_types/aimed.dm b/code/modules/spells/spell_types/aimed.dm index c8e6d40eed2..07165a2623b 100644 --- a/code/modules/spells/spell_types/aimed.dm +++ b/code/modules/spells/spell_types/aimed.dm @@ -101,7 +101,7 @@ action_icon_state = "lightning0" sound = 'sound/magic/lightningbolt.ogg' active = FALSE - projectile_var_overrides = list("zap_range" = 15, "zap_power" = 20000, "zap_flags" = ZAP_MOB_DAMAGE | ZAP_IS_TESLA) + projectile_var_overrides = list("zap_range" = 15, "zap_power" = 20000, "zap_flags" = ZAP_MOB_DAMAGE) active_msg = "You energize your hand with arcane lightning!" deactive_msg = "You let the energy flow out of your hands back into yourself..." projectile_type = /obj/projectile/magic/aoe/lightning diff --git a/code/modules/spells/spell_types/rod_form.dm b/code/modules/spells/spell_types/rod_form.dm index 5debe7341c6..72b99b45492 100644 --- a/code/modules/spells/spell_types/rod_form.dm +++ b/code/modules/spells/spell_types/rod_form.dm @@ -16,6 +16,9 @@ if(istype(A, /area/wizard_station)) to_chat(user, "You know better than to trash Wizard Federation property. Best wait until you leave to use [src].") return + else if(istype(A, /area/ruin/powered/kinggoat_arena)) + to_chat(user, "Some foul goat based magic is preventing you from using rod form here!. You must beat the king goat or escape the arena somehow before you can use [src].") + return for(var/mob/living/M in targets) var/turf/start = get_turf(M) var/obj/effect/immovablerod/wizard/W = new(start, get_ranged_target_turf(start, M.dir, (15 + spell_level * 3))) diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index 43449b972c0..2837155191e 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -151,12 +151,14 @@ clear_alert("embeddedobject") SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "embedded") -/mob/living/carbon/proc/has_embedded_objects() - . = FALSE +/mob/living/carbon/proc/has_embedded_objects(include_harmless=FALSE) + . = 0 for(var/X in bodyparts) var/obj/item/bodypart/L = X for(var/obj/item/I in L.embedded_objects) - return TRUE + if(!include_harmless && I.is_embed_harmless()) + continue + return 1 //Helper for quickly creating a new limb - used by augment code in species.dm spec_attacked_by diff --git a/code/modules/surgery/remove_embedded_object.dm b/code/modules/surgery/remove_embedded_object.dm index 39f9bcfff54..cac7924c846 100644 --- a/code/modules/surgery/remove_embedded_object.dm +++ b/code/modules/surgery/remove_embedded_object.dm @@ -30,11 +30,7 @@ var/objects = 0 for(var/obj/item/I in L.embedded_objects) objects++ - I.forceMove(get_turf(H)) - L.embedded_objects -= I - if(!H.has_embedded_objects()) - H.clear_alert("embeddedobject") - SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "embedded") + SEND_SIGNAL(H, COMSIG_HUMAN_EMBED_REMOVAL, I, L) if(objects > 0) display_results(user, target, "You successfully remove [objects] objects from [H]'s [L.name].", diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index b5dafecf530..791089924e1 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1369,6 +1369,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/assembly/flash/hypnotic cost = 7 +/datum/uplink_item/device_tools/hypnotic_grenade + name = "Hypnotic Grenade" + desc = "A modified flashbang grenade able to hypnotize targets. The sound portion of the flashbang causes hallucinations, and will allow the flash to induce a hypnotic trance to viewers." + item = /obj/item/grenade/hypnotic + cost = 12 + /datum/uplink_item/device_tools/medgun name = "Medbeam Gun" desc = "A wonder of Syndicate engineering, the Medbeam gun, or Medi-Gun enables a medic to keep his fellow \ diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 8b2feab8fee..2c35f6d26e2 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -504,9 +504,11 @@ GLOBAL_LIST_EMPTY(vending_products) crit_rebate = 50 for(var/i = 0, i < num_shards, i++) var/obj/item/shard/shard = new /obj/item/shard(get_turf(C)) - shard.embedding = shard.embedding.setRating(embed_chance = 100, embedded_ignore_throwspeed_threshold = TRUE, embedded_impact_pain_multiplier=1,embedded_pain_chance=5) + shard.embedding = list(embed_chance = 100, ignore_throwspeed_threshold = TRUE, impact_pain_mult=1, pain_chance=5) + shard.AddElement(/datum/element/embed, shard.embedding) C.hitby(shard, skipcatch = TRUE, hitpush = FALSE) - shard.embedding = shard.embedding.setRating(embed_chance = EMBED_CHANCE, embedded_ignore_throwspeed_threshold = FALSE) + shard.embedding = initial(shard.embedding) + shard.AddElement(/datum/element/embed, shard.embedding) if(4) // paralyze this binch // the new paraplegic gets like 4 lines of losing their legs so skip them visible_message("[C]'s spinal cord is obliterated with a sickening crunch!", ignored_mobs = list(C)) diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index 51446c8c980..3a5bcdff21c 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -182,6 +182,7 @@ /obj/item/clothing/suit/hooded/wintercoat/hydro = 2, /obj/item/clothing/suit/apron = 2, /obj/item/clothing/suit/apron/overalls = 3, + /obj/item/clothing/suit/apron/waders = 3, /obj/item/clothing/under/rank/civilian/hydroponics = 3, /obj/item/clothing/under/rank/civilian/hydroponics/skirt = 3, /obj/item/clothing/mask/bandana = 3, diff --git a/dependencies.sh b/dependencies.sh index 4a950af3146..be5a3204285 100755 --- a/dependencies.sh +++ b/dependencies.sh @@ -11,7 +11,7 @@ export BYOND_MINOR=${LIST[1]} unset LIST #rust_g git tag -export RUST_G_VERSION=0.4.2 +export RUST_G_VERSION=0.4.3 #bsql git tag export BSQL_VERSION=v1.4.0.0 diff --git a/html/changelog.html b/html/changelog.html index be69f21ef19..7fe7d16ce82 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -51,6 +51,58 @@ -->
    +

    24 February 2020

    +

    AffectedArc07 updated:

    +
      +
    • MetaStation is now no longer internally broken
    • +
    +

    Capsandi updated:

    +
      +
    • Donk Pocket Pizza is back on the menu
    • +
    +

    ExcessiveUseOfCobblestone updated:

    +
      +
    • Helbital now is more simple to use and is based off not crit/softcrit/hardcrit. You want to be in hardcrit for the best brute healing.
    • +
    • Troph has now been converted into a C2 with tweaks, now named Probital. Same recipe. Downside is stamina damage
    • +
    • Rhig has now been converted into a C2 with tweaks, now named Hercuri. Same Recipe. Downside is it can cool to dangerous levels.
    • +
    +

    Krysonism updated:

    +
      +
    • Added the horticultural waders to the hydrobe.
    • +
    • Resprited the hydroponics jumpsuit & jumpskirt
    • +
    +

    TheVekter updated:

    +
      +
    • Each anomaly now produces a specific core depending on what type it is. (Credit to Partheo for the new sprites!)
    • +
    • Enabled a variant of the Gravitational Anomaly that is much stronger. Wear magboots. (This does not replace the current variant.)
    • +
    • Bluespace Wormhole Projector now requires a bluespace anomaly core to function.
    • +
    • One-point gravity manipulator now requires a gravitational anomaly core to function.
    • +
    • The Phazon now specifically requires a bluespace anomaly core - others will not work.
    • +
    • Anomalies can no longer spawn in maintenance.
    • +
    • The chance for most anomalies to spawn has been increased.
    • +
    +

    XDTM updated:

    +
      +
    • Added a hypnotic flashbang to the uplink for 12 TC. It can hypnotize people much like a hypnoflash, and the sound will automatically make victims vulnerable to the trance.
    • +
    +

    Yenwodyah updated:

    +
      +
    • Recycler doesn't delete people in mechs, cardboard boxes, spells, etc. anymore
    • +
    +

    bobbahbrown updated:

    +
      +
    • Fixed unsanitized input on the DNA console allowing for raw HTML injection
    • +
    +

    itseasytosee updated:

    +
      +
    • Admins can now play around with jailbreak & detain objectives. Which means help a target escape out of custody or insure a target escapes in custody respectively.
    • +
    +

    nightred updated:

    +
      +
    • space ninja space suit to warm the wearer now, no more button for that
    • +
    • space ninja cell size is now reverted to original size
    • +
    +

    21 February 2020

    AffectedArc07 updated:

      @@ -1658,64 +1710,6 @@
      • RCD animations are now anchored
      - -

      22 December 2019

      -

      Arkatos updated:

      -
        -
      • Bank Machine now uses tgui-next UI.
      • -
      • Small UI tweaks for Gravity Generator and Equipment Reclaimer Console.
      • -
      -

      Buggy123 updated:

      -
        -
      • An intern at Nanotrasen noticed that their shift timer was running about 3 minutes fast, misleading employees about how long they had been clocked in. The timer has been fixed, and anyone who clocked out early has had their pay docked.
      • -
      -

      Miningby updated:

      -
        -
      • Mining skill only affects tools like pickaxe/drill, and the skill can only be gained by using such tools
      • -
      • Mining tools have been returned to their previous speed, and mining skill boosts this speed further. Previously mining skill lowered the speed and brought it back to normal after reaching certain levels.
      • -
      -

      Skoglol updated:

      -
        -
      • Santas bag should once again regen gifts. A bit faster than before, too.
      • -
      -

      TetraK1 updated:

      -
        -
      • SM radiation no longer kills you in 12 seconds without rad protection.
      • -
      -

      Thebleh updated:

      -
        -
      • Freezers and Heaters can now connect on multiple layers. Use a multitool on their boards to change layers.
      • -
      • Clown and Mime traitors don't get a pen unless it's their uplink choice
      • -
      -

      actioninja updated:

      -
        -
      • You can rename diseases in the pandemic
      • -
      -

      nightred updated:

      -
        -
      • kitchen counter on meta
      • -
      • replaced donk-pocket boxes in kitchen with new donk-pocket spawner
      • -
      -

      swindly updated:

      -
        -
      • Fixed crafting items using blacklisted subtypes of required items.
      • -
      • Fixed bonfires not returning the logs used to build them when deconstructed
      • -
      • Steel-cap logs can not be used to build bonfires
      • -
      -

      wesoda25 updated:

      -
        -
      • Cargo Item Requisition forms now display what time they were ordered
      • -
      - -

      21 December 2019

      -

      Ty the Smonk updated:

      -
        -
      • #48245 Wizards can no longer input just spaces and have that as their name
      • -
      -

      Ty-the-Smonk updated:

      -
        -
      • #48281 Bees can now vent crawl
      • -
    GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 891f4e0ec5f..16424ac2c72 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -37348,3 +37348,45 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - code_imp: Cleaned up incomplete span elements trollbreeder: - bugfix: Fixes an issue where Smite and Flesh to Stone were invisible in item form. +2020-02-24: + AffectedArc07: + - tweak: MetaStation is now no longer internally broken + Capsandi: + - bugfix: Donk Pocket Pizza is back on the menu + ExcessiveUseOfCobblestone: + - balance: Helbital now is more simple to use and is based off not crit/softcrit/hardcrit. + You want to be in hardcrit for the best brute healing. + - tweak: Troph has now been converted into a C2 with tweaks, now named Probital. + Same recipe. Downside is stamina damage + - tweak: Rhig has now been converted into a C2 with tweaks, now named Hercuri. Same + Recipe. Downside is it can cool to dangerous levels. + Krysonism: + - rscadd: Added the horticultural waders to the hydrobe. + - imageadd: Resprited the hydroponics jumpsuit & jumpskirt + TheVekter: + - rscadd: Each anomaly now produces a specific core depending on what type it is. + (Credit to Partheo for the new sprites!) + - rscadd: Enabled a variant of the Gravitational Anomaly that is much stronger. + Wear magboots. (This does not replace the current variant.) + - tweak: Bluespace Wormhole Projector now requires a bluespace anomaly core to function. + - tweak: One-point gravity manipulator now requires a gravitational anomaly core + to function. + - tweak: The Phazon now specifically requires a bluespace anomaly core - others + will not work. + - tweak: Anomalies can no longer spawn in maintenance. + - tweak: The chance for most anomalies to spawn has been increased. + XDTM: + - rscadd: Added a hypnotic flashbang to the uplink for 12 TC. It can hypnotize people + much like a hypnoflash, and the sound will automatically make victims vulnerable + to the trance. + Yenwodyah: + - bugfix: Recycler doesn't delete people in mechs, cardboard boxes, spells, etc. + anymore + bobbahbrown: + - bugfix: Fixed unsanitized input on the DNA console allowing for raw HTML injection + itseasytosee: + - rscadd: Admins can now play around with jailbreak & detain objectives. Which means + help a target escape out of custody or insure a target escapes in custody respectively. + nightred: + - bugfix: space ninja space suit to warm the wearer now, no more button for that + - bugfix: space ninja cell size is now reverted to original size diff --git a/html/changelogs/AutoChangeLog-pr-48959.yml b/html/changelogs/AutoChangeLog-pr-48959.yml new file mode 100644 index 00000000000..ea18a285c54 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-48959.yml @@ -0,0 +1,7 @@ +author: "Ryll/Shaps" +delete-after: True +changes: + - tweak: "Embeddables have been reworked and given new functionality." + - rscadd: "Adds toy shurikens for pranks and shock shurikens for less lethal takedowns." + - rscadd: "Adds sticky tape that lets you stick random junk to people! How will anyone believe the Captain's cries that he's not actually a boomer when there's a can of Monkey Energy stuck to his head?" + - refactor: "Embedding functionality has been made an element, with new support for dealing a mix of brute and stamina damage, and a separate pain check for on-move." diff --git a/html/changelogs/AutoChangeLog-pr-49111.yml b/html/changelogs/AutoChangeLog-pr-49111.yml new file mode 100644 index 00000000000..d14c2825234 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49111.yml @@ -0,0 +1,5 @@ +author: "ArcaneMusic" +delete-after: True +changes: + - rscadd: "The Nanotrasen Deliveries and Handling League (NDHL) have been noticing a decrease in station export profits, and the crate recycling program just isn't cutting it. New Sales Taggers have been deployed in all station cargo setups." + - rscadd: "Wrapped items can be zapped with Sales Taggers in order to give the account holder a portion of the profit on a sale." diff --git a/html/changelogs/AutoChangeLog-pr-49159.yml b/html/changelogs/AutoChangeLog-pr-49159.yml new file mode 100644 index 00000000000..d788feb7dab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49159.yml @@ -0,0 +1,9 @@ +author: "fluffe9911" +delete-after: True +changes: + - rscadd: "King Goat achievements" + - tweak: "King Goat spells per phase lowered from 10 to 5" + - tweak: "King Goat goes back to normal speed after casting super speed spell 2x faster" + - bugfix: "Hiro teleport no longer works in NOTELEPORT areas" + - bugfix: "moved king goat file to proper area" + - tweak: "better goat hoof and goat gun sprite courtesy of Usnavi!" diff --git a/html/changelogs/AutoChangeLog-pr-49260.yml b/html/changelogs/AutoChangeLog-pr-49260.yml new file mode 100644 index 00000000000..9a60b448b09 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49260.yml @@ -0,0 +1,7 @@ +author: "LemonInTheDark" +delete-after: True +changes: + - rscadd: "Tesla zaps will now turn tesla generators into teslas." + - bugfix: "Explosions might be a little less common, I've fixed the thing where machines would explode with no visible arc to the object." + - bugfix: "Fixes a whole bunch of issues, teslas make more sense now" + - code_imp: "Makes my shitcode better" diff --git a/html/changelogs/AutoChangeLog-pr-49406.yml b/html/changelogs/AutoChangeLog-pr-49406.yml new file mode 100644 index 00000000000..ed5f08ba689 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49406.yml @@ -0,0 +1,5 @@ +author: "pireamaineach" +delete-after: True +changes: + - imageadd: "Resprites several plasmaman items. +add:Adds plasmagloves and fixes clipping on the plasmaman suit." diff --git a/html/changelogs/AutoChangeLog-pr-49475.yml b/html/changelogs/AutoChangeLog-pr-49475.yml new file mode 100644 index 00000000000..0eba9655378 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49475.yml @@ -0,0 +1,5 @@ +author: "Yenwodyah" +delete-after: True +changes: + - bugfix: "Removed geneticists from the medbay radio channel" + - bugfix: "Geneticists are on the science payroll now" diff --git a/html/changelogs/AutoChangeLog-pr-49484.yml b/html/changelogs/AutoChangeLog-pr-49484.yml new file mode 100644 index 00000000000..f0fa2e74793 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49484.yml @@ -0,0 +1,5 @@ +author: "ArcaneMusic" +delete-after: True +changes: + - tweak: "Wooden Fermenting barrels now cost 8 wooden planks to craft, down from 30." + - balance: "Wooden Fermenting barrels can now be made in the stack crafting menu, in addition to the crafting menu." diff --git a/html/changelogs/AutoChangeLog-pr-49485.yml b/html/changelogs/AutoChangeLog-pr-49485.yml new file mode 100644 index 00000000000..6faa88bfd56 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49485.yml @@ -0,0 +1,4 @@ +author: "Arkatos and Skoglol" +delete-after: True +changes: + - rscadd: "Gas Turbine now uses tgui." diff --git a/html/changelogs/AutoChangeLog-pr-49499.yml b/html/changelogs/AutoChangeLog-pr-49499.yml new file mode 100644 index 00000000000..f178b3cec8b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49499.yml @@ -0,0 +1,4 @@ +author: "cacogen" +delete-after: True +changes: + - tweak: "Box now has a Service Door between hydroponics and the kitchen instead of the desk" diff --git a/html/changelogs/AutoChangeLog-pr-49504.yml b/html/changelogs/AutoChangeLog-pr-49504.yml new file mode 100644 index 00000000000..5f016498f39 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49504.yml @@ -0,0 +1,4 @@ +author: "Time-Green" +delete-after: True +changes: + - bugfix: "reaction chamber empties again" diff --git a/html/changelogs/AutoChangeLog-pr-49507.yml b/html/changelogs/AutoChangeLog-pr-49507.yml new file mode 100644 index 00000000000..bc4000720ce --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49507.yml @@ -0,0 +1,4 @@ +author: "Mickyan" +delete-after: True +changes: + - tweak: "Added plumbing room to Deltastation" diff --git a/html/changelogs/AutoChangeLog-pr-49508.yml b/html/changelogs/AutoChangeLog-pr-49508.yml new file mode 100644 index 00000000000..735e4b7e84c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49508.yml @@ -0,0 +1,4 @@ +author: "improvedname" +delete-after: True +changes: + - rscdel: "Removes magicarp bolt of change" diff --git a/html/changelogs/AutoChangeLog-pr-49509.yml b/html/changelogs/AutoChangeLog-pr-49509.yml new file mode 100644 index 00000000000..a5168b01b8a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49509.yml @@ -0,0 +1,4 @@ +author: "Bumtickley00" +delete-after: True +changes: + - bugfix: "Helbital now heals brute instead of dealing brute" diff --git a/html/changelogs/AutoChangeLog-pr-49510.yml b/html/changelogs/AutoChangeLog-pr-49510.yml new file mode 100644 index 00000000000..2d9910bd56b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49510.yml @@ -0,0 +1,4 @@ +author: "Arkatos" +delete-after: True +changes: + - rscadd: "Electropack now uses tgui." diff --git a/html/changelogs/AutoChangeLog-pr-49515.yml b/html/changelogs/AutoChangeLog-pr-49515.yml new file mode 100644 index 00000000000..52d70ffd014 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49515.yml @@ -0,0 +1,4 @@ +author: "Time-Green" +delete-after: True +changes: + - rscadd: "adds the snail achievement to genetics" diff --git a/html/changelogs/AutoChangeLog-pr-49516.yml b/html/changelogs/AutoChangeLog-pr-49516.yml new file mode 100644 index 00000000000..cacc4b7159e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49516.yml @@ -0,0 +1,4 @@ +author: "Time-Green" +delete-after: True +changes: + - bugfix: "fixes gastrolisis runtime" diff --git a/html/changelogs/AutoChangeLog-pr-49517.yml b/html/changelogs/AutoChangeLog-pr-49517.yml new file mode 100644 index 00000000000..652997daf60 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49517.yml @@ -0,0 +1,4 @@ +author: "Mickyan" +delete-after: True +changes: + - tweak: "Added the art gallery to Deltastation" diff --git a/html/changelogs/AutoChangeLog-pr-49526.yml b/html/changelogs/AutoChangeLog-pr-49526.yml new file mode 100644 index 00000000000..a650e3b323d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49526.yml @@ -0,0 +1,5 @@ +author: "bobbahbrown" +delete-after: True +changes: + - tweak: "Nanotrasen is now manufacturing wigs with waterproof dye -- shower with new-found confidence!" + - bugfix: "Wigs can no longer have their color changed when not being held." diff --git a/html/changelogs/AutoChangeLog-pr-49532.yml b/html/changelogs/AutoChangeLog-pr-49532.yml new file mode 100644 index 00000000000..5de00757ee4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49532.yml @@ -0,0 +1,4 @@ +author: "Arkatos and actioninja" +delete-after: True +changes: + - rscadd: "Malfunction Modules Picker now uses tgui." diff --git a/html/changelogs/AutoChangeLog-pr-49541.yml b/html/changelogs/AutoChangeLog-pr-49541.yml new file mode 100644 index 00000000000..fcbe4c6cd49 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49541.yml @@ -0,0 +1,4 @@ +author: "ShizCalev" +delete-after: True +changes: + - bugfix: "Blindfolds now properly blind you!" diff --git a/html/changelogs/AutoChangeLog-pr-49553.yml b/html/changelogs/AutoChangeLog-pr-49553.yml new file mode 100644 index 00000000000..740b5853f53 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49553.yml @@ -0,0 +1,4 @@ +author: "nemvar" +delete-after: True +changes: + - spellcheck: "Renamed \"My mental status\" to \"My current sanity\" in the mood printout." diff --git a/html/changelogs/AutoChangeLog-pr-49561.yml b/html/changelogs/AutoChangeLog-pr-49561.yml new file mode 100644 index 00000000000..2c071071822 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49561.yml @@ -0,0 +1,4 @@ +author: "bobbahbrown" +delete-after: True +changes: + - bugfix: "Fixed unsanitized blob broadcast allowing html injection" diff --git a/html/changelogs/AutoChangeLog-pr-49585.yml b/html/changelogs/AutoChangeLog-pr-49585.yml new file mode 100644 index 00000000000..d3ddef84f98 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49585.yml @@ -0,0 +1,4 @@ +author: "Ryll/Shaps" +delete-after: True +changes: + - rscadd: "Officer Beepsky has been promoted to Commander Beepsky! He is now officially in command of all of the bots on the station, who will now show him proper respect by saluting him when they cross paths." diff --git a/html/changelogs/AutoChangeLog-pr-49593.yml b/html/changelogs/AutoChangeLog-pr-49593.yml new file mode 100644 index 00000000000..814826bc3a9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49593.yml @@ -0,0 +1,4 @@ +author: "LemonInTheDark" +delete-after: True +changes: + - bugfix: "Zaps no longer infinite chain after hitting coils." diff --git a/html/changelogs/AutoChangeLog-pr-49595.yml b/html/changelogs/AutoChangeLog-pr-49595.yml new file mode 100644 index 00000000000..3855bd876c6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-49595.yml @@ -0,0 +1,4 @@ +author: "Mickyan" +delete-after: True +changes: + - bugfix: "Deltastation's disposal system will no longer accidentally dump garbage into the morgue" diff --git a/icons/UI_Icons/Achievements/Boss/goatboss.png b/icons/UI_Icons/Achievements/Boss/goatboss.png new file mode 100644 index 00000000000..902e1195d39 Binary files /dev/null and b/icons/UI_Icons/Achievements/Boss/goatboss.png differ diff --git a/icons/UI_Icons/Achievements/Misc/snail.png b/icons/UI_Icons/Achievements/Misc/snail.png new file mode 100644 index 00000000000..f38c5165cb5 Binary files /dev/null and b/icons/UI_Icons/Achievements/Misc/snail.png differ diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi index 09966df4ec3..cb4251fd3c6 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 8022258ab74..5589d556ecc 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/clothing/suit.dmi b/icons/mob/clothing/suit.dmi index d1fe99ac398..b59c86f8872 100644 Binary files a/icons/mob/clothing/suit.dmi and b/icons/mob/clothing/suit.dmi differ diff --git a/icons/mob/clothing/under/civilian.dmi b/icons/mob/clothing/under/civilian.dmi index 9e20766cb14..7da66b1df31 100644 Binary files a/icons/mob/clothing/under/civilian.dmi and b/icons/mob/clothing/under/civilian.dmi differ diff --git a/icons/mob/clothing/under/plasmaman.dmi b/icons/mob/clothing/under/plasmaman.dmi index f45a0335616..53e2c7a0fc5 100644 Binary files a/icons/mob/clothing/under/plasmaman.dmi and b/icons/mob/clothing/under/plasmaman.dmi differ diff --git a/icons/mob/human_parts.dmi b/icons/mob/human_parts.dmi index b0beb21017c..83e2a1b4231 100644 Binary files a/icons/mob/human_parts.dmi and b/icons/mob/human_parts.dmi differ diff --git a/icons/obj/artstuff.dmi b/icons/obj/artstuff.dmi index 4ec2c066a95..14970b76ef2 100644 Binary files a/icons/obj/artstuff.dmi and b/icons/obj/artstuff.dmi differ diff --git a/icons/obj/assemblies/new_assemblies.dmi b/icons/obj/assemblies/new_assemblies.dmi index df9517aeaa5..adb0b69c590 100644 Binary files a/icons/obj/assemblies/new_assemblies.dmi and b/icons/obj/assemblies/new_assemblies.dmi differ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index a83172612f5..8b9222741ef 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index 7a3d72c8841..3570c01732c 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index e9b373f18d4..124a7e266ff 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 0c90389ee8d..9dd40b71b44 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/under/civilian.dmi b/icons/obj/clothing/under/civilian.dmi index 5b51265cf91..9ed2c8ab5c9 100644 Binary files a/icons/obj/clothing/under/civilian.dmi and b/icons/obj/clothing/under/civilian.dmi differ diff --git a/icons/obj/clothing/under/plasmaman.dmi b/icons/obj/clothing/under/plasmaman.dmi index c291b7fa015..dff2d556553 100644 Binary files a/icons/obj/clothing/under/plasmaman.dmi and b/icons/obj/clothing/under/plasmaman.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 7ca524b29f6..0306177e7e4 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index 8f065d41f6c..d52c07372c1 100644 Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ diff --git a/icons/obj/lavaland/artefacts.dmi b/icons/obj/lavaland/artefacts.dmi index 6e509963eb7..e0aa1183cf8 100644 Binary files a/icons/obj/lavaland/artefacts.dmi and b/icons/obj/lavaland/artefacts.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index c4e5bece817..ce9510d00e7 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index e34d4553ee5..1807e5a532f 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/tapes.dmi b/icons/obj/tapes.dmi new file mode 100644 index 00000000000..a406a4dd1f9 Binary files /dev/null and b/icons/obj/tapes.dmi differ diff --git a/strings/names/plasmaman.txt b/strings/names/plasmaman.txt index eb5f8b786c9..37e27c2a42f 100644 --- a/strings/names/plasmaman.txt +++ b/strings/names/plasmaman.txt @@ -115,4 +115,4 @@ Xenon Ytterbium Yttrium Zinc -Zirconium \ No newline at end of file +Zirconium diff --git a/strings/wanted_message.json b/strings/wanted_message.json index 73027797695..18965b70263 100644 --- a/strings/wanted_message.json +++ b/strings/wanted_message.json @@ -30,7 +30,7 @@ "noun": { "secret plans": 50, "the hand teleporter": 50, - "an NT centcomm uniform": 50, + "an NT CentCom uniform": 50, "a supermatter shard": 50, "internal Syndicate documents": 50, "experimental Nanotrasen technology": 50, @@ -64,7 +64,7 @@ "on a remote syndicate base": 50, "in a secure NT facility": 50, "while on an escape shuttle": 10, - "while infilrating centcomm headquarters": 10, + "while infiltrating CentCom headquarters": 10, "deep in the necropolis": 10, "during a drunken bar fight": 5, "while stuck in a bathroom": 5, diff --git a/tgstation.dme b/tgstation.dme index 345c44db3bc..ac64c0b6a5b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -387,6 +387,7 @@ #include "code\datums\components\earprotection.dm" #include "code\datums\components\edible.dm" #include "code\datums\components\edit_complainer.dm" +#include "code\datums\components\embedded.dm" #include "code\datums\components\empprotection.dm" #include "code\datums\components\explodable.dm" #include "code\datums\components\footstep.dm" @@ -411,6 +412,7 @@ #include "code\datums\components\ntnet_interface.dm" #include "code\datums\components\orbiter.dm" #include "code\datums\components\paintable.dm" +#include "code\datums\components\pricetag.dm" #include "code\datums\components\punchcooldown.dm" #include "code\datums\components\rad_insulation.dm" #include "code\datums\components\radioactive.dm" @@ -524,6 +526,7 @@ #include "code\datums\elements\digitalcamo.dm" #include "code\datums\elements\dunkable.dm" #include "code\datums\elements\earhealing.dm" +#include "code\datums\elements\embed.dm" #include "code\datums\elements\firestacker.dm" #include "code\datums\elements\forced_gravity.dm" #include "code\datums\elements\selfknockback.dm" @@ -1016,6 +1019,7 @@ #include "code\game\objects\items\grenades\flashbang.dm" #include "code\game\objects\items\grenades\ghettobomb.dm" #include "code\game\objects\items\grenades\grenade.dm" +#include "code\game\objects\items\grenades\hypno.dm" #include "code\game\objects\items\grenades\plastic.dm" #include "code\game\objects\items\grenades\smokebomb.dm" #include "code\game\objects\items\grenades\spawnergrenade.dm" @@ -1051,6 +1055,7 @@ #include "code\game\objects\items\stacks\medical.dm" #include "code\game\objects\items\stacks\rods.dm" #include "code\game\objects\items\stacks\stack.dm" +#include "code\game\objects\items\stacks\tape.dm" #include "code\game\objects\items\stacks\telecrystal.dm" #include "code\game\objects\items\stacks\tickets.dm" #include "code\game\objects\items\stacks\wrap.dm" @@ -1449,6 +1454,7 @@ #include "code\modules\antagonists\traitor\syndicate_contract.dm" #include "code\modules\antagonists\traitor\equipment\contractor.dm" #include "code\modules\antagonists\traitor\equipment\Malf_Modules.dm" +#include "code\modules\antagonists\traitor\equipment\module_picker.dm" #include "code\modules\antagonists\traitor\IAA\internal_affairs.dm" #include "code\modules\antagonists\valentines\heartbreaker.dm" #include "code\modules\antagonists\valentines\valentine.dm" @@ -1773,6 +1779,7 @@ #include "code\modules\events\wizard\blobies.dm" #include "code\modules\events\wizard\curseditems.dm" #include "code\modules\events\wizard\departmentrevolt.dm" +#include "code\modules\events\wizard\embeddies.dm" #include "code\modules\events\wizard\fakeexplosion.dm" #include "code\modules\events\wizard\ghost.dm" #include "code\modules\events\wizard\greentext.dm" @@ -2321,6 +2328,7 @@ #include "code\modules\mob\living\simple_animal\hostile\megafauna\colossus.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\drake.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\hierophant.dm" +#include "code\modules\mob\living\simple_animal\hostile\megafauna\king_of_goats.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\megafauna.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\swarmer.dm" @@ -2340,7 +2348,6 @@ #include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\frog.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\ghost.dm" -#include "code\modules\mob\living\simple_animal\hostile\retaliate\king_of_goats.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\spaceman.dm" #include "code\modules\mob\living\simple_animal\slime\death.dm" diff --git a/tgui/packages/tgui/interfaces/Canvas.js b/tgui/packages/tgui/interfaces/Canvas.js index 0955aedc3bf..b30639697c2 100644 --- a/tgui/packages/tgui/interfaces/Canvas.js +++ b/tgui/packages/tgui/interfaces/Canvas.js @@ -1,6 +1,6 @@ import { Fragment } from 'inferno'; import { useBackend } from '../backend'; -import { Box } from '../components'; +import { Box, Button } from '../components'; import { Component, createRef } from 'inferno'; import { pureComponentHooks } from 'common/react'; @@ -85,6 +85,12 @@ export const Canvas = props => { act("paint", { x, y })} /> - {data.name} + + {!data.finalized + && act("finalize")} + content="Finalize" />} + {data.name} + ); }; diff --git a/tgui/packages/tgui/interfaces/Electropack.js b/tgui/packages/tgui/interfaces/Electropack.js new file mode 100644 index 00000000000..4e6ebf1cb37 --- /dev/null +++ b/tgui/packages/tgui/interfaces/Electropack.js @@ -0,0 +1,74 @@ +import { NumberInput, Button, Section, LabeledList } from '../components'; +import { useBackend } from '../backend'; +import { toFixed } from 'common/math'; + +export const Electropack = props => { + const { act, data } = useBackend(props); + const { + power, + code, + frequency, + minFrequency, + maxFrequency, + } = data; + + return ( +
    + + +
    + ); +}; diff --git a/tgui/packages/tgui/interfaces/MalfunctionModulePicker.js b/tgui/packages/tgui/interfaces/MalfunctionModulePicker.js new file mode 100644 index 00000000000..86772b5d0f5 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MalfunctionModulePicker.js @@ -0,0 +1,179 @@ +import { decodeHtmlEntities } from 'common/string'; +import { Component, Fragment } from 'inferno'; +import { act } from '../byond'; +import { Box, Button, Input, Section, Table, Tabs } from '../components'; + +// It's a class because we need to store state in the form of the current +// hovered item, and current search terms +export class MalfunctionModulePicker extends Component { + constructor() { + super(); + this.state = { + hoveredItem: {}, + currentSearch: '', + }; + } + + setHoveredItem(hoveredItem) { + this.setState({ + hoveredItem, + }); + } + + setSearchText(currentSearch) { + this.setState({ + currentSearch, + }); + } + + render() { + const { state } = this.props; + const { config, data } = state; + const { ref } = config; + const { + compact_mode, + processing_time, + categories = [], + } = data; + const { hoveredItem, currentSearch } = this.state; + return ( +
    0 ? 'good' : 'bad'}> + {processing_time} Processing Time + + )} + buttons={( + + Search + this.setSearchText(value)} + ml={1} + mr={1} /> +
    + ); + } +} + +const ItemList = props => { + const { + items, + hoveredItem, + processing_time, + compact, + onBuy, + onBuyMouseOver, + onBuyMouseOut, + } = props; + const hoveredCost = hoveredItem && hoveredItem.cost || 0; + if (compact) { + return ( + + {items.map(item => { + const notSameItem = hoveredItem && hoveredItem.name !== item.name; + const notEnoughHovered = processing_time - hoveredCost < item.cost; + const disabledDueToHovered = notSameItem && notEnoughHovered; + return ( + + + {decodeHtmlEntities(item.name)} + + +
    + ); + } + return items.map(item => { + const notSameItem = hoveredItem && hoveredItem.name !== item.name; + const notEnoughHovered = processing_time - hoveredCost < item.cost; + const disabledDueToHovered = notSameItem && notEnoughHovered; + return ( +
    onBuyMouseOver(item)} + onmouseout={() => onBuyMouseOut(item)} + onClick={() => onBuy(item)} /> + )}> + {decodeHtmlEntities(item.desc)} +
    + ); + }); +}; diff --git a/tgui/packages/tgui/public/tgui.bundle.css b/tgui/packages/tgui/public/tgui.bundle.css index b66458419a3..74c3608c076 100644 --- a/tgui/packages/tgui/public/tgui.bundle.css +++ b/tgui/packages/tgui/public/tgui.bundle.css @@ -1 +1 @@ -body,html{box-sizing:border-box;height:100%;margin:0}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif;font-size:12px}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#0d0d0d!important}.color-white{color:#fff!important}.color-red{color:#d33!important}.color-orange{color:#f37827!important}.color-yellow{color:#fbd814!important}.color-olive{color:#c0d919!important}.color-green{color:#22be47!important}.color-teal{color:#00c5bd!important}.color-blue{color:#238cdc!important}.color-violet{color:#6c3fcc!important}.color-purple{color:#a93bcd!important}.color-pink{color:#e2439c!important}.color-brown{color:#af6d43!important}.color-grey{color:#7d7d7d!important}.color-good{color:#62b62a!important}.color-average{color:#f1951d!important}.color-bad{color:#d33!important}.color-label{color:#8496ab!important}.color-bg-black{background-color:#000!important}.color-bg-white{background-color:#d9d9d9!important}.color-bg-red{background-color:#bd2020!important}.color-bg-orange{background-color:#d95e0c!important}.color-bg-yellow{background-color:#d9b804!important}.color-bg-olive{background-color:#9aad14!important}.color-bg-green{background-color:#1b9638!important}.color-bg-teal{background-color:#009a93!important}.color-bg-blue{background-color:#1c71b1!important}.color-bg-violet{background-color:#552dab!important}.color-bg-purple{background-color:#8b2baa!important}.color-bg-pink{background-color:#cf2082!important}.color-bg-brown{background-color:#8c5836!important}.color-bg-grey{background-color:#646464!important}.color-bg-good{background-color:#4d9121!important}.color-bg-average{background-color:#cd7a0d!important}.color-bg-bad{background-color:#bd2020!important}.color-bg-label{background-color:#657a94!important}.display-none{display:none}.display-block{display:block}.display-inline{display:inline}.display-inline-block{display:inline-block}.m-0{margin:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.ml-0{margin-left:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.m-1{margin:6px}.mx-1{margin-left:6px;margin-right:6px}.my-1{margin-top:6px;margin-bottom:6px}.ml-1{margin-left:6px}.mt-1{margin-top:6px}.mr-1{margin-right:6px}.mb-1{margin-bottom:6px}.m-2{margin:12px}.mx-2{margin-left:12px;margin-right:12px}.my-2{margin-top:12px;margin-bottom:12px}.ml-2{margin-left:12px}.mt-2{margin-top:12px}.mr-2{margin-right:12px}.mb-2{margin-bottom:12px}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8496ab;border-left:2px solid #8496ab;padding-left:6px}.Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.Button:last-child{margin-right:0}.Button .fa,.Button .far,.Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.Button--hasContent .fa,.Button--hasContent .far,.Button--hasContent .fas{margin-right:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color .1s,background-color .1s}.Button--color--black:focus,.Button--color--black:hover{background-color:#0a0a0a;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color .1s,background-color .1s}.Button--color--white:focus,.Button--color--white:hover{background-color:#f3f3f3;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color .1s,background-color .1s}.Button--color--red:focus,.Button--color--red:hover{background-color:#d52b2b;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color .1s,background-color .1s}.Button--color--orange:focus,.Button--color--orange:hover{background-color:#ed6f1d;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color .1s,background-color .1s}.Button--color--yellow:focus,.Button--color--yellow:hover{background-color:#f3d00e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color .1s,background-color .1s}.Button--color--olive:focus,.Button--color--olive:hover{background-color:#afc41f;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color .1s,background-color .1s}.Button--color--green:focus,.Button--color--green:hover{background-color:#27ab46;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color .1s,background-color .1s}.Button--color--teal:focus,.Button--color--teal:hover{background-color:#0aafa8;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color .1s,background-color .1s}.Button--color--blue:focus,.Button--color--blue:hover{background-color:#2883c8;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color .1s,background-color .1s}.Button--color--violet:focus,.Button--color--violet:hover{background-color:#653ac1;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color .1s,background-color .1s}.Button--color--purple:focus,.Button--color--purple:hover{background-color:#9e38c1;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color .1s,background-color .1s}.Button--color--pink:focus,.Button--color--pink:hover{background-color:#dd3794;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color .1s,background-color .1s}.Button--color--brown:focus,.Button--color--brown:hover{background-color:#a06844;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color .1s,background-color .1s}.Button--color--grey:focus,.Button--color--grey:hover{background-color:#757575;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color .1s,background-color .1s}.Button--color--good:focus,.Button--color--good:hover{background-color:#5da52d;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color .1s,background-color .1s}.Button--color--average:focus,.Button--color--average:hover{background-color:#e68d18;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color .1s,background-color .1s}.Button--color--bad:focus,.Button--color--bad:hover{background-color:#d52b2b;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color .1s,background-color .1s}.Button--color--label:focus,.Button--color--label:hover{background-color:#7b8da4;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color .1s,background-color .1s}.Button--color--default:focus,.Button--color--default:hover{background-color:#4c729d;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color .1s,background-color .1s}.Button--color--caution:focus,.Button--color--caution:hover{background-color:#f3d00e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color .1s,background-color .1s}.Button--color--danger:focus,.Button--color--danger:hover{background-color:#d52b2b;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#252525;color:#fff;background-color:rgba(37,37,37,0);color:hsla(0,0%,100%,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color .1s,background-color .1s}.Button--color--transparent:focus,.Button--color--transparent:hover{background-color:#323232;color:#fff}.Button--disabled{background-color:#999!important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color .1s,background-color .1s}.Button--selected:focus,.Button--selected:hover{background-color:#27ab46;color:#fff}.Button--altSelected--bottom:after{left:0;height:2px;width:100%}.Button--altSelected--bottom:after,.Button--altSelected--right:after{content:"";position:absolute;bottom:0;right:0;background-color:#fff;border-radius:0}.Button--altSelected--right:after{top:0;height:100%;width:3px}.ColorBox{display:inline-block;width:12px;height:12px;line-height:12px;text-align:center}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:12px;width:100px;line-height:17px;user-select:none}.Dropdown__arrow-button{float:right;padding-left:6px;border-left:1px solid #000;border-left:1px solid rgba(0,0,0,.25)}.Dropdown__menu{position:absolute;overflow-y:auto;z-index:5;width:100px;max-height:200px;overflow-y:scroll;border-radius:0 0 2px 2px;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menuentry{padding:2px 4px;font-family:Verdana,sans-serif;font-size:12px;line-height:17px;transition:background-color .1s}.Dropdown__menuentry:hover{background-color:#444;transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.FatalError{display:block!important;position:absolute;top:0;left:0;right:0;bottom:0;padding:12px;font-size:12px;font-family:Consolas,monospace;color:#fff;background-color:#00d;z-index:1000;overflow:hidden;text-align:center}.FatalError__logo{display:inline-block;text-align:left;font-size:10px;line-height:8px;position:relative;margin-top:12px;top:0;left:0;animation:FatalError__rainbow 2s linear infinite alternate,FatalError__shadow 4s linear infinite alternate,FatalError__tfmX 3s infinite alternate,FatalError__tfmY 4s infinite alternate;white-space:pre-wrap;word-break:break-all}.FatalError__header{margin-top:12px}.FatalError__stack{text-align:left;white-space:pre-wrap;word-break:break-all;margin-top:24px;margin-bottom:24px}.FatalError__footer{margin-bottom:24px}@keyframes FatalError__rainbow{0%{color:#ff0}50%{color:#0ff}to{color:#f0f}}@keyframes FatalError__shadow{0%{left:-2px;text-shadow:4px 0 #f0f}50%{left:0;text-shadow:0 0 #0ff}to{left:2px;text-shadow:-4px 0 #ff0}}@keyframes FatalError__tfmX{0%{left:15px}to{left:-15px}}@keyframes FatalError__tfmY{to{top:-15px}}.Flex{display:-ms-flexbox;display:flex}.Flex--spacing--1{margin:-3px -3px 3px}.Flex--spacing--1>.Flex__item{margin:3px}.Flex--spacing--2{margin:-6px -6px 6px}.Flex--spacing--2>.Flex__item{margin:6px}.LabeledList{display:table;width:100%;width:calc(100% + 12px);border-collapse:collapse;border-spacing:0;margin:-3px -6px 0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:3px 6px;border:0;text-align:left;vertical-align:baseline}.LabeledList__label{width:1%;white-space:nowrap;min-width:60px}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:1px;padding-bottom:0}.Layout{bottom:0;right:0;color:#fff;background-color:#252525;background-image:linear-gradient(180deg,#2a2a2a 0,#202020)}.Layout,.Layout__titleBar{position:fixed;top:0;left:0}.Layout__titleBar{z-index:1;width:100%;height:32px}.Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#1c1c1c;scrollbar-face-color:#3b3b3b;scrollbar-3dlight-color:#252525;scrollbar-highlight-color:#252525;scrollbar-track-color:#1c1c1c;scrollbar-arrow-color:#929292;scrollbar-shadow-color:#3b3b3b}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.Layout__dimmer{top:32px;background-color:rgba(62,62,62,.25);pointer-events:none}.Layout__dimmer,.Layout__toast{position:fixed;bottom:0;left:0;right:0}.Layout__toast{font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#131313;color:hsla(0,0%,100%,.8)}.Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.NoticeBox{padding:4px 6px;margin-bottom:6px;box-shadow:none;font-weight:700;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}.NtosHeader__left{position:absolute;left:12px}.NtosHeader__right{position:absolute;right:12px}.NtosHeader__icon{margin-top:-9px;margin-bottom:-6px;vertical-align:middle}.NtosWrapper__header{position:absolute;top:32px;left:0;right:0;height:28px;line-height:27px;background-color:rgba(0,0,0,.5);font-family:Consolas,monospace;font-size:14px;user-select:none;-ms-user-select:none}.NtosWrapper__content .Layout__content{margin-top:28px;font-family:Consolas,monospace;font-size:14px}.NuclearBomb__displayBox{background-color:#002003;border:4px inset #e8e4c9;color:#03e017;font-size:24px;font-family:monospace;padding:6px}.NuclearBomb__Button--keypad{background-color:#e8e4c9;border-color:#e8e4c9}.NuclearBomb__Button--keypad:hover{background-color:#f7f6ee!important;border-color:#f7f6ee!important}.NuclearBomb__Button--1{background-color:#d3cfb7!important;border-color:#d3cfb7!important;color:#a9a692!important}.NuclearBomb__Button--E{background-color:#d9b804!important;border-color:#d9b804!important}.NuclearBomb__Button--E:hover{background-color:#f3d00e!important;border-color:#f3d00e!important}.NuclearBomb__Button--C{background-color:#bd2020!important;border-color:#bd2020!important}.NuclearBomb__Button--C:hover{background-color:#d52b2b!important;border-color:#d52b2b!important}.NuclearBomb__NTIcon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDQyNSAyMDAiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZD0iTTE3OC4wMDQuMDM5SDEwNi44YTYuNzYxIDYuMDI2IDAgMDAtNi43NjEgNi4wMjV2MTg3Ljg3MmE2Ljc2MSA2LjAyNiAwIDAwNi43NjEgNi4wMjVoNTMuMTA3YTYuNzYxIDYuMDI2IDAgMDA2Ljc2Mi02LjAyNVY5Mi4zOTJsNzIuMjE2IDEwNC43YTYuNzYxIDYuMDI2IDAgMDA1Ljc2IDIuODdIMzE4LjJhNi43NjEgNi4wMjYgMCAwMDYuNzYxLTYuMDI2VjYuMDY0QTYuNzYxIDYuMDI2IDAgMDAzMTguMi4wNGgtNTQuNzE3YTYuNzYxIDYuMDI2IDAgMDAtNi43NiA2LjAyNXYxMDIuNjJMMTgzLjc2MyAyLjkwOWE2Ljc2MSA2LjAyNiAwIDAwLTUuNzYtMi44N3pNNC44NDUgMjIuMTA5QTEzLjQxMiAxMi41MDIgMCAwMTEzLjQ3OC4wMzloNjYuMTE4QTUuMzY1IDUgMCAwMTg0Ljk2IDUuMDR2NzkuODh6TTQyMC4xNTUgMTc3Ljg5MWExMy40MTIgMTIuNTAyIDAgMDEtOC42MzMgMjIuMDdoLTY2LjExOGE1LjM2NSA1IDAgMDEtNS4zNjUtNS4wMDF2LTc5Ljg4eiIvPjwvc3ZnPg==);background-size:70%;background-position:50%;background-repeat:no-repeat}.Input{position:relative;display:inline-block;width:120px;border:1px solid #88bfff;border:1px solid rgba(136,191,255,.75);border-radius:2px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:transparent}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.NumberInput{position:relative;display:inline-block;border:1px solid #88bfff;border:1px solid rgba(136,191,255,.75);border-radius:2px;color:#88bfff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:6px}.NumberInput__barContainer{position:absolute;top:2px;bottom:2px;left:2px}.NumberInput__bar{position:absolute;bottom:0;left:0;width:3px;box-sizing:border-box;border-bottom:1px solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:#000;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:0;background-color:transparent;transition:border-color .5s}.ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.ProgressBar--color--default{border:1px solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border:1px solid #000!important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border:1px solid #d9d9d9!important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border:1px solid #bd2020!important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border:1px solid #d95e0c!important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border:1px solid #d9b804!important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border:1px solid #9aad14!important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border:1px solid #1b9638!important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border:1px solid #009a93!important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border:1px solid #1c71b1!important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--violet{border:1px solid #552dab!important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border:1px solid #8b2baa!important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border:1px solid #cf2082!important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border:1px solid #8c5836!important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border:1px solid #646464!important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--good{border:1px solid #4d9121!important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border:1px solid #cd7a0d!important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border:1px solid #bd2020!important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border:1px solid #657a94!important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.Roulette{font-family:Palatino}.Roulette__board{display:table;width:100%;border-collapse:collapse;border:2px solid #fff;margin:0}.Roulette__board-row{padding:0;margin:0}.Roulette__board-cell{display:table-cell;padding:0;margin:0;border:2px solid #fff;font-family:Palatino}.Roulette__board-cell:first-child{padding-left:0}.Roulette__board-cell:last-child{padding-right:0}.Roulette__board-extrabutton{text-align:center;font-size:20px;font-weight:700;height:28px;border:none!important;margin:0!important;padding-top:4px!important;color:#fff!important}.Roulette__lowertable{margin-top:8px;margin-left:80px;margin-right:80px;border-collapse:collapse;border:2px solid #fff;border-spacing:0}.Roulette__lowertable--cell{border:2px solid #fff;padding:0;margin:0}.Roulette__lowertable--betscell{vertical-align:top}.Roulette__lowertable--spinresult{text-align:center;font-size:100px;font-weight:700;vertical-align:middle}.Roulette__lowertable--spinresult-black{background-color:#000}.Roulette__lowertable--spinresult-red{background-color:#db2828}.Roulette__lowertable--spinresult-green{background-color:#20b142}.Roulette__lowertable--spinbutton{margin:0!important;border:none!important;font-size:50px;line-height:60px!important;text-align:center;font-weight:700}.Roulette__lowertable--header{width:1%;text-align:center;font-size:20px;font-weight:700}.Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:6px;border-bottom:2px solid #4972a1}.Section__titleText{font-size:14px;font-weight:700}.Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.Section__content{padding:8px 6px}.Section--level--1 .Section__titleText{font-size:14px}.Section--level--2 .Section__titleText{font-size:13px}.Section--level--3 .Section__titleText{font-size:12px}.Section--level--2,.Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 3px}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__cell--header,.Table__row--header .Table__cell{font-weight:700;padding-bottom:6px}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs__content{padding-top:6px;border-top:2px solid hsla(0,0%,100%,.1)}.Tabs--vertical{display:table-row}.Tabs--vertical>.Tabs__content{display:table-cell;width:100%;padding-top:0;padding-left:9px;border-top:0}.Tabs--vertical>.Tabs__tabBox{display:table-cell;border-right:2px solid hsla(0,0%,100%,.1);vertical-align:top}.Tabs--vertical>.Tabs__tabBox>.Tabs__tab{display:block!important;margin-right:0;margin-bottom:0;padding:1px 9px 0 6px;border-bottom:2px solid hsla(0,0%,100%,.1)}.Tabs--vertical>.Tabs__tabBox>.Tabs__tab:last-child{border-bottom:0}.TitleBar{background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#363636;transition:color .25s,background-color .25s}.TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.TitleBar__minimize{position:absolute;top:6px;right:46px}.TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.Tooltip:after{position:absolute;display:block;white-space:nowrap;z-index:2;padding:6px 10px;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#000;box-shadow:1px 1px 15px -1px rgba(0,0,0,.5);border-radius:2px}.Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.Tooltip--long:after{width:250px;white-space:normal}.Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(8px)}.Tooltip--bottom:after,.Tooltip--top:hover:after{transform:translateX(-50%) translateY(-8px)}.Tooltip--bottom:after{top:100%;left:50%}.Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(8px)}.Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-8px)}.Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(8px)}.Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-8px)}.Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(8px)}.Tooltip--left:after{top:50%;right:100%;transform:translateX(8px) translateY(-50%)}.Tooltip--left:hover:after,.Tooltip--right:after{transform:translateX(-8px) translateY(-50%)}.Tooltip--right:after{top:50%;left:100%}.Tooltip--right:hover:after{transform:translateX(8px) translateY(-50%)}.Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDQyNSAyMDAiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZD0iTTE3OC4wMDQuMDM5SDEwNi44YTYuNzYxIDYuMDI2IDAgMDAtNi43NjEgNi4wMjV2MTg3Ljg3MmE2Ljc2MSA2LjAyNiAwIDAwNi43NjEgNi4wMjVoNTMuMTA3YTYuNzYxIDYuMDI2IDAgMDA2Ljc2Mi02LjAyNVY5Mi4zOTJsNzIuMjE2IDEwNC43YTYuNzYxIDYuMDI2IDAgMDA1Ljc2IDIuODdIMzE4LjJhNi43NjEgNi4wMjYgMCAwMDYuNzYxLTYuMDI2VjYuMDY0QTYuNzYxIDYuMDI2IDAgMDAzMTguMi4wNGgtNTQuNzE3YTYuNzYxIDYuMDI2IDAgMDAtNi43NiA2LjAyNXYxMDIuNjJMMTgzLjc2MyAyLjkwOWE2Ljc2MSA2LjAyNiAwIDAwLTUuNzYtMi44N3pNNC44NDUgMjIuMTA5QTEzLjQxMiAxMi41MDIgMCAwMTEzLjQ3OC4wMzloNjYuMTE4QTUuMzY1IDUgMCAwMTg0Ljk2IDUuMDR2NzkuODh6TTQyMC4xNTUgMTc3Ljg5MWExMy40MTIgMTIuNTAyIDAgMDEtOC42MzMgMjIuMDdoLTY2LjExOGE1LjM2NSA1IDAgMDEtNS4zNjUtNS4wMDF2LTc5Ljg4eiIvPjwvc3ZnPg==);background-size:70%;background-position:50%;background-repeat:no-repeat}.action_test{display:inherit}.theme-cardtable .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-cardtable .Button:last-child{margin-right:0}.theme-cardtable .Button .fa,.theme-cardtable .Button .far,.theme-cardtable .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-cardtable .Button--hasContent .fa,.theme-cardtable .Button--hasContent .far,.theme-cardtable .Button--hasContent .fas{margin-right:3px}.theme-cardtable .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-cardtable .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-cardtable .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#117039;color:#fff}.theme-cardtable .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--default:focus,.theme-cardtable .Button--color--default:hover{background-color:#1c8247;color:#fff}.theme-cardtable .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-cardtable .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--caution:focus,.theme-cardtable .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-cardtable .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-cardtable .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--danger:focus,.theme-cardtable .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-cardtable .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#117039;color:#fff;background-color:rgba(17,112,57,0);color:hsla(0,0%,100%,.5)}.theme-cardtable .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--transparent:focus,.theme-cardtable .Button--color--transparent:hover{background-color:#1c8247;color:#fff}.theme-cardtable .Button--disabled{background-color:#363636!important}.theme-cardtable .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-cardtable .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--selected:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--selected:focus,.theme-cardtable .Button--selected:hover{background-color:#b31212;color:#fff}.theme-cardtable .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:0}.theme-cardtable .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:0}.theme-cardtable .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#117039;background-image:linear-gradient(180deg,#117039 0,#117039)}.theme-cardtable .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-cardtable .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#0d542b;scrollbar-face-color:#16914a;scrollbar-3dlight-color:#117039;scrollbar-highlight-color:#117039;scrollbar-track-color:#0d542b;scrollbar-arrow-color:#5ae695;scrollbar-shadow-color:#16914a}.theme-cardtable .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-cardtable .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(39,148,85,.25);pointer-events:none}.theme-cardtable .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#09381d;color:hsla(0,0%,100%,.8)}.theme-cardtable .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-cardtable .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-cardtable .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-cardtable .Input{position:relative;display:inline-block;width:120px;border:1px solid #88bfff;border:1px solid rgba(136,191,255,.75);border-radius:0;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-cardtable .Input--fluid{display:block;width:auto}.theme-cardtable .Input__baseline{display:inline-block;color:transparent}.theme-cardtable .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-cardtable .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-cardtable .NumberInput{position:relative;display:inline-block;border:1px solid #fff;border:1px solid hsla(0,0%,100%,.75);border-radius:0;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;text-align:right;overflow:visible;cursor:n-resize}.theme-cardtable .NumberInput--fluid{display:block}.theme-cardtable .NumberInput__content{margin-left:6px}.theme-cardtable .NumberInput__barContainer{position:absolute;top:2px;bottom:2px;left:2px}.theme-cardtable .NumberInput__bar{position:absolute;bottom:0;left:0;width:3px;box-sizing:border-box;border-bottom:1px solid #fff;background-color:#fff}.theme-cardtable .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:#000;color:#fff;text-align:right}.theme-cardtable .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-cardtable .ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.theme-cardtable .ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.theme-cardtable .ProgressBar--color--default{border:1px solid #000}.theme-cardtable .ProgressBar--color--default .ProgressBar__fill{background-color:#000}.theme-cardtable .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-cardtable .Section:last-child{margin-bottom:0}.theme-cardtable .Section__title{position:relative;padding:6px;border-bottom:2px solid #000}.theme-cardtable .Section__titleText{font-size:14px;font-weight:700}.theme-cardtable .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-cardtable .Section__content{padding:8px 6px}.theme-cardtable .Section--level--1 .Section__titleText{font-size:14px}.theme-cardtable .Section--level--2 .Section__titleText{font-size:13px}.theme-cardtable .Section--level--3 .Section__titleText{font-size:12px}.theme-cardtable .Section--level--2,.theme-cardtable .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-cardtable .TitleBar{background-color:#381608;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-cardtable .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#381608;transition:color .25s,background-color .25s}.theme-cardtable .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-cardtable .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-cardtable .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-cardtable .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-cardtable .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-cardtable .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-cardtable .Button{border:2px solid #fff}.theme-ntos .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:2px;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-ntos .Button:last-child{margin-right:0}.theme-ntos .Button .fa,.theme-ntos .Button .far,.theme-ntos .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-ntos .Button--hasContent .fa,.theme-ntos .Button--hasContent .far,.theme-ntos .Button--hasContent .fas{margin-right:3px}.theme-ntos .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-ntos .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-ntos .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#384e68;color:#fff}.theme-ntos .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--default:focus,.theme-ntos .Button--color--default:hover{background-color:#465e7a;color:#fff}.theme-ntos .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-ntos .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--caution:focus,.theme-ntos .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-ntos .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-ntos .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--danger:focus,.theme-ntos .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-ntos .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#1f2b39;color:#fff;background-color:rgba(31,43,57,0);color:rgba(227,240,255,.75)}.theme-ntos .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--transparent:focus,.theme-ntos .Button--color--transparent:hover{background-color:#2b3847;color:#fff}.theme-ntos .Button--disabled{background-color:#999!important}.theme-ntos .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-ntos .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--selected:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--selected:focus,.theme-ntos .Button--selected:hover{background-color:#27ab46;color:#fff}.theme-ntos .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:2px}.theme-ntos .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:2px}.theme-ntos .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#1f2b39;background-image:linear-gradient(180deg,#223040 0,#1b2633)}.theme-ntos .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-ntos .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#17202b;scrollbar-face-color:#2e3f55;scrollbar-3dlight-color:#1f2b39;scrollbar-highlight-color:#1f2b39;scrollbar-track-color:#17202b;scrollbar-arrow-color:#7693b5;scrollbar-shadow-color:#2e3f55}.theme-ntos .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-ntos .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(55,69,85,.25);pointer-events:none}.theme-ntos .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#0f151d;color:hsla(0,0%,100%,.8)}.theme-ntos .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-ntos .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-ntos .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-ntos .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:2px;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-ntos .ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.theme-ntos .ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.theme-ntos .ProgressBar--color--default{border:1px solid #384e68}.theme-ntos .ProgressBar--color--default .ProgressBar__fill{background-color:#384e68}.theme-ntos .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-ntos .Section:last-child{margin-bottom:0}.theme-ntos .Section__title{position:relative;padding:6px;border-bottom:2px solid #4972a1}.theme-ntos .Section__titleText{font-size:14px;font-weight:700}.theme-ntos .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-ntos .Section__content{padding:8px 6px}.theme-ntos .Section--level--1 .Section__titleText{font-size:14px}.theme-ntos .Section--level--2 .Section__titleText{font-size:13px}.theme-ntos .Section--level--3 .Section__titleText{font-size:12px}.theme-ntos .Section--level--2,.theme-ntos .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-ntos .TitleBar{background-color:#2a3b4e;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-ntos .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#2a3b4e;transition:color .25s,background-color .25s}.theme-ntos .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-ntos .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-ntos .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-ntos .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-ntos .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-ntos .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-hackerman .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-hackerman .Button:last-child{margin-right:0}.theme-hackerman .Button .fa,.theme-hackerman .Button .far,.theme-hackerman .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-hackerman .Button--hasContent .fa,.theme-hackerman .Button--hasContent .far,.theme-hackerman .Button--hasContent .fas{margin-right:3px}.theme-hackerman .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-hackerman .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-hackerman .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#0f0;color:#000}.theme-hackerman .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--default:focus,.theme-hackerman .Button--color--default:hover{background-color:#26ff26;color:#000}.theme-hackerman .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-hackerman .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--caution:focus,.theme-hackerman .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-hackerman .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-hackerman .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--danger:focus,.theme-hackerman .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-hackerman .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#121b12;color:#fff;background-color:rgba(18,27,18,0);color:hsla(0,0%,100%,.5)}.theme-hackerman .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--transparent:focus,.theme-hackerman .Button--color--transparent:hover{background-color:#1d271d;color:#fff}.theme-hackerman .Button--disabled{background-color:#4a6a4a!important}.theme-hackerman .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0f0;color:#000}.theme-hackerman .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--selected:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--selected:focus,.theme-hackerman .Button--selected:hover{background-color:#26ff26;color:#000}.theme-hackerman .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:0}.theme-hackerman .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:0}.theme-hackerman .Input{position:relative;display:inline-block;width:120px;border:1px solid #0f0;border:1px solid rgba(0,255,0,.75);border-radius:2px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-hackerman .Input--fluid{display:block;width:auto}.theme-hackerman .Input__baseline{display:inline-block;color:transparent}.theme-hackerman .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-hackerman .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-hackerman .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#121b12;background-image:linear-gradient(180deg,#121b12 0,#121b12)}.theme-hackerman .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-hackerman .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#0e140e;scrollbar-face-color:#253725;scrollbar-3dlight-color:#121b12;scrollbar-highlight-color:#121b12;scrollbar-track-color:#0e140e;scrollbar-arrow-color:#74a274;scrollbar-shadow-color:#253725}.theme-hackerman .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-hackerman .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(40,50,40,.25);pointer-events:none}.theme-hackerman .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#090e09;color:hsla(0,0%,100%,.8)}.theme-hackerman .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-hackerman .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-hackerman .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-hackerman .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-hackerman .Section:last-child{margin-bottom:0}.theme-hackerman .Section__title{position:relative;padding:6px;border-bottom:2px solid #0f0}.theme-hackerman .Section__titleText{font-size:14px;font-weight:700}.theme-hackerman .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-hackerman .Section__content{padding:8px 6px}.theme-hackerman .Section--level--1 .Section__titleText{font-size:14px}.theme-hackerman .Section--level--2 .Section__titleText{font-size:13px}.theme-hackerman .Section--level--3 .Section__titleText{font-size:12px}.theme-hackerman .Section--level--2,.theme-hackerman .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-hackerman .TitleBar{background-color:#223d22;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-hackerman .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#223d22;transition:color .25s,background-color .25s}.theme-hackerman .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-hackerman .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-hackerman .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-hackerman .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-hackerman .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-hackerman .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-hackerman .Layout__content{background-image:none}.theme-hackerman .Button{font-family:monospace;border:2px outset #0a0;outline:1px solid #007a00}.theme-hackerman .candystripe:nth-child(odd){background-color:rgba(0,100,0,.5)}.theme-retro .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-retro .Button:last-child{margin-right:0}.theme-retro .Button .fa,.theme-retro .Button .far,.theme-retro .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-retro .Button--hasContent .fa,.theme-retro .Button--hasContent .far,.theme-retro .Button--hasContent .fas{margin-right:3px}.theme-retro .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-retro .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-retro .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000}.theme-retro .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--default:focus,.theme-retro .Button--color--default:hover{background-color:#f7f6ee;color:#000}.theme-retro .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-retro .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--caution:focus,.theme-retro .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-retro .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-retro .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--danger:focus,.theme-retro .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-retro .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000;background-color:rgba(232,228,201,0);color:hsla(0,0%,100%,.5)}.theme-retro .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--transparent:focus,.theme-retro .Button--color--transparent:hover{background-color:#f7f6ee;color:#000}.theme-retro .Button--disabled{background-color:#363636!important}.theme-retro .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-retro .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--selected:focus{transition:color .1s,background-color .1s}.theme-retro .Button--selected:focus,.theme-retro .Button--selected:hover{background-color:#b31212;color:#fff}.theme-retro .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:0}.theme-retro .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:0}.theme-retro .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#e8e4c9;background-image:linear-gradient(180deg,#e8e4c9 0,#e8e4c9)}.theme-retro .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-retro .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#c8be7d;scrollbar-face-color:#eae7ce;scrollbar-3dlight-color:#e8e4c9;scrollbar-highlight-color:#e8e4c9;scrollbar-track-color:#c8be7d;scrollbar-arrow-color:#f4f2e4;scrollbar-shadow-color:#eae7ce}.theme-retro .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-retro .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(251,250,246,.25);pointer-events:none}.theme-retro .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#988d41;color:hsla(0,0%,100%,.8)}.theme-retro .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-retro .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-retro .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-retro .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-retro .ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.theme-retro .ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.theme-retro .ProgressBar--color--default{border:1px solid #000}.theme-retro .ProgressBar--color--default .ProgressBar__fill{background-color:#000}.theme-retro .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-retro .Section:last-child{margin-bottom:0}.theme-retro .Section__title{position:relative;padding:6px;border-bottom:2px solid #000}.theme-retro .Section__titleText{font-size:14px;font-weight:700}.theme-retro .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-retro .Section__content{padding:8px 6px}.theme-retro .Section--level--1 .Section__titleText{font-size:14px}.theme-retro .Section--level--2 .Section__titleText{font-size:13px}.theme-retro .Section--level--3 .Section__titleText{font-size:12px}.theme-retro .Section--level--2,.theme-retro .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-retro .TitleBar{background-color:#585337;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-retro .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#585337;transition:color .25s,background-color .25s}.theme-retro .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-retro .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-retro .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-retro .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-retro .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-retro .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-retro .Button{font-family:monospace;color:#161613;border:8px outset #e8e4c9;outline:3px solid #161613}.theme-retro .Layout__content{background-image:none}.theme-syndicate .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-syndicate .Button:last-child{margin-right:0}.theme-syndicate .Button .fa,.theme-syndicate .Button .far,.theme-syndicate .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-syndicate .Button--hasContent .fa,.theme-syndicate .Button--hasContent .far,.theme-syndicate .Button--hasContent .fas{margin-right:3px}.theme-syndicate .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-syndicate .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-syndicate .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#397439;color:#fff}.theme-syndicate .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--default:focus,.theme-syndicate .Button--color--default:hover{background-color:#478647;color:#fff}.theme-syndicate .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-syndicate .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--caution:focus,.theme-syndicate .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-syndicate .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-syndicate .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--danger:focus,.theme-syndicate .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-syndicate .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#550202;color:#fff;background-color:rgba(85,2,2,0);color:hsla(0,0%,100%,.5)}.theme-syndicate .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--transparent:focus,.theme-syndicate .Button--color--transparent:hover{background-color:#650c0c;color:#fff}.theme-syndicate .Button--disabled{background-color:#363636!important}.theme-syndicate .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-syndicate .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--selected:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--selected:focus,.theme-syndicate .Button--selected:hover{background-color:#b31212;color:#fff}.theme-syndicate .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:0}.theme-syndicate .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:0}.theme-syndicate .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#550202;background-image:linear-gradient(180deg,#730303 0,#370101)}.theme-syndicate .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-syndicate .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#400202;scrollbar-face-color:#7e0303;scrollbar-3dlight-color:#550202;scrollbar-highlight-color:#550202;scrollbar-track-color:#400202;scrollbar-arrow-color:#fa3030;scrollbar-shadow-color:#7e0303}.theme-syndicate .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-syndicate .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(117,22,22,.25);pointer-events:none}.theme-syndicate .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#2b0101;color:hsla(0,0%,100%,.8)}.theme-syndicate .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-syndicate .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-syndicate .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-syndicate .NoticeBox{padding:4px 6px;margin-bottom:6px;box-shadow:none;font-weight:700;font-style:italic;color:#fff;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}.theme-syndicate .Input{position:relative;display:inline-block;width:120px;border:1px solid #87ce87;border:1px solid rgba(135,206,135,.75);border-radius:2px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-syndicate .Input--fluid{display:block;width:auto}.theme-syndicate .Input__baseline{display:inline-block;color:transparent}.theme-syndicate .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-syndicate .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-syndicate .NumberInput{position:relative;display:inline-block;border:1px solid #87ce87;border:1px solid rgba(135,206,135,.75);border-radius:2px;color:#87ce87;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;text-align:right;overflow:visible;cursor:n-resize}.theme-syndicate .NumberInput--fluid{display:block}.theme-syndicate .NumberInput__content{margin-left:6px}.theme-syndicate .NumberInput__barContainer{position:absolute;top:2px;bottom:2px;left:2px}.theme-syndicate .NumberInput__bar{position:absolute;bottom:0;left:0;width:3px;box-sizing:border-box;border-bottom:1px solid #87ce87;background-color:#87ce87}.theme-syndicate .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:#000;color:#fff;text-align:right}.theme-syndicate .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-syndicate .ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.theme-syndicate .ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.theme-syndicate .ProgressBar--color--default{border:1px solid #306330}.theme-syndicate .ProgressBar--color--default .ProgressBar__fill{background-color:#306330}.theme-syndicate .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-syndicate .Section:last-child{margin-bottom:0}.theme-syndicate .Section__title{position:relative;padding:6px;border-bottom:2px solid #397439}.theme-syndicate .Section__titleText{font-size:14px;font-weight:700}.theme-syndicate .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-syndicate .Section__content{padding:8px 6px}.theme-syndicate .Section--level--1 .Section__titleText{font-size:14px}.theme-syndicate .Section--level--2 .Section__titleText{font-size:13px}.theme-syndicate .Section--level--3 .Section__titleText{font-size:12px}.theme-syndicate .Section--level--2,.theme-syndicate .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-syndicate .TitleBar{background-color:#910101;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-syndicate .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#910101;transition:color .25s,background-color .25s}.theme-syndicate .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-syndicate .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-syndicate .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-syndicate .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-syndicate .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-syndicate .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-syndicate .Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.theme-syndicate .Tooltip:after{position:absolute;display:block;white-space:nowrap;z-index:2;padding:6px 10px;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#4a0202;box-shadow:1px 1px 15px -1px rgba(0,0,0,.5);border-radius:2px}.theme-syndicate .Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.theme-syndicate .Tooltip--long:after{width:250px;white-space:normal}.theme-syndicate .Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(8px)}.theme-syndicate .Tooltip--bottom:after,.theme-syndicate .Tooltip--top:hover:after{transform:translateX(-50%) translateY(-8px)}.theme-syndicate .Tooltip--bottom:after{top:100%;left:50%}.theme-syndicate .Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(8px)}.theme-syndicate .Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-8px)}.theme-syndicate .Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(8px)}.theme-syndicate .Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-8px)}.theme-syndicate .Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(8px)}.theme-syndicate .Tooltip--left:after{top:50%;right:100%;transform:translateX(8px) translateY(-50%)}.theme-syndicate .Tooltip--left:hover:after,.theme-syndicate .Tooltip--right:after{transform:translateX(-8px) translateY(-50%)}.theme-syndicate .Tooltip--right:after{top:50%;left:100%}.theme-syndicate .Tooltip--right:hover:after{transform:translateX(8px) translateY(-50%)}.theme-syndicate .Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDIwMCAyODkuNzQyIiBvcGFjaXR5PSIuMzMiPjxwYXRoIGQ9Ik05My41MzggMGMtMTguMTEzIDAtMzQuMjIgMy4xMTItNDguMzI0IDkuMzM0LTEzLjk2NSA2LjIyMi0yNC42MTIgMTUuMDcyLTMxLjk0IDI2LjU0N0M2LjA4NCA0Ny4yMiAyLjk3MiA2MC42MzEgMi45NzIgNzYuMTE2YzAgMTAuNjQ3IDIuNzI1IDIwLjQ2NSA4LjE3NSAyOS40NTMgNS42MTYgOC45ODcgMTQuMDM5IDE3LjM1MiAyNS4yNyAyNS4wOTQgMTEuMjMgNy42MDYgMjYuNTA3IDE1LjQxOSA0NS44MyAyMy40MzggMTkuOTg0IDguMjk2IDM0Ljg0OSAxNS41NTUgNDQuNTkzIDIxLjc3NiA5Ljc0NCA2LjIyMyAxNi43NjEgMTIuODU5IDIxLjA1NSAxOS45MSA0LjI5NSA3LjA1MiA2LjQ0MiAxNS43NjQgNi40NDIgMjYuMTM0IDAgMTYuMTc4LTUuMjAyIDI4LjQ4My0xNS42MDYgMzYuOTE3LTEwLjI0IDguNDM1LTI1LjAyMiAxMi42NTMtNDQuMzQ1IDEyLjY1My0xNC4wMzkgMC0yNS41MTYtMS42Ni0zNC40MzQtNC45NzgtOC45MTgtMy40NTctMTYuMTg2LTguNzExLTIxLjgtMTUuNzYzLTUuNjE2LTcuMDUyLTEwLjA3Ni0xNi42NjEtMTMuMzc5LTI4LjgyOUgwdjU2LjgyN2MzMy44NTcgNy4zMjggNjMuNzQ5IDEwLjk5NCA4OS42NzggMTAuOTk0IDE2LjAyIDAgMzAuNzItMS4zODMgNDQuMDk4LTQuMTQ4IDEzLjU0Mi0yLjkwNCAyNS4xMDQtNy40NjcgMzQuNjgzLTEzLjY5IDkuNzQ0LTYuMzU5IDE3LjM0LTE0LjUxOSAyMi43OS0yNC40NzQgNS40NS0xMC4wOTMgOC4xNzUtMjIuNCA4LjE3NS0zNi45MTcgMC0xMi45OTctMy4zMDItMjQuMzM1LTkuOTA4LTM0LjAxNC02LjQ0LTkuODE4LTE1LjUyNS0xOC41MjctMjcuMjUxLTI2LjEzMi0xMS41NjEtNy42MDQtMjcuOTExLTE1LjgzMS00OS4wNTEtMjQuNjgtMTcuNTA2LTcuMTktMzAuNzItMTMuNjktMzkuNjM4LTE5LjQ5N1M1NC45NjkgOTMuNzU2IDQ5LjQ3OSA4Ny4zMTZjLTUuNDI2LTYuMzY2LTkuNjU4LTE1LjA3LTkuNjU4LTI0Ljg4NyAwLTkuMjY0IDIuMDc1LTE3LjIxNCA2LjIyMy0yMy44NUM1Ny4xNDIgMjQuMTggODcuMzMxIDM2Ljc4MiA5MS4xMiA2Mi45MjVjNC44NCA2Ljc3NSA4Ljg1IDE2LjI0NyAxMi4wMyAyOC40MTVoMjAuNTMydi01NmMtNC40NzktNS45MjQtOS45NTUtMTAuNjMxLTE1LjkwOS0xNC4zNzMgMS42NC40NzkgMy4xOSAxLjAyMyA0LjYzOSAxLjY0IDYuNDk4IDIuNjI2IDEyLjE2OCA3LjMyNyAxNy4wMDcgMTQuMTAzIDQuODQgNi43NzUgOC44NSAxNi4yNDYgMTIuMDMgMjguNDE0IDAgMCA4LjQ4LS4xMjkgOC40OS0uMDAyLjQxNyA2LjQxNS0xLjc1NCA5LjQ1My00LjEyNCAxMi41NjEtMi40MTcgMy4xNy01LjE0NSA2Ljc5LTQuMDAzIDEzLjAwMyAxLjUwOCA4LjIwMyAxMC4xODQgMTAuNTk3IDE0LjYyMiA5LjMxMi0zLjMxOC0uNS01LjMxOC0xLjc1LTUuMzE4LTEuNzVzMS44NzYuOTk5IDUuNjUtMS4zNmMtMy4yNzYuOTU2LTEwLjcwNC0uNzk3LTExLjgtNi43NjMtLjk1OC01LjIwOC45NDYtNy4yOTUgMy40LTEwLjUxNCAyLjQ1NS0zLjIyIDUuMjg1LTYuOTU5IDQuNjg1LTE0LjQ4OWwuMDAzLjAwMmg4LjkyN3YtNTZjLTE1LjA3Mi0zLjg3MS0yNy42NTMtNi4zNi0zNy43NDctNy40NjVDMTE0LjI3OS41NTIgMTA0LjA0NiAwIDkzLjUzNyAwem03MC4zMjEgMTcuMzA5bC4yMzggNDAuMzA1YzEuMzE4IDEuMjI2IDIuNDQgMi4yNzggMy4zNDEgMy4xMDYgNC44NCA2Ljc3NSA4Ljg1IDE2LjI0NiAxMi4wMyAyOC40MTRIMjAwdi01NmMtNi42NzctNC41OTQtMTkuODM2LTEwLjQ3My0zNi4xNC0xNS44MjV6bS0yOC4xMiA1LjYwNWw4LjU2NSAxNy43MTdjLTExLjk3LTYuNDY3LTEzLjg0Ny05LjcxNy04LjU2NS0xNy43MTd6bTIyLjc5NyAwYzIuNzcxIDggMS43ODcgMTEuMjUtNC40OTQgMTcuNzE3bDQuNDk0LTE3LjcxN3ptMTUuMjIyIDI0LjAwOWw4LjU2NSAxNy43MTZjLTExLjk3LTYuNDY2LTEzLjg0Ny05LjcxNy04LjU2NS0xNy43MTZ6bTIyLjc5NyAwYzIuNzcxIDggMS43ODcgMTEuMjUtNC40OTQgMTcuNzE2bDQuNDk0LTE3LjcxNnpNOTcuNDQgNDkuMTNsOC41NjUgMTcuNzE2Yy0xMS45Ny02LjQ2Ny0xMy44NDctOS43MTctOC41NjUtMTcuNzE2em0yMi43OTUgMGMyLjc3MiA3Ljk5OSAxLjc4OCAxMS4yNS00LjQ5MyAxNy43MTZsNC40OTMtMTcuNzE2eiIvPjwvc3ZnPg==)} \ No newline at end of file +body,html{box-sizing:border-box;height:100%;margin:0}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif;font-size:12px}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#0d0d0d!important}.color-white{color:#fff!important}.color-red{color:#d33!important}.color-orange{color:#f37827!important}.color-yellow{color:#fbd814!important}.color-olive{color:#c0d919!important}.color-green{color:#22be47!important}.color-teal{color:#00c5bd!important}.color-blue{color:#238cdc!important}.color-violet{color:#6c3fcc!important}.color-purple{color:#a93bcd!important}.color-pink{color:#e2439c!important}.color-brown{color:#af6d43!important}.color-grey{color:#7d7d7d!important}.color-good{color:#62b62a!important}.color-average{color:#f1951d!important}.color-bad{color:#d33!important}.color-label{color:#8496ab!important}.color-bg-black{background-color:#000!important}.color-bg-white{background-color:#d9d9d9!important}.color-bg-red{background-color:#bd2020!important}.color-bg-orange{background-color:#d95e0c!important}.color-bg-yellow{background-color:#d9b804!important}.color-bg-olive{background-color:#9aad14!important}.color-bg-green{background-color:#1b9638!important}.color-bg-teal{background-color:#009a93!important}.color-bg-blue{background-color:#1c71b1!important}.color-bg-violet{background-color:#552dab!important}.color-bg-purple{background-color:#8b2baa!important}.color-bg-pink{background-color:#cf2082!important}.color-bg-brown{background-color:#8c5836!important}.color-bg-grey{background-color:#646464!important}.color-bg-good{background-color:#4d9121!important}.color-bg-average{background-color:#cd7a0d!important}.color-bg-bad{background-color:#bd2020!important}.color-bg-label{background-color:#657a94!important}.display-none{display:none}.display-block{display:block}.display-inline{display:inline}.display-inline-block{display:inline-block}.m-0{margin:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}.ml-0{margin-left:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.m-1{margin:6px}.mx-1{margin-left:6px;margin-right:6px}.my-1{margin-top:6px;margin-bottom:6px}.ml-1{margin-left:6px}.mt-1{margin-top:6px}.mr-1{margin-right:6px}.mb-1{margin-bottom:6px}.m-2{margin:12px}.mx-2{margin-left:12px;margin-right:12px}.my-2{margin-top:12px;margin-bottom:12px}.ml-2{margin-left:12px}.mt-2{margin-top:12px}.mr-2{margin-right:12px}.mb-2{margin-bottom:12px}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8496ab;border-left:2px solid #8496ab;padding-left:6px}.Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.Button:last-child{margin-right:0}.Button .fa,.Button .far,.Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.Button--hasContent .fa,.Button--hasContent .far,.Button--hasContent .fas{margin-right:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color .1s,background-color .1s}.Button--color--black:focus,.Button--color--black:hover{background-color:#0a0a0a;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color .1s,background-color .1s}.Button--color--white:focus,.Button--color--white:hover{background-color:#f3f3f3;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color .1s,background-color .1s}.Button--color--red:focus,.Button--color--red:hover{background-color:#d52b2b;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color .1s,background-color .1s}.Button--color--orange:focus,.Button--color--orange:hover{background-color:#ed6f1d;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color .1s,background-color .1s}.Button--color--yellow:focus,.Button--color--yellow:hover{background-color:#f3d00e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color .1s,background-color .1s}.Button--color--olive:focus,.Button--color--olive:hover{background-color:#afc41f;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color .1s,background-color .1s}.Button--color--green:focus,.Button--color--green:hover{background-color:#27ab46;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color .1s,background-color .1s}.Button--color--teal:focus,.Button--color--teal:hover{background-color:#0aafa8;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color .1s,background-color .1s}.Button--color--blue:focus,.Button--color--blue:hover{background-color:#2883c8;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color .1s,background-color .1s}.Button--color--violet:focus,.Button--color--violet:hover{background-color:#653ac1;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color .1s,background-color .1s}.Button--color--purple:focus,.Button--color--purple:hover{background-color:#9e38c1;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color .1s,background-color .1s}.Button--color--pink:focus,.Button--color--pink:hover{background-color:#dd3794;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color .1s,background-color .1s}.Button--color--brown:focus,.Button--color--brown:hover{background-color:#a06844;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color .1s,background-color .1s}.Button--color--grey:focus,.Button--color--grey:hover{background-color:#757575;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color .1s,background-color .1s}.Button--color--good:focus,.Button--color--good:hover{background-color:#5da52d;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color .1s,background-color .1s}.Button--color--average:focus,.Button--color--average:hover{background-color:#e68d18;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color .1s,background-color .1s}.Button--color--bad:focus,.Button--color--bad:hover{background-color:#d52b2b;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color .1s,background-color .1s}.Button--color--label:focus,.Button--color--label:hover{background-color:#7b8da4;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color .1s,background-color .1s}.Button--color--default:focus,.Button--color--default:hover{background-color:#4c729d;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color .1s,background-color .1s}.Button--color--caution:focus,.Button--color--caution:hover{background-color:#f3d00e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color .1s,background-color .1s}.Button--color--danger:focus,.Button--color--danger:hover{background-color:#d52b2b;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#252525;color:#fff;background-color:rgba(37,37,37,0);color:hsla(0,0%,100%,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color .1s,background-color .1s}.Button--color--transparent:focus,.Button--color--transparent:hover{background-color:#323232;color:#fff}.Button--disabled{background-color:#999!important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color .1s,background-color .1s}.Button--selected:focus,.Button--selected:hover{background-color:#27ab46;color:#fff}.Button--altSelected--bottom:after{left:0;height:2px;width:100%}.Button--altSelected--bottom:after,.Button--altSelected--right:after{content:"";position:absolute;bottom:0;right:0;background-color:#fff;border-radius:0}.Button--altSelected--right:after{top:0;height:100%;width:3px}.ColorBox{display:inline-block;width:12px;height:12px;line-height:12px;text-align:center}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:12px;width:100px;line-height:17px;user-select:none}.Dropdown__arrow-button{float:right;padding-left:6px;border-left:1px solid #000;border-left:1px solid rgba(0,0,0,.25)}.Dropdown__menu{position:absolute;overflow-y:auto;z-index:5;width:100px;max-height:200px;overflow-y:scroll;border-radius:0 0 2px 2px;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menuentry{padding:2px 4px;font-family:Verdana,sans-serif;font-size:12px;line-height:17px;transition:background-color .1s}.Dropdown__menuentry:hover{background-color:#444;transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.FatalError{display:block!important;position:absolute;top:0;left:0;right:0;bottom:0;padding:12px;font-size:12px;font-family:Consolas,monospace;color:#fff;background-color:#00d;z-index:1000;overflow:hidden;text-align:center}.FatalError__logo{display:inline-block;text-align:left;font-size:10px;line-height:8px;position:relative;margin-top:12px;top:0;left:0;animation:FatalError__rainbow 2s linear infinite alternate,FatalError__shadow 4s linear infinite alternate,FatalError__tfmX 3s infinite alternate,FatalError__tfmY 4s infinite alternate;white-space:pre-wrap;word-break:break-all}.FatalError__header{margin-top:12px}.FatalError__stack{text-align:left;white-space:pre-wrap;word-break:break-all;margin-top:24px;margin-bottom:24px}.FatalError__footer{margin-bottom:24px}@keyframes FatalError__rainbow{0%{color:#ff0}50%{color:#0ff}to{color:#f0f}}@keyframes FatalError__shadow{0%{left:-2px;text-shadow:4px 0 #f0f}50%{left:0;text-shadow:0 0 #0ff}to{left:2px;text-shadow:-4px 0 #ff0}}@keyframes FatalError__tfmX{0%{left:15px}to{left:-15px}}@keyframes FatalError__tfmY{to{top:-15px}}.Flex{display:-ms-flexbox;display:flex}.Flex--spacing--1{margin:-3px -3px 3px}.Flex--spacing--1>.Flex__item{margin:3px}.Flex--spacing--2{margin:-6px -6px 6px}.Flex--spacing--2>.Flex__item{margin:6px}.LabeledList{display:table;width:100%;width:calc(100% + 12px);border-collapse:collapse;border-spacing:0;margin:-3px -6px 0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:3px 6px;border:0;text-align:left;vertical-align:baseline}.LabeledList__label{width:1%;white-space:nowrap;min-width:60px}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:1px;padding-bottom:0}.Layout{bottom:0;right:0;color:#fff;background-color:#252525;background-image:linear-gradient(180deg,#2a2a2a 0,#202020)}.Layout,.Layout__titleBar{position:fixed;top:0;left:0}.Layout__titleBar{z-index:1;width:100%;height:32px}.Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#1c1c1c;scrollbar-face-color:#3b3b3b;scrollbar-3dlight-color:#252525;scrollbar-highlight-color:#252525;scrollbar-track-color:#1c1c1c;scrollbar-arrow-color:#929292;scrollbar-shadow-color:#3b3b3b}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.Layout__dimmer{top:32px;background-color:rgba(62,62,62,.25);pointer-events:none}.Layout__dimmer,.Layout__toast{position:fixed;bottom:0;left:0;right:0}.Layout__toast{font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#131313;color:hsla(0,0%,100%,.8)}.Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.NoticeBox{padding:4px 6px;margin-bottom:6px;box-shadow:none;font-weight:700;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}.NtosHeader__left{position:absolute;left:12px}.NtosHeader__right{position:absolute;right:12px}.NtosHeader__icon{margin-top:-9px;margin-bottom:-6px;vertical-align:middle}.NtosWrapper__header{position:absolute;top:32px;left:0;right:0;height:28px;line-height:27px;background-color:rgba(0,0,0,.5);font-family:Consolas,monospace;font-size:14px;user-select:none;-ms-user-select:none}.NtosWrapper__content .Layout__content{margin-top:28px;font-family:Consolas,monospace;font-size:14px}.NuclearBomb__displayBox{background-color:#002003;border:4px inset #e8e4c9;color:#03e017;font-size:24px;font-family:monospace;padding:6px}.NuclearBomb__Button--keypad{background-color:#e8e4c9;border-color:#e8e4c9}.NuclearBomb__Button--keypad:hover{background-color:#f7f6ee!important;border-color:#f7f6ee!important}.NuclearBomb__Button--1{background-color:#d3cfb7!important;border-color:#d3cfb7!important;color:#a9a692!important}.NuclearBomb__Button--E{background-color:#d9b804!important;border-color:#d9b804!important}.NuclearBomb__Button--E:hover{background-color:#f3d00e!important;border-color:#f3d00e!important}.NuclearBomb__Button--C{background-color:#bd2020!important;border-color:#bd2020!important}.NuclearBomb__Button--C:hover{background-color:#d52b2b!important;border-color:#d52b2b!important}.NuclearBomb__NTIcon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDQyNSAyMDAiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZD0iTTE3OC4wMDQuMDM5SDEwNi44YTYuNzYxIDYuMDI2IDAgMDAtNi43NjEgNi4wMjV2MTg3Ljg3MmE2Ljc2MSA2LjAyNiAwIDAwNi43NjEgNi4wMjVoNTMuMTA3YTYuNzYxIDYuMDI2IDAgMDA2Ljc2Mi02LjAyNVY5Mi4zOTJsNzIuMjE2IDEwNC43YTYuNzYxIDYuMDI2IDAgMDA1Ljc2IDIuODdIMzE4LjJhNi43NjEgNi4wMjYgMCAwMDYuNzYxLTYuMDI2VjYuMDY0QTYuNzYxIDYuMDI2IDAgMDAzMTguMi4wNGgtNTQuNzE3YTYuNzYxIDYuMDI2IDAgMDAtNi43NiA2LjAyNXYxMDIuNjJMMTgzLjc2MyAyLjkwOWE2Ljc2MSA2LjAyNiAwIDAwLTUuNzYtMi44N3pNNC44NDUgMjIuMTA5QTEzLjQxMiAxMi41MDIgMCAwMTEzLjQ3OC4wMzloNjYuMTE4QTUuMzY1IDUgMCAwMTg0Ljk2IDUuMDR2NzkuODh6TTQyMC4xNTUgMTc3Ljg5MWExMy40MTIgMTIuNTAyIDAgMDEtOC42MzMgMjIuMDdoLTY2LjExOGE1LjM2NSA1IDAgMDEtNS4zNjUtNS4wMDF2LTc5Ljg4eiIvPjwvc3ZnPg==);background-size:70%;background-position:50%;background-repeat:no-repeat}.Input{position:relative;display:inline-block;width:120px;border:1px solid #88bfff;border:1px solid rgba(136,191,255,.75);border-radius:2px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:transparent}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.NumberInput{position:relative;display:inline-block;border:1px solid #88bfff;border:1px solid rgba(136,191,255,.75);border-radius:2px;color:#88bfff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:6px}.NumberInput__barContainer{position:absolute;top:2px;bottom:2px;left:2px}.NumberInput__bar{position:absolute;bottom:0;left:0;width:3px;box-sizing:border-box;border-bottom:1px solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:#000;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:0;background-color:transparent;transition:border-color .5s}.ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.ProgressBar--color--default{border:1px solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border:1px solid #000!important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border:1px solid #d9d9d9!important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border:1px solid #bd2020!important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border:1px solid #d95e0c!important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border:1px solid #d9b804!important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border:1px solid #9aad14!important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border:1px solid #1b9638!important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border:1px solid #009a93!important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border:1px solid #1c71b1!important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--violet{border:1px solid #552dab!important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border:1px solid #8b2baa!important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border:1px solid #cf2082!important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border:1px solid #8c5836!important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border:1px solid #646464!important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--good{border:1px solid #4d9121!important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border:1px solid #cd7a0d!important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border:1px solid #bd2020!important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border:1px solid #657a94!important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.Roulette{font-family:Palatino}.Roulette__board{display:table;width:100%;border-collapse:collapse;border:2px solid #fff;margin:0}.Roulette__board-row{padding:0;margin:0}.Roulette__board-cell{display:table-cell;padding:0;margin:0;border:2px solid #fff;font-family:Palatino}.Roulette__board-cell:first-child{padding-left:0}.Roulette__board-cell:last-child{padding-right:0}.Roulette__board-extrabutton{text-align:center;font-size:20px;font-weight:700;height:28px;border:none!important;margin:0!important;padding-top:4px!important;color:#fff!important}.Roulette__lowertable{margin-top:8px;margin-left:80px;margin-right:80px;border-collapse:collapse;border:2px solid #fff;border-spacing:0}.Roulette__lowertable--cell{border:2px solid #fff;padding:0;margin:0}.Roulette__lowertable--betscell{vertical-align:top}.Roulette__lowertable--spinresult{text-align:center;font-size:100px;font-weight:700;vertical-align:middle}.Roulette__lowertable--spinresult-black{background-color:#000}.Roulette__lowertable--spinresult-red{background-color:#db2828}.Roulette__lowertable--spinresult-green{background-color:#20b142}.Roulette__lowertable--spinbutton{margin:0!important;border:none!important;font-size:50px;line-height:60px!important;text-align:center;font-weight:700}.Roulette__lowertable--header{width:1%;text-align:center;font-size:20px;font-weight:700}.Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:6px;border-bottom:2px solid #4972a1}.Section__titleText{font-size:14px;font-weight:700}.Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.Section__content{padding:8px 6px}.Section--level--1 .Section__titleText{font-size:14px}.Section--level--2 .Section__titleText{font-size:13px}.Section--level--3 .Section__titleText{font-size:12px}.Section--level--2,.Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 3px}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__cell--header,.Table__row--header .Table__cell{font-weight:700;padding-bottom:6px}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs__content{padding-top:6px;border-top:2px solid hsla(0,0%,100%,.1)}.Tabs--vertical{display:table-row}.Tabs--vertical>.Tabs__content{display:table-cell;width:100%;padding-top:0;padding-left:9px;border-top:0}.Tabs--vertical>.Tabs__tabBox{display:table-cell;border-right:2px solid hsla(0,0%,100%,.1);vertical-align:top}.Tabs--vertical>.Tabs__tabBox>.Tabs__tab{display:block!important;margin-right:0;margin-bottom:0;padding:1px 9px 0 6px;border-bottom:2px solid hsla(0,0%,100%,.1)}.Tabs--vertical>.Tabs__tabBox>.Tabs__tab:last-child{border-bottom:0}.TitleBar{background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#363636;transition:color .25s,background-color .25s}.TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.TitleBar__minimize{position:absolute;top:6px;right:46px}.TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.Tooltip:after{position:absolute;display:block;white-space:nowrap;z-index:2;padding:6px 10px;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#000;box-shadow:1px 1px 15px -1px rgba(0,0,0,.5);border-radius:2px}.Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.Tooltip--long:after{width:250px;white-space:normal}.Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(8px)}.Tooltip--bottom:after,.Tooltip--top:hover:after{transform:translateX(-50%) translateY(-8px)}.Tooltip--bottom:after{top:100%;left:50%}.Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(8px)}.Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-8px)}.Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(8px)}.Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-8px)}.Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(8px)}.Tooltip--left:after{top:50%;right:100%;transform:translateX(8px) translateY(-50%)}.Tooltip--left:hover:after,.Tooltip--right:after{transform:translateX(-8px) translateY(-50%)}.Tooltip--right:after{top:50%;left:100%}.Tooltip--right:hover:after{transform:translateX(8px) translateY(-50%)}.Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDQyNSAyMDAiIG9wYWNpdHk9Ii4zMyI+PHBhdGggZD0iTTE3OC4wMDQuMDM5SDEwNi44YTYuNzYxIDYuMDI2IDAgMDAtNi43NjEgNi4wMjV2MTg3Ljg3MmE2Ljc2MSA2LjAyNiAwIDAwNi43NjEgNi4wMjVoNTMuMTA3YTYuNzYxIDYuMDI2IDAgMDA2Ljc2Mi02LjAyNVY5Mi4zOTJsNzIuMjE2IDEwNC43YTYuNzYxIDYuMDI2IDAgMDA1Ljc2IDIuODdIMzE4LjJhNi43NjEgNi4wMjYgMCAwMDYuNzYxLTYuMDI2VjYuMDY0QTYuNzYxIDYuMDI2IDAgMDAzMTguMi4wNGgtNTQuNzE3YTYuNzYxIDYuMDI2IDAgMDAtNi43NiA2LjAyNXYxMDIuNjJMMTgzLjc2MyAyLjkwOWE2Ljc2MSA2LjAyNiAwIDAwLTUuNzYtMi44N3pNNC44NDUgMjIuMTA5QTEzLjQxMiAxMi41MDIgMCAwMTEzLjQ3OC4wMzloNjYuMTE4QTUuMzY1IDUgMCAwMTg0Ljk2IDUuMDR2NzkuODh6TTQyMC4xNTUgMTc3Ljg5MWExMy40MTIgMTIuNTAyIDAgMDEtOC42MzMgMjIuMDdoLTY2LjExOGE1LjM2NSA1IDAgMDEtNS4zNjUtNS4wMDF2LTc5Ljg4eiIvPjwvc3ZnPg==);background-size:70%;background-position:50%;background-repeat:no-repeat}.action_test{display:inherit}.theme-cardtable .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-cardtable .Button:last-child{margin-right:0}.theme-cardtable .Button .fa,.theme-cardtable .Button .far,.theme-cardtable .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-cardtable .Button--hasContent .fa,.theme-cardtable .Button--hasContent .far,.theme-cardtable .Button--hasContent .fas{margin-right:3px}.theme-cardtable .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-cardtable .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-cardtable .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#117039;color:#fff}.theme-cardtable .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--default:focus,.theme-cardtable .Button--color--default:hover{background-color:#1c8247;color:#fff}.theme-cardtable .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-cardtable .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--caution:focus,.theme-cardtable .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-cardtable .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-cardtable .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--danger:focus,.theme-cardtable .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-cardtable .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#117039;color:#fff;background-color:rgba(17,112,57,0);color:hsla(0,0%,100%,.5)}.theme-cardtable .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--color--transparent:focus,.theme-cardtable .Button--color--transparent:hover{background-color:#1c8247;color:#fff}.theme-cardtable .Button--disabled{background-color:#363636!important}.theme-cardtable .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-cardtable .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-cardtable .Button--selected:focus{transition:color .1s,background-color .1s}.theme-cardtable .Button--selected:focus,.theme-cardtable .Button--selected:hover{background-color:#b31212;color:#fff}.theme-cardtable .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:0}.theme-cardtable .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:0}.theme-cardtable .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#117039;background-image:linear-gradient(180deg,#117039 0,#117039)}.theme-cardtable .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-cardtable .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#0d542b;scrollbar-face-color:#16914a;scrollbar-3dlight-color:#117039;scrollbar-highlight-color:#117039;scrollbar-track-color:#0d542b;scrollbar-arrow-color:#5ae695;scrollbar-shadow-color:#16914a}.theme-cardtable .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-cardtable .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(39,148,85,.25);pointer-events:none}.theme-cardtable .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#09381d;color:hsla(0,0%,100%,.8)}.theme-cardtable .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-cardtable .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-cardtable .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-cardtable .Input{position:relative;display:inline-block;width:120px;border:1px solid #88bfff;border:1px solid rgba(136,191,255,.75);border-radius:0;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-cardtable .Input--fluid{display:block;width:auto}.theme-cardtable .Input__baseline{display:inline-block;color:transparent}.theme-cardtable .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-cardtable .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-cardtable .NumberInput{position:relative;display:inline-block;border:1px solid #fff;border:1px solid hsla(0,0%,100%,.75);border-radius:0;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;text-align:right;overflow:visible;cursor:n-resize}.theme-cardtable .NumberInput--fluid{display:block}.theme-cardtable .NumberInput__content{margin-left:6px}.theme-cardtable .NumberInput__barContainer{position:absolute;top:2px;bottom:2px;left:2px}.theme-cardtable .NumberInput__bar{position:absolute;bottom:0;left:0;width:3px;box-sizing:border-box;border-bottom:1px solid #fff;background-color:#fff}.theme-cardtable .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:#000;color:#fff;text-align:right}.theme-cardtable .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-cardtable .ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.theme-cardtable .ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.theme-cardtable .ProgressBar--color--default{border:1px solid #000}.theme-cardtable .ProgressBar--color--default .ProgressBar__fill{background-color:#000}.theme-cardtable .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-cardtable .Section:last-child{margin-bottom:0}.theme-cardtable .Section__title{position:relative;padding:6px;border-bottom:2px solid #000}.theme-cardtable .Section__titleText{font-size:14px;font-weight:700}.theme-cardtable .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-cardtable .Section__content{padding:8px 6px}.theme-cardtable .Section--level--1 .Section__titleText{font-size:14px}.theme-cardtable .Section--level--2 .Section__titleText{font-size:13px}.theme-cardtable .Section--level--3 .Section__titleText{font-size:12px}.theme-cardtable .Section--level--2,.theme-cardtable .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-cardtable .TitleBar{background-color:#381608;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-cardtable .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#381608;transition:color .25s,background-color .25s}.theme-cardtable .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-cardtable .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-cardtable .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-cardtable .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-cardtable .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-cardtable .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-cardtable .Button{border:2px solid #fff}.theme-malfunction .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-malfunction .Button:last-child{margin-right:0}.theme-malfunction .Button .fa,.theme-malfunction .Button .far,.theme-malfunction .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-malfunction .Button--hasContent .fa,.theme-malfunction .Button--hasContent .far,.theme-malfunction .Button--hasContent .fas{margin-right:3px}.theme-malfunction .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-malfunction .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-malfunction .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#910101;color:#fff}.theme-malfunction .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--default:focus,.theme-malfunction .Button--color--default:hover{background-color:#a60b0b;color:#fff}.theme-malfunction .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-malfunction .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--caution:focus,.theme-malfunction .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-malfunction .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-malfunction .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--danger:focus,.theme-malfunction .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-malfunction .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#1b3443;color:#fff;background-color:rgba(27,52,67,0);color:hsla(0,0%,100%,.5)}.theme-malfunction .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--color--transparent:focus,.theme-malfunction .Button--color--transparent:hover{background-color:#274252;color:#fff}.theme-malfunction .Button--disabled{background-color:#363636!important}.theme-malfunction .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1e5881;color:#fff}.theme-malfunction .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-malfunction .Button--selected:focus{transition:color .1s,background-color .1s}.theme-malfunction .Button--selected:focus,.theme-malfunction .Button--selected:hover{background-color:#2a6894;color:#fff}.theme-malfunction .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:0}.theme-malfunction .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:0}.theme-malfunction .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#1b3443;background-image:linear-gradient(180deg,#244559 0,#12232d)}.theme-malfunction .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-malfunction .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#142732;scrollbar-face-color:#274b61;scrollbar-3dlight-color:#1b3443;scrollbar-highlight-color:#1b3443;scrollbar-track-color:#142732;scrollbar-arrow-color:#6ba2c3;scrollbar-shadow-color:#274b61}.theme-malfunction .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-malfunction .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(50,79,96,.25);pointer-events:none}.theme-malfunction .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#0e1a22;color:hsla(0,0%,100%,.8)}.theme-malfunction .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-malfunction .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-malfunction .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-malfunction .NoticeBox{padding:4px 6px;margin-bottom:6px;box-shadow:none;font-weight:700;font-style:italic;color:#fff;background-color:#1a3f57;background-image:repeating-linear-gradient(-45deg,#1a3f57,#1a3f57 10px,#1a3f57 0,#1a3f57 20px)}.theme-malfunction .Input{position:relative;display:inline-block;width:120px;border:1px solid #910101;border:1px solid rgba(145,1,1,.75);border-radius:2px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-malfunction .Input--fluid{display:block;width:auto}.theme-malfunction .Input__baseline{display:inline-block;color:transparent}.theme-malfunction .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-malfunction .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-malfunction .NumberInput{position:relative;display:inline-block;border:1px solid #910101;border:1px solid rgba(145,1,1,.75);border-radius:2px;color:#910101;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;text-align:right;overflow:visible;cursor:n-resize}.theme-malfunction .NumberInput--fluid{display:block}.theme-malfunction .NumberInput__content{margin-left:6px}.theme-malfunction .NumberInput__barContainer{position:absolute;top:2px;bottom:2px;left:2px}.theme-malfunction .NumberInput__bar{position:absolute;bottom:0;left:0;width:3px;box-sizing:border-box;border-bottom:1px solid #910101;background-color:#910101}.theme-malfunction .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:#000;color:#fff;text-align:right}.theme-malfunction .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-malfunction .ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.theme-malfunction .ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.theme-malfunction .ProgressBar--color--default{border:1px solid #7b0101}.theme-malfunction .ProgressBar--color--default .ProgressBar__fill{background-color:#7b0101}.theme-malfunction .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-malfunction .Section:last-child{margin-bottom:0}.theme-malfunction .Section__title{position:relative;padding:6px;border-bottom:2px solid #910101}.theme-malfunction .Section__titleText{font-size:14px;font-weight:700}.theme-malfunction .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-malfunction .Section__content{padding:8px 6px}.theme-malfunction .Section--level--1 .Section__titleText{font-size:14px}.theme-malfunction .Section--level--2 .Section__titleText{font-size:13px}.theme-malfunction .Section--level--3 .Section__titleText{font-size:12px}.theme-malfunction .Section--level--2,.theme-malfunction .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-malfunction .TitleBar{background-color:#1a3f57;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-malfunction .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#1a3f57;transition:color .25s,background-color .25s}.theme-malfunction .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-malfunction .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-malfunction .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-malfunction .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-malfunction .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-malfunction .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-malfunction .Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.theme-malfunction .Tooltip:after{position:absolute;display:block;white-space:nowrap;z-index:2;padding:6px 10px;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#235577;box-shadow:1px 1px 15px -1px rgba(0,0,0,.5);border-radius:2px}.theme-malfunction .Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.theme-malfunction .Tooltip--long:after{width:250px;white-space:normal}.theme-malfunction .Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(8px)}.theme-malfunction .Tooltip--bottom:after,.theme-malfunction .Tooltip--top:hover:after{transform:translateX(-50%) translateY(-8px)}.theme-malfunction .Tooltip--bottom:after{top:100%;left:50%}.theme-malfunction .Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(8px)}.theme-malfunction .Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-8px)}.theme-malfunction .Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(8px)}.theme-malfunction .Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-8px)}.theme-malfunction .Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(8px)}.theme-malfunction .Tooltip--left:after{top:50%;right:100%;transform:translateX(8px) translateY(-50%)}.theme-malfunction .Tooltip--left:hover:after,.theme-malfunction .Tooltip--right:after{transform:translateX(-8px) translateY(-50%)}.theme-malfunction .Tooltip--right:after{top:50%;left:100%}.theme-malfunction .Tooltip--right:hover:after{transform:translateX(8px) translateY(-50%)}.theme-malfunction .Layout__content{background-image:none}.theme-ntos .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:2px;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-ntos .Button:last-child{margin-right:0}.theme-ntos .Button .fa,.theme-ntos .Button .far,.theme-ntos .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-ntos .Button--hasContent .fa,.theme-ntos .Button--hasContent .far,.theme-ntos .Button--hasContent .fas{margin-right:3px}.theme-ntos .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-ntos .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-ntos .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#384e68;color:#fff}.theme-ntos .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--default:focus,.theme-ntos .Button--color--default:hover{background-color:#465e7a;color:#fff}.theme-ntos .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-ntos .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--caution:focus,.theme-ntos .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-ntos .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-ntos .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--danger:focus,.theme-ntos .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-ntos .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#1f2b39;color:#fff;background-color:rgba(31,43,57,0);color:rgba(227,240,255,.75)}.theme-ntos .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--color--transparent:focus,.theme-ntos .Button--color--transparent:hover{background-color:#2b3847;color:#fff}.theme-ntos .Button--disabled{background-color:#999!important}.theme-ntos .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-ntos .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-ntos .Button--selected:focus{transition:color .1s,background-color .1s}.theme-ntos .Button--selected:focus,.theme-ntos .Button--selected:hover{background-color:#27ab46;color:#fff}.theme-ntos .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:2px}.theme-ntos .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:2px}.theme-ntos .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#1f2b39;background-image:linear-gradient(180deg,#223040 0,#1b2633)}.theme-ntos .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-ntos .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#17202b;scrollbar-face-color:#2e3f55;scrollbar-3dlight-color:#1f2b39;scrollbar-highlight-color:#1f2b39;scrollbar-track-color:#17202b;scrollbar-arrow-color:#7693b5;scrollbar-shadow-color:#2e3f55}.theme-ntos .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-ntos .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(55,69,85,.25);pointer-events:none}.theme-ntos .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#0f151d;color:hsla(0,0%,100%,.8)}.theme-ntos .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-ntos .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-ntos .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-ntos .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:2px;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-ntos .ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.theme-ntos .ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.theme-ntos .ProgressBar--color--default{border:1px solid #384e68}.theme-ntos .ProgressBar--color--default .ProgressBar__fill{background-color:#384e68}.theme-ntos .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-ntos .Section:last-child{margin-bottom:0}.theme-ntos .Section__title{position:relative;padding:6px;border-bottom:2px solid #4972a1}.theme-ntos .Section__titleText{font-size:14px;font-weight:700}.theme-ntos .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-ntos .Section__content{padding:8px 6px}.theme-ntos .Section--level--1 .Section__titleText{font-size:14px}.theme-ntos .Section--level--2 .Section__titleText{font-size:13px}.theme-ntos .Section--level--3 .Section__titleText{font-size:12px}.theme-ntos .Section--level--2,.theme-ntos .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-ntos .TitleBar{background-color:#2a3b4e;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-ntos .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#2a3b4e;transition:color .25s,background-color .25s}.theme-ntos .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-ntos .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-ntos .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-ntos .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-ntos .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-ntos .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-hackerman .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-hackerman .Button:last-child{margin-right:0}.theme-hackerman .Button .fa,.theme-hackerman .Button .far,.theme-hackerman .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-hackerman .Button--hasContent .fa,.theme-hackerman .Button--hasContent .far,.theme-hackerman .Button--hasContent .fas{margin-right:3px}.theme-hackerman .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-hackerman .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-hackerman .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#0f0;color:#000}.theme-hackerman .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--default:focus,.theme-hackerman .Button--color--default:hover{background-color:#26ff26;color:#000}.theme-hackerman .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-hackerman .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--caution:focus,.theme-hackerman .Button--color--caution:hover{background-color:#f3d00e;color:#000}.theme-hackerman .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-hackerman .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--danger:focus,.theme-hackerman .Button--color--danger:hover{background-color:#d52b2b;color:#fff}.theme-hackerman .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#121b12;color:#fff;background-color:rgba(18,27,18,0);color:hsla(0,0%,100%,.5)}.theme-hackerman .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--color--transparent:focus,.theme-hackerman .Button--color--transparent:hover{background-color:#1d271d;color:#fff}.theme-hackerman .Button--disabled{background-color:#4a6a4a!important}.theme-hackerman .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0f0;color:#000}.theme-hackerman .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-hackerman .Button--selected:focus{transition:color .1s,background-color .1s}.theme-hackerman .Button--selected:focus,.theme-hackerman .Button--selected:hover{background-color:#26ff26;color:#000}.theme-hackerman .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:0}.theme-hackerman .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:0}.theme-hackerman .Input{position:relative;display:inline-block;width:120px;border:1px solid #0f0;border:1px solid rgba(0,255,0,.75);border-radius:2px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-hackerman .Input--fluid{display:block;width:auto}.theme-hackerman .Input__baseline{display:inline-block;color:transparent}.theme-hackerman .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-hackerman .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-hackerman .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#121b12;background-image:linear-gradient(180deg,#121b12 0,#121b12)}.theme-hackerman .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-hackerman .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#0e140e;scrollbar-face-color:#253725;scrollbar-3dlight-color:#121b12;scrollbar-highlight-color:#121b12;scrollbar-track-color:#0e140e;scrollbar-arrow-color:#74a274;scrollbar-shadow-color:#253725}.theme-hackerman .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-hackerman .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(40,50,40,.25);pointer-events:none}.theme-hackerman .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#090e09;color:hsla(0,0%,100%,.8)}.theme-hackerman .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-hackerman .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-hackerman .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-hackerman .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-hackerman .Section:last-child{margin-bottom:0}.theme-hackerman .Section__title{position:relative;padding:6px;border-bottom:2px solid #0f0}.theme-hackerman .Section__titleText{font-size:14px;font-weight:700}.theme-hackerman .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-hackerman .Section__content{padding:8px 6px}.theme-hackerman .Section--level--1 .Section__titleText{font-size:14px}.theme-hackerman .Section--level--2 .Section__titleText{font-size:13px}.theme-hackerman .Section--level--3 .Section__titleText{font-size:12px}.theme-hackerman .Section--level--2,.theme-hackerman .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-hackerman .TitleBar{background-color:#223d22;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-hackerman .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#223d22;transition:color .25s,background-color .25s}.theme-hackerman .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-hackerman .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-hackerman .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-hackerman .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-hackerman .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-hackerman .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-hackerman .Layout__content{background-image:none}.theme-hackerman .Button{font-family:monospace;border:2px outset #0a0;outline:1px solid #007a00}.theme-hackerman .candystripe:nth-child(odd){background-color:rgba(0,100,0,.5)}.theme-retro .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-retro .Button:last-child{margin-right:0}.theme-retro .Button .fa,.theme-retro .Button .far,.theme-retro .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-retro .Button--hasContent .fa,.theme-retro .Button--hasContent .far,.theme-retro .Button--hasContent .fas{margin-right:3px}.theme-retro .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-retro .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-retro .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000}.theme-retro .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--default:focus,.theme-retro .Button--color--default:hover{background-color:#f7f6ee;color:#000}.theme-retro .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-retro .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--caution:focus,.theme-retro .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-retro .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-retro .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--danger:focus,.theme-retro .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-retro .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#e8e4c9;color:#000;background-color:rgba(232,228,201,0);color:hsla(0,0%,100%,.5)}.theme-retro .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-retro .Button--color--transparent:focus,.theme-retro .Button--color--transparent:hover{background-color:#f7f6ee;color:#000}.theme-retro .Button--disabled{background-color:#363636!important}.theme-retro .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-retro .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-retro .Button--selected:focus{transition:color .1s,background-color .1s}.theme-retro .Button--selected:focus,.theme-retro .Button--selected:hover{background-color:#b31212;color:#fff}.theme-retro .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:0}.theme-retro .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:0}.theme-retro .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#e8e4c9;background-image:linear-gradient(180deg,#e8e4c9 0,#e8e4c9)}.theme-retro .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-retro .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#c8be7d;scrollbar-face-color:#eae7ce;scrollbar-3dlight-color:#e8e4c9;scrollbar-highlight-color:#e8e4c9;scrollbar-track-color:#c8be7d;scrollbar-arrow-color:#f4f2e4;scrollbar-shadow-color:#eae7ce}.theme-retro .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-retro .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(251,250,246,.25);pointer-events:none}.theme-retro .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#988d41;color:hsla(0,0%,100%,.8)}.theme-retro .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-retro .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-retro .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-retro .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-retro .ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.theme-retro .ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.theme-retro .ProgressBar--color--default{border:1px solid #000}.theme-retro .ProgressBar--color--default .ProgressBar__fill{background-color:#000}.theme-retro .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-retro .Section:last-child{margin-bottom:0}.theme-retro .Section__title{position:relative;padding:6px;border-bottom:2px solid #000}.theme-retro .Section__titleText{font-size:14px;font-weight:700}.theme-retro .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-retro .Section__content{padding:8px 6px}.theme-retro .Section--level--1 .Section__titleText{font-size:14px}.theme-retro .Section--level--2 .Section__titleText{font-size:13px}.theme-retro .Section--level--3 .Section__titleText{font-size:12px}.theme-retro .Section--level--2,.theme-retro .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-retro .TitleBar{background-color:#585337;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-retro .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#585337;transition:color .25s,background-color .25s}.theme-retro .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-retro .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-retro .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-retro .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-retro .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-retro .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-retro .Button{font-family:monospace;color:#161613;border:8px outset #e8e4c9;outline:3px solid #161613}.theme-retro .Layout__content{background-image:none}.theme-syndicate .Button{position:relative;display:inline-block;line-height:20px;padding:0 6px;margin-right:2px;white-space:nowrap;outline:0;border-radius:0;margin-bottom:2px;user-select:none;-ms-user-select:none}.theme-syndicate .Button:last-child{margin-right:0}.theme-syndicate .Button .fa,.theme-syndicate .Button .far,.theme-syndicate .Button .fas{margin-left:-3px;margin-right:-3px;min-width:16px;text-align:center}.theme-syndicate .Button--hasContent .fa,.theme-syndicate .Button--hasContent .far,.theme-syndicate .Button--hasContent .fas{margin-right:3px}.theme-syndicate .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-syndicate .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-syndicate .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#397439;color:#fff}.theme-syndicate .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--default:focus,.theme-syndicate .Button--color--default:hover{background-color:#478647;color:#fff}.theme-syndicate .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-syndicate .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--caution:focus,.theme-syndicate .Button--color--caution:hover{background-color:#d67313;color:#fff}.theme-syndicate .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-syndicate .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--danger:focus,.theme-syndicate .Button--color--danger:hover{background-color:#afb30a;color:#fff}.theme-syndicate .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#550202;color:#fff;background-color:rgba(85,2,2,0);color:hsla(0,0%,100%,.5)}.theme-syndicate .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--color--transparent:focus,.theme-syndicate .Button--color--transparent:hover{background-color:#650c0c;color:#fff}.theme-syndicate .Button--disabled{background-color:#363636!important}.theme-syndicate .Button--selected{transition:color 50ms,background-color 50ms;background-color:#9d0808;color:#fff}.theme-syndicate .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-syndicate .Button--selected:focus{transition:color .1s,background-color .1s}.theme-syndicate .Button--selected:focus,.theme-syndicate .Button--selected:hover{background-color:#b31212;color:#fff}.theme-syndicate .Button--altSelected--bottom:after{content:"";position:absolute;bottom:0;right:0;left:0;height:2px;width:100%;background-color:#fff;border-radius:0}.theme-syndicate .Button--altSelected--right:after{content:"";position:absolute;top:0;bottom:0;right:0;height:100%;width:3px;background-color:#fff;border-radius:0}.theme-syndicate .Layout{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#550202;background-image:linear-gradient(180deg,#730303 0,#370101)}.theme-syndicate .Layout__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px}.theme-syndicate .Layout__content{position:fixed;top:32px;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden;margin-bottom:-6px;scrollbar-base-color:#400202;scrollbar-face-color:#7e0303;scrollbar-3dlight-color:#550202;scrollbar-highlight-color:#550202;scrollbar-track-color:#400202;scrollbar-arrow-color:#fa3030;scrollbar-shadow-color:#7e0303}.theme-syndicate .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-syndicate .Layout__dimmer{position:fixed;top:32px;bottom:0;left:0;right:0;background-color:rgba(117,22,22,.25);pointer-events:none}.theme-syndicate .Layout__toast{position:fixed;bottom:0;left:0;right:0;font-size:12px;height:40px;line-height:39px;padding:0 12px;background-color:#2b0101;color:hsla(0,0%,100%,.8)}.theme-syndicate .Layout__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;height:20px;cursor:se-resize}.theme-syndicate .Layout__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;cursor:s-resize}.theme-syndicate .Layout__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;cursor:e-resize}.theme-syndicate .NoticeBox{padding:4px 6px;margin-bottom:6px;box-shadow:none;font-weight:700;font-style:italic;color:#fff;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}.theme-syndicate .Input{position:relative;display:inline-block;width:120px;border:1px solid #87ce87;border:1px solid rgba(135,206,135,.75);border-radius:2px;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;overflow:visible}.theme-syndicate .Input--fluid{display:block;width:auto}.theme-syndicate .Input__baseline{display:inline-block;color:transparent}.theme-syndicate .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:transparent;color:#fff;color:inherit}.theme-syndicate .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:hsla(0,0%,100%,.45)}.theme-syndicate .NumberInput{position:relative;display:inline-block;border:1px solid #87ce87;border:1px solid rgba(135,206,135,.75);border-radius:2px;color:#87ce87;background-color:#000;background-color:rgba(0,0,0,.75);padding:0 4px;margin-right:2px;line-height:17px;text-align:right;overflow:visible;cursor:n-resize}.theme-syndicate .NumberInput--fluid{display:block}.theme-syndicate .NumberInput__content{margin-left:6px}.theme-syndicate .NumberInput__barContainer{position:absolute;top:2px;bottom:2px;left:2px}.theme-syndicate .NumberInput__bar{position:absolute;bottom:0;left:0;width:3px;box-sizing:border-box;border-bottom:1px solid #87ce87;background-color:#87ce87}.theme-syndicate .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:12px;line-height:17px;height:17px;margin:0;padding:0 6px;font-family:Verdana,sans-serif;background-color:#000;color:#fff;text-align:right}.theme-syndicate .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 6px;border-radius:0;background-color:rgba(0,0,0,.5);transition:border-color .5s}.theme-syndicate .ProgressBar__fill{position:absolute;top:0;left:0;bottom:0;transition:background-color .5s,width .5s}.theme-syndicate .ProgressBar__content{position:relative;line-height:17px;width:100%;text-align:right}.theme-syndicate .ProgressBar--color--default{border:1px solid #306330}.theme-syndicate .ProgressBar--color--default .ProgressBar__fill{background-color:#306330}.theme-syndicate .Section{position:relative;margin-bottom:6px;background-color:#1a1a1a;background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5);box-sizing:border-box}.theme-syndicate .Section:last-child{margin-bottom:0}.theme-syndicate .Section__title{position:relative;padding:6px;border-bottom:2px solid #397439}.theme-syndicate .Section__titleText{font-size:14px;font-weight:700}.theme-syndicate .Section__buttons{position:absolute;display:inline-block;right:6px;margin-top:-1px}.theme-syndicate .Section__content{padding:8px 6px}.theme-syndicate .Section--level--1 .Section__titleText{font-size:14px}.theme-syndicate .Section--level--2 .Section__titleText{font-size:13px}.theme-syndicate .Section--level--3 .Section__titleText{font-size:12px}.theme-syndicate .Section--level--2,.theme-syndicate .Section--level--3{background-color:transparent;box-shadow:none;margin-left:-6px;margin-right:-6px}.theme-syndicate .TitleBar{background-color:#910101;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-syndicate .TitleBar__clickable{color:hsla(0,0%,100%,.5);background-color:#910101;transition:color .25s,background-color .25s}.theme-syndicate .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-syndicate .TitleBar__title{position:absolute;top:0;left:46px;color:hsla(0,0%,100%,.75);font-size:14px;line-height:31px;white-space:nowrap}.theme-syndicate .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px}.theme-syndicate .TitleBar__statusIcon{position:absolute;top:0;left:12px;transition:color .5s;font-size:20px;line-height:32px!important}.theme-syndicate .TitleBar__minimize{position:absolute;top:6px;right:46px}.theme-syndicate .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;height:32px;font-size:20px;line-height:31px;text-align:center}.theme-syndicate .Tooltip{position:absolute;top:0;left:0;right:0;bottom:0;font-style:normal;font-weight:400}.theme-syndicate .Tooltip:after{position:absolute;display:block;white-space:nowrap;z-index:2;padding:6px 10px;transform:translateX(-50%);pointer-events:none;visibility:hidden;opacity:0;text-align:left;content:attr(data-tooltip);transition:all .15s;background-color:#4a0202;box-shadow:1px 1px 15px -1px rgba(0,0,0,.5);border-radius:2px}.theme-syndicate .Tooltip:hover:after{transition:all 70ms;pointer-events:none;visibility:visible;opacity:1}.theme-syndicate .Tooltip--long:after{width:250px;white-space:normal}.theme-syndicate .Tooltip--top:after{bottom:100%;left:50%;transform:translateX(-50%) translateY(8px)}.theme-syndicate .Tooltip--bottom:after,.theme-syndicate .Tooltip--top:hover:after{transform:translateX(-50%) translateY(-8px)}.theme-syndicate .Tooltip--bottom:after{top:100%;left:50%}.theme-syndicate .Tooltip--bottom:hover:after{transform:translateX(-50%) translateY(8px)}.theme-syndicate .Tooltip--bottom-left:after{top:100%;right:50%;transform:translateX(12px) translateY(-8px)}.theme-syndicate .Tooltip--bottom-left:hover:after{transform:translateX(12px) translateY(8px)}.theme-syndicate .Tooltip--bottom-right:after{top:100%;left:50%;transform:translateX(-12px) translateY(-8px)}.theme-syndicate .Tooltip--bottom-right:hover:after{transform:translateX(-12px) translateY(8px)}.theme-syndicate .Tooltip--left:after{top:50%;right:100%;transform:translateX(8px) translateY(-50%)}.theme-syndicate .Tooltip--left:hover:after,.theme-syndicate .Tooltip--right:after{transform:translateX(-8px) translateY(-50%)}.theme-syndicate .Tooltip--right:after{top:50%;left:100%}.theme-syndicate .Tooltip--right:hover:after{transform:translateX(8px) translateY(-50%)}.theme-syndicate .Layout__content{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMCIgdmlld0JveD0iMCAwIDIwMCAyODkuNzQyIiBvcGFjaXR5PSIuMzMiPjxwYXRoIGQ9Ik05My41MzggMGMtMTguMTEzIDAtMzQuMjIgMy4xMTItNDguMzI0IDkuMzM0LTEzLjk2NSA2LjIyMi0yNC42MTIgMTUuMDcyLTMxLjk0IDI2LjU0N0M2LjA4NCA0Ny4yMiAyLjk3MiA2MC42MzEgMi45NzIgNzYuMTE2YzAgMTAuNjQ3IDIuNzI1IDIwLjQ2NSA4LjE3NSAyOS40NTMgNS42MTYgOC45ODcgMTQuMDM5IDE3LjM1MiAyNS4yNyAyNS4wOTQgMTEuMjMgNy42MDYgMjYuNTA3IDE1LjQxOSA0NS44MyAyMy40MzggMTkuOTg0IDguMjk2IDM0Ljg0OSAxNS41NTUgNDQuNTkzIDIxLjc3NiA5Ljc0NCA2LjIyMyAxNi43NjEgMTIuODU5IDIxLjA1NSAxOS45MSA0LjI5NSA3LjA1MiA2LjQ0MiAxNS43NjQgNi40NDIgMjYuMTM0IDAgMTYuMTc4LTUuMjAyIDI4LjQ4My0xNS42MDYgMzYuOTE3LTEwLjI0IDguNDM1LTI1LjAyMiAxMi42NTMtNDQuMzQ1IDEyLjY1My0xNC4wMzkgMC0yNS41MTYtMS42Ni0zNC40MzQtNC45NzgtOC45MTgtMy40NTctMTYuMTg2LTguNzExLTIxLjgtMTUuNzYzLTUuNjE2LTcuMDUyLTEwLjA3Ni0xNi42NjEtMTMuMzc5LTI4LjgyOUgwdjU2LjgyN2MzMy44NTcgNy4zMjggNjMuNzQ5IDEwLjk5NCA4OS42NzggMTAuOTk0IDE2LjAyIDAgMzAuNzItMS4zODMgNDQuMDk4LTQuMTQ4IDEzLjU0Mi0yLjkwNCAyNS4xMDQtNy40NjcgMzQuNjgzLTEzLjY5IDkuNzQ0LTYuMzU5IDE3LjM0LTE0LjUxOSAyMi43OS0yNC40NzQgNS40NS0xMC4wOTMgOC4xNzUtMjIuNCA4LjE3NS0zNi45MTcgMC0xMi45OTctMy4zMDItMjQuMzM1LTkuOTA4LTM0LjAxNC02LjQ0LTkuODE4LTE1LjUyNS0xOC41MjctMjcuMjUxLTI2LjEzMi0xMS41NjEtNy42MDQtMjcuOTExLTE1LjgzMS00OS4wNTEtMjQuNjgtMTcuNTA2LTcuMTktMzAuNzItMTMuNjktMzkuNjM4LTE5LjQ5N1M1NC45NjkgOTMuNzU2IDQ5LjQ3OSA4Ny4zMTZjLTUuNDI2LTYuMzY2LTkuNjU4LTE1LjA3LTkuNjU4LTI0Ljg4NyAwLTkuMjY0IDIuMDc1LTE3LjIxNCA2LjIyMy0yMy44NUM1Ny4xNDIgMjQuMTggODcuMzMxIDM2Ljc4MiA5MS4xMiA2Mi45MjVjNC44NCA2Ljc3NSA4Ljg1IDE2LjI0NyAxMi4wMyAyOC40MTVoMjAuNTMydi01NmMtNC40NzktNS45MjQtOS45NTUtMTAuNjMxLTE1LjkwOS0xNC4zNzMgMS42NC40NzkgMy4xOSAxLjAyMyA0LjYzOSAxLjY0IDYuNDk4IDIuNjI2IDEyLjE2OCA3LjMyNyAxNy4wMDcgMTQuMTAzIDQuODQgNi43NzUgOC44NSAxNi4yNDYgMTIuMDMgMjguNDE0IDAgMCA4LjQ4LS4xMjkgOC40OS0uMDAyLjQxNyA2LjQxNS0xLjc1NCA5LjQ1My00LjEyNCAxMi41NjEtMi40MTcgMy4xNy01LjE0NSA2Ljc5LTQuMDAzIDEzLjAwMyAxLjUwOCA4LjIwMyAxMC4xODQgMTAuNTk3IDE0LjYyMiA5LjMxMi0zLjMxOC0uNS01LjMxOC0xLjc1LTUuMzE4LTEuNzVzMS44NzYuOTk5IDUuNjUtMS4zNmMtMy4yNzYuOTU2LTEwLjcwNC0uNzk3LTExLjgtNi43NjMtLjk1OC01LjIwOC45NDYtNy4yOTUgMy40LTEwLjUxNCAyLjQ1NS0zLjIyIDUuMjg1LTYuOTU5IDQuNjg1LTE0LjQ4OWwuMDAzLjAwMmg4LjkyN3YtNTZjLTE1LjA3Mi0zLjg3MS0yNy42NTMtNi4zNi0zNy43NDctNy40NjVDMTE0LjI3OS41NTIgMTA0LjA0NiAwIDkzLjUzNyAwem03MC4zMjEgMTcuMzA5bC4yMzggNDAuMzA1YzEuMzE4IDEuMjI2IDIuNDQgMi4yNzggMy4zNDEgMy4xMDYgNC44NCA2Ljc3NSA4Ljg1IDE2LjI0NiAxMi4wMyAyOC40MTRIMjAwdi01NmMtNi42NzctNC41OTQtMTkuODM2LTEwLjQ3My0zNi4xNC0xNS44MjV6bS0yOC4xMiA1LjYwNWw4LjU2NSAxNy43MTdjLTExLjk3LTYuNDY3LTEzLjg0Ny05LjcxNy04LjU2NS0xNy43MTd6bTIyLjc5NyAwYzIuNzcxIDggMS43ODcgMTEuMjUtNC40OTQgMTcuNzE3bDQuNDk0LTE3LjcxN3ptMTUuMjIyIDI0LjAwOWw4LjU2NSAxNy43MTZjLTExLjk3LTYuNDY2LTEzLjg0Ny05LjcxNy04LjU2NS0xNy43MTZ6bTIyLjc5NyAwYzIuNzcxIDggMS43ODcgMTEuMjUtNC40OTQgMTcuNzE2bDQuNDk0LTE3LjcxNnpNOTcuNDQgNDkuMTNsOC41NjUgMTcuNzE2Yy0xMS45Ny02LjQ2Ny0xMy44NDctOS43MTctOC41NjUtMTcuNzE2em0yMi43OTUgMGMyLjc3MiA3Ljk5OSAxLjc4OCAxMS4yNS00LjQ5MyAxNy43MTZsNC40OTMtMTcuNzE2eiIvPjwvc3ZnPg==)} \ No newline at end of file diff --git a/tgui/packages/tgui/public/tgui.bundle.js b/tgui/packages/tgui/public/tgui.bundle.js index c07b9263d0a..ff31e969b00 100644 --- a/tgui/packages/tgui/public/tgui.bundle.js +++ b/tgui/packages/tgui/public/tgui.bundle.js @@ -1,3 +1,3 @@ -!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=165)}([function(e,t,n){"use strict";t.__esModule=!0;var o=n(387);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";var o=n(5),r=n(21).f,a=n(26),i=n(24),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,d,s,p,m,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(d in t){if(p=t[d],s=e.noTargetGet?(m=r(n,d))&&m.value:n[d],!u(h?d:f+(C?".":"#")+d,e.forced)&&s!==undefined){if(typeof p==typeof s)continue;l(p,s)}(e.sham||s&&s.sham)&&a(p,"sham",!0),i(n,d,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(157);t.AnimatedNumber=o.AnimatedNumber;var r=n(394);t.BlockQuote=r.BlockQuote;var a=n(20);t.Box=a.Box;var i=n(116);t.Button=i.Button;var c=n(396);t.ColorBox=c.ColorBox;var l=n(397);t.Collapsible=l.Collapsible;var u=n(398);t.Dimmer=u.Dimmer;var d=n(399);t.Dropdown=d.Dropdown;var s=n(400);t.Flex=s.Flex;var p=n(160);t.Grid=p.Grid;var m=n(87);t.Icon=m.Icon;var f=n(159);t.Input=f.Input;var h=n(162);t.LabeledList=h.LabeledList;var C=n(401);t.NoticeBox=C.NoticeBox;var b=n(402);t.NumberInput=b.NumberInput;var g=n(403);t.ProgressBar=g.ProgressBar;var N=n(404);t.Section=N.Section;var v=n(161);t.Table=v.Table;var V=n(405);t.Tabs=V.Tabs;var y=n(406);t.TitleBar=y.TitleBar;var _=n(114);t.Toast=_.Toast;var k=n(158);t.Tooltip=k.Tooltip;var x=n(407);t.Chart=x.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(15);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(16),l=n(74),u=n(26),d=n(24),s=n(13).f,p=n(36),m=n(53),f=n(12),h=n(58),C=a.DataView,b=C&&C.prototype,g=a.Int8Array,N=g&&g.prototype,v=a.Uint8ClampedArray,V=v&&v.prototype,y=g&&p(g),_=N&&p(N),k=Object.prototype,x=k.isPrototypeOf,L=f("toStringTag"),B=h("TYPED_ARRAY_TAG"),w=!(!a.ArrayBuffer||!C),S=w&&!!m&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},P=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&m(a[o],y);if((!S||!_||_===k)&&(_=y.prototype,S))for(o in T)a[o]&&m(a[o].prototype,_);if(S&&p(V)!==_&&m(V,_),r&&!c(_,L))for(o in I=!0,s(_,L,{get:function(){return i(this)?this[B]:undefined}}),T)a[o]&&u(a[o],B,o);w&&m&&p(b)!==k&&m(b,k),e.exports={NATIVE_ARRAY_BUFFER:w,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&B,aTypedArray:function(e){if(P(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(x.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||x.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||d(_,e,n?t:S&&N[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(m){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return d(y,e,n?t:S&&g[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||d(i,e,t)}},isView:A,isTypedArray:P,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";var o=n(5),r=n(91),a=n(16),i=n(58),c=n(95),l=n(125),u=r("wks"),d=o.Symbol,s=l?d:i;e.exports=function(e){return a(u,e)||(c&&a(d,e)?u[e]=d[e]:u[e]=s("Symbol."+e)),u[e]}},function(e,t,n){"use strict";var o=n(9),r=n(119),a=n(8),i=n(33),c=Object.defineProperty;t.f=o?c:function(e,t,n){if(a(e),t=i(t,!0),a(n),r)try{return c(e,t,n)}catch(o){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";var o=n(23);e.exports=function(e){return Object(o(e))}},function(e,t,n){"use strict";t.__esModule=!0,t.winset=t.winget=t.act=t.runCommand=t.callByondAsync=t.callByond=t.tridentVersion=void 0;var o,r=n(22),a=(o=navigator.userAgent.match(/Trident\/(\d+).+?;/i)[1])?parseInt(o,10):null;t.tridentVersion=a;var i=function(e,t){return void 0===t&&(t={}),"byond://"+e+"?"+(0,r.buildQueryString)(t)},c=function(e,t){void 0===t&&(t={}),window.location.href=i(e,t)};t.callByond=c;var l=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,o=new Promise((function(e){window.__callbacks__.push(e)}));return window.location.href=i(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),o};t.callByondAsync=l;t.runCommand=function(e){return c("winset",{command:e})};t.act=function(e,t,n){return void 0===n&&(n={}),c("",Object.assign({src:e,action:t},n))};var u=function(e,t){var n;return regeneratorRuntime.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,regeneratorRuntime.awrap(l("winget",{id:e,property:t}));case 2:return n=o.sent,o.abrupt("return",n[t]);case 4:case"end":return o.stop()}}))};t.winget=u;t.winset=function(e,t,n){var o;return c("winset",((o={})[e+"."+t]=n,o))}},function(e,t,n){"use strict";var o={}.hasOwnProperty;e.exports=function(e,t){return o.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n_;_++)if((p||_ in v)&&(g=V(b=v[_],_,N),e))if(t)x[_]=g;else if(g)switch(e){case 3:return!0;case 5:return b;case 6:return _;case 2:l.call(x,b)}else if(d)return!1;return s?-1:u||d?d:x}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(0),r=n(10),a=n(395),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},m=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var b=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,d=e.children,s=c(e,["as","className","content","children"]),p=e.textColor||e.color,m=e.backgroundColor;if("function"==typeof d)return d(C(e));var f=C(s);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(m)&&"color-bg-"+m]),l||d,a.ChildFlags.UnknownChildren,f)};t.Box=b,b.defaultHooks=r.pureComponentHooks;var g=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,b,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,b,{fillPositionedParent:!0,children:t})})))};g.defaultHooks=r.pureComponentHooks,b.Forced=g},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(47),i=n(25),c=n(33),l=n(16),u=n(119),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=i(e),t=c(t,!0),u)try{return d(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
    /gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(5),r=n(26),a=n(16),i=n(89),c=n(90),l=n(34),u=l.get,d=l.enforce,s=String(String).split("String");(e.exports=function(e,t,n,c){var l=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||r(n,"name",t),d(n).source=s.join("string"==typeof t?t:"")),e!==o?(l?!p&&e[t]&&(u=!0):delete e[t],u?e[t]=n:r(e,t,n)):u?e[t]=n:i(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},function(e,t,n){"use strict";var o=n(57),r=n(23);e.exports=function(e){return o(r(e))}},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(47);e.exports=o?function(e,t,n){return r.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var o=n(123),r=n(16),a=n(129),i=n(13).f;e.exports=function(e){var t=o.Symbol||(o.Symbol={});r(t,e)||i(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";var o=n(23),r=/"/g;e.exports=function(e,t,n,a){var i=String(o(e)),c="<"+t;return""!==n&&(c+=" "+n+'="'+String(a).replace(r,""")+'"'),c+">"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(26),d=n(16),s=n(72),p=n(59),m=c.WeakMap;if(i){var f=new m,h=f.get,C=f.has,b=f.set;o=function(e,t){return b.call(f,e,t),t},r=function(e){return h.call(f,e)||{}},a=function(e){return C.call(f,e)}}else{var g=s("state");p[g]=!0,o=function(e,t){return u(e,g,t),t},r=function(e){return d(e,g)?e[g]:{}},a=function(e){return d(e,g)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(16),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),d=n(47),s=n(26),p=n(11),m=n(137),f=n(151),h=n(33),C=n(16),b=n(74),g=n(6),N=n(43),v=n(53),V=n(48).f,y=n(152),_=n(18).forEach,k=n(54),x=n(13),L=n(21),B=n(34),w=n(79),S=B.get,I=B.set,T=x.f,A=L.f,P=Math.round,E=r.RangeError,R=l.ArrayBuffer,M=l.DataView,O=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,G=c.isTypedArray,H=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof R||"ArrayBuffer"==(t=b(e))||"SharedArrayBuffer"==t},W=function(e,t){return G(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},Y=function(e,t){return W(e,t=h(t,!0))?d(2,e[t]):A(e,t)},q=function(e,t,n){return!(W(e,t=h(t,!0))&&g(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(O||(L.f=Y,x.f=q,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!O},{getOwnPropertyDescriptor:Y,defineProperty:q}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,d="set"+e,h=r[c],C=h,b=C&&C.prototype,x={},L=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},B=function(e,t,o){var r=S(e);n&&(o=(o=P(o))<0?0:o>255?255:255&o),r.view[d](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return L(this,t)},set:function(e){return B(this,t,e)},enumerable:!0})};O?i&&(C=t((function(e,t,n,o){return u(e,C,c),w(g(t)?K(t)?o!==undefined?new h(t,f(n,a),o):n!==undefined?new h(t,f(n,a)):new h(t):G(t)?H(C,t):y.call(C,t):new h(m(t)),e,C)})),v&&v(C,D),_(V(h),(function(e){e in C||s(C,e,h[e])})),C.prototype=b):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,d=0,s=0;if(g(t)){if(!K(t))return G(t)?H(C,t):y.call(C,t);r=t,s=f(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw E("Wrong length");if((i=h-s)<0)throw E("Wrong length")}else if((i=p(o)*a)+s>h)throw E("Wrong length");l=i/a}else l=m(t),r=new R(i=l*a);for(I(e,{buffer:r,byteOffset:s,byteLength:i,length:l,view:new M(r)});d2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;odocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[d][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[d]=o(e),n=new s,s[d]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(16),a=n(12)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(12),r=n(43),a=n(26),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(31),a=n(12)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(124),r=n(93).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(31);e.exports=function(e,t,n){if(o(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,o){return e.call(t,n,o)};case 3:return function(n,o,r){return e.call(t,n,o,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var o=n(33),r=n(13),a=n(47);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},function(e,t,n){"use strict";var o=n(59),r=n(6),a=n(16),i=n(13).f,c=n(58),l=n(67),u=c("meta"),d=0,s=Object.isExtensible||function(){return!0},p=function(e){i(e,u,{value:{objectID:"O"+ ++d,weakData:{}}})},m=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!s(e))return"F";if(!t)return"E";p(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!s(e))return!0;if(!t)return!1;p(e)}return e[u].weakData},onFreeze:function(e){return l&&m.REQUIRED&&s(e)&&!a(e,u)&&p(e),e}};o[u]=!0},function(e,t,n){"use strict";var o=n(32);e.exports=Array.isArray||function(e){return"Array"==o(e)}},function(e,t,n){"use strict";var o=n(8),r=n(135);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(a){}return function(n,a){return o(n),r(a),t?e.call(n,a):n.__proto__=a,n}}():undefined)},function(e,t,n){"use strict";var o=n(35),r=n(13),a=n(12),i=n(9),c=a("species");e.exports=function(e){var t=o(e),n=r.f;i&&t&&!t[c]&&n(t,c,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},function(e,t,n){"use strict";var o=n(23),r="["+n(81)+"]",a=RegExp("^"+r+r+"*"),i=RegExp(r+r+"*$"),c=function(e){return function(t){var n=String(o(t));return 1&e&&(n=n.replace(a,"")),2&e&&(n=n.replace(i,"")),n}};e.exports={start:c(1),end:c(2),trim:c(3)}},function(e,t,n){"use strict";var o=n(4),r=n(32),a="".split;e.exports=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==r(e)?a.call(e,""):Object(e)}:Object},function(e,t,n){"use strict";var o=0,r=Math.random();e.exports=function(e){return"Symbol("+String(e===undefined?"":e)+")_"+(++o+r).toString(36)}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(25),r=n(11),a=n(42),i=function(e){return function(t,n,i){var c,l=o(t),u=r(l.length),d=a(i,u);if(e&&n!=n){for(;u>d;)if((c=l[d++])!=c)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(12)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(12),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(24);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(11),i=n(49),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,d,s){var p,m,f,h,C,b,g,N=i(t,n,d?2:1);if(s)p=e;else{if("function"!=typeof(m=c(e)))throw TypeError("Target is not iterable");if(r(m)){for(f=0,h=a(e.length);h>f;f++)if((C=d?N(o(g=e[f])[0],g[1]):N(e[f]))&&C instanceof u)return C;return new u(!1)}p=m.call(e)}for(b=p.next;!(g=b.call(p)).done;)if("object"==typeof(C=l(p,N,g.value,d))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;d=c[u++]}else{if((u=c.next()).done)break;d=u.value}var s=d;Array.isArray(s)?n=o.apply(void 0,s).apply(void 0,[n].concat(a)):s&&(n=s.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:s>p;p+=m)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(26),c=n(66),l=n(4),u=n(55),d=n(30),s=n(11),p=n(137),m=n(218),f=n(48).f,h=n(13).f,C=n(97),b=n(44),g=n(34),N=g.get,v=g.set,V="ArrayBuffer",y="DataView",_="Wrong length",k=o[V],x=k,L=o[y],B=o.RangeError,w=m.pack,S=m.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},P=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},E=function(e){return w(e,23,4)},R=function(e){return w(e,52,8)},M=function(e,t){h(e.prototype,t,{get:function(){return N(this)[t]}})},O=function(e,t,n,o){var r=p(n),a=N(e);if(r+t>a.byteLength)throw B("Wrong index");var i=N(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=N(e);if(i+t>c.byteLength)throw B("Wrong index");for(var l=N(c.buffer).bytes,u=i+c.byteOffset,d=o(+r),s=0;sG;)(D=z[G++])in x||i(x,D,k[D]);j.constructor=x}var H=new L(new x(2)),U=L.prototype.setInt8;H.setInt8(0,2147483648),H.setInt8(1,2147483649),!H.getInt8(0)&&H.getInt8(1)||c(L.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else x=function(e){u(this,x,V);var t=p(e);v(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},L=function(e,t,n){u(this,L,y),u(e,x,y);var o=N(e).byteLength,a=d(t);if(a<0||a>o)throw B("Wrong offset");if(a+(n=n===undefined?o-a:s(n))>o)throw B(_);v(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(M(x,"byteLength"),M(L,"buffer"),M(L,"byteLength"),M(L,"byteOffset")),c(L.prototype,{getInt8:function(e){return O(this,1,e)[0]<<24>>24},getUint8:function(e){return O(this,1,e)[0]},getInt16:function(e){var t=O(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=O(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return P(O(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return P(O(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(O(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(O(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,E,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,R,t,arguments.length>2?arguments[2]:undefined)}});b(x,V),b(L,y),e.exports={ArrayBuffer:x,DataView:L}},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(61),i=n(24),c=n(51),l=n(68),u=n(55),d=n(6),s=n(4),p=n(75),m=n(44),f=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),b=h?"set":"add",g=r[e],N=g&&g.prototype,v=g,V={},y=function(e){var t=N[e];i(N,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!d(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof g||!(C||N.forEach&&!s((function(){(new g).entries().next()})))))v=n.getConstructor(t,e,h,b),c.REQUIRED=!0;else if(a(e,!0)){var _=new v,k=_[b](C?{}:-0,1)!=_,x=s((function(){_.has(1)})),L=p((function(e){new g(e)})),B=!C&&s((function(){for(var e=new g,t=5;t--;)e[b](t,t);return!e.has(-0)}));L||((v=t((function(t,n){u(t,v,e);var o=f(new g,t,v);return n!=undefined&&l(n,o[b],o,h),o}))).prototype=N,N.constructor=v),(x||B)&&(y("delete"),y("has"),h&&y("get")),(B||k)&&y(b),C&&N.clear&&delete N.clear}return V[e]=v,o({global:!0,forced:v!=g},V),m(v,e),C||n.setStrong(v,e,h),v}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),d=/()??/.exec("")[1]!==undefined;(u||d)&&(l=function(e){var t,n,o,r,l=this;return d&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),d&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),d=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,s){var p=i(e),m=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),f=m&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!m||!f||"replace"===e&&!u||"split"===e&&!d){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?m&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),b=C[0],g=C[1];r(String.prototype,e,b),r(RegExp.prototype,p,2==t?function(e,t){return g.call(e,this,t)}:function(e){return g.call(e,this)}),s&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(0),r=n(10),a=n(20);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,d=void 0===u?{}:u,s=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(d["font-size"]=100*n+"%"),"number"==typeof s&&(d.transform="rotate("+s+"deg)");var m=i.test(t),f=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,m?"far":"fas","fa-"+f,c&&"fa-spin"]),style:d},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(26);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(48),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(42),a=n(11);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(12),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(12)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(12)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(1),r=n(203),a=n(36),i=n(53),c=n(44),l=n(26),u=n(24),d=n(12),s=n(38),p=n(65),m=n(134),f=m.IteratorPrototype,h=m.BUGGY_SAFARI_ITERATORS,C=d("iterator"),b=function(){return this};e.exports=function(e,t,n,d,m,g,N){r(n,t,d);var v,V,y,_=function(e){if(e===m&&w)return w;if(!h&&e in L)return L[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},k=t+" Iterator",x=!1,L=e.prototype,B=L[C]||L["@@iterator"]||m&&L[m],w=!h&&B||_(m),S="Array"==t&&L.entries||B;if(S&&(v=a(S.call(new e)),f!==Object.prototype&&v.next&&(s||a(v)===f||(i?i(v,f):"function"!=typeof v[C]&&l(v,C,b)),c(v,k,!0,!0),s&&(p[k]=b))),"values"==m&&B&&"values"!==B.name&&(x=!0,w=function(){return B.call(this)}),s&&!N||L[C]===w||l(L,C,w),p[t]=w,m)if(V={values:_("values"),keys:g?w:_("keys"),entries:_("entries")},N)for(y in V)!h&&!x&&y in L||u(L,y,V[y]);else o({target:t,proto:!0,forced:h||x},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(11),r=n(104),a=n(23),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,d=String(a(t)),s=d.length,p=c===undefined?" ":String(c),m=o(n);return m<=s||""==p?d:(l=m-s,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?d+u:u+d)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(30),r=n(23);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(49),d=n(127),s=n(88),p=n(146),m=i.location,f=i.setImmediate,h=i.clearImmediate,C=i.process,b=i.MessageChannel,g=i.Dispatch,N=0,v={},V=function(e){if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},k=function(e){i.postMessage(e+"",m.protocol+"//"+m.host)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++N]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(N),N},h=function(e){delete v[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:g&&g.now?o=function(e){g.now(y(e))}:b&&!p?(a=(r=new b).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(k)?o="onreadystatechange"in s("script")?function(e){d.appendChild(s("script")).onreadystatechange=function(){d.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=k,i.addEventListener("message",_,!1))),e.exports={set:f,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(12)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(30),r=n(23),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(12)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(0),a=n(10),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(41),r=n(15),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},d=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},s=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=d(e),i=o.keyCode,u=o.ctrlKey,s=o.shiftKey;u||s||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=d(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,s=o.keyString;u&&!i.includes(l)&&(a.log(s),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){s()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(0),r=n(10),a=n(15),i=n(115),c=n(41),l=n(117),u=n(20),d=n(87),s=n(158);n(159),n(160);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var f=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,b=e.tooltip,g=e.tooltipPosition,N=e.ellipsis,v=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,k=e.onclick,x=e.onClick,L=m(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),B=!(!v&&!_);return k&&f.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",B&&"Button--hasContent",N&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&x&&x(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&x&&x(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},L,{children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:V,spin:y}),v,_,b&&(0,o.createComponentVNode)(2,s.Tooltip,{content:b,position:g})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=m(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var b=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmContent,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.confirmIcon,l=t.icon,u=t.color,d=t.content,s=t.onClick,p=m(t,["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:d,icon:this.state.clickedOnce?c:l,color:this.state.clickedOnce?i:u,onClick:function(){return e.state.clickedOnce?s():e.setClickedOnce(!0)}},p)))},t}(o.Component);t.ButtonConfirm=b,h.Confirm=b;var g=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.icon,l=t.iconRotation,p=t.iconSpin,f=t.tooltip,h=t.tooltipPosition,C=t.color,b=void 0===C?"default":C,g=(t.placeholder,t.maxLength,m(t,["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+b])},g,{onClick:function(){return e.setInInput(!0)},children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:l,spin:p}),(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef),f&&(0,o.createComponentVNode)(2,s.Tooltip,{content:f,position:h})]})))},t}(o.Component);t.ButtonInput=g,h.Input=g},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(15);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(16),r=n(92),a=n(21),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(25),r=n(48).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(12);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(42),a=n(11),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:undefined,s=i((d===undefined?c:r(d,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(11),a=n(49);e.exports=function i(e,t,n,c,l,u,d,s){for(var p,m=l,f=0,h=!!d&&a(d,s,3);f0&&o(p))m=i(e,t,p,r(p.length),m,u-1)-1;else{if(m>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[m]=p}m++}f++}return m}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(25),r=n(45),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(26),l=n(16),u=n(12),d=n(38),s=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),d||l(o,s)||c(o,s,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(25),r=n(30),a=n(11),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf");e.exports=u||d?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(30),r=n(11);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(31),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!b(this,e)}}),a(d.prototype,n?{get:function(e){var t=b(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),s&&o(d.prototype,"size",{get:function(){return m(this).size}}),d},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(25),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,d=0,s=[];u>d;)n=l[d++],o&&!i.call(c,n)||s.push(e?[n,c[n]]:c[n]);return s}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,d,s=n(5),p=n(21).f,m=n(32),f=n(106).set,h=n(146),C=s.MutationObserver||s.WebKitMutationObserver,b=s.process,g=s.Promise,N="process"==m(b),v=p(s,"queueMicrotask"),V=v&&v.value;V||(o=function(){var e,t;for(N&&(e=b.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},N?i=function(){b.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):g&&g.resolve?(u=g.resolve(undefined),d=u.then,i=function(){d.call(u,o)}):i=function(){f.call(s,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(31),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(348);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(11),a=n(99),i=n(98),c=n(49),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,d,s,p,m=o(e),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined,b=a(m);if(b!=undefined&&!i(b))for(p=(s=b.call(m)).next,m=[];!(d=p.call(s)).done;)m.push(d.value);for(C&&f>2&&(h=c(h,arguments[2],2)),n=r(m.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(m[t],t):m[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(51).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(18),d=n(16),s=n(34),p=s.set,m=s.getterFor,f=u.find,h=u.findIndex,C=0,b=function(e){return e.frozen||(e.frozen=new g)},g=function(){this.entries=[]},N=function(e,t){return f(e.entries,(function(e){return e[0]===t}))};g.prototype={get:function(e){var t=N(this,e);if(t)return t[1]},has:function(e){return!!N(this,e)},set:function(e,t){var n=N(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var s=e((function(e,o){c(e,s,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),f=m(t),h=function(e,t,n){var o=f(e),i=r(a(t),!0);return!0===i?b(o).set(t,n):i[o.id]=n,e};return o(s.prototype,{"delete":function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?b(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?b(t).has(e):n&&d(n,t.id)}}),o(s.prototype,n?{get:function(e){var t=f(this);if(i(e)){var n=r(e);return!0===n?b(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),s}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(15),d=(0,n(41).createLogger)("drag"),s=!1,p=!1,m=[0,0],f=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return d.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(f(o));case 4:t=i.sent,m=[t[0]-window.screenLeft,t[1]-window.screenTop],n=b(t),r=n[0],a=n[1],r&&h(o,a),d.debug("current state",{ref:o,screenOffset:m});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var b=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){d.log("drag start"),s=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",N),document.addEventListener("mouseup",g),N(e)};var g=function y(e){d.log("drag end"),N(e),document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",y),s=!1},N=function(e){s&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],m,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],d.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",v),V(n)}};var v=function _(e){d.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(17);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(0),r=n(10),a=n(20);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,d=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},d,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(0),r=n(161),a=n(10);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(0),r=n(10),a=n(20);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(0),r=n(10),a=n(20),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,d=e.content,s=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[d,s]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){"use strict";t.__esModule=!0,t.AccessList=void 0;var o=n(0),r=n(2),a=n(17);t.AccessList=function(e){var t=e.accesses,n=void 0===t?[]:t,i=e.selectedList,c=void 0===i?[]:i,l=e.accessMod,u=e.grantAll,d=e.denyAll,s=e.grantDep,p=e.denyDep,m={0:{icon:"times-circle",color:"bad"},1:{icon:"stop-circle",color:null},2:{icon:"check-circle",color:"good"}},f=function(e){var t=!1,n=!1;return e.forEach((function(e){c.includes(e.ref)?t=!0:n=!0})),!t&&n?0:t&&n?1:2};return(0,o.createComponentVNode)(2,r.Section,{title:"Access",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:"check-double",content:"Grant All",color:"good",onClick:function(){return u()}}),(0,o.createComponentVNode)(2,r.Button,{icon:"undo",content:"Deny All",color:"bad",onClick:function(){return d()}})],4),children:(0,o.createComponentVNode)(2,r.Tabs,{vertical:!0,altSelection:!0,children:n.map((function(e){var t=(0,a.sortBy)((function(e){return e.desc}))(e.accesses||[]),n=m[f(t)].icon,i=m[f(t)].color;return(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:e.name,color:i,icon:n,children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{mr:0,children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"check",content:"Grant Region",color:"good",onClick:function(){return s(e.regid)}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{ml:0,children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"times",content:"Deny Region",color:"bad",onClick:function(){return p(e.regid)}})})]}),t.map((function(e){return(0,o.createComponentVNode)(2,r.Button.Checkbox,{fluid:!0,content:e.desc,checked:c.includes(e.ref),onClick:function(){return l(e.ref)}},e.desc)}))]},e.name)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(0),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){n(166),n(167),n(168),n(169),n(170),n(171),e.exports=n(172)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(196),n(198),n(200),n(201),n(202),n(133),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(217),n(219),n(220),n(221),n(222),n(223),n(225),n(226),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(241),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(255),n(257),n(258),n(259),n(260),n(261),n(262),n(264),n(265),n(267),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(291),n(293),n(294),n(295),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385),n(386);var o=n(0);n(388),n(389);var r=n(390),a=(n(154),n(3)),i=n(15),c=n(155),l=n(41),u=n(391),d=(0,l.createLogger)(),s=(0,u.createStore)(),p=document.getElementById("react-root"),m=!0,f=function(){for(s.subscribe((function(){!function(){try{var e=s.getState();m&&(d.log("initial render",e),(0,c.setupDrag)(e));var t=n(393).Layout,r=(0,o.createComponentVNode)(2,t,{state:e,dispatch:s.dispatch});(0,o.render)(r,p)}catch(a){d.error("rendering error",a)}m&&(m=!1)}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){d.log(o),d.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);s.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",f):f()},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),d=n(4),s=n(16),p=n(52),m=n(6),f=n(8),h=n(14),C=n(25),b=n(33),g=n(47),N=n(43),v=n(62),V=n(48),y=n(128),_=n(94),k=n(21),x=n(13),L=n(71),B=n(26),w=n(24),S=n(91),I=n(72),T=n(59),A=n(58),P=n(12),E=n(129),R=n(27),M=n(44),O=n(34),F=n(18).forEach,D=I("hidden"),j=P("toPrimitive"),z=O.set,G=O.getterFor("Symbol"),H=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),W=k.f,Y=x.f,q=y.f,$=L.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&d((function(){return 7!=N(Y({},"a",{get:function(){return Y(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=W(H,t);o&&delete H[t],Y(e,t,n),o&&e!==H&&Y(H,t,o)}:Y,re=function(e,t){var n=Q[e]=N(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===H&&ie(X,t,n),f(e);var o=b(t,!0);return f(n),s(Q,o)?(n.enumerable?(s(e,D)&&e[D][o]&&(e[D][o]=!1),n=N(n,{enumerable:g(0,!1)})):(s(e,D)||Y(e,D,g(1,{})),e[D][o]=!0),oe(e,o,n)):Y(e,o,n)},ce=function(e,t){f(e);var n=C(t),o=v(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?N(e):ce(N(e),t)},ue=function(e){var t=b(e,!0),n=$.call(this,t);return!(this===H&&s(Q,t)&&!s(X,t))&&(!(n||!s(this,t)||!s(Q,t)||s(this,D)&&this[D][t])||n)},de=function(e,t){var n=C(e),o=b(t,!0);if(n!==H||!s(Q,o)||s(X,o)){var r=W(n,o);return!r||!s(Q,o)||s(n,D)&&n[D][o]||(r.enumerable=!0),r}},se=function(e){var t=q(C(e)),n=[];return F(t,(function(e){s(Q,e)||s(T,e)||n.push(e)})),n},pe=function(e){var t=e===H,n=q(t?X:C(e)),o=[];return F(n,(function(e){!s(Q,e)||t&&!s(H,e)||o.push(Q[e])})),o};(l||(w((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===H&&o.call(X,e),s(this,D)&&s(this[D],t)&&(this[D][t]=!1),oe(this,t,g(1,e))};return c&&ne&&oe(H,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return G(this).tag})),L.f=ue,x.f=ie,k.f=de,V.f=y.f=se,_.f=pe,c&&(Y(U.prototype,"description",{configurable:!0,get:function(){return G(this).description}}),i||w(H,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(E.f=function(e){return re(P(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(v(ee),(function(e){R(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(s(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(s(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:de}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:d((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||d((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(m(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||B(U.prototype,j,U.prototype.valueOf),M(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(5),i=n(16),c=n(6),l=n(13).f,u=n(122),d=a.Symbol;if(r&&"function"==typeof d&&(!("description"in d.prototype)||d().description!==undefined)){var s={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new d(e):e===undefined?d():d(e);return""===e&&(s[t]=!0),t};u(p,d);var m=p.prototype=d.prototype;m.constructor=p;var f=m.toString,h="Symbol(test)"==String(d("test")),C=/^Symbol\((.*)\)[^)]+$/;l(m,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(i(s,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(27)("asyncIterator")},function(e,t,n){"use strict";n(27)("hasInstance")},function(e,t,n){"use strict";n(27)("isConcatSpreadable")},function(e,t,n){"use strict";n(27)("iterator")},function(e,t,n){"use strict";n(27)("match")},function(e,t,n){"use strict";n(27)("replace")},function(e,t,n){"use strict";n(27)("search")},function(e,t,n){"use strict";n(27)("species")},function(e,t,n){"use strict";n(27)("split")},function(e,t,n){"use strict";n(27)("toPrimitive")},function(e,t,n){"use strict";n(27)("toStringTag")},function(e,t,n){"use strict";n(27)("unscopables")},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(52),i=n(6),c=n(14),l=n(11),u=n(50),d=n(63),s=n(64),p=n(12),m=n(96),f=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",b=m>=51||!r((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),g=s("concat"),N=function(e){if(!i(e))return!1;var t=e[f];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!b||!g},{concat:function(e){var t,n,o,r,a,i=c(this),s=d(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(s,p++,a)}return s.length=p,s}})},function(e,t,n){"use strict";var o=n(1),r=n(130),a=n(45);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(1),r=n(18).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(97),a=n(45);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(1),r=n(18).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(18).find,a=n(45),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(1),r=n(18).findIndex,a=n(45),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(1),r=n(131),a=n(14),i=n(11),c=n(30),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(1),r=n(131),a=n(14),i=n(11),c=n(31),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(1),r=n(197);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(18).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(1),r=n(199);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(49),r=n(14),a=n(132),i=n(98),c=n(11),l=n(50),u=n(99);e.exports=function(e){var t,n,d,s,p,m=r(e),f="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,b=C!==undefined,g=0,N=u(m);if(b&&(C=o(C,h>2?arguments[2]:undefined,2)),N==undefined||f==Array&&i(N))for(n=new f(t=c(m.length));t>g;g++)l(n,g,b?C(m[g],g):m[g]);else for(p=(s=N.call(m)).next,n=new f;!(d=p.call(s)).done;g++)l(n,g,b?a(s,C,[d.value,g],!0):d.value);return n.length=g,n}},function(e,t,n){"use strict";var o=n(1),r=n(60).includes,a=n(45);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(1),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(1)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(43),a=n(47),i=n(44),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(1),r=n(57),a=n(25),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(1),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(1),r=n(18).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(50);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(1),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(6),a=n(52),i=n(42),c=n(11),l=n(25),u=n(50),d=n(64),s=n(12)("species"),p=[].slice,m=Math.max;o({target:"Array",proto:!0,forced:!d("slice")},{slice:function(e,t){var n,o,d,f=l(this),h=c(f.length),C=i(e,h),b=i(t===undefined?h:t,h);if(a(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[s])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(f,C,b);for(o=new(n===undefined?Array:n)(m(b-C,0)),d=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(31),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,d=i((function(){l.sort(undefined)})),s=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:d||!s||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(1),r=n(42),a=n(30),i=n(11),c=n(14),l=n(63),u=n(50),d=n(64),s=Math.max,p=Math.min,m=9007199254740991,f="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d("splice")},{splice:function(e,t){var n,o,d,h,C,b,g=c(this),N=i(g.length),v=r(e,N),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=N-v):(n=V-2,o=p(s(a(t),0),N-v)),N+n-o>m)throw TypeError(f);for(d=l(g,o),h=0;hN-o+n;h--)delete g[h-1]}else if(n>o)for(h=N-o;h>v;h--)b=h+n-1,(C=h+o-1)in g?g[b]=g[C]:delete g[b];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,b=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=m):(l=a(i(e)/c),e*(d=r(2,-l))<1&&(l--,d*=2),(e+=l+f>=1?h/d:h*r(2,1-f))*d>=2&&(l++,d/=2),l+f>=m?(u=0,l=m):l+f>=1?(u=(e*d-1)*r(2,t),l+=f):(u=e*r(2,f-1)*r(2,t),l=0));t>=8;s[b++]=255&u,u/=256,t-=8);for(l=l<0;s[b++]=255&l,l/=256,p-=8);return s[--b]|=128*C,s},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,d=e[u--],s=127&d;for(d>>=7;l>0;s=256*s+e[u],u--,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===s)s=1-c;else{if(s===i)return n?NaN:d?-1/0:1/0;n+=r(2,t),s-=c}return(d?-1:1)*n*r(2,s-t)}}},function(e,t,n){"use strict";var o=n(1),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(77),i=n(8),c=n(42),l=n(11),u=n(46),d=a.ArrayBuffer,s=a.DataView,p=d.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new d(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,d))(l(r-o)),m=new s(this),f=new s(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(26),r=n(227),a=n(12)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(24),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(1)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(12)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(44)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(1),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(1),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(1),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(1),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(1),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(1),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(1),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(1)({target:"Math",stat:!0},{fround:n(242)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),d=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),s=o(e);return al||n!=n?s*Infinity:s*n}},function(e,t,n){"use strict";var o=n(1),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(1),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(1)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(1),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(1)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(1),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(44)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(1),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(24),c=n(16),l=n(32),u=n(79),d=n(33),s=n(4),p=n(43),m=n(48).f,f=n(21).f,h=n(13).f,C=n(56).trim,b="Number",g=r[b],N=g.prototype,v=l(p(N))==b,V=function(e){var t,n,o,r,a,i,c,l,u=d(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(b,!g(" 0o1")||!g("0b1")||g("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(v?s((function(){N.valueOf.call(n)})):l(n)!=b)?u(new g(V(t)),n,_):V(t)},k=o?m(g):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0;k.length>x;x++)c(g,y=k[x])&&!c(_,y)&&h(_,y,f(g,y));_.prototype=N,N.constructor=_,i(r,b,_)}},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{isFinite:n(256)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(1),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(1),r=n(263);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(1),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(1),r=n(30),a=n(266),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,d=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},s=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),m=[0,0,0,0,0,0],f="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*m[n],m[n]=o%1e7,o=u(o/1e7)},b=function(e){for(var t=6,n=0;--t>=0;)n+=m[t],m[t]=u(n/e),n=n%e*1e7},g=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==m[e]){var n=String(m[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(f="-",l=-l),l>1e-21)if(n=(t=s(l*d(2,69,1))-69)<0?l*d(2,-t,1):l/d(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(d(10,o,1),0),o=t-1;o>=23;)b(1<<23),o-=23;b(1<0?f+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):f+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(1),r=n(268);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),d=Object.assign,s=Object.defineProperty;e.exports=!d||r((function(){if(o&&1!==d({b:1},d(s({},"a",{enumerable:!0,get:function(){s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||"abcdefghijklmnopqrst"!=a(d({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,d=1,s=i.f,p=c.f;r>d;)for(var m,f=u(arguments[d++]),h=s?a(f).concat(s(f)):a(f),C=h.length,b=0;C>b;)m=h[b++],o&&!p.call(f,m)||(n[m]=f[m]);return n}:d},function(e,t,n){"use strict";n(1)({target:"Object",stat:!0,sham:!n(9)},{create:n(43)})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(1),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(1),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(1),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(1),r=n(67),a=n(4),i=n(6),c=n(51).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(1),r=n(68),a=n(50);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(25),i=n(21).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(92),i=n(25),c=n(21),l=n(50);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),d={},s=0;u.length>s;)(n=r(o,t=u[s++]))!==undefined&&l(d,t,n);return d}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(1)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(1),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(21).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(21).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(1),r=n(6),a=n(51).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(1),r=n(6),a=n(51).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(1)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(24),a=n(292);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(1),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(1),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(1),l=n(38),u=n(5),d=n(35),s=n(145),p=n(24),m=n(66),f=n(44),h=n(54),C=n(6),b=n(31),g=n(55),N=n(32),v=n(90),V=n(68),y=n(75),_=n(46),k=n(106).set,x=n(147),L=n(148),B=n(296),w=n(149),S=n(297),I=n(34),T=n(61),A=n(12),P=n(96),E=A("species"),R="Promise",M=I.get,O=I.set,F=I.getterFor(R),D=s,j=u.TypeError,z=u.document,G=u.process,H=d("fetch"),U=w.f,K=U,W="process"==N(G),Y=!!(z&&z.createEvent&&u.dispatchEvent),q=0,$=T(R,(function(){if(!(v(D)!==String(D))){if(66===P)return!0;if(!W&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(P>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[E]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;x((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,d=o[i++],s=a?d.ok:d.fail,p=d.resolve,m=d.reject,f=d.domain;try{s?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===s?c=r:(f&&f.enter(),c=s(r),f&&(f.exit(),u=!0)),c===d.promise?m(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,m):p(c)):m(r)}catch(h){f&&!u&&f.exit(),m(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;Y?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&B("Unhandled promise rejection",n)},ee=function(e,t){k.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){W?G.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=W||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){k.call(u,(function(){W?G.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?x((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){g(this,D,R),b(e),o.call(this);var t=M(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){O(this,{type:R,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:q,value:undefined})}).prototype=m(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=W?G.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=q&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=M(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},w.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof s||(i=s.prototype.then,p(s.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof H&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return L(D,H.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),f(D,R,!1,!0),h(R),a=d(R),c({target:R,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:R,stat:!0,forced:l||$},{resolve:function(e){return L(l&&this===a?D:this,e)}}),c({target:R,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=b(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=b(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(1),r=n(38),a=n(145),i=n(4),c=n(35),l=n(46),u=n(148),d=n(24);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||d(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(1),r=n(35),a=n(31),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(1),r=n(35),a=n(31),i=n(8),c=n(6),l=n(43),u=n(138),d=n(4),s=r("Reflect","construct"),p=d((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),m=!d((function(){s((function(){}))})),f=p||m;o({target:"Reflect",stat:!0,forced:f,sham:f},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(m&&!p)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,d=l(c(r)?r:Object.prototype),f=Function.apply.call(e,d,t);return c(f)?f:d}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=n(21).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(1),r=n(6),a=n(8),i=n(16),c=n(21),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,d=arguments.length<3?e:arguments[2];return a(e)===d?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(d):r(o=l(e))?u(o,t,d):void 0}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(8),i=n(21);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(1)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(1)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(1),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=n(6),i=n(16),c=n(4),l=n(13),u=n(21),d=n(36),s=n(47);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(d(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,m=arguments.length<4?e:arguments[3],f=u.f(r(e),t);if(!f){if(a(c=d(e)))return p(c,t,n,m);f=s(0)}if(i(f,"value")){if(!1===f.writable||!a(m))return!1;if(o=u.f(m,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(m,t,o)}else l.f(m,t,s(0,n));return!0}return f.set!==undefined&&(f.set.call(m,n),!0)}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(48).f,u=n(107),d=n(83),s=n(24),p=n(4),m=n(54),f=n(12)("match"),h=r.RegExp,C=h.prototype,b=/a/g,g=/a/g,N=new h(b)!==b;if(o&&a("RegExp",!N||p((function(){return g[f]=!1,h(b)!=b||h(g)==g||"/a/i"!=h(b,"i")})))){for(var v=function(e,t){var n=this instanceof v,o=u(e),r=t===undefined;return!n&&o&&e.constructor===v&&r?e:i(N?new h(o&&!r?e.source:e,t):h((o=e instanceof v)?e.source:e,o&&r?d.call(e):t),n?this:C,v)},V=function(e){e in v||c(v,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=v,v.prototype=C,s(r,"RegExp",v)}m("RegExp")},function(e,t,n){"use strict";var o=n(1),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(24),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d="toString"!=l.name;(u||d)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(1),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(1),a=n(21).f,i=n(11),c=n(109),l=n(23),u=n(110),d=n(38),s="".endsWith,p=Math.min,m=u("endsWith");r({target:"String",proto:!0,forced:!!(d||m||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!m},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return s?s.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(1),r=n(42),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(1),r=n(109),a=n(23);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(11),i=n(23),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var d=i.unicode;i.lastIndex=0;for(var s,p=[],m=0;null!==(s=l(i,u));){var f=String(s[0]);p[m]=f,""===f&&(i.lastIndex=c(u,a(i.lastIndex),d)),m++}return 0===m?null:p}]}))},function(e,t,n){"use strict";var o=n(1),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(25),a=n(11);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var m=r(e),f=String(this),h="function"==typeof a;h||(a=String(a));var C=m.global;if(C){var b=m.unicode;m.lastIndex=0}for(var g=[];;){var N=d(m,f);if(null===N)break;if(g.push(N),!C)break;""===String(N[0])&&(m.lastIndex=u(f,i(m.lastIndex),b))}for(var v,V="",y=0,_=0;_=y&&(V+=f.slice(y,x)+I,y=x+k.length)}return V+f.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,d=h;return i!==undefined&&(i=a(i),d=f),t.call(c,d,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var d=+a;if(0===d)return t;if(d>u){var s=m(d/10);return 0===s?t:s<=u?r[s-1]===undefined?a.charAt(1):r[s-1]+a.charAt(1):t}c=r[d-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(23),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var d=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===d?-1:d.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(23),c=n(46),l=n(111),u=n(11),d=n(86),s=n(84),p=n(4),m=[].push,f=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,h=new RegExp(e.source,p+"g");(c=s.call(h,o))&&!((l=h.lastIndex)>f&&(d.push(o.slice(f,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return f===o.length?!u&&h.test("")||d.push(""):d.push(o.slice(f)),d.length>a?d.slice(0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var s=a(e),p=String(this),m=c(s,RegExp),C=s.unicode,b=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),g=new m(h?s:"^(?:"+s.source+")",b),N=r===undefined?4294967295:r>>>0;if(0===N)return[];if(0===p.length)return null===d(g,p)?[p]:[];for(var v=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return s?s.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(1),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(1),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(1),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(30);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(18).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(18).filter,a=n(46),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(18).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(18).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(18).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(12)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,d=a.entries,s=r.aTypedArray,p=r.exportTypedArrayMethod,m=c&&c.prototype[i],f=!!m&&("values"==m.name||m.name==undefined),h=function(){return l.call(s(this))};p("entries",(function(){return d.call(s(this))})),p("keys",(function(){return u.call(s(this))})),p("values",h,!f),p(i,h,!f)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(18).map,a=n(46),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)d[a]=n[a++];return d}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(18).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(11),a=n(42),i=n(46),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,d=[].slice,s=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(s?d.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(51),c=n(78),l=n(153),u=n(6),d=n(34).enforce,s=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,m=Object.isExtensible,f=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",f,l);if(s&&p){o=l.getConstructor(f,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,b=C["delete"],g=C.has,N=C.get,v=C.set;a(C,{"delete":function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen["delete"](e)}return b.call(this,e)},has:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen.has(e)}return g.call(this,e)},get:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)?N.call(this,e):t.frozen.get(e)}return N.call(this,e)},set:function(e,t){if(u(e)&&!m(e)){var n=d(this);n.frozen||(n.frozen=new o),g.call(this,e)?v.call(this,e,t):n.frozen.set(e,t)}else v.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Re,t._ME=Pe,t._MFCC=Me,t._MP=we,t._MR=ve,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return d(o,null);return w(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return w(n,o)}(e,t,r),t);x.createVNode&&x.createVNode(i);return i},t.createFragment=E,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),Ge(n,e,o,r)}},t.createTextVNode=P,t.createVNode=A,t.directClone=R,t.findDOMfromVNode=v,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case m:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=Ge,t.rerender=qe,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function s(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var m="$F";function f(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function b(e,t){e.removeChild(t)}function g(e){for(var t;(t=e.shift())!==undefined;)t()}function N(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function v(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=N(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void b(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,f=u(p),h=l(p)&&p[0]===I;m||f||h?(n=n||t.slice(0,d),(m||h)&&(s=R(s)),(f||h)&&(s.key=I+d),n.push(s)):n&&n.push(s),s.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=R(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?P(e,null):o(e)?E(e,0,null):16384&e.flags?R(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",G={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function H(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=H(0),K=H(null),W=H(!0);function Y(e,t){var n=t.$EV;return n||(n=t.$EV=H(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(f(e),t),t}(e)),n}function q(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(f(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var se,pe,me=te("onInput",he),fe=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?de(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function be(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",me),t.onChange&&ne(e,"change",fe)}(t,n)}function ge(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function Ne(e){e&&!S(e,null)&&e.current&&(e.current=null)}function ve(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;Ne(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),d=0,s=l.length;d0;for(var c in i&&(a=ge(n))&&be(t,o,n),n)Be(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=d(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var d=i.$PS;if(!u(d)){var s=i.state;if(u(s))i.state=d;else for(var m in d)s[m]=d[m];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Pe(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Re(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Me(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=M());2===c?Te(i,n,r,o,r,a):Ee(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=M();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Pe(e,t,n,o,r,i){var c=e.flags,l=e.props,d=e.className,s=e.children,p=e.childFlags,m=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(d)||""===d||(o?m.setAttribute("class",d):m.className=d),16===p)L(m,s);else if(1!==p){var f=o&&"foreignObject"!==e.type;2===p?(16384&s.flags&&(e.children=s=R(s)),Te(s,m,n,f,null,i)):8!==p&&4!==p||Ee(s,m,n,f,null,i)}u(t)||C(t,m,r),u(l)||we(e,c,l,m,o),ve(e.ref,m,i)}function Ee(e,t,n,o,r,a){for(var i=0;i0,u!==d){var f=u||p;if((c=d||p)!==p)for(var h in(s=(448&r)>0)&&(m=ge(c)),c){var C=f[h],b=c[h];C!==b&&Be(h,C,b,l,o,m,e)}if(f!==p)for(var g in f)a(c[g])&&!a(f[g])&&Be(g,f[g],null,l,o,m,e)}var N=t.children,v=t.className;e.className!==v&&(a(v)?l.removeAttribute("class"):o?l.setAttribute("class",v):l.className=v);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,N):Fe(e.childFlags,t.childFlags,e.children,N,l,n,o&&"foreignObject"!==t.type,null,e,i);s&&Ce(r,t,l,c,!1,m);var V=t.ref,y=e.ref;y!==V&&(Ne(y),ve(V,l,i))}(e,t,o,r,m,s):4&m?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var s=t.props||p,m=t.ref,f=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(s,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=d(h,l.$PS),l.$PS=null)}De(l,h,s,n,o,r,!1,a,i),f!==m&&(Ne(f),ve(m,l,i))}(e,t,n,o,r,l,s):8&m?function(e,t,n,o,r,i,l){var u=!0,d=t.props||p,s=t.ref,m=e.props,f=!a(s),h=e.children;f&&c(s.onComponentShouldUpdate)&&(u=s.onComponentShouldUpdate(m,d));if(!1!==u){f&&c(s.onComponentWillUpdate)&&s.onComponentWillUpdate(m,d);var C=t.type,b=D(32768&t.flags?C.render(d,s,o):C(d,o));Oe(h,b,n,o,r,i,l),t.children=b,f&&c(s.onComponentDidUpdate)&&s.onComponentDidUpdate(m,d)}else t.children=h}(e,t,n,o,r,l,s):16&m?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&m?t.dom=e.dom:8192&m?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=M());var s=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||s||!s&&c.length>p)&&(d=v(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,d,e,a)}(e,t,n,o,r,s):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;b(r,l),h(a,l)}}(e,t,o,s)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Oe(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),L(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Ee(t,n,o,r,v(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:L(r,o);break;default:Ee(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:L(n,t))}(n,o,r);break;case 2:ke(r),Te(o,r,a,i,c,u);break;case 1:ke(r);break;default:ke(r),Ee(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),L(r,o);break;case 2:xe(r,l,n),Te(o,r,a,i,c,u);break;case 1:xe(r,l,n);break;default:var d=0|n.length,s=0|o.length;0===d?s>0&&Ee(o,r,a,i,c,u):0===s?xe(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var d,s,p=a-1,m=i-1,f=0,h=e[f],C=t[f];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[f]=C=R(C)),Oe(h,C,n,o,r,c,u),e[f]=C,++f>p||f>m)break e;h=e[f],C=t[f]}for(h=e[p],C=t[m];h.key===C.key;){if(16384&C.flags&&(t[m]=C=R(C)),Oe(h,C,n,o,r,c,u),e[p]=C,p--,m--,f>p||f>m)break e;h=e[p],C=t[m]}}if(f>p){if(f<=m)for(s=(d=m+1)m)for(;f<=p;)Ve(e[f++],n);else!function(e,t,n,o,r,a,i,c,l,u,d,s,p){var m,f,h,C=0,b=c,g=c,N=a-c+1,V=i-c+1,_=new Int32Array(V+1),k=N===o,x=!1,L=0,B=0;if(r<4||(N|V)<32)for(C=b;C<=a;++C)if(m=e[C],Bc?x=!0:L=c,16384&f.flags&&(t[c]=f=R(f)),Oe(m,f,l,n,u,d,p),++B;break}!k&&c>i&&Ve(m,l)}else k||Ve(m,l);else{var w={};for(C=g;C<=i;++C)w[t[C].key]=C;for(C=b;C<=a;++C)if(m=e[C],Bb;)Ve(e[b++],l);_[c-g]=C+1,L>c?x=!0:L=c,16384&(f=t[c]).flags&&(t[c]=f=R(f)),Oe(m,f,l,n,u,d,p),++B}else k||Ve(m,l);else k||Ve(m,l)}if(k)xe(l,s,e),Ee(t,l,n,u,d,p);else if(x){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,se=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=se[a-1]),se[a]=n)}a=r+1;var u=new Int32Array(a);i=se[a-1];for(;a-- >0;)u[a]=i,i=pe[i],se[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(f=t[L=C+g]).flags&&(t[L]=f=R(f)),Te(f,l,n,u,(h=L+1)=0;C--)0===_[C]&&(16384&(f=t[L=C+g]).flags&&(t[L]=f=R(f)),Te(f,l,n,u,(h=L+1)i?i:a,p=0;pi)for(p=s;p0&&g(r),k.v=!1,c(n)&&n(),c(x.renderComplete)&&x.renderComplete(i,t)}function Ge(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var He=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function We(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?d(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!k.v&&0===He.length)return void $e(e,o,n);if(-1===He.indexOf(e)&&He.push(e),Ke||(Ke=!0,Ue(qe)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function Ye(e){for(var t=e.$QU,n=0,o=t.length;n0&&g(r),k.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||We(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||We(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new B(o||[]);return a._invoke=function(e,t,n){var o=d;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=k(i,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?m:s,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var d="suspendedStart",s="suspendedYield",p="executing",m="completed",f={};function h(){}function C(){}function b(){}var g={};g[a]=function(){return this};var N=Object.getPrototypeOf,v=N&&N(N(w([])));v&&v!==n&&o.call(v,a)&&(g=v);var V=b.prototype=h.prototype=Object.create(g);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&o.call(d,"__await")?Promise.resolve(d.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(d).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function k(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,k(e,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function B(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function w(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),f}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:w(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ +!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=165)}([function(e,t,n){"use strict";t.__esModule=!0;var o=n(388);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";var o=n(5),r=n(21).f,a=n(26),i=n(24),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,d,s,p,m,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(d in t){if(p=t[d],s=e.noTargetGet?(m=r(n,d))&&m.value:n[d],!u(h?d:f+(C?".":"#")+d,e.forced)&&s!==undefined){if(typeof p==typeof s)continue;l(p,s)}(e.sham||s&&s.sham)&&a(p,"sham",!0),i(n,d,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(157);t.AnimatedNumber=o.AnimatedNumber;var r=n(395);t.BlockQuote=r.BlockQuote;var a=n(20);t.Box=a.Box;var i=n(116);t.Button=i.Button;var c=n(397);t.ColorBox=c.ColorBox;var l=n(398);t.Collapsible=l.Collapsible;var u=n(399);t.Dimmer=u.Dimmer;var d=n(400);t.Dropdown=d.Dropdown;var s=n(401);t.Flex=s.Flex;var p=n(160);t.Grid=p.Grid;var m=n(87);t.Icon=m.Icon;var f=n(159);t.Input=f.Input;var h=n(162);t.LabeledList=h.LabeledList;var C=n(402);t.NoticeBox=C.NoticeBox;var b=n(403);t.NumberInput=b.NumberInput;var g=n(404);t.ProgressBar=g.ProgressBar;var N=n(405);t.Section=N.Section;var v=n(161);t.Table=v.Table;var V=n(406);t.Tabs=V.Tabs;var y=n(407);t.TitleBar=y.TitleBar;var _=n(114);t.Toast=_.Toast;var k=n(158);t.Tooltip=k.Tooltip;var x=n(408);t.Chart=x.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(15);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(16),l=n(74),u=n(26),d=n(24),s=n(13).f,p=n(36),m=n(53),f=n(12),h=n(58),C=a.DataView,b=C&&C.prototype,g=a.Int8Array,N=g&&g.prototype,v=a.Uint8ClampedArray,V=v&&v.prototype,y=g&&p(g),_=N&&p(N),k=Object.prototype,x=k.isPrototypeOf,L=f("toStringTag"),B=h("TYPED_ARRAY_TAG"),w=!(!a.ArrayBuffer||!C),S=w&&!!m&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},P=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&m(a[o],y);if((!S||!_||_===k)&&(_=y.prototype,S))for(o in T)a[o]&&m(a[o].prototype,_);if(S&&p(V)!==_&&m(V,_),r&&!c(_,L))for(o in I=!0,s(_,L,{get:function(){return i(this)?this[B]:undefined}}),T)a[o]&&u(a[o],B,o);w&&m&&p(b)!==k&&m(b,k),e.exports={NATIVE_ARRAY_BUFFER:w,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&B,aTypedArray:function(e){if(P(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(x.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||x.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||d(_,e,n?t:S&&N[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(m){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return d(y,e,n?t:S&&g[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||d(i,e,t)}},isView:A,isTypedArray:P,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";var o=n(5),r=n(91),a=n(16),i=n(58),c=n(95),l=n(125),u=r("wks"),d=o.Symbol,s=l?d:i;e.exports=function(e){return a(u,e)||(c&&a(d,e)?u[e]=d[e]:u[e]=s("Symbol."+e)),u[e]}},function(e,t,n){"use strict";var o=n(9),r=n(119),a=n(8),i=n(33),c=Object.defineProperty;t.f=o?c:function(e,t,n){if(a(e),t=i(t,!0),a(n),r)try{return c(e,t,n)}catch(o){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";var o=n(23);e.exports=function(e){return Object(o(e))}},function(e,t,n){"use strict";t.__esModule=!0,t.winset=t.winget=t.act=t.runCommand=t.callByondAsync=t.callByond=t.tridentVersion=void 0;var o,r=n(22),a=(o=navigator.userAgent.match(/Trident\/(\d+).+?;/i)[1])?parseInt(o,10):null;t.tridentVersion=a;var i=function(e,t){return void 0===t&&(t={}),"byond://"+e+"?"+(0,r.buildQueryString)(t)},c=function(e,t){void 0===t&&(t={}),window.location.href=i(e,t)};t.callByond=c;var l=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,o=new Promise((function(e){window.__callbacks__.push(e)}));return window.location.href=i(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),o};t.callByondAsync=l;t.runCommand=function(e){return c("winset",{command:e})};t.act=function(e,t,n){return void 0===n&&(n={}),c("",Object.assign({src:e,action:t},n))};var u=function(e,t){var n;return regeneratorRuntime.async((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,regeneratorRuntime.awrap(l("winget",{id:e,property:t}));case 2:return n=o.sent,o.abrupt("return",n[t]);case 4:case"end":return o.stop()}}))};t.winget=u;t.winset=function(e,t,n){var o;return c("winset",((o={})[e+"."+t]=n,o))}},function(e,t,n){"use strict";var o={}.hasOwnProperty;e.exports=function(e,t){return o.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n_;_++)if((p||_ in v)&&(g=V(b=v[_],_,N),e))if(t)x[_]=g;else if(g)switch(e){case 3:return!0;case 5:return b;case 6:return _;case 2:l.call(x,b)}else if(d)return!1;return s?-1:u||d?d:x}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(0),r=n(10),a=n(396),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},m=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var b=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,d=e.children,s=c(e,["as","className","content","children"]),p=e.textColor||e.color,m=e.backgroundColor;if("function"==typeof d)return d(C(e));var f=C(s);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(m)&&"color-bg-"+m]),l||d,a.ChildFlags.UnknownChildren,f)};t.Box=b,b.defaultHooks=r.pureComponentHooks;var g=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,b,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,b,{fillPositionedParent:!0,children:t})})))};g.defaultHooks=r.pureComponentHooks,b.Forced=g},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(47),i=n(25),c=n(33),l=n(16),u=n(119),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=i(e),t=c(t,!0),u)try{return d(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
    /gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(5),r=n(26),a=n(16),i=n(89),c=n(90),l=n(34),u=l.get,d=l.enforce,s=String(String).split("String");(e.exports=function(e,t,n,c){var l=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||r(n,"name",t),d(n).source=s.join("string"==typeof t?t:"")),e!==o?(l?!p&&e[t]&&(u=!0):delete e[t],u?e[t]=n:r(e,t,n)):u?e[t]=n:i(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},function(e,t,n){"use strict";var o=n(57),r=n(23);e.exports=function(e){return o(r(e))}},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(47);e.exports=o?function(e,t,n){return r.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var o=n(123),r=n(16),a=n(129),i=n(13).f;e.exports=function(e){var t=o.Symbol||(o.Symbol={});r(t,e)||i(t,e,{value:a.f(e)})}},function(e,t,n){"use strict";var o=n(23),r=/"/g;e.exports=function(e,t,n,a){var i=String(o(e)),c="<"+t;return""!==n&&(c+=" "+n+'="'+String(a).replace(r,""")+'"'),c+">"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(26),d=n(16),s=n(72),p=n(59),m=c.WeakMap;if(i){var f=new m,h=f.get,C=f.has,b=f.set;o=function(e,t){return b.call(f,e,t),t},r=function(e){return h.call(f,e)||{}},a=function(e){return C.call(f,e)}}else{var g=s("state");p[g]=!0,o=function(e,t){return u(e,g,t),t},r=function(e){return d(e,g)?e[g]:{}},a=function(e){return d(e,g)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(16),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),d=n(47),s=n(26),p=n(11),m=n(137),f=n(151),h=n(33),C=n(16),b=n(74),g=n(6),N=n(43),v=n(53),V=n(48).f,y=n(152),_=n(19).forEach,k=n(54),x=n(13),L=n(21),B=n(34),w=n(79),S=B.get,I=B.set,T=x.f,A=L.f,P=Math.round,E=r.RangeError,R=l.ArrayBuffer,M=l.DataView,O=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,G=c.isTypedArray,H=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof R||"ArrayBuffer"==(t=b(e))||"SharedArrayBuffer"==t},W=function(e,t){return G(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},Y=function(e,t){return W(e,t=h(t,!0))?d(2,e[t]):A(e,t)},q=function(e,t,n){return!(W(e,t=h(t,!0))&&g(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(O||(L.f=Y,x.f=q,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!O},{getOwnPropertyDescriptor:Y,defineProperty:q}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,d="set"+e,h=r[c],C=h,b=C&&C.prototype,x={},L=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},B=function(e,t,o){var r=S(e);n&&(o=(o=P(o))<0?0:o>255?255:255&o),r.view[d](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return L(this,t)},set:function(e){return B(this,t,e)},enumerable:!0})};O?i&&(C=t((function(e,t,n,o){return u(e,C,c),w(g(t)?K(t)?o!==undefined?new h(t,f(n,a),o):n!==undefined?new h(t,f(n,a)):new h(t):G(t)?H(C,t):y.call(C,t):new h(m(t)),e,C)})),v&&v(C,D),_(V(h),(function(e){e in C||s(C,e,h[e])})),C.prototype=b):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,d=0,s=0;if(g(t)){if(!K(t))return G(t)?H(C,t):y.call(C,t);r=t,s=f(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw E("Wrong length");if((i=h-s)<0)throw E("Wrong length")}else if((i=p(o)*a)+s>h)throw E("Wrong length");l=i/a}else l=m(t),r=new R(i=l*a);for(I(e,{buffer:r,byteOffset:s,byteLength:i,length:l,view:new M(r)});d2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;odocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[d][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[d]=o(e),n=new s,s[d]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(16),a=n(12)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(12),r=n(43),a=n(26),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(31),a=n(12)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(124),r=n(93).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(31);e.exports=function(e,t,n){if(o(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,o){return e.call(t,n,o)};case 3:return function(n,o,r){return e.call(t,n,o,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var o=n(33),r=n(13),a=n(47);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},function(e,t,n){"use strict";var o=n(59),r=n(6),a=n(16),i=n(13).f,c=n(58),l=n(67),u=c("meta"),d=0,s=Object.isExtensible||function(){return!0},p=function(e){i(e,u,{value:{objectID:"O"+ ++d,weakData:{}}})},m=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!s(e))return"F";if(!t)return"E";p(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!s(e))return!0;if(!t)return!1;p(e)}return e[u].weakData},onFreeze:function(e){return l&&m.REQUIRED&&s(e)&&!a(e,u)&&p(e),e}};o[u]=!0},function(e,t,n){"use strict";var o=n(32);e.exports=Array.isArray||function(e){return"Array"==o(e)}},function(e,t,n){"use strict";var o=n(8),r=n(135);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(a){}return function(n,a){return o(n),r(a),t?e.call(n,a):n.__proto__=a,n}}():undefined)},function(e,t,n){"use strict";var o=n(35),r=n(13),a=n(12),i=n(9),c=a("species");e.exports=function(e){var t=o(e),n=r.f;i&&t&&!t[c]&&n(t,c,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},function(e,t,n){"use strict";var o=n(23),r="["+n(81)+"]",a=RegExp("^"+r+r+"*"),i=RegExp(r+r+"*$"),c=function(e){return function(t){var n=String(o(t));return 1&e&&(n=n.replace(a,"")),2&e&&(n=n.replace(i,"")),n}};e.exports={start:c(1),end:c(2),trim:c(3)}},function(e,t,n){"use strict";var o=n(4),r=n(32),a="".split;e.exports=o((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==r(e)?a.call(e,""):Object(e)}:Object},function(e,t,n){"use strict";var o=0,r=Math.random();e.exports=function(e){return"Symbol("+String(e===undefined?"":e)+")_"+(++o+r).toString(36)}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(25),r=n(11),a=n(42),i=function(e){return function(t,n,i){var c,l=o(t),u=r(l.length),d=a(i,u);if(e&&n!=n){for(;u>d;)if((c=l[d++])!=c)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(12)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(12),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(24);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(11),i=n(49),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,d,s){var p,m,f,h,C,b,g,N=i(t,n,d?2:1);if(s)p=e;else{if("function"!=typeof(m=c(e)))throw TypeError("Target is not iterable");if(r(m)){for(f=0,h=a(e.length);h>f;f++)if((C=d?N(o(g=e[f])[0],g[1]):N(e[f]))&&C instanceof u)return C;return new u(!1)}p=m.call(e)}for(b=p.next;!(g=b.call(p)).done;)if("object"==typeof(C=l(p,N,g.value,d))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;d=c[u++]}else{if((u=c.next()).done)break;d=u.value}var s=d;Array.isArray(s)?n=o.apply(void 0,s).apply(void 0,[n].concat(a)):s&&(n=s.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:s>p;p+=m)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(26),c=n(66),l=n(4),u=n(55),d=n(30),s=n(11),p=n(137),m=n(219),f=n(48).f,h=n(13).f,C=n(97),b=n(44),g=n(34),N=g.get,v=g.set,V="ArrayBuffer",y="DataView",_="Wrong length",k=o[V],x=k,L=o[y],B=o.RangeError,w=m.pack,S=m.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},P=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},E=function(e){return w(e,23,4)},R=function(e){return w(e,52,8)},M=function(e,t){h(e.prototype,t,{get:function(){return N(this)[t]}})},O=function(e,t,n,o){var r=p(n),a=N(e);if(r+t>a.byteLength)throw B("Wrong index");var i=N(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=N(e);if(i+t>c.byteLength)throw B("Wrong index");for(var l=N(c.buffer).bytes,u=i+c.byteOffset,d=o(+r),s=0;sG;)(D=z[G++])in x||i(x,D,k[D]);j.constructor=x}var H=new L(new x(2)),U=L.prototype.setInt8;H.setInt8(0,2147483648),H.setInt8(1,2147483649),!H.getInt8(0)&&H.getInt8(1)||c(L.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else x=function(e){u(this,x,V);var t=p(e);v(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},L=function(e,t,n){u(this,L,y),u(e,x,y);var o=N(e).byteLength,a=d(t);if(a<0||a>o)throw B("Wrong offset");if(a+(n=n===undefined?o-a:s(n))>o)throw B(_);v(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(M(x,"byteLength"),M(L,"buffer"),M(L,"byteLength"),M(L,"byteOffset")),c(L.prototype,{getInt8:function(e){return O(this,1,e)[0]<<24>>24},getUint8:function(e){return O(this,1,e)[0]},getInt16:function(e){var t=O(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=O(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return P(O(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return P(O(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(O(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(O(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,E,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,R,t,arguments.length>2?arguments[2]:undefined)}});b(x,V),b(L,y),e.exports={ArrayBuffer:x,DataView:L}},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(61),i=n(24),c=n(51),l=n(68),u=n(55),d=n(6),s=n(4),p=n(75),m=n(44),f=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),b=h?"set":"add",g=r[e],N=g&&g.prototype,v=g,V={},y=function(e){var t=N[e];i(N,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!d(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof g||!(C||N.forEach&&!s((function(){(new g).entries().next()})))))v=n.getConstructor(t,e,h,b),c.REQUIRED=!0;else if(a(e,!0)){var _=new v,k=_[b](C?{}:-0,1)!=_,x=s((function(){_.has(1)})),L=p((function(e){new g(e)})),B=!C&&s((function(){for(var e=new g,t=5;t--;)e[b](t,t);return!e.has(-0)}));L||((v=t((function(t,n){u(t,v,e);var o=f(new g,t,v);return n!=undefined&&l(n,o[b],o,h),o}))).prototype=N,N.constructor=v),(x||B)&&(y("delete"),y("has"),h&&y("get")),(B||k)&&y(b),C&&N.clear&&delete N.clear}return V[e]=v,o({global:!0,forced:v!=g},V),m(v,e),C||n.setStrong(v,e,h),v}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),d=/()??/.exec("")[1]!==undefined;(u||d)&&(l=function(e){var t,n,o,r,l=this;return d&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),d&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),d=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,s){var p=i(e),m=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),f=m&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!m||!f||"replace"===e&&!u||"split"===e&&!d){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?m&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),b=C[0],g=C[1];r(String.prototype,e,b),r(RegExp.prototype,p,2==t?function(e,t){return g.call(e,this,t)}:function(e){return g.call(e,this)}),s&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(0),r=n(10),a=n(20);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,d=void 0===u?{}:u,s=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(d["font-size"]=100*n+"%"),"number"==typeof s&&(d.transform="rotate("+s+"deg)");var m=i.test(t),f=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,m?"far":"fas","fa-"+f,c&&"fa-spin"]),style:d},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(26);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(48),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(42),a=n(11);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(12),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(12)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(12)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(1),r=n(204),a=n(36),i=n(53),c=n(44),l=n(26),u=n(24),d=n(12),s=n(38),p=n(65),m=n(134),f=m.IteratorPrototype,h=m.BUGGY_SAFARI_ITERATORS,C=d("iterator"),b=function(){return this};e.exports=function(e,t,n,d,m,g,N){r(n,t,d);var v,V,y,_=function(e){if(e===m&&w)return w;if(!h&&e in L)return L[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},k=t+" Iterator",x=!1,L=e.prototype,B=L[C]||L["@@iterator"]||m&&L[m],w=!h&&B||_(m),S="Array"==t&&L.entries||B;if(S&&(v=a(S.call(new e)),f!==Object.prototype&&v.next&&(s||a(v)===f||(i?i(v,f):"function"!=typeof v[C]&&l(v,C,b)),c(v,k,!0,!0),s&&(p[k]=b))),"values"==m&&B&&"values"!==B.name&&(x=!0,w=function(){return B.call(this)}),s&&!N||L[C]===w||l(L,C,w),p[t]=w,m)if(V={values:_("values"),keys:g?w:_("keys"),entries:_("entries")},N)for(y in V)!h&&!x&&y in L||u(L,y,V[y]);else o({target:t,proto:!0,forced:h||x},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(11),r=n(104),a=n(23),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,d=String(a(t)),s=d.length,p=c===undefined?" ":String(c),m=o(n);return m<=s||""==p?d:(l=m-s,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?d+u:u+d)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(30),r=n(23);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(49),d=n(127),s=n(88),p=n(146),m=i.location,f=i.setImmediate,h=i.clearImmediate,C=i.process,b=i.MessageChannel,g=i.Dispatch,N=0,v={},V=function(e){if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},k=function(e){i.postMessage(e+"",m.protocol+"//"+m.host)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++N]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(N),N},h=function(e){delete v[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:g&&g.now?o=function(e){g.now(y(e))}:b&&!p?(a=(r=new b).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(k)?o="onreadystatechange"in s("script")?function(e){d.appendChild(s("script")).onreadystatechange=function(){d.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=k,i.addEventListener("message",_,!1))),e.exports={set:f,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(12)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(30),r=n(23),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(12)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(0),a=n(10),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(41),r=n(15),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},d=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},s=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=d(e),i=o.keyCode,u=o.ctrlKey,s=o.shiftKey;u||s||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=d(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,s=o.keyString;u&&!i.includes(l)&&(a.log(s),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){s()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(0),r=n(10),a=n(15),i=n(115),c=n(41),l=n(117),u=n(20),d=n(87),s=n(158);n(159),n(160);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var f=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,b=e.tooltip,g=e.tooltipPosition,N=e.ellipsis,v=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,k=e.onclick,x=e.onClick,L=m(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),B=!(!v&&!_);return k&&f.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",B&&"Button--hasContent",N&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&x&&x(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&x&&x(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},L,{children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:V,spin:y}),v,_,b&&(0,o.createComponentVNode)(2,s.Tooltip,{content:b,position:g})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=m(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var b=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmContent,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.confirmIcon,l=t.icon,u=t.color,d=t.content,s=t.onClick,p=m(t,["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:d,icon:this.state.clickedOnce?c:l,color:this.state.clickedOnce?i:u,onClick:function(){return e.state.clickedOnce?s():e.setClickedOnce(!0)}},p)))},t}(o.Component);t.ButtonConfirm=b,h.Confirm=b;var g=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.icon,l=t.iconRotation,p=t.iconSpin,f=t.tooltip,h=t.tooltipPosition,C=t.color,b=void 0===C?"default":C,g=(t.placeholder,t.maxLength,m(t,["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+b])},g,{onClick:function(){return e.setInInput(!0)},children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:l,spin:p}),(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef),f&&(0,o.createComponentVNode)(2,s.Tooltip,{content:f,position:h})]})))},t}(o.Component);t.ButtonInput=g,h.Input=g},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(15);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(16),r=n(92),a=n(21),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(25),r=n(48).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(12);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(42),a=n(11),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:undefined,s=i((d===undefined?c:r(d,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(11),a=n(49);e.exports=function i(e,t,n,c,l,u,d,s){for(var p,m=l,f=0,h=!!d&&a(d,s,3);f0&&o(p))m=i(e,t,p,r(p.length),m,u-1)-1;else{if(m>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[m]=p}m++}f++}return m}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(25),r=n(45),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(26),l=n(16),u=n(12),d=n(38),s=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),d||l(o,s)||c(o,s,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(25),r=n(30),a=n(11),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf");e.exports=u||d?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(30),r=n(11);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(31),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!b(this,e)}}),a(d.prototype,n?{get:function(e){var t=b(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),s&&o(d.prototype,"size",{get:function(){return m(this).size}}),d},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(25),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,d=0,s=[];u>d;)n=l[d++],o&&!i.call(c,n)||s.push(e?[n,c[n]]:c[n]);return s}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,d,s=n(5),p=n(21).f,m=n(32),f=n(106).set,h=n(146),C=s.MutationObserver||s.WebKitMutationObserver,b=s.process,g=s.Promise,N="process"==m(b),v=p(s,"queueMicrotask"),V=v&&v.value;V||(o=function(){var e,t;for(N&&(e=b.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},N?i=function(){b.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):g&&g.resolve?(u=g.resolve(undefined),d=u.then,i=function(){d.call(u,o)}):i=function(){f.call(s,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(31),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(349);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(11),a=n(99),i=n(98),c=n(49),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,d,s,p,m=o(e),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined,b=a(m);if(b!=undefined&&!i(b))for(p=(s=b.call(m)).next,m=[];!(d=p.call(s)).done;)m.push(d.value);for(C&&f>2&&(h=c(h,arguments[2],2)),n=r(m.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(m[t],t):m[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(51).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(19),d=n(16),s=n(34),p=s.set,m=s.getterFor,f=u.find,h=u.findIndex,C=0,b=function(e){return e.frozen||(e.frozen=new g)},g=function(){this.entries=[]},N=function(e,t){return f(e.entries,(function(e){return e[0]===t}))};g.prototype={get:function(e){var t=N(this,e);if(t)return t[1]},has:function(e){return!!N(this,e)},set:function(e,t){var n=N(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var s=e((function(e,o){c(e,s,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),f=m(t),h=function(e,t,n){var o=f(e),i=r(a(t),!0);return!0===i?b(o).set(t,n):i[o.id]=n,e};return o(s.prototype,{"delete":function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?b(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?b(t).has(e):n&&d(n,t.id)}}),o(s.prototype,n?{get:function(e){var t=f(this);if(i(e)){var n=r(e);return!0===n?b(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),s}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(15),d=(0,n(41).createLogger)("drag"),s=!1,p=!1,m=[0,0],f=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return d.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(f(o));case 4:t=i.sent,m=[t[0]-window.screenLeft,t[1]-window.screenTop],n=b(t),r=n[0],a=n[1],r&&h(o,a),d.debug("current state",{ref:o,screenOffset:m});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var b=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){d.log("drag start"),s=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",N),document.addEventListener("mouseup",g),N(e)};var g=function y(e){d.log("drag end"),N(e),document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",y),s=!1},N=function(e){s&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],m,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],d.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",v),V(n)}};var v=function _(e){d.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(17);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(0),r=n(10),a=n(20);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,d=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},d,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(0),r=n(161),a=n(10);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(0),r=n(10),a=n(20);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(0),r=n(10),a=n(20),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,d=e.content,s=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[d,s]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){"use strict";t.__esModule=!0,t.AccessList=void 0;var o=n(0),r=n(2),a=n(17);t.AccessList=function(e){var t=e.accesses,n=void 0===t?[]:t,i=e.selectedList,c=void 0===i?[]:i,l=e.accessMod,u=e.grantAll,d=e.denyAll,s=e.grantDep,p=e.denyDep,m={0:{icon:"times-circle",color:"bad"},1:{icon:"stop-circle",color:null},2:{icon:"check-circle",color:"good"}},f=function(e){var t=!1,n=!1;return e.forEach((function(e){c.includes(e.ref)?t=!0:n=!0})),!t&&n?0:t&&n?1:2};return(0,o.createComponentVNode)(2,r.Section,{title:"Access",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:"check-double",content:"Grant All",color:"good",onClick:function(){return u()}}),(0,o.createComponentVNode)(2,r.Button,{icon:"undo",content:"Deny All",color:"bad",onClick:function(){return d()}})],4),children:(0,o.createComponentVNode)(2,r.Tabs,{vertical:!0,altSelection:!0,children:n.map((function(e){var t=(0,a.sortBy)((function(e){return e.desc}))(e.accesses||[]),n=m[f(t)].icon,i=m[f(t)].color;return(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:e.name,color:i,icon:n,children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{mr:0,children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"check",content:"Grant Region",color:"good",onClick:function(){return s(e.regid)}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{ml:0,children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"times",content:"Deny Region",color:"bad",onClick:function(){return p(e.regid)}})})]}),t.map((function(e){return(0,o.createComponentVNode)(2,r.Button.Checkbox,{fluid:!0,content:e.desc,checked:c.includes(e.ref),onClick:function(){return l(e.ref)}},e.desc)}))]},e.name)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(0),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name]},e.name)}))]})}},function(e,t,n){n(166),n(167),n(168),n(169),n(170),n(171),n(172),e.exports=n(173)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(196),n(197),n(199),n(201),n(202),n(203),n(133),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(217),n(218),n(220),n(221),n(222),n(223),n(224),n(226),n(227),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(241),n(242),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(255),n(256),n(258),n(259),n(260),n(261),n(262),n(263),n(265),n(266),n(268),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(291),n(292),n(294),n(295),n(296),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(348),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385),n(386),n(387);var o=n(0);n(389),n(390);var r=n(391),a=(n(154),n(3)),i=n(15),c=n(155),l=n(41),u=n(392),d=(0,l.createLogger)(),s=(0,u.createStore)(),p=document.getElementById("react-root"),m=!0,f=function(){for(s.subscribe((function(){!function(){try{var e=s.getState();m&&(d.log("initial render",e),(0,c.setupDrag)(e));var t=n(394).Layout,r=(0,o.createComponentVNode)(2,t,{state:e,dispatch:s.dispatch});(0,o.render)(r,p)}catch(a){d.error("rendering error",a)}m&&(m=!1)}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){d.log(o),d.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);s.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",f):f()},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),d=n(4),s=n(16),p=n(52),m=n(6),f=n(8),h=n(14),C=n(25),b=n(33),g=n(47),N=n(43),v=n(62),V=n(48),y=n(128),_=n(94),k=n(21),x=n(13),L=n(71),B=n(26),w=n(24),S=n(91),I=n(72),T=n(59),A=n(58),P=n(12),E=n(129),R=n(27),M=n(44),O=n(34),F=n(19).forEach,D=I("hidden"),j=P("toPrimitive"),z=O.set,G=O.getterFor("Symbol"),H=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),W=k.f,Y=x.f,q=y.f,$=L.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&d((function(){return 7!=N(Y({},"a",{get:function(){return Y(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=W(H,t);o&&delete H[t],Y(e,t,n),o&&e!==H&&Y(H,t,o)}:Y,re=function(e,t){var n=Q[e]=N(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===H&&ie(X,t,n),f(e);var o=b(t,!0);return f(n),s(Q,o)?(n.enumerable?(s(e,D)&&e[D][o]&&(e[D][o]=!1),n=N(n,{enumerable:g(0,!1)})):(s(e,D)||Y(e,D,g(1,{})),e[D][o]=!0),oe(e,o,n)):Y(e,o,n)},ce=function(e,t){f(e);var n=C(t),o=v(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?N(e):ce(N(e),t)},ue=function(e){var t=b(e,!0),n=$.call(this,t);return!(this===H&&s(Q,t)&&!s(X,t))&&(!(n||!s(this,t)||!s(Q,t)||s(this,D)&&this[D][t])||n)},de=function(e,t){var n=C(e),o=b(t,!0);if(n!==H||!s(Q,o)||s(X,o)){var r=W(n,o);return!r||!s(Q,o)||s(n,D)&&n[D][o]||(r.enumerable=!0),r}},se=function(e){var t=q(C(e)),n=[];return F(t,(function(e){s(Q,e)||s(T,e)||n.push(e)})),n},pe=function(e){var t=e===H,n=q(t?X:C(e)),o=[];return F(n,(function(e){!s(Q,e)||t&&!s(H,e)||o.push(Q[e])})),o};(l||(w((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===H&&o.call(X,e),s(this,D)&&s(this[D],t)&&(this[D][t]=!1),oe(this,t,g(1,e))};return c&&ne&&oe(H,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return G(this).tag})),L.f=ue,x.f=ie,k.f=de,V.f=y.f=se,_.f=pe,c&&(Y(U.prototype,"description",{configurable:!0,get:function(){return G(this).description}}),i||w(H,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(E.f=function(e){return re(P(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(v(ee),(function(e){R(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(s(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(s(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:de}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:d((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||d((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(m(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||B(U.prototype,j,U.prototype.valueOf),M(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(5),i=n(16),c=n(6),l=n(13).f,u=n(122),d=a.Symbol;if(r&&"function"==typeof d&&(!("description"in d.prototype)||d().description!==undefined)){var s={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new d(e):e===undefined?d():d(e);return""===e&&(s[t]=!0),t};u(p,d);var m=p.prototype=d.prototype;m.constructor=p;var f=m.toString,h="Symbol(test)"==String(d("test")),C=/^Symbol\((.*)\)[^)]+$/;l(m,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(i(s,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(27)("asyncIterator")},function(e,t,n){"use strict";n(27)("hasInstance")},function(e,t,n){"use strict";n(27)("isConcatSpreadable")},function(e,t,n){"use strict";n(27)("iterator")},function(e,t,n){"use strict";n(27)("match")},function(e,t,n){"use strict";n(27)("replace")},function(e,t,n){"use strict";n(27)("search")},function(e,t,n){"use strict";n(27)("species")},function(e,t,n){"use strict";n(27)("split")},function(e,t,n){"use strict";n(27)("toPrimitive")},function(e,t,n){"use strict";n(27)("toStringTag")},function(e,t,n){"use strict";n(27)("unscopables")},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(52),i=n(6),c=n(14),l=n(11),u=n(50),d=n(63),s=n(64),p=n(12),m=n(96),f=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",b=m>=51||!r((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),g=s("concat"),N=function(e){if(!i(e))return!1;var t=e[f];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!b||!g},{concat:function(e){var t,n,o,r,a,i=c(this),s=d(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(s,p++,a)}return s.length=p,s}})},function(e,t,n){"use strict";var o=n(1),r=n(130),a=n(45);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(1),r=n(19).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(97),a=n(45);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(1),r=n(19).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(19).find,a=n(45),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(1),r=n(19).findIndex,a=n(45),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(1),r=n(131),a=n(14),i=n(11),c=n(30),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(1),r=n(131),a=n(14),i=n(11),c=n(31),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(1),r=n(198);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(19).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(1),r=n(200);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(49),r=n(14),a=n(132),i=n(98),c=n(11),l=n(50),u=n(99);e.exports=function(e){var t,n,d,s,p,m=r(e),f="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,b=C!==undefined,g=0,N=u(m);if(b&&(C=o(C,h>2?arguments[2]:undefined,2)),N==undefined||f==Array&&i(N))for(n=new f(t=c(m.length));t>g;g++)l(n,g,b?C(m[g],g):m[g]);else for(p=(s=N.call(m)).next,n=new f;!(d=p.call(s)).done;g++)l(n,g,b?a(s,C,[d.value,g],!0):d.value);return n.length=g,n}},function(e,t,n){"use strict";var o=n(1),r=n(60).includes,a=n(45);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(1),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(1)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(43),a=n(47),i=n(44),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(1),r=n(57),a=n(25),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(1),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(1),r=n(19).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(50);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(1),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(6),a=n(52),i=n(42),c=n(11),l=n(25),u=n(50),d=n(64),s=n(12)("species"),p=[].slice,m=Math.max;o({target:"Array",proto:!0,forced:!d("slice")},{slice:function(e,t){var n,o,d,f=l(this),h=c(f.length),C=i(e,h),b=i(t===undefined?h:t,h);if(a(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[s])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(f,C,b);for(o=new(n===undefined?Array:n)(m(b-C,0)),d=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(31),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,d=i((function(){l.sort(undefined)})),s=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:d||!s||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(1),r=n(42),a=n(30),i=n(11),c=n(14),l=n(63),u=n(50),d=n(64),s=Math.max,p=Math.min,m=9007199254740991,f="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d("splice")},{splice:function(e,t){var n,o,d,h,C,b,g=c(this),N=i(g.length),v=r(e,N),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=N-v):(n=V-2,o=p(s(a(t),0),N-v)),N+n-o>m)throw TypeError(f);for(d=l(g,o),h=0;hN-o+n;h--)delete g[h-1]}else if(n>o)for(h=N-o;h>v;h--)b=h+n-1,(C=h+o-1)in g?g[b]=g[C]:delete g[b];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,b=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=m):(l=a(i(e)/c),e*(d=r(2,-l))<1&&(l--,d*=2),(e+=l+f>=1?h/d:h*r(2,1-f))*d>=2&&(l++,d/=2),l+f>=m?(u=0,l=m):l+f>=1?(u=(e*d-1)*r(2,t),l+=f):(u=e*r(2,f-1)*r(2,t),l=0));t>=8;s[b++]=255&u,u/=256,t-=8);for(l=l<0;s[b++]=255&l,l/=256,p-=8);return s[--b]|=128*C,s},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,d=e[u--],s=127&d;for(d>>=7;l>0;s=256*s+e[u],u--,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===s)s=1-c;else{if(s===i)return n?NaN:d?-1/0:1/0;n+=r(2,t),s-=c}return(d?-1:1)*n*r(2,s-t)}}},function(e,t,n){"use strict";var o=n(1),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(77),i=n(8),c=n(42),l=n(11),u=n(46),d=a.ArrayBuffer,s=a.DataView,p=d.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new d(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,d))(l(r-o)),m=new s(this),f=new s(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(26),r=n(228),a=n(12)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(24),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(1)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(12)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(44)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(1),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(1),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(1),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(1),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(1),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(1),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(1),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(1)({target:"Math",stat:!0},{fround:n(243)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),d=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),s=o(e);return al||n!=n?s*Infinity:s*n}},function(e,t,n){"use strict";var o=n(1),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(1),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(1)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(1),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(1)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(1),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(44)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(1),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(24),c=n(16),l=n(32),u=n(79),d=n(33),s=n(4),p=n(43),m=n(48).f,f=n(21).f,h=n(13).f,C=n(56).trim,b="Number",g=r[b],N=g.prototype,v=l(p(N))==b,V=function(e){var t,n,o,r,a,i,c,l,u=d(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(b,!g(" 0o1")||!g("0b1")||g("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(v?s((function(){N.valueOf.call(n)})):l(n)!=b)?u(new g(V(t)),n,_):V(t)},k=o?m(g):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0;k.length>x;x++)c(g,y=k[x])&&!c(_,y)&&h(_,y,f(g,y));_.prototype=N,N.constructor=_,i(r,b,_)}},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{isFinite:n(257)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(1),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(1)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(1),r=n(264);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(1),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(1),r=n(30),a=n(267),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,d=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},s=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),m=[0,0,0,0,0,0],f="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*m[n],m[n]=o%1e7,o=u(o/1e7)},b=function(e){for(var t=6,n=0;--t>=0;)n+=m[t],m[t]=u(n/e),n=n%e*1e7},g=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==m[e]){var n=String(m[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(f="-",l=-l),l>1e-21)if(n=(t=s(l*d(2,69,1))-69)<0?l*d(2,-t,1):l/d(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(d(10,o,1),0),o=t-1;o>=23;)b(1<<23),o-=23;b(1<0?f+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):f+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(1),r=n(269);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),d=Object.assign,s=Object.defineProperty;e.exports=!d||r((function(){if(o&&1!==d({b:1},d(s({},"a",{enumerable:!0,get:function(){s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||"abcdefghijklmnopqrst"!=a(d({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,d=1,s=i.f,p=c.f;r>d;)for(var m,f=u(arguments[d++]),h=s?a(f).concat(s(f)):a(f),C=h.length,b=0;C>b;)m=h[b++],o&&!p.call(f,m)||(n[m]=f[m]);return n}:d},function(e,t,n){"use strict";n(1)({target:"Object",stat:!0,sham:!n(9)},{create:n(43)})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(1),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(1),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(1),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(1),r=n(67),a=n(4),i=n(6),c=n(51).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(1),r=n(68),a=n(50);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(25),i=n(21).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(92),i=n(25),c=n(21),l=n(50);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),d={},s=0;u.length>s;)(n=r(o,t=u[s++]))!==undefined&&l(d,t,n);return d}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(1)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(1),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(1),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(21).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(21).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(1),r=n(6),a=n(51).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(1),r=n(6),a=n(51).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(1)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(24),a=n(293);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(1),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(1),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(1),l=n(38),u=n(5),d=n(35),s=n(145),p=n(24),m=n(66),f=n(44),h=n(54),C=n(6),b=n(31),g=n(55),N=n(32),v=n(90),V=n(68),y=n(75),_=n(46),k=n(106).set,x=n(147),L=n(148),B=n(297),w=n(149),S=n(298),I=n(34),T=n(61),A=n(12),P=n(96),E=A("species"),R="Promise",M=I.get,O=I.set,F=I.getterFor(R),D=s,j=u.TypeError,z=u.document,G=u.process,H=d("fetch"),U=w.f,K=U,W="process"==N(G),Y=!!(z&&z.createEvent&&u.dispatchEvent),q=0,$=T(R,(function(){if(!(v(D)!==String(D))){if(66===P)return!0;if(!W&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(P>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[E]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;x((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,d=o[i++],s=a?d.ok:d.fail,p=d.resolve,m=d.reject,f=d.domain;try{s?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===s?c=r:(f&&f.enter(),c=s(r),f&&(f.exit(),u=!0)),c===d.promise?m(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,m):p(c)):m(r)}catch(h){f&&!u&&f.exit(),m(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;Y?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&B("Unhandled promise rejection",n)},ee=function(e,t){k.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){W?G.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=W||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){k.call(u,(function(){W?G.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?x((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){g(this,D,R),b(e),o.call(this);var t=M(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){O(this,{type:R,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:q,value:undefined})}).prototype=m(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=W?G.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=q&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=M(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},w.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof s||(i=s.prototype.then,p(s.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof H&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return L(D,H.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),f(D,R,!1,!0),h(R),a=d(R),c({target:R,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:R,stat:!0,forced:l||$},{resolve:function(e){return L(l&&this===a?D:this,e)}}),c({target:R,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=b(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=b(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(1),r=n(38),a=n(145),i=n(4),c=n(35),l=n(46),u=n(148),d=n(24);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||d(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(1),r=n(35),a=n(31),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(1),r=n(35),a=n(31),i=n(8),c=n(6),l=n(43),u=n(138),d=n(4),s=r("Reflect","construct"),p=d((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),m=!d((function(){s((function(){}))})),f=p||m;o({target:"Reflect",stat:!0,forced:f,sham:f},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(m&&!p)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,d=l(c(r)?r:Object.prototype),f=Function.apply.call(e,d,t);return c(f)?f:d}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=n(21).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(1),r=n(6),a=n(8),i=n(16),c=n(21),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,d=arguments.length<3?e:arguments[2];return a(e)===d?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(d):r(o=l(e))?u(o,t,d):void 0}})},function(e,t,n){"use strict";var o=n(1),r=n(9),a=n(8),i=n(21);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(1)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(1)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(1),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=n(6),i=n(16),c=n(4),l=n(13),u=n(21),d=n(36),s=n(47);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(d(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,m=arguments.length<4?e:arguments[3],f=u.f(r(e),t);if(!f){if(a(c=d(e)))return p(c,t,n,m);f=s(0)}if(i(f,"value")){if(!1===f.writable||!a(m))return!1;if(o=u.f(m,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(m,t,o)}else l.f(m,t,s(0,n));return!0}return f.set!==undefined&&(f.set.call(m,n),!0)}})},function(e,t,n){"use strict";var o=n(1),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(48).f,u=n(107),d=n(83),s=n(24),p=n(4),m=n(54),f=n(12)("match"),h=r.RegExp,C=h.prototype,b=/a/g,g=/a/g,N=new h(b)!==b;if(o&&a("RegExp",!N||p((function(){return g[f]=!1,h(b)!=b||h(g)==g||"/a/i"!=h(b,"i")})))){for(var v=function(e,t){var n=this instanceof v,o=u(e),r=t===undefined;return!n&&o&&e.constructor===v&&r?e:i(N?new h(o&&!r?e.source:e,t):h((o=e instanceof v)?e.source:e,o&&r?d.call(e):t),n?this:C,v)},V=function(e){e in v||c(v,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=v,v.prototype=C,s(r,"RegExp",v)}m("RegExp")},function(e,t,n){"use strict";var o=n(1),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(24),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d="toString"!=l.name;(u||d)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(1),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(1),a=n(21).f,i=n(11),c=n(109),l=n(23),u=n(110),d=n(38),s="".endsWith,p=Math.min,m=u("endsWith");r({target:"String",proto:!0,forced:!!(d||m||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!m},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return s?s.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(1),r=n(42),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(1),r=n(109),a=n(23);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(11),i=n(23),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var d=i.unicode;i.lastIndex=0;for(var s,p=[],m=0;null!==(s=l(i,u));){var f=String(s[0]);p[m]=f,""===f&&(i.lastIndex=c(u,a(i.lastIndex),d)),m++}return 0===m?null:p}]}))},function(e,t,n){"use strict";var o=n(1),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(1),r=n(25),a=n(11);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var m=r(e),f=String(this),h="function"==typeof a;h||(a=String(a));var C=m.global;if(C){var b=m.unicode;m.lastIndex=0}for(var g=[];;){var N=d(m,f);if(null===N)break;if(g.push(N),!C)break;""===String(N[0])&&(m.lastIndex=u(f,i(m.lastIndex),b))}for(var v,V="",y=0,_=0;_=y&&(V+=f.slice(y,x)+I,y=x+k.length)}return V+f.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,d=h;return i!==undefined&&(i=a(i),d=f),t.call(c,d,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var d=+a;if(0===d)return t;if(d>u){var s=m(d/10);return 0===s?t:s<=u?r[s-1]===undefined?a.charAt(1):r[s-1]+a.charAt(1):t}c=r[d-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(23),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var d=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===d?-1:d.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(23),c=n(46),l=n(111),u=n(11),d=n(86),s=n(84),p=n(4),m=[].push,f=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,h=new RegExp(e.source,p+"g");(c=s.call(h,o))&&!((l=h.lastIndex)>f&&(d.push(o.slice(f,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return f===o.length?!u&&h.test("")||d.push(""):d.push(o.slice(f)),d.length>a?d.slice(0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var s=a(e),p=String(this),m=c(s,RegExp),C=s.unicode,b=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),g=new m(h?s:"^(?:"+s.source+")",b),N=r===undefined?4294967295:r>>>0;if(0===N)return[];if(0===p.length)return null===d(g,p)?[p]:[];for(var v=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return s?s.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(1),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(1),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(1),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(1),r=n(28);o({target:"String",proto:!0,forced:n(29)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(30);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(19).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(19).filter,a=n(46),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(19).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(19).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(19).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(12)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,d=a.entries,s=r.aTypedArray,p=r.exportTypedArrayMethod,m=c&&c.prototype[i],f=!!m&&("values"==m.name||m.name==undefined),h=function(){return l.call(s(this))};p("entries",(function(){return d.call(s(this))})),p("keys",(function(){return u.call(s(this))})),p("values",h,!f),p(i,h,!f)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(19).map,a=n(46),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)d[a]=n[a++];return d}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(19).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(11),a=n(42),i=n(46),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,d=[].slice,s=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(s?d.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(51),c=n(78),l=n(153),u=n(6),d=n(34).enforce,s=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,m=Object.isExtensible,f=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",f,l);if(s&&p){o=l.getConstructor(f,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,b=C["delete"],g=C.has,N=C.get,v=C.set;a(C,{"delete":function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen["delete"](e)}return b.call(this,e)},has:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen.has(e)}return g.call(this,e)},get:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)?N.call(this,e):t.frozen.get(e)}return N.call(this,e)},set:function(e,t){if(u(e)&&!m(e)){var n=d(this);n.frozen||(n.frozen=new o),g.call(this,e)?v.call(this,e,t):n.frozen.set(e,t)}else v.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(1),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Re,t._ME=Pe,t._MFCC=Me,t._MP=we,t._MR=ve,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return d(o,null);return w(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return w(n,o)}(e,t,r),t);x.createVNode&&x.createVNode(i);return i},t.createFragment=E,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),Ge(n,e,o,r)}},t.createTextVNode=P,t.createVNode=A,t.directClone=R,t.findDOMfromVNode=v,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case m:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=Ge,t.rerender=qe,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function s(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var m="$F";function f(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function b(e,t){e.removeChild(t)}function g(e){for(var t;(t=e.shift())!==undefined;)t()}function N(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function v(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=N(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void b(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,f=u(p),h=l(p)&&p[0]===I;m||f||h?(n=n||t.slice(0,d),(m||h)&&(s=R(s)),(f||h)&&(s.key=I+d),n.push(s)):n&&n.push(s),s.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=R(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?P(e,null):o(e)?E(e,0,null):16384&e.flags?R(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",G={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function H(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=H(0),K=H(null),W=H(!0);function Y(e,t){var n=t.$EV;return n||(n=t.$EV=H(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(f(e),t),t}(e)),n}function q(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(f(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var se,pe,me=te("onInput",he),fe=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?de(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function be(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",me),t.onChange&&ne(e,"change",fe)}(t,n)}function ge(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function Ne(e){e&&!S(e,null)&&e.current&&(e.current=null)}function ve(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;Ne(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),d=0,s=l.length;d0;for(var c in i&&(a=ge(n))&&be(t,o,n),n)Be(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=d(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var d=i.$PS;if(!u(d)){var s=i.state;if(u(s))i.state=d;else for(var m in d)s[m]=d[m];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Pe(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Re(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Me(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=M());2===c?Te(i,n,r,o,r,a):Ee(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=M();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Pe(e,t,n,o,r,i){var c=e.flags,l=e.props,d=e.className,s=e.children,p=e.childFlags,m=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(d)||""===d||(o?m.setAttribute("class",d):m.className=d),16===p)L(m,s);else if(1!==p){var f=o&&"foreignObject"!==e.type;2===p?(16384&s.flags&&(e.children=s=R(s)),Te(s,m,n,f,null,i)):8!==p&&4!==p||Ee(s,m,n,f,null,i)}u(t)||C(t,m,r),u(l)||we(e,c,l,m,o),ve(e.ref,m,i)}function Ee(e,t,n,o,r,a){for(var i=0;i0,u!==d){var f=u||p;if((c=d||p)!==p)for(var h in(s=(448&r)>0)&&(m=ge(c)),c){var C=f[h],b=c[h];C!==b&&Be(h,C,b,l,o,m,e)}if(f!==p)for(var g in f)a(c[g])&&!a(f[g])&&Be(g,f[g],null,l,o,m,e)}var N=t.children,v=t.className;e.className!==v&&(a(v)?l.removeAttribute("class"):o?l.setAttribute("class",v):l.className=v);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,N):Fe(e.childFlags,t.childFlags,e.children,N,l,n,o&&"foreignObject"!==t.type,null,e,i);s&&Ce(r,t,l,c,!1,m);var V=t.ref,y=e.ref;y!==V&&(Ne(y),ve(V,l,i))}(e,t,o,r,m,s):4&m?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var s=t.props||p,m=t.ref,f=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(s,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=d(h,l.$PS),l.$PS=null)}De(l,h,s,n,o,r,!1,a,i),f!==m&&(Ne(f),ve(m,l,i))}(e,t,n,o,r,l,s):8&m?function(e,t,n,o,r,i,l){var u=!0,d=t.props||p,s=t.ref,m=e.props,f=!a(s),h=e.children;f&&c(s.onComponentShouldUpdate)&&(u=s.onComponentShouldUpdate(m,d));if(!1!==u){f&&c(s.onComponentWillUpdate)&&s.onComponentWillUpdate(m,d);var C=t.type,b=D(32768&t.flags?C.render(d,s,o):C(d,o));Oe(h,b,n,o,r,i,l),t.children=b,f&&c(s.onComponentDidUpdate)&&s.onComponentDidUpdate(m,d)}else t.children=h}(e,t,n,o,r,l,s):16&m?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&m?t.dom=e.dom:8192&m?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=M());var s=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||s||!s&&c.length>p)&&(d=v(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,d,e,a)}(e,t,n,o,r,s):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;b(r,l),h(a,l)}}(e,t,o,s)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Oe(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),L(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Ee(t,n,o,r,v(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:L(r,o);break;default:Ee(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:L(n,t))}(n,o,r);break;case 2:ke(r),Te(o,r,a,i,c,u);break;case 1:ke(r);break;default:ke(r),Ee(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),L(r,o);break;case 2:xe(r,l,n),Te(o,r,a,i,c,u);break;case 1:xe(r,l,n);break;default:var d=0|n.length,s=0|o.length;0===d?s>0&&Ee(o,r,a,i,c,u):0===s?xe(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var d,s,p=a-1,m=i-1,f=0,h=e[f],C=t[f];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[f]=C=R(C)),Oe(h,C,n,o,r,c,u),e[f]=C,++f>p||f>m)break e;h=e[f],C=t[f]}for(h=e[p],C=t[m];h.key===C.key;){if(16384&C.flags&&(t[m]=C=R(C)),Oe(h,C,n,o,r,c,u),e[p]=C,p--,m--,f>p||f>m)break e;h=e[p],C=t[m]}}if(f>p){if(f<=m)for(s=(d=m+1)m)for(;f<=p;)Ve(e[f++],n);else!function(e,t,n,o,r,a,i,c,l,u,d,s,p){var m,f,h,C=0,b=c,g=c,N=a-c+1,V=i-c+1,_=new Int32Array(V+1),k=N===o,x=!1,L=0,B=0;if(r<4||(N|V)<32)for(C=b;C<=a;++C)if(m=e[C],Bc?x=!0:L=c,16384&f.flags&&(t[c]=f=R(f)),Oe(m,f,l,n,u,d,p),++B;break}!k&&c>i&&Ve(m,l)}else k||Ve(m,l);else{var w={};for(C=g;C<=i;++C)w[t[C].key]=C;for(C=b;C<=a;++C)if(m=e[C],Bb;)Ve(e[b++],l);_[c-g]=C+1,L>c?x=!0:L=c,16384&(f=t[c]).flags&&(t[c]=f=R(f)),Oe(m,f,l,n,u,d,p),++B}else k||Ve(m,l);else k||Ve(m,l)}if(k)xe(l,s,e),Ee(t,l,n,u,d,p);else if(x){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,se=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=se[a-1]),se[a]=n)}a=r+1;var u=new Int32Array(a);i=se[a-1];for(;a-- >0;)u[a]=i,i=pe[i],se[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(f=t[L=C+g]).flags&&(t[L]=f=R(f)),Te(f,l,n,u,(h=L+1)=0;C--)0===_[C]&&(16384&(f=t[L=C+g]).flags&&(t[L]=f=R(f)),Te(f,l,n,u,(h=L+1)i?i:a,p=0;pi)for(p=s;p0&&g(r),k.v=!1,c(n)&&n(),c(x.renderComplete)&&x.renderComplete(i,t)}function Ge(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var He=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function We(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?d(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!k.v&&0===He.length)return void $e(e,o,n);if(-1===He.indexOf(e)&&He.push(e),Ke||(Ke=!0,Ue(qe)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function Ye(e){for(var t=e.$QU,n=0,o=t.length;n0&&g(r),k.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||We(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||We(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new B(o||[]);return a._invoke=function(e,t,n){var o=d;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=k(i,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?m:s,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var d="suspendedStart",s="suspendedYield",p="executing",m="completed",f={};function h(){}function C(){}function b(){}var g={};g[a]=function(){return this};var N=Object.getPrototypeOf,v=N&&N(N(w([])));v&&v!==n&&o.call(v,a)&&(g=v);var V=b.prototype=h.prototype=Object.create(g);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&o.call(d,"__await")?Promise.resolve(d.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(d).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function k(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,k(e,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function B(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function w(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),f}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:w(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ -var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,o,r){var a,i=n.document,c=i.createElement("link");if(t)a=t;else{var l=(i.body||i.getElementsByTagName("head")[0]).childNodes;a=l[l.length-1]}var u=i.styleSheets;if(r)for(var d in r)r.hasOwnProperty(d)&&c.setAttribute(d,r[d]);c.rel="stylesheet",c.href=e,c.media="only x",function m(e){if(i.body)return e();setTimeout((function(){m(e)}))}((function(){a.parentNode.insertBefore(c,t?a:a.nextSibling)}));var s=function f(e){for(var t=c.href,n=u.length;n--;)if(u[n].href===t)return e();setTimeout((function(){f(e)}))};function p(){c.addEventListener&&c.removeEventListener("load",p),c.media=o||"all"}return c.addEventListener&&c.addEventListener("load",p),c.onloadcssdefined=s,s(p),c}}).call(this,n(118))},function(e,t,n){"use strict";t.__esModule=!0,t.createStore=void 0;var o=n(69),r=n(392),a=n(3),i=n(114),c=n(115);(0,n(41).createLogger)("store");t.createStore=function(){var e=(0,o.flow)([function(e,t){return void 0===e&&(e={}),e},a.backendReducer,i.toastReducer,c.hotKeyReducer]),t=[c.hotKeyMiddleware];return(0,r.createStore)(e,r.applyMiddleware.apply(void 0,t))}},function(e,t,n){"use strict";t.__esModule=!0,t.applyMiddleware=t.createStore=void 0;var o=n(69);t.createStore=function r(e,t){if(t)return t(r)(e);var n,o=[],a=function(t){n=e(n,t),o.forEach((function(e){return e()}))};return a({type:"@@INIT"}),{dispatch:a,subscribe:function(e){o.push(e)},getState:function(){return n}}};t.applyMiddleware=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i1?t-1:0),o=1;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(0),r=n(10),a=n(20);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(0),r=n(20),a=n(116);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(0),r=n(20);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(0),r=n(10),a=n(20),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(0),r=n(10),a=n(20);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(0),r=n(10),a=n(20);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(0),r=n(19),a=n(10),i=n(15),c=n(157),l=n(20);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,b=p.unit,g=p.minValue,N=p.maxValue,v=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,k=p.format,x=p.onChange,L=p.onDrag,B=C;(n||s)&&(B=d);var w=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(b?" "+b:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:B,format:k,children:w})||w(k?k(B):B);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:v,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((B-g)/(N-g)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:v,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,g,N);e.setState({editing:!1,value:n}),e.suppressFlicker(),x&&x(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,g,N);return e.setState({editing:!1,value:n}),e.suppressFlicker(),x&&x(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(0),r=n(10),a=n(19),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,b=Object.keys(d);C=N[0]&&t<=N[1]){h=g;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(0),r=n(10),a=n(20);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(0),r=n(10),a=n(20),i=n(116);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=t.altSelection,d=(t.children,c(t,["className","vertical","altSelection","children"])),s=this.getActiveTab(),p=s.tabs,m=s.activeTab,f=s.activeTabKey,h=null;return m&&(h=m.props.content||m.props.children),"function"==typeof h&&(h=h(f)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},d,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",p.map((function(t){var n=t.props,a=n.className,d=n.label,s=(n.content,n.children,n.onClick),p=n.highlight,m=c(n,["className","label","content","children","onClick","highlight"]),h=t.key||t.props.label,C=t.active||h===f,b="Button--altSelected"+(l?"--right":"--bottom");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",C&&"Tabs__tab--active",p&&!C&&"color-yellow",u&&C&&b,a]),selected:!u&&C,color:"transparent",onClick:function(n){e.setState({activeTabKey:h}),s&&s(n,t)}},m,{children:d}),h))})),0),(0,o.createVNode)(1,"div","Tabs__content",h||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(0),r=n(10),a=n(22),i=n(15),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(0),r=n(17),a=n(20),i=n(10),c=n(15);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),b=this.state.viewBox,g=l(r,b,i,c);if(g.length>0){var N=g[0],v=g[g.length-1];g.push([b[0]+h,v[1]]),g.push([b[0]+h,-h]),g.push([-h,-h]),g.push([-h,N[1]])}var V=u(g);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+b[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+b[0]+" "+b[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.getRoute=void 0;var o=n(409),r=n(410),a=n(411),i=n(412),c=n(413),l=n(414),u=n(415),d=n(416),s=n(417),p=n(418),m=n(419),f=n(420),h=n(421),C=n(422),b=n(423),g=n(424),N=n(425),v=n(426),V=n(427),y=n(428),_=n(429),k=n(430),x=n(431),L=n(432),B=n(433),w=n(434),S=n(435),I=n(436),T=n(437),A=n(438),P=n(439),E=n(440),R=n(441),M=n(442),O=n(443),F=n(444),D=n(445),j=n(446),z=n(447),G=n(448),H=n(449),U=n(450),K=n(451),W=n(452),Y=n(453),q=n(454),$=n(455),Q=n(456),X=n(457),J=n(458),Z=n(459),ee=n(460),te=n(461),ne=n(462),oe=n(463),re=n(464),ae=n(465),ie=n(466),ce=n(467),le=n(468),ue=n(469),de=n(470),se=n(471),pe=n(472),me=n(473),fe=n(474),he=n(475),Ce=n(476),be=n(477),ge=n(478),Ne=n(479),ve=n(480),Ve=n(481),ye=n(482),_e=n(483),ke=n(484),xe=n(485),Le=n(486),Be=n(487),we=n(488),Se=n(489),Ie=n(490),Te=n(491),Ae=n(492),Pe=n(493),Ee=n(494),Re=n(495),Me=n(496),Oe=n(497),Fe=n(498),De=n(499),je=n(500),ze=n(501),Ge=n(502),He=n(503),Ue=n(504),Ke=n(505),We=n(506),Ye=n(507),qe=n(508),$e=n(509),Qe=n(510),Xe=n(511),Je=n(512),Ze=n(513),et=n(514),tt=n(515),nt=n(516),ot=n(517),rt=n(518),at=n(519),it=n(520),ct=n(521),lt=n(522),ut=n(523),dt=n(524),st=n(525),pt=n(526),mt=n(527),ft=n(528),ht=n(529),Ct=n(530),bt={achievements:{component:function(){return o.Achievements},scrollable:!0},ai_airlock:{component:function(){return r.AiAirlock},scrollable:!1},airalarm:{component:function(){return a.AirAlarm},scrollable:!0},airlock_electronics:{component:function(){return i.AirlockElectronics},scrollable:!1},apc:{component:function(){return c.Apc},scrollable:!1},atmos_alert:{component:function(){return l.AtmosAlertConsole},scrollable:!0},atmos_control:{component:function(){return u.AtmosControlConsole},scrollable:!0},atmos_filter:{component:function(){return d.AtmosFilter},scrollable:!1},atmos_mixer:{component:function(){return s.AtmosMixer},scrollable:!1},atmos_pump:{component:function(){return p.AtmosPump},scrollable:!1},bepis:{component:function(){return C.Bepis},scrollable:!1},bank_machine:{component:function(){return m.BankMachine},scrollable:!1},blackmarket_uplink:{component:function(){return f.BlackmarketUplink},scrollable:!0,theme:"hackerman"},borgopanel:{component:function(){return b.BorgPanel},scrollable:!0},brig_timer:{component:function(){return g.BrigTimer},scrollable:!1},bsa:{component:function(){return h.BluespaceArtillery},scrollable:!1},canister:{component:function(){return N.Canister},scrollable:!1},canvas:{component:function(){return v.Canvas},scrollable:!1},cargo:{component:function(){return V.Cargo},scrollable:!0},cargo_express:{component:function(){return V.CargoExpress},scrollable:!0},cellular_emporium:{component:function(){return y.CellularEmporium},scrollable:!0},centcom_podlauncher:{component:function(){return _.CentcomPodLauncher},scrollable:!1},acclimator:{component:function(){return k.ChemAcclimator},scrollable:!1},chem_dispenser:{component:function(){return L.ChemDispenser},scrollable:!0},chemical_filter:{component:function(){return B.ChemFilter},scrollable:!0},chem_heater:{component:function(){return w.ChemHeater},scrollable:!0},chem_master:{component:function(){return S.ChemMaster},scrollable:!0},chem_press:{component:function(){return I.ChemPress},scrollable:!1},reaction_chamber:{component:function(){return T.ChemReactionChamber},scrollable:!0},chem_splitter:{component:function(){return A.ChemSplitter},scrollable:!1},chem_synthesizer:{component:function(){return x.ChemDebugSynthesizer},scrollable:!1},synthesizer:{component:function(){return P.ChemSynthesizer},scrollable:!1},codex_gigas:{component:function(){return E.CodexGigas},scrollable:!1},computer_fabricator:{component:function(){return R.ComputerFabricator},scrollable:!1},crayon:{component:function(){return M.Crayon},scrollable:!0},crew:{component:function(){return O.CrewConsole},scrollable:!0},cryo:{component:function(){return F.Cryo},scrollable:!1},decal_painter:{component:function(){return D.DecalPainter},scrollable:!1},disposal_unit:{component:function(){return j.DisposalUnit},scrollable:!1},dna_vault:{component:function(){return z.DnaVault},scrollable:!1},eightball:{component:function(){return G.EightBallVote},scrollable:!1},emergency_shuttle_console:{component:function(){return H.EmergencyShuttleConsole},scrollable:!1},engraved_message:{component:function(){return U.EngravedMessage},scrollable:!1},gps:{component:function(){return K.Gps},scrollable:!0},gravity_generator:{component:function(){return W.GravityGenerator},scrollable:!1},gulag_console:{component:function(){return Y.GulagTeleporterConsole},scrollable:!1},gulag_item_reclaimer:{component:function(){return q.GulagItemReclaimer},scrollable:!0},holodeck:{component:function(){return $.Holodeck},scrollable:!0},hypnochair:{component:function(){return Q.HypnoChair},scrollable:!1},implantchair:{component:function(){return X.ImplantChair},scrollable:!1},infrared_emitter:{component:function(){return J.InfraredEmitter},scrollable:!1},intellicard:{component:function(){return Z.Intellicard},scrollable:!0},keycard_auth:{component:function(){return ee.KeycardAuth},scrollable:!1},labor_claim_console:{component:function(){return te.LaborClaimConsole},scrollable:!1},language_menu:{component:function(){return ne.LanguageMenu},scrollable:!0},launchpad_console:{component:function(){return oe.LaunchpadConsole},scrollable:!0},launchpad_remote:{component:function(){return oe.LaunchpadRemote},scrollable:!1,theme:"syndicate"},mech_bay_power_console:{component:function(){return re.MechBayPowerConsole},scrollable:!1},medical_kiosk:{component:function(){return ae.MedicalKiosk},scrollable:!1},mining_vendor:{component:function(){return ie.MiningVendor},scrollable:!0},mint:{component:function(){return ce.Mint},scrollable:!1},mulebot:{component:function(){return le.Mule},scrollable:!1},nanite_chamber_control:{component:function(){return ue.NaniteChamberControl},scrollable:!0},nanite_cloud_control:{component:function(){return de.NaniteCloudControl},scrollable:!0},nanite_program_hub:{component:function(){return se.NaniteProgramHub},scrollable:!0},nanite_programmer:{component:function(){return pe.NaniteProgrammer},scrollable:!0},nanite_remote:{component:function(){return me.NaniteRemote},scrollable:!0},notificationpanel:{component:function(){return fe.NotificationPreferences},scrollable:!0},ntnet_relay:{component:function(){return he.NtnetRelay},scrollable:!1},ntos_ai_restorer:{component:function(){return Ce.NtosAiRestorer},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_arcade:{component:function(){return be.NtosArcade},wrapper:function(){return Ie.NtosWrapper},scrollable:!1,theme:"ntos"},ntos_card:{component:function(){return ge.NtosCard},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_configuration:{component:function(){return Ne.NtosConfiguration},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_crew_manifest:{component:function(){return ve.NtosCrewManifest},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_file_manager:{component:function(){return Ve.NtosFileManager},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_job_manager:{component:function(){return ye.NtosJobManager},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_main:{component:function(){return _e.NtosMain},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_net_chat:{component:function(){return ke.NtosNetChat},wrapper:function(){return Ie.NtosWrapper},scrollable:!1,theme:"ntos"},ntos_net_dos:{component:function(){return xe.NtosNetDos},wrapper:function(){return Ie.NtosWrapper},scrollable:!1,theme:"syndicate"},ntos_net_downloader:{component:function(){return Le.NtosNetDownloader},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_net_monitor:{component:function(){return Be.NtosNetMonitor},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_power_monitor:{component:function(){return De.PowerMonitor},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_revelation:{component:function(){return we.NtosRevelation},wrapper:function(){return Ie.NtosWrapper},scrollable:!1,theme:"syndicate"},ntos_station_alert:{component:function(){return ot.StationAlertConsole},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_supermatter_monitor:{component:function(){return Se.NtosSupermatterMonitor},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"ntos"},nuclear_bomb:{component:function(){return Te.NuclearBomb},scrollable:!1,theme:"retro"},ore_redemption_machine:{component:function(){return Ee.OreRedemptionMachine},scrollable:!0},ore_box:{component:function(){return Pe.OreBox},scrollable:!0},operating_computer:{component:function(){return Ae.OperatingComputer},scrollable:!0},pandemic:{component:function(){return Re.Pandemic},scrollable:!0},personal_crafting:{component:function(){return Me.PersonalCrafting},scrollable:!0},portable_generator:{component:function(){return Oe.PortableGenerator},scrollable:!1},portable_pump:{component:function(){return Fe.PortablePump},scrollable:!1},portable_scrubber:{component:function(){return Fe.PortableScrubber},scrollable:!1},power_monitor:{component:function(){return De.PowerMonitor},scrollable:!0},proximity_sensor:{component:function(){return je.ProximitySensor},scrollable:!1},radio:{component:function(){return ze.Radio},scrollable:!1},radioactive_microlaser:{component:function(){return Ge.RadioactiveMicrolaser},scrollable:!1},roulette:{component:function(){return Ue.Roulette},scrollable:!1,theme:"cardtable"},rpd:{component:function(){return He.RapidPipeDispenser},scrollable:!0},sat_control:{component:function(){return Ke.SatelliteControl},scrollable:!1},scanner_gate:{component:function(){return We.ScannerGate},scrollable:!0},shuttle_manipulator:{component:function(){return Ye.ShuttleManipulator},scrollable:!0},signaler:{component:function(){return qe.Signaler},scrollable:!1},sleeper:{component:function(){return $e.Sleeper},scrollable:!1},slime_swap_body:{component:function(){return Qe.SlimeBodySwapper},scrollable:!0},smartvend:{component:function(){return Xe.SmartVend},scrollable:!0},smes:{component:function(){return Je.Smes},scrollable:!1},smoke_machine:{component:function(){return Ze.SmokeMachine},scrollable:!1},solar_control:{component:function(){return et.SolarControl},scrollable:!1},space_heater:{component:function(){return tt.SpaceHeater},scrollable:!1},spawners_menu:{component:function(){return nt.SpawnersMenu},scrollable:!0},station_alert:{component:function(){return ot.StationAlertConsole},scrollable:!0},suit_storage_unit:{component:function(){return rt.SuitStorageUnit},scrollable:!1},synd_contract:{component:function(){return Ct.SyndContractor},wrapper:function(){return Ie.NtosWrapper},scrollable:!0,theme:"syndicate"},tanks:{component:function(){return at.Tank},scrollable:!1},tank_dispenser:{component:function(){return it.TankDispenser},scrollable:!1},teleporter:{component:function(){return ct.Teleporter},scrollable:!1},thermomachine:{component:function(){return lt.ThermoMachine},scrollable:!1},timer:{component:function(){return ut.Timer},scrollable:!1},transfer_valve:{component:function(){return dt.TransferValve},scrollable:!1},turbine_computer:{component:function(){return st.TurbineComputer},scrollable:!1},uplink:{component:function(){return pt.Uplink},scrollable:!0,theme:"syndicate"},vault_controller:{component:function(){return mt.VaultController},scrollable:!1},vending:{component:function(){return ft.Vending},scrollable:!0},wires:{component:function(){return ht.Wires},scrollable:!1}};t.getRoute=function(e){return bt[e.config&&e.config["interface"]]}},function(e,t,n){"use strict";t.__esModule=!0,t.Achievements=t.Score=t.Achievement=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i?"good":"bad",content:i?"Unlocked":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Achievement=i;var c=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i>0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(0),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(0),r=n(19),a=n(22),i=n(3),c=n(2),l=n(37),u=n(70);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return g}},thresholds:{title:"Alarm Thresholds",component:function(){return N}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,b,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},b=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},g=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},N=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(0),r=n(3),a=n(2),i=n(163);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.regions||[],u=c.accesses||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.oneAccess?"unlock":"lock",content:c.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&c.unres_direction?"check-square-o":"square-o",content:"North",selected:1&c.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&c.unres_direction?"check-square-o":"square-o",content:"East",selected:2&c.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&c.unres_direction?"check-square-o":"square-o",content:"South",selected:4&c.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&c.unres_direction?"check-square-o":"square-o",content:"West",selected:8&c.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,i.AccessList,{accesses:l,selectedList:u,accessMod:function(e){return n("set",{access:e})},grantAll:function(){return n("grant_all")},denyAll:function(){return n("clear_all")},grantDep:function(e){return n("grant_region",{region:e})},denyDep:function(e){return n("deny_region",{region:e})}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(0),r=n(3),a=n(2),i=n(70);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",onClick:function(){return n("toggle_nightshift")}})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(0),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(0),r=n(17),a=n(19),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(0),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(0),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(0),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(0),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BlackmarketUplink=void 0;var o=n(0),r=n(17),a=n(3),i=n(2);t.BlackmarketUplink=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.categories||[],u=c.delivery_methods||[],d=c.delivery_method_description||[],s=c.markets||{},p=c.items||{},m=!!c.buying&&(0,o.createComponentVNode)(2,i.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Grid,{mt:20,children:(0,r.map)((function(e){var t=e.name;return"LTSRBT"!==t||c.ltsrbt_built?(0,o.createComponentVNode)(2,i.Grid.Column,{textAlign:"center",position:"relative",children:[(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{fontSize:"30px",children:t}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:d[t]})]}),(0,o.createComponentVNode)(2,i.Button,{content:e.price+" cr",mt:1,disabled:c.moneyc.money,onClick:function(){return n("select",{item:e.id})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.desc})})]},e.name)}))},e)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(0),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(0),r=(n(22),n(15)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),(0,o.createComponentVNode)(2,a.Box,{children:["Current chance of Success: Est. ",i.success_estimate,"%"]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(0),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(0),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(0),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Canvas=void 0;var o=n(0),r=n(3),a=n(2);n(10);var i=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).canvasRef=(0,o.createRef)(),n.onCVClick=t.onCanvasClick,n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var a=r.prototype;return a.componentDidMount=function(){this.drawCanvas(this.props)},a.componentDidUpdate=function(){this.drawCanvas(this.props)},a.drawCanvas=function(e){var t=this.canvasRef.current.getContext("2d"),n=e.value,o=n.length;if(o){var r=n[0].length,a=Math.round(this.canvasRef.current.width/o),i=Math.round(this.canvasRef.current.height/r);t.save(),t.scale(a,i);for(var c=0;c=0||(r[n]=e[n]);return r}(t,["res","value","px_per_unit"]),c=n.length*a,l=0!==c?n[0].length*a:0;return(0,o.normalizeProps)((0,o.createVNode)(1,"canvas",null,"Canvas failed to render.",16,Object.assign({width:c||300,height:l||300},i,{onClick:function(t){return e.clickwrapper(t)}}),null,this.canvasRef))},r}(o.Component);t.Canvas=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i,{value:c.grid,onCanvasClick:function(e,t){return n("paint",{x:e,y:t})}}),(0,o.createComponentVNode)(2,a.Box,{children:c.name})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(0),r=n(17),a=n(15),i=n(2),c=n(70);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:(0,o.createFragment)([h,(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:r.self_paid?"check-square-o":"square-o",content:"Buy Privately",selected:r.self_paid,onClick:function(){return(0,a.act)(c,"toggleprivate")}})],0),children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(0),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(0),r=(n(22),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"To use this, simply spawn the atoms you want in one of the five Centcom Supplypod Bays. Items in the bay will then be launched inside your supplypod, one turf-full at a time! You can optionally use the following buttons to configure how the supplypod acts."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Item Mode",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Clone Items",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random Items",selected:i.launchRandomItem,tooltip:"Choosing this will pick a random item from the selected turf\ninstead of the entire turfs contents. Best combined with\nsingle/random turf.",onClick:function(){return n("launchRandomItem")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random Turf",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandomTurf")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(0),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(0),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDispenser=void 0;var o=n(0),r=n(19),a=n(22),i=n(3),c=n(2);t.ChemDispenser=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=!!l.recordingRecipe,d=Object.keys(l.recipes).map((function(e){return{name:e,contents:l.recipes[e]}})),s=l.beakerTransferAmounts||[],p=u&&Object.keys(l.recordingRecipe).map((function(e){return{id:e,name:(0,a.toTitleCase)(e.replace(/_/," ")),volume:l.recordingRecipe[e]}}))||l.beakerContents||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Status",buttons:u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,color:"red",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"circle",mr:1}),"Recording"]}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Energy",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:l.energy/l.maxEnergy,content:(0,r.toFixed)(l.energy)+" units"})})})}),(0,o.createComponentVNode)(2,c.Section,{title:"Recipes",buttons:(0,o.createFragment)([!u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",content:"Clear recipes",onClick:function(){return n("clear_recipes")}})}),!u&&(0,o.createComponentVNode)(2,c.Button,{icon:"circle",disabled:!l.isBeakerLoaded,content:"Record",onClick:function(){return n("record_recipe")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"ban",color:"transparent",content:"Discard",onClick:function(){return n("cancel_recording")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"save",color:"green",content:"Save",onClick:function(){return n("save_recording")}})],0),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:[d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.name,onClick:function(){return n("dispense_recipe",{recipe:e.name})}},e.name)})),0===d.length&&(0,o.createComponentVNode)(2,c.Box,{color:"light-gray",children:"No recipes."})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Dispense",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"plus",selected:e===l.amount,content:e,onClick:function(){return n("amount",{target:e})}},e)})),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:l.chemicals.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.title,onClick:function(){return n("dispense",{reagent:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"minus",disabled:u,content:e,onClick:function(){return n("remove",{amount:e})}},e)})),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",disabled:!l.isBeakerLoaded,onClick:function(){return n("eject")}}),children:(u?"Virtual beaker":l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:l.beakerCurrentVolume}),(0,o.createTextVNode)("/"),l.beakerMaxVolume,(0,o.createTextVNode)(" units")],0))||"No beaker"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Contents",children:[(0,o.createComponentVNode)(2,c.Box,{color:"label",children:l.isBeakerLoaded||u?0===p.length&&"Nothing":"N/A"}),p.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{color:"label",children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:e.volume})," ","units of ",e.name]},e.name)}))]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(0),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemHeater=void 0;var o=n(0),r=n(19),a=n(3),i=n(2),c=n(164);t.ChemHeater=function(e){var t=(0,a.useBackend)(e),n=t.act,l=t.data,u=l.targetTemp,d=l.isActive,s=l.isBeakerLoaded,p=l.currentTemp,m=l.beakerCurrentVolume,f=l.beakerMaxVolume,h=l.beakerContents,C=void 0===h?[]:h;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Thermostat",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.NumberInput,{width:"65px",unit:"K",step:2,stepPixelSize:1,value:(0,r.round)(u),minValue:0,maxValue:1e3,onDrag:function(e,t){return n("temperature",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Reading",children:(0,o.createComponentVNode)(2,i.Box,{width:"60px",textAlign:"right",children:s&&(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p,format:function(e){return(0,r.toFixed)(e)+" K"}})||"\u2014"})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:!!s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:2,children:[m," / ",f," units"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})],4),children:(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:s,beakerContents:C})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(0),r=n(15),a=n(2);t.ChemMaster=function(e){var t=e.state,n=t.config,l=t.data,s=n.ref,p=l.screen,m=l.beakerContents,f=void 0===m?[]:m,h=l.bufferContents,C=void 0===h?[]:h,b=l.beakerCurrentVolume,g=l.beakerMaxVolume,N=l.isBeakerLoaded,v=l.isPillBottleLoaded,V=l.pillBottleCurrentAmount,y=l.pillBottleMaxAmount;return"analyze"===p?(0,o.createComponentVNode)(2,d,{state:t}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:b,initial:0})," / "+g+" units"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(s,"eject")}})],4),children:[!N&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"No beaker loaded."}),!!N&&0===f.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Beaker is empty."}),(0,o.createComponentVNode)(2,i,{children:f.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"buffer"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Buffer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:1,children:"Mode:"}),(0,o.createComponentVNode)(2,a.Button,{color:l.mode?"good":"bad",icon:l.mode?"exchange-alt":"times",content:l.mode?"Transfer":"Destroy",onClick:function(){return(0,r.act)(s,"toggleMode")}})],4),children:[0===C.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Buffer is empty."}),(0,o.createComponentVNode)(2,i,{children:C.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"beaker"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Packaging",children:(0,o.createComponentVNode)(2,u,{state:t})}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Pill Bottle",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[V," / ",y," pills"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(s,"ejectPillBottle")}})],4)})],0)};var i=a.Table,c=function(e){var t=e.state,n=e.chemical,i=e.transferTo,c=t.config.ref;return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:n.volume,initial:0})," units of "+n.name]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:5,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"10",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:10,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1e3,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"ellipsis-h",title:"Custom amount",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:-1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"question",title:"Analyze",onClick:function(){return(0,r.act)(c,"analyze",{id:n.id})}})]})]},n.id)},l=function(e){var t=e.label,n=e.amountUnit,r=e.amount,i=e.onChangeAmount,c=e.onCreate,l=e.sideNote;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,children:[(0,o.createComponentVNode)(2,a.NumberInput,{width:14,unit:n,step:1,stepPixelSize:15,value:r,minValue:1,maxValue:10,onChange:i}),(0,o.createComponentVNode)(2,a.Button,{ml:1,content:"Create",onClick:c}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,ml:1,color:"label",content:l})]})},u=function(e){var t,n;function i(){var t;return(t=e.call(this)||this).state={pillAmount:1,patchAmount:1,bottleAmount:1,packAmount:1},t}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=(this.state,this.props),n=t.state.config.ref,i=this.state,c=i.pillAmount,u=i.patchAmount,d=i.bottleAmount,s=i.packAmount,p=t.state.data,m=p.condi,f=p.chosenPillStyle,h=p.pillStyles,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.LabeledList,{children:[!m&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill type",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===f,textAlign:"center",color:"transparent",onClick:function(){return(0,r.act)(n,"pillStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!m&&(0,o.createComponentVNode)(2,l,{label:"Pills",amount:c,amountUnit:"pills",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({pillAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"pill",amount:c,volume:"auto"})}}),!m&&(0,o.createComponentVNode)(2,l,{label:"Patches",amount:u,amountUnit:"patches",sideNote:"max 40u",onChangeAmount:function(t,n){return e.setState({patchAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"patch",amount:u,volume:"auto"})}}),!m&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 30u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"bottle",amount:d,volume:"auto"})}}),!!m&&(0,o.createComponentVNode)(2,l,{label:"Packs",amount:s,amountUnit:"packs",sideNote:"max 10u",onChangeAmount:function(t,n){return e.setState({packAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentPack",amount:s,volume:"auto"})}}),!!m&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentBottle",amount:d,volume:"auto"})}})]})},i}(o.Component),d=function(e){var t=e.state,n=t.config.ref,i=t.data.analyzeVars;return(0,o.createComponentVNode)(2,a.Section,{title:"Analysis Results",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return(0,r.act)(n,"goScreen",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",children:i.state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,a.ColorBox,{color:i.color,mr:1}),i.color]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:i.description}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Metabolization Rate",children:[i.metaRate," u/minute"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overdose Threshold",children:i.overD}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Threshold",children:i.addicD})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(0),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(0),r=n(15),a=n(2),i=n(17),c=n(10);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(0),r=n(19),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(0),r=n(19),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(0),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(0),r=(n(22),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(0),r=n(3),a=n(2),i=n(164);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(0),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(0),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(0),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(0),r=n(3),a=n(2),i=n(22);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(0),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(0),r=n(22),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,b=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:b})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(0),r=n(17),a=n(69),i=n(19),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,b=s.updating,g=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:b?"unlock":"lock",content:b?"AUTO":"MANUAL",color:!b&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),g.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(0),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(0),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,b=void 0===C?0:C,g=i.prisoner,N=void 0===g?{}:g;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:b,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:N.name?N.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:N.crimstat?N.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(0),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(0),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.HypnoChair=void 0;var o=n(0),r=n(3),a=n(2);t.HypnoChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",children:"The Enhanced Interrogation Chamber is designed to induce a deep-rooted trance trigger into the subject. Once the procedure is complete, by using the implanted trigger phrase, the authorities are able to ensure immediate and complete obedience and truthfulness."}),(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Phrase",children:(0,o.createComponentVNode)(2,a.Input,{value:i.trigger,onChange:function(e,t){return n("set_phrase",{phrase:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Interrogate Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.interrogating?"Interrupt Interrogation":"Begin Enhanced Interrogation",onClick:function(){return n("interrogate")}}),1===i.interrogating&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(0),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.InfraredEmitter=void 0;var o=n(0),r=n(3),a=n(2);t.InfraredEmitter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.on,l=i.visible;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,a.Button,{icon:l?"eye":"eye-slash",content:l?"Visible":"Invisible",selected:l,onClick:function(){return n("visibility")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(0),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(0),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(0),r=n(22),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(0),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(0),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MedicalKiosk=void 0;var o=n(0),r=(n(22),n(3)),a=n(2);t.MedicalKiosk=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Health Kiosk",textAlign:"center",icon:"procedures",children:[(0,o.createComponentVNode)(2,a.Box,{my:1,textAlign:"center",children:["Greetings Valued Employee. Please select your desired diagnosis. Diagnosis costs ",i.kiosk_cost," credits.",(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:["Current patient targeted for scanning: ",i.patient_name," |"]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"procedures",disabled:!i.active_status_1,tooltip:"Reads back exact values of your general health scan.",onClick:function(){return n("beginScan_1")},content:"General Health Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"heartbeat",disabled:!i.active_status_2,tooltip:"Provides information based on various non-obvious symptoms,\nlike blood levels or disease status.",onClick:function(){return n("beginScan_2")},content:"Symptom Based Checkup"}),(0,o.createComponentVNode)(2,a.Button,{tooltip:"Resets the current scanning target, cancelling current scans.",icon:"sync",color:"average",onClick:function(){return n("clearTarget")},content:"Reset Scanner"})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"radiation-alt",disabled:!i.active_status_3,tooltip:"Provides information about brain trauma and radiation.",onClick:function(){return n("beginScan_3")},content:"Neurological/Radiological Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"mortar-pestle",disabled:!i.active_status_4,tooltip:"Provides a list of consumed chemicals, as well as potential\nside effects.",onClick:function(){return n("beginScan_4")},content:"Chemical Analysis and Psychoactive Scan"})]})]}),(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"General Health Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_1&&(0,o.createComponentVNode)(2,a.Section,{title:"Patient Health",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.patient_health/100,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.patient_health}),"%"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brute Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.brute_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.brute_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Burn Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.burn_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.burn_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.suffocation_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.suffocation_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toxin Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.toxin_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.toxin_health})})})]})})})}},"tab_1"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Symptom Based Checkup",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_2&&(0,o.createComponentVNode)(2,a.Section,{title:"Symptom Based Checkup",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Patient Status",color:"good",children:i.patient_status}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease Status",children:i.patient_illness}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease information",children:i.illness_info}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Levels",children:[i.bleed_status,(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.blood_levels/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.blood_levels})})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Information",children:i.blood_status})]})})})}},"tab_2"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Neurological/Radiological Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_3&&(0,o.createComponentVNode)(2,a.Section,{title:"Patient Neurological and Radiological Health ",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cellular Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.clone_health/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.clone_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.brain_damage/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.brain_damage})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Status",color:"health-0",children:i.brain_health}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Status",children:i.rad_status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Irradiation Percentage",children:[i.rad_value,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Trauma Status",children:i.trauma_status})]})})}},"tab_3"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Chemical Analysis and Psychoactive Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_4&&(0,o.createComponentVNode)(2,a.Section,{title:"Chemical and Psychoactive Analysis",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:i.are_chems_present?i.chemical_list.length?i.chemical_list.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[e.volume," units of ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No reagents detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No reagents detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overdose Status",color:"bad",children:i.are_overdoses_present?i.overdose_status.length?i.overdose_status.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Overdosing on ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No reagents detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient is not overdosing."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Status",color:"bad",children:i.are_addictions_present?i.addiction_status.length?i.addiction_status.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Addicted to ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"Patient has no addictions."}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient has no addictions detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Psychoactive Status",children:i.hallucinating_status})]})})}},"tab_4")]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningVendor=void 0;var o=n(0),r=n(15),a=n(2),i=n(10);t.MiningVendor=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=[].concat(c.product_records);return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"User",children:c.user&&(0,o.createComponentVNode)(2,a.Box,{children:["Welcome, ",(0,o.createVNode)(1,"b",null,c.user.name||"Unknown",0),","," ",(0,o.createVNode)(1,"b",null,c.user.job||"Unemployed",0),"!",(0,o.createVNode)(1,"br"),"Your balance is ",(0,o.createVNode)(1,"b",null,[c.user.points,(0,o.createTextVNode)(" mining points")],0),"."]})||(0,o.createComponentVNode)(2,a.Box,{color:"light-gray",children:["No registered ID card!",(0,o.createVNode)(1,"br"),"Please contact your local HoP!"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Equipment",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createVNode)(1,"span",(0,i.classes)(["vending32x32",e.path]),null,1,{style:{"vertical-align":"middle","horizontal-align":"middle"}})," ",(0,o.createVNode)(1,"b",null,e.name,0)]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{style:{"min-width":"95px","text-align":"center"},disabled:!c.user||e.price>c.user.points,content:e.price+" points",onClick:function(){return(0,r.act)(l,"purchase",{ref:e.ref})}})})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mint=void 0;var o=n(0),r=n(3),a=n(2);t.Mint=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.inserted_materials||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Materials",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.processing?"times":"power-off",content:i.processing?"Stop":"Start",selected:i.processing,onClick:function(){return n(i.processing?"stoppress":"startpress")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.material,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.chosen_material===e.material?"check-square":"square",selected:i.chosen_material===e.material,onClick:function(){return n("changematerial",{material_name:e.material})}}),children:[e.amount," cm\xb3"]},e.material)}))})}),(0,o.createComponentVNode)(2,a.Section,{children:["Pressed ",i.produced_coins," coins this cycle."]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(0),r=n(3),a=n(2),i=n(70);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,d=c.on,s=c.cell,p=c.cellPercent,m=c.load,f=c.mode,h=c.modeStatus,C=c.haspai,b=c.autoReturn,g=c.autoPickup,N=c.reportDelivery,v=c.destination,V=c.home,y=c.id,_=c.destinations,k=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:f})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:v||"None",options:k,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:k,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:N,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControl=void 0;var o=n(0),r=n(3),a=n(2);t.NaniteChamberControl=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.status_msg,l=i.locked,u=i.occupant_name,d=i.has_nanites,s=i.nanite_volume,p=i.regen_rate,m=i.safety_threshold,f=i.cloud_id,h=i.scan_level;if(c)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:c});var C=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"lock-open",content:l?"Locked":"Unlocked",color:l?"bad":"default",onClick:function(){return n("toggle_lock")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return n("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:p})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return n("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return n("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:C.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),h>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,b=t.timer_trigger,g=t.timer_trigger_delay,N=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[b," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[g," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:N.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(0),r=n(17),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,b=u.trigger_cooldown,g=u.activated,N=u.has_extra_settings,v=u.extra_settings,V=void 0===v?{}:v;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:b})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:g?"power-off":"times",content:g?"Active":"Inactive",selected:g,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!N&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(0),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(0),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(0),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAiRestorer=void 0;var o=n(0),r=n(2),a=n(3);t.NtosAiRestorer=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.nocard,l=i.error,u=i.name,d=i.ai_laws,s=i.isDead,p=i.restoring;return(0,o.createFragment)([l&&(0,o.createComponentVNode)(2,r.NoticeBox,{children:l}),(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"eject",content:u||"----------",disabled:!u,onClick:function(){return n("PRG_eject")}}),!c&&(0,o.createComponentVNode)(2,r.Section,{title:"System Status",level:2,buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:s?"bad":"good",children:s?"Nonfunctional":"Functional"}),children:[(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,r.ProgressBar,{value:100,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})})}),!!p&&(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"20px",color:"good",mt:1,children:"RECONSTRUCTION IN PROGRESS"}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"plus",content:"Begin Reconstruction",disabled:p,mt:1,onClick:function(){return n("PRG_beginReconstruction")}}),(0,o.createComponentVNode)(2,r.Section,{title:"laws",level:3,children:d.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{className:"candystripe",children:e},e)}))})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(0),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCard=void 0;var o=n(0),r=n(3),a=n(2),i=n(163),c=n(17);t.NtosCard=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data,u=l.authenticated,d=l.regions,s=void 0===d?[]:d,p=l.access_on_card,m=void 0===p?[]:p,f=l.jobs,h=void 0===f?{}:f,C=l.id_rank,b=l.id_owner,g=l.has_id,N=l.have_printer,v=l.have_id_slot,V=l.id_name;return v?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:g&&u?(0,o.createComponentVNode)(2,a.Input,{value:b,width:"250px",onInput:function(e,t){return n("PRG_edit",{name:t})}}):b||"No Card Inserted",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!N||!g,onClick:function(){return n("PRG_print")}}),(0,o.createComponentVNode)(2,a.Button,{icon:u?"sign-out-alt":"sign-in-alt",content:u?"Log Out":"Log In",color:u?"bad":"good",onClick:function(){n(u?"PRG_logout":"PRG_authenticate")}})],4),children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eject",content:V,onClick:function(){return n("PRG_eject")}})}),!!g&&!!u&&(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Access",children:(0,o.createComponentVNode)(2,i.AccessList,{accesses:s,selectedList:m,accessMod:function(e){return n("PRG_access",{access_target:e})},grantAll:function(){return n("PRG_grantall")},denyAll:function(){return n("PRG_denyall")},grantDep:function(e){return n("PRG_grantregion",{region:e})},denyDep:function(e){return n("PRG_denyregion",{region:e})}})}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Jobs",children:(0,o.createComponentVNode)(2,a.Section,{title:C,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"exclamation-triangle",content:"Terminate",color:"bad",onClick:function(){return n("PRG_terminate")}}),children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Custom...",onCommit:function(e,t){return n("PRG_assign",{assign_target:"Custom",custom_name:t})}}),(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:(0,c.map)((function(e,t){var r=e||[];return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:t,children:r.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.display_name,onClick:function(){return n("PRG_assign",{assign_target:e.job})}},e.job)}))},t)}))(h)})]})})]})],0):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This program requires an ID slot in order to function"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(0),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCrewManifest=void 0;var o=n(0),r=n(3),a=n(2),i=n(17);t.NtosCrewManifest=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.have_printer,u=c.manifest,d=void 0===u?{}:u;return(0,o.createComponentVNode)(2,a.Section,{title:"Crew Manifest",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!l,onClick:function(){return n("PRG_print")}}),children:(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.Section,{level:2,title:t,children:(0,o.createComponentVNode)(2,a.Table,{children:e.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:["(",e.rank,")"]})]},e.name)}))})},t)}))(d)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosFileManager=t.FileTable=void 0;var o=n(0),r=n(2),a=n(3),i=function(e){var t=e.files,n=void 0===t?[]:t,a=e.usbconnected,i=e.usbmode,c=e.onUpload,l=e.onDelete,u=e.onRename;return(0,o.createComponentVNode)(2,r.Table,{children:[(0,o.createComponentVNode)(2,r.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,r.Table.Cell,{children:"File"}),(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,children:"Type"}),(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,children:"Size"})]}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,r.Table.Cell,{children:e.undeletable?e.name:(0,o.createComponentVNode)(2,r.Button.Input,{fluid:!0,content:e.name,currentValue:e.name,tooltip:"Rename",onCommit:function(t,n){return u(e.name,n)}})}),(0,o.createComponentVNode)(2,r.Table.Cell,{children:e.type}),(0,o.createComponentVNode)(2,r.Table.Cell,{children:e.size}),(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,children:!e.undeletable&&(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:"trash",confirmIcon:"times",confirmContent:"",tooltip:"Delete",onClick:function(){return l(e.name)}}),!!a&&(i?(0,o.createComponentVNode)(2,r.Button,{icon:"download",tooltip:"Download",onClick:function(){return c(e.name)}}):(0,o.createComponentVNode)(2,r.Button,{icon:"upload",tooltip:"Upload",onClick:function(){return c(e.name)}}))],0)})]},e.name)}))]})};t.FileTable=i;t.NtosFileManager=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.usbconnected,u=c.files,d=void 0===u?[]:u,s=c.usbfiles,p=void 0===s?[]:s;return(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Section,{children:(0,o.createComponentVNode)(2,i,{files:d,usbconnected:l,onUpload:function(e){return n("PRG_copytousb",{name:e})},onDelete:function(e){return n("PRG_deletefile",{name:e})},onRename:function(e,t){return n("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return n("PRG_clone",{file:e})}})}),l&&(0,o.createComponentVNode)(2,r.Section,{title:"Data Disk",children:(0,o.createComponentVNode)(2,i,{usbmode:!0,files:p,usbconnected:l,onUpload:function(e){return n("PRG_copyfromusb",{name:e})},onDelete:function(e){return n("PRG_deletefile",{name:e})},onRename:function(e,t){return n("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return n("PRG_clone",{file:e})}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosJobManager=void 0;var o=n(0),r=n(3),a=n(2);t.NtosJobManager=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.authed,l=i.cooldown,u=i.slots,d=void 0===u?[]:u,s=i.prioritized,p=void 0===s?[]:s;return c?(0,o.createComponentVNode)(2,a.Section,{children:[l>0&&(0,o.createComponentVNode)(2,a.Dimmer,{children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"20px",mt:10,children:["On Cooldown: ",l,"s"]})}),(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Prioritized"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Slots"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:e.title,disabled:e.total<=0,checked:e.total>0&&p.includes(e.title),onClick:function(){return n("PRG_priority",{target:e.title})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[e.current," / ",e.total]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"Open",disabled:!e.status_open,onClick:function(){return n("PRG_open_job",{target:e.title})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Close",disabled:!e.status_close,onClick:function(){return n("PRG_close_job",{target:e.title})}})]})]},e.title)}))]})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Current ID does not have access permissions to change job slots."})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(0),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug",job_manage:"address-book",crewmani:"clipboard-list"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(0),r=n(3),a=n(2);(0,n(41).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,b=i.messages,g=void 0===b?[]:b,N=null!==s,v=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:N&&(v?g.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),N&&v&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDos=void 0;var o=n(0),r=n(2),a=n(3);(0,n(41).createLogger)("NetDos");t.NtosNetDos=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.relays,l=void 0===c?[]:c,u=i.focus,d=i.target,s=i.speed,p=i.overload,m=i.capacity,f=i.error;if(f)return(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:f}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,content:"Reset",textAlign:"center",onClick:function(){return n("PRG_reset")}})],4);var h=function(e){for(var t="",n=p/m;t.lengthn?t+="0":t+="1";return t};return d?(0,o.createComponentVNode)(2,r.Section,{fontFamily:"monospace",textAlign:"center",children:[(0,o.createComponentVNode)(2,r.Box,{children:["CURRENT SPEED: ",s," GQ/s"]}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)})]}):(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Target",children:l.map((function(e){return(0,o.createComponentVNode)(2,r.Button,{content:e.id,selected:u===e.id,onClick:function(){return n("PRG_target_relay",{targid:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,bold:!0,content:"EXECUTE",color:"bad",textAlign:"center",disabled:!u,mt:1,onClick:function(){return n("PRG_execute")}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(0),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetMonitor=void 0;var o=n(0),r=n(2),a=n(3);t.NtosNetMonitor=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.ntnetrelays,l=i.ntnetstatus,u=i.config_softwaredownload,d=i.config_peertopeer,s=i.config_communication,p=i.config_systemcontrol,m=i.idsalarm,f=i.idsstatus,h=i.ntnetmaxlogs,C=i.maxlogs,b=i.minlogs,g=i.ntnetlogs,N=void 0===g?[]:g;return(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:"WARNING: Disabling wireless transmitters when using a wireless device may prevent you from reenabling them!"}),(0,o.createComponentVNode)(2,r.Section,{title:"Wireless Connectivity",buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:l?"power-off":"times",content:l?"ENABLED":"DISABLED",selected:l,onClick:function(){return n("toggleWireless")}}),children:c?(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Active NTNet Relays",children:c})}):"No Relays Connected"}),(0,o.createComponentVNode)(2,r.Section,{title:"Firewall Configuration",children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Software Downloads",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:u?"power-off":"times",content:u?"ENABLED":"DISABLED",selected:u,onClick:function(){return n("toggle_function",{id:"1"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Peer to Peer Traffic",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:d?"power-off":"times",content:d?"ENABLED":"DISABLED",selected:d,onClick:function(){return n("toggle_function",{id:"2"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Communication Systems",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:s?"power-off":"times",content:s?"ENABLED":"DISABLED",selected:s,onClick:function(){return n("toggle_function",{id:"3"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Remote System Control",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:p?"power-off":"times",content:p?"ENABLED":"DISABLED",selected:p,onClick:function(){return n("toggle_function",{id:"4"})}})})]})}),(0,o.createComponentVNode)(2,r.Section,{title:"Security Systems",children:[!!m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:"NETWORK INCURSION DETECTED"}),(0,o.createComponentVNode)(2,r.Box,{italics:!0,children:"Abnormal activity has been detected in the network. Check system logs for more information"})],4),(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"IDS Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:f?"power-off":"times",content:f?"ENABLED":"DISABLED",selected:f,onClick:function(){return n("toggleIDS")}}),(0,o.createComponentVNode)(2,r.Button,{icon:"sync",content:"Reset",color:"bad",onClick:function(){return n("resetIDS")}})],4)}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Max Log Count",buttons:(0,o.createComponentVNode)(2,r.NumberInput,{value:h,minValue:b,maxValue:C,width:"39px",onChange:function(e,t){return n("updatemaxlogs",{new_number:t})}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"System Log",level:2,buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:"trash",content:"Clear Logs",onClick:function(){return n("purgelogs")}}),children:N.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{className:"candystripe",children:e.entry},e.entry)}))})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRevelation=void 0;var o=n(0),r=n(2),a=n(3);t.NtosRevelation=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Button.Input,{fluid:!0,content:"Obfuscate Name...",onCommit:function(e,t){return n("PRG_obfuscate",{new_name:t})},mb:1}),(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Payload Status",buttons:(0,o.createComponentVNode)(2,r.Button,{content:i.armed?"ARMED":"DISARMED",color:i.armed?"bad":"average",onClick:function(){return n("PRG_arm")}})})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,bold:!0,content:"ACTIVATE",textAlign:"center",color:"bad",disabled:!i.armed})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(0),r=n(17),a=n(69),i=n(19),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,b=m.SM_ambienttemp,g=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var N=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),v=Math.max.apply(Math,[1].concat(N.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(b)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(g)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*N.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:N.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:v,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(0),r=n(3),a=n(2),i=n(117);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,b=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!b&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!b&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!b&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(0),r=n(10),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(0),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(0),r=n(22),a=n(15),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(0),r=n(22),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(0),r=n(17),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(0),r=n(17),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(0),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(0),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(0),r=n(17),a=n(69),i=n(19),c=n(10),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),b=Math.max.apply(Math,[u].concat(n.supply,n.demand)),g=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:b,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:b,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,b],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,b],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),g.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProximitySensor=void 0;var o=n(0),r=n(3),a=n(2);t.ProximitySensor=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.minutes,l=i.seconds,u=i.timing,d=i.scanning,s=i.sensitivity;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"lock":"unlock",content:d?"Armed":"Not Armed",selected:d,onClick:function(){return n("scanning")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Detection Range",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:d,onClick:function(){return n("sense",{range:-1})}})," ",String(s).padStart(1,"1")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:d,onClick:function(){return n("sense",{range:1})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Auto Arm",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:u?"Stop":"Start",selected:u,disabled:d,onClick:function(){return n("time")}}),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:d||u,onClick:function(){return n("input",{adjust:-30})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:d||u,onClick:function(){return n("input",{adjust:-1})}})," ",String(c).padStart(2,"0"),":",String(l).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:d||u,onClick:function(){return n("input",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:d||u,onClick:function(){return n("input",{adjust:30})}})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(0),r=n(17),a=n(19),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,b=u.useCommand,g=u.subspace,N=u.subspaceSwitchable,v=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),v&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:v.color,ml:2,children:["[",v.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"High volume "+(b?"ON":"OFF"),onClick:function(){return n("command")}}),!!N&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"Subspace Tx "+(g?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!g&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RadioactiveMicrolaser=void 0;var o=n(0),r=n(3),a=n(2);t.RadioactiveMicrolaser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.irradiate,l=i.stealth,u=i.scanmode,d=i.intensity,s=i.wavelength,p=i.on_cooldown,m=i.cooldown;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Status",children:(0,o.createComponentVNode)(2,a.Box,{color:p?"average":"good",children:p?"Recharging":"Ready"})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Scanner Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Irradiation",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,onClick:function(){return n("irradiate")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stealth Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:l?"eye-slash":"eye",content:l?"On":"Off",disabled:!c,selected:l,onClick:function(){return n("stealth")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"mortar-pestle":"heartbeat",content:u?"Scan Reagents":"Scan Health",disabled:c&&l,onClick:function(){return n("scanmode")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laser Settings",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Intensity",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("radintensity",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("radintensity",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(d),width:"40px",minValue:1,maxValue:20,onChange:function(e,t){return n("radintensity",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("radintensity",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("radintensity",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Wavelength",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("radwavelength",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("radwavelength",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(s),width:"40px",minValue:0,maxValue:120,onChange:function(e,t){return n("radwavelength",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("radwavelength",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("radwavelength",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Cooldown",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:m})})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(0),r=n(10),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,b=s.mode,g=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:b&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:g.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Roulette=t.RouletteBetTable=t.RouletteBoard=t.RouletteNumberButton=void 0;var o=n(0),r=n(10),a=n(3),i=n(2),c=n(41);n(15);(0,c.createLogger)("Roulette");var l=function(e){if(0===e)return"green";for(var t=[[1,10],[19,28]],n=!0,o=0;o=r[0]&&e<=r[1]){n=!1;break}}var a=e%2==0;return(n?a:!a)?"red":"black"},u=function(e){var t=e.number,n=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Button,{bold:!0,content:t,color:l(t),width:"40px",height:"28px",fontSize:"20px",textAlign:"center",mb:0,className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:t})}})};t.RouletteNumberButton=u;var d=function(e){var t=e.state,n=(0,a.useBackend)(e).act;return(0,o.createVNode)(1,"table","Table",[(0,o.createVNode)(1,"tr","Roulette__board-row",[(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{content:"0",color:"transparent",height:"88px",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:0})}}),2,{rowSpan:"3"}),[3,6,9,12,15,18,21,24,27,30,33,36].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s3rd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[2,5,8,11,14,17,20,23,26,29,32,35].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s2nd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[1,4,7,10,13,16,19,22,25,28,31,34].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1st col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1st 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-12"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2nd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s13-24"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"3rd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s25-36"})}}),2,{colSpan:"4"})],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1-18",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-18"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Even",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"even"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Black",color:"black",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"black"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Red",color:"red",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"red"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Odd",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"odd"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"19-36",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s19-36"})}}),2,{colSpan:"2"})],4)],4,{style:{width:"1px"}})};t.RouletteBoard=d;var s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={customBet:500},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=c.prototype;return u.setCustomBet=function(e){this.setState({customBet:e})},u.render=function(){var e=this,t=(0,a.useBackend)(this.props),n=t.act,c=t.data,u=c.BetType;return u.startsWith("s")&&(u=u.substring(1,u.length)),(0,o.createVNode)(1,"table","Roulette__lowertable",[(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Last Spun:",16),(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Current Bet:",16)],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--spinresult","Roulette__lowertable--spinresult-"+l(c.LastSpin)]),c.LastSpin,0),(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--betscell"]),[(0,o.createComponentVNode)(2,i.Box,{bold:!0,mt:1,mb:1,fontSize:"25px",textAlign:"center",children:[c.BetAmount," cr on ",u]}),(0,o.createComponentVNode)(2,i.Box,{ml:1,mr:1,children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 10 cr",onClick:function(){return n("ChangeBetAmount",{amount:10})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 50 cr",onClick:function(){return n("ChangeBetAmount",{amount:50})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 100 cr",onClick:function(){return n("ChangeBetAmount",{amount:100})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 500 cr",onClick:function(){return n("ChangeBetAmount",{amount:500})}}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet custom amount...",onClick:function(){return n("ChangeBetAmount",{amount:e.state.customBet})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{size:.1,children:(0,o.createComponentVNode)(2,i.NumberInput,{value:this.state.customBet,minValue:0,maxValue:1e3,step:10,stepPixelSize:4,width:"40px",onChange:function(t,n){return e.setCustomBet(n)}})})]})]})],4)],4),(0,o.createVNode)(1,"tr",null,(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Box,{bold:!0,m:1,fontSize:"14px",textAlign:"center",children:"Swipe an ID card with a connected account to spin!"}),2,{colSpan:"2"}),2),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","Roulette__lowertable--cell",[(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,mr:1,children:"House Balance:"}),(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:c.HouseBalance?c.HouseBalance+" cr":"None"})],4),(0,o.createVNode)(1,"td","Roulette__lowertable--cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:c.IsAnchored?"Bolted":"Unbolted",m:1,color:"transparent",textAlign:"center",onClick:function(){return n("anchor")}}),2)],4)],4)},c}(o.Component);t.RouletteBetTable=s;t.Roulette=function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{state:e.state}),(0,o.createComponentVNode)(2,s,{state:e.state})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(0),r=n(3),a=n(2),i=n(162);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(0),r=n(3),a=n(2),i=n(70),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return b}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return g}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return N}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},N=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,v,{state:t})],4)},v=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(0),r=n(17),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(0),r=n(2),a=n(3),i=n(19);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(0),r=n(3),a=n(2);t.Sleeper=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.open,l=i.occupant,u=void 0===l?{}:l,d=i.occupied,s=(i.chems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u.name?u.name:"No Occupant",minHeight:"210px",buttons:!!u.stat&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:u.statstate,children:u.stat}),children:!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.health,minValue:u.minHealth,maxValue:u.maxHealth,ranges:{good:[50,Infinity],average:[0,50],bad:[-Infinity,0]}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Oxygen",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u[e.type],minValue:0,maxValue:u.maxHealth,color:"bad"})},e.type)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cells",color:u.cloneLoss?"bad":"good",children:u.cloneLoss?"Damaged":"Healthy"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain",color:u.brainLoss?"bad":"good",children:u.brainLoss?"Abnormal":"Healthy"})]})],4)}),(0,o.createComponentVNode)(2,a.Section,{title:"Medicines",minHeight:"205px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c?"door-open":"door-closed",content:c?"Open":"Closed",onClick:function(){return n("door")}}),children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"flask",content:e.name,disabled:!(d&&e.allowed),width:"140px",onClick:function(){return n("inject",{chem:e.id})}},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(0),r=n(17),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(0),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(0),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(0),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(0),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(0),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(0),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(0),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(0),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(0),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,d=i.regime_set,s=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(0),r=n(19),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Timer=void 0;var o=n(0),r=n(3),a=n(2);t.Timer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.minutes,l=i.seconds,u=i.timing,d=i.loop;return(0,o.createComponentVNode)(2,a.Section,{title:"Timing Unit",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:d?"Repeating":"Repeat",selected:d,onClick:function(){return n("repeat")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:u?"Stop":"Start",selected:u,onClick:function(){return n("time")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:u,onClick:function(){return n("input",{adjust:-30})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:u,onClick:function(){return n("input",{adjust:-1})}})," ",String(c).padStart(2,"0"),":",String(l).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:u,onClick:function(){return n("input",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:u,onClick:function(){return n("input",{adjust:30})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.TransferValve=void 0;var o=n(0),r=n(3),a=n(2);t.TransferValve=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.tank_one,l=i.tank_two,u=i.attached_device,d=i.valve;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve Status",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"unlock":"lock",content:d?"Open":"Closed",disabled:!c||!l,onClick:function(){return n("toggle")}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve Attachment",buttons:(0,o.createComponentVNode)(2,a.Button,{textAlign:"center",width:"30px",icon:"cog",disabled:!u,onClick:function(){return n("device")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:u?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:u,disabled:!u,onClick:function(){return n("remove_device")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert Assembly"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Attachment One",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:c,disabled:!c,onClick:function(){return n("tankone")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert Tank"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Attachment Two",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:l?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:l,disabled:!l,onClick:function(){return n("tanktwo")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert Tank"})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(0),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Uplink=void 0;var o=n(0),r=n(22),a=n(15),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,d=r.lockable,s=r.telecrystals,p=r.categories,m=void 0===p?[]:p,f=this.state,h=f.hoveredItem,C=f.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:s>0?"good":"bad",children:[s," TC"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:C,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return(0,a.act)(c,"lock")}})],0),children:C.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:m.flatMap((function(e){return e.items||[]})).filter((function(e){var t=C.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:m.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:h,telecrystals:s,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}})}},n)}))})})},r}(o.Component);t.Uplink=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.telecrystals,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,d=e.onBuyMouseOut,s=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-sl.user.cash),content:t?"FREE":e.price+" cr",onClick:function(){return(0,r.act)(u,"vend",{ref:e.ref})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Wires=void 0;var o=n(0),r=n(3),a=n(2);t.Wires=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.wires||[],l=i.status||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.color,labelColor:e.color,color:e.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:e.cut?"Mend":"Cut",onClick:function(){return n("cut",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Pulse",onClick:function(){return n("pulse",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:e.attached?"Detach":"Attach",onClick:function(){return n("attach",{wire:e.color})}})],4),children:!!e.wire&&(0,o.createVNode)(1,"i",null,[(0,o.createTextVNode)("("),e.wire,(0,o.createTextVNode)(")")],0)},e.color)}))})}),!!l.length&&(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.SyndPane=t.StatusPane=t.SyndContractor=t.FakeTerminal=void 0;var o=n(0),r=n(2),a=n(3);var i=function(e){var t,n;function a(t){var n;return(n=e.call(this,t)||this).timer=null,n.state={currentIndex:0,currentDisplay:[]},n}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=a.prototype;return i.tick=function(){var e=this.props,t=this.state;t.currentIndex<=e.allMessages.length?(this.setState((function(e){return{currentIndex:e.currentIndex+1}})),t.currentDisplay.push(e.allMessages[t.currentIndex])):(clearTimeout(this.timer),setTimeout(e.onFinished,e.finishedTimeout))},i.componentDidMount=function(){var e=this,t=this.props.linesPerSecond,n=void 0===t?2.5:t;this.timer=setInterval((function(){return e.tick()}),1e3/n)},i.componentWillUnmount=function(){clearTimeout(this.timer)},i.render=function(){return(0,o.createComponentVNode)(2,r.Box,{m:1,children:this.state.currentDisplay.map((function(e){return(0,o.createFragment)([e,(0,o.createVNode)(1,"br")],0,e)}))})},a}(o.Component);t.FakeTerminal=i;t.SyndContractor=function(e){var t=(0,a.useBackend)(e),n=t.data,c=t.act,u=["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(2e4*Math.random()),"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"],d=!!n.error&&(0,o.createComponentVNode)(2,r.Dimmer,{children:(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"red",minHeight:"150px",mt:30,ml:15,mr:15,children:(0,o.createComponentVNode)(2,r.Table,{m:1,children:(0,o.createComponentVNode)(2,r.Table.Row,{children:[(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,fontSize:"100px",children:(0,o.createComponentVNode)(2,r.Icon,{name:"exclamation-triangle",mt:4,ml:2})}),(0,o.createComponentVNode)(2,r.Table.Cell,{verticalAlign:"top",textAlign:"center",children:[(0,o.createComponentVNode)(2,r.Box,{m:1,textAlign:"left",width:"100%",minHeight:"110px",children:n.error}),(0,o.createComponentVNode)(2,r.Button,{content:"Dismiss",onClick:function(){return c("PRG_clear_error")}})]})]})})})});return n.logged_in?n.logged_in&&n.first_load?(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"525px",children:(0,o.createComponentVNode)(2,i,{allMessages:u,finishedTimeout:3e3,onFinished:function(){return c("PRG_set_first_load_finished")}})}):n.info_screen?(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"500px",children:(0,o.createComponentVNode)(2,i,{allMessages:["SyndTract v2.0","","We've identified potentional high-value targets that are","currently assigned to your mission area. They are believed","to hold valuable information which could be of immediate","importance to our organisation.","","Listed below are all of the contracts available to you. You","are to bring the specified target to the designated","drop-off, and contact us via this uplink. We will send","a specialised extraction unit to put the body into.","","We want targets alive - but we will sometimes pay slight","amounts if they're not, you just won't recieve the shown","bonus. You can redeem your payment through this uplink in","the form of raw telecrystals, which can be put into your","regular Syndicate uplink to purchase whatever you may need.","We provide you with these crystals the moment you send the","target up to us, which can be collected at anytime through","this system.","","Targets extracted will be ransomed back to the station once","their use to us is fulfilled, with us providing you a small","percentage cut. You may want to be mindful of them","identifying you when they come back. We provide you with","a standard contractor loadout, which will help cover your","identity."],linesPerSecond:10})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,content:"CONTINUE",color:"transparent",textAlign:"center",onClick:function(){return c("PRG_toggle_info")}})],4):(0,o.createFragment)([d,(0,o.createComponentVNode)(2,l,{state:e.state})],0):(0,o.createComponentVNode)(2,r.Section,{minHeight:"525px",children:[(0,o.createComponentVNode)(2,r.Box,{width:"100%",textAlign:"center",children:(0,o.createComponentVNode)(2,r.Button,{content:"REGISTER USER",color:"transparent",onClick:function(){return c("PRG_login")}})}),!!n.error&&(0,o.createComponentVNode)(2,r.NoticeBox,{children:n.error})]})};var c=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,r.Section,{title:(0,o.createFragment)([(0,o.createTextVNode)("Contractor Status"),(0,o.createComponentVNode)(2,r.Button,{content:"View Information Again",color:"transparent",mb:0,ml:1,onClick:function(){return n("PRG_toggle_info")}})],4),buttons:(0,o.createComponentVNode)(2,r.Box,{bold:!0,mr:1,children:[i.contract_rep," Rep"]}),children:(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:.85,children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"TC Availible",buttons:(0,o.createComponentVNode)(2,r.Button,{content:"Claim",disabled:i.redeemable_tc<=0,onClick:function(){return n("PRG_redeem_TC")}}),children:i.redeemable_tc}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"TC Earned",children:i.earned_tc})]})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Contracts Completed",children:i.contracts_completed}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Current Status",children:"ACTIVE"})]})})]})})};t.StatusPane=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,l=i.contractor_hub_items||[],u=i.contracts||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,r.Tabs,{children:[(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:"Contracts",children:(0,o.createComponentVNode)(2,r.Section,{title:"Availible Contracts",buttons:(0,o.createComponentVNode)(2,r.Button,{content:"Call Extraction",disabled:!i.ongoing_contract||i.extraction_enroute,onClick:function(){return n("PRG_call_extraction")}}),children:u.map((function(e){var t=e.status>1;if(!(e.status>=5))return(0,o.createComponentVNode)(2,r.Section,{title:e.target+" ("+e.target_rank+")",level:t?1:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,mr:1,children:[e.payout," (+",e.payout_bonus,") TC"]}),(0,o.createComponentVNode)(2,r.Button,{content:t?"Abort":"Accept",disabled:e.extraction_enroute,color:t&&"bad",onClick:function(){return n("PRG_contract"+(t?"_abort":"-accept"),{contract_id:e.id})}})],4),children:(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:e.message}),(0,o.createComponentVNode)(2,r.Grid.Column,{size:.5,children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,mb:1,children:"Dropoff Location:"}),(0,o.createComponentVNode)(2,r.Box,{children:e.dropoff})]})]})},e.target)}))})}),(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:"Uplink",children:(0,o.createComponentVNode)(2,r.Section,{children:l.map((function(e){var t=e.cost?e.cost+" Rep":"FREE",a=-1!==e.limited;return(0,o.createComponentVNode)(2,r.Section,{title:e.name+" - "+t,level:2,buttons:(0,o.createFragment)([a&&(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,mr:1,children:[e.limited," remaining"]}),(0,o.createComponentVNode)(2,r.Button,{content:"Purchase",disabled:i.contract_rep1?r-1:0),i=1;i1?t-1:0),o=1;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(0),r=n(10),a=n(20);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(0),r=n(20),a=n(116);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(0),r=n(20);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(0),r=n(10),a=n(20),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(0),r=n(10),a=n(20);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(0),r=n(10),a=n(20);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(0),r=n(18),a=n(10),i=n(15),c=n(157),l=n(20);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,b=p.unit,g=p.minValue,N=p.maxValue,v=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,k=p.format,x=p.onChange,L=p.onDrag,B=C;(n||s)&&(B=d);var w=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(b?" "+b:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:B,format:k,children:w})||w(k?k(B):B);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:v,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((B-g)/(N-g)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:v,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,g,N);e.setState({editing:!1,value:n}),e.suppressFlicker(),x&&x(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,g,N);return e.setState({editing:!1,value:n}),e.suppressFlicker(),x&&x(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(0),r=n(10),a=n(18),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,b=Object.keys(d);C=N[0]&&t<=N[1]){h=g;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(0),r=n(10),a=n(20);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(0),r=n(10),a=n(20),i=n(116);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=t.altSelection,d=(t.children,c(t,["className","vertical","altSelection","children"])),s=this.getActiveTab(),p=s.tabs,m=s.activeTab,f=s.activeTabKey,h=null;return m&&(h=m.props.content||m.props.children),"function"==typeof h&&(h=h(f)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},d,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",p.map((function(t){var n=t.props,a=n.className,d=n.label,s=(n.content,n.children,n.onClick),p=n.highlight,m=c(n,["className","label","content","children","onClick","highlight"]),h=t.key||t.props.label,C=t.active||h===f,b="Button--altSelected"+(l?"--right":"--bottom");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",C&&"Tabs__tab--active",p&&!C&&"color-yellow",u&&C&&b,a]),selected:!u&&C,color:"transparent",onClick:function(n){e.setState({activeTabKey:h}),s&&s(n,t)}},m,{children:d}),h))})),0),(0,o.createVNode)(1,"div","Tabs__content",h||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(0),r=n(10),a=n(22),i=n(15),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(0),r=n(17),a=n(20),i=n(10),c=n(15);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),b=this.state.viewBox,g=l(r,b,i,c);if(g.length>0){var N=g[0],v=g[g.length-1];g.push([b[0]+h,v[1]]),g.push([b[0]+h,-h]),g.push([-h,-h]),g.push([-h,N[1]])}var V=u(g);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+b[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+b[0]+" "+b[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.getRoute=void 0;var o=n(410),r=n(411),a=n(412),i=n(413),c=n(414),l=n(415),u=n(416),d=n(417),s=n(418),p=n(419),m=n(420),f=n(421),h=n(422),C=n(423),b=n(424),g=n(425),N=n(426),v=n(427),V=n(428),y=n(429),_=n(430),k=n(431),x=n(432),L=n(433),B=n(434),w=n(435),S=n(436),I=n(437),T=n(438),A=n(439),P=n(440),E=n(441),R=n(442),M=n(443),O=n(444),F=n(445),D=n(446),j=n(447),z=n(448),G=n(449),H=n(450),U=n(451),K=n(452),W=n(453),Y=n(454),q=n(455),$=n(456),Q=n(457),X=n(458),J=n(459),Z=n(460),ee=n(461),te=n(462),ne=n(463),oe=n(464),re=n(465),ae=n(466),ie=n(467),ce=n(468),le=n(469),ue=n(470),de=n(471),se=n(472),pe=n(473),me=n(474),fe=n(475),he=n(476),Ce=n(477),be=n(478),ge=n(479),Ne=n(480),ve=n(481),Ve=n(482),ye=n(483),_e=n(484),ke=n(485),xe=n(486),Le=n(487),Be=n(488),we=n(489),Se=n(490),Ie=n(491),Te=n(492),Ae=n(493),Pe=n(494),Ee=n(495),Re=n(496),Me=n(497),Oe=n(498),Fe=n(499),De=n(500),je=n(501),ze=n(502),Ge=n(503),He=n(504),Ue=n(505),Ke=n(506),We=n(507),Ye=n(508),qe=n(509),$e=n(510),Qe=n(511),Xe=n(512),Je=n(513),Ze=n(514),et=n(515),tt=n(516),nt=n(517),ot=n(518),rt=n(519),at=n(520),it=n(521),ct=n(522),lt=n(523),ut=n(524),dt=n(525),st=n(526),pt=n(527),mt=n(528),ft=n(529),ht=n(530),Ct=n(531),bt=n(532),gt=n(533),Nt={achievements:{component:function(){return o.Achievements},scrollable:!0},ai_airlock:{component:function(){return r.AiAirlock},scrollable:!1},airalarm:{component:function(){return a.AirAlarm},scrollable:!0},airlock_electronics:{component:function(){return i.AirlockElectronics},scrollable:!1},apc:{component:function(){return c.Apc},scrollable:!1},atmos_alert:{component:function(){return l.AtmosAlertConsole},scrollable:!0},atmos_control:{component:function(){return u.AtmosControlConsole},scrollable:!0},atmos_filter:{component:function(){return d.AtmosFilter},scrollable:!1},atmos_mixer:{component:function(){return s.AtmosMixer},scrollable:!1},atmos_pump:{component:function(){return p.AtmosPump},scrollable:!1},bepis:{component:function(){return C.Bepis},scrollable:!1},bank_machine:{component:function(){return m.BankMachine},scrollable:!1},blackmarket_uplink:{component:function(){return f.BlackmarketUplink},scrollable:!0,theme:"hackerman"},borgopanel:{component:function(){return b.BorgPanel},scrollable:!0},brig_timer:{component:function(){return g.BrigTimer},scrollable:!1},bsa:{component:function(){return h.BluespaceArtillery},scrollable:!1},canister:{component:function(){return N.Canister},scrollable:!1},canvas:{component:function(){return v.Canvas},scrollable:!1},cargo:{component:function(){return V.Cargo},scrollable:!0},cargo_express:{component:function(){return V.CargoExpress},scrollable:!0},cellular_emporium:{component:function(){return y.CellularEmporium},scrollable:!0},centcom_podlauncher:{component:function(){return _.CentcomPodLauncher},scrollable:!1},acclimator:{component:function(){return k.ChemAcclimator},scrollable:!1},chem_dispenser:{component:function(){return L.ChemDispenser},scrollable:!0},chemical_filter:{component:function(){return B.ChemFilter},scrollable:!0},chem_heater:{component:function(){return w.ChemHeater},scrollable:!0},chem_master:{component:function(){return S.ChemMaster},scrollable:!0},chem_press:{component:function(){return I.ChemPress},scrollable:!1},reaction_chamber:{component:function(){return T.ChemReactionChamber},scrollable:!0},chem_splitter:{component:function(){return A.ChemSplitter},scrollable:!1},chem_synthesizer:{component:function(){return x.ChemDebugSynthesizer},scrollable:!1},synthesizer:{component:function(){return P.ChemSynthesizer},scrollable:!1},codex_gigas:{component:function(){return E.CodexGigas},scrollable:!1},computer_fabricator:{component:function(){return R.ComputerFabricator},scrollable:!1},crayon:{component:function(){return M.Crayon},scrollable:!0},crew:{component:function(){return O.CrewConsole},scrollable:!0},cryo:{component:function(){return F.Cryo},scrollable:!1},decal_painter:{component:function(){return D.DecalPainter},scrollable:!1},disposal_unit:{component:function(){return j.DisposalUnit},scrollable:!1},dna_vault:{component:function(){return z.DnaVault},scrollable:!1},eightball:{component:function(){return G.EightBallVote},scrollable:!1},electropack:{component:function(){return H.Electropack},scrollable:!1},emergency_shuttle_console:{component:function(){return U.EmergencyShuttleConsole},scrollable:!1},engraved_message:{component:function(){return K.EngravedMessage},scrollable:!1},gps:{component:function(){return W.Gps},scrollable:!0},gravity_generator:{component:function(){return Y.GravityGenerator},scrollable:!1},gulag_console:{component:function(){return q.GulagTeleporterConsole},scrollable:!1},gulag_item_reclaimer:{component:function(){return $.GulagItemReclaimer},scrollable:!0},holodeck:{component:function(){return Q.Holodeck},scrollable:!0},hypnochair:{component:function(){return X.HypnoChair},scrollable:!1},implantchair:{component:function(){return J.ImplantChair},scrollable:!1},infrared_emitter:{component:function(){return Z.InfraredEmitter},scrollable:!1},intellicard:{component:function(){return ee.Intellicard},scrollable:!0},keycard_auth:{component:function(){return te.KeycardAuth},scrollable:!1},labor_claim_console:{component:function(){return ne.LaborClaimConsole},scrollable:!1},language_menu:{component:function(){return oe.LanguageMenu},scrollable:!0},launchpad_console:{component:function(){return re.LaunchpadConsole},scrollable:!0},launchpad_remote:{component:function(){return re.LaunchpadRemote},scrollable:!1,theme:"syndicate"},mech_bay_power_console:{component:function(){return ae.MechBayPowerConsole},scrollable:!1},medical_kiosk:{component:function(){return ie.MedicalKiosk},scrollable:!1},mining_vendor:{component:function(){return ce.MiningVendor},scrollable:!0},mint:{component:function(){return le.Mint},scrollable:!1},malfunction_module_picker:{component:function(){return ue.MalfunctionModulePicker},scrollable:!0,theme:"malfunction"},mulebot:{component:function(){return de.Mule},scrollable:!1},nanite_chamber_control:{component:function(){return se.NaniteChamberControl},scrollable:!0},nanite_cloud_control:{component:function(){return pe.NaniteCloudControl},scrollable:!0},nanite_program_hub:{component:function(){return me.NaniteProgramHub},scrollable:!0},nanite_programmer:{component:function(){return fe.NaniteProgrammer},scrollable:!0},nanite_remote:{component:function(){return he.NaniteRemote},scrollable:!0},notificationpanel:{component:function(){return Ce.NotificationPreferences},scrollable:!0},ntnet_relay:{component:function(){return be.NtnetRelay},scrollable:!1},ntos_ai_restorer:{component:function(){return ge.NtosAiRestorer},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_arcade:{component:function(){return Ne.NtosArcade},wrapper:function(){return Ae.NtosWrapper},scrollable:!1,theme:"ntos"},ntos_card:{component:function(){return ve.NtosCard},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_configuration:{component:function(){return Ve.NtosConfiguration},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_crew_manifest:{component:function(){return ye.NtosCrewManifest},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_file_manager:{component:function(){return _e.NtosFileManager},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_job_manager:{component:function(){return ke.NtosJobManager},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_main:{component:function(){return xe.NtosMain},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_net_chat:{component:function(){return Le.NtosNetChat},wrapper:function(){return Ae.NtosWrapper},scrollable:!1,theme:"ntos"},ntos_net_dos:{component:function(){return Be.NtosNetDos},wrapper:function(){return Ae.NtosWrapper},scrollable:!1,theme:"syndicate"},ntos_net_downloader:{component:function(){return we.NtosNetDownloader},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_net_monitor:{component:function(){return Se.NtosNetMonitor},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_power_monitor:{component:function(){return ze.PowerMonitor},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_revelation:{component:function(){return Ie.NtosRevelation},wrapper:function(){return Ae.NtosWrapper},scrollable:!1,theme:"syndicate"},ntos_station_alert:{component:function(){return at.StationAlertConsole},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},ntos_supermatter_monitor:{component:function(){return Te.NtosSupermatterMonitor},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"ntos"},nuclear_bomb:{component:function(){return Pe.NuclearBomb},scrollable:!1,theme:"retro"},ore_redemption_machine:{component:function(){return Me.OreRedemptionMachine},scrollable:!0},ore_box:{component:function(){return Re.OreBox},scrollable:!0},operating_computer:{component:function(){return Ee.OperatingComputer},scrollable:!0},pandemic:{component:function(){return Oe.Pandemic},scrollable:!0},personal_crafting:{component:function(){return Fe.PersonalCrafting},scrollable:!0},portable_generator:{component:function(){return De.PortableGenerator},scrollable:!1},portable_pump:{component:function(){return je.PortablePump},scrollable:!1},portable_scrubber:{component:function(){return je.PortableScrubber},scrollable:!1},power_monitor:{component:function(){return ze.PowerMonitor},scrollable:!0},proximity_sensor:{component:function(){return Ge.ProximitySensor},scrollable:!1},radio:{component:function(){return He.Radio},scrollable:!1},radioactive_microlaser:{component:function(){return Ue.RadioactiveMicrolaser},scrollable:!1},roulette:{component:function(){return We.Roulette},scrollable:!1,theme:"cardtable"},rpd:{component:function(){return Ke.RapidPipeDispenser},scrollable:!0},sat_control:{component:function(){return Ye.SatelliteControl},scrollable:!1},scanner_gate:{component:function(){return qe.ScannerGate},scrollable:!0},shuttle_manipulator:{component:function(){return $e.ShuttleManipulator},scrollable:!0},signaler:{component:function(){return Qe.Signaler},scrollable:!1},sleeper:{component:function(){return Xe.Sleeper},scrollable:!1},slime_swap_body:{component:function(){return Je.SlimeBodySwapper},scrollable:!0},smartvend:{component:function(){return Ze.SmartVend},scrollable:!0},smes:{component:function(){return et.Smes},scrollable:!1},smoke_machine:{component:function(){return tt.SmokeMachine},scrollable:!1},solar_control:{component:function(){return nt.SolarControl},scrollable:!1},space_heater:{component:function(){return ot.SpaceHeater},scrollable:!1},spawners_menu:{component:function(){return rt.SpawnersMenu},scrollable:!0},station_alert:{component:function(){return at.StationAlertConsole},scrollable:!0},suit_storage_unit:{component:function(){return it.SuitStorageUnit},scrollable:!1},synd_contract:{component:function(){return gt.SyndContractor},wrapper:function(){return Ae.NtosWrapper},scrollable:!0,theme:"syndicate"},tanks:{component:function(){return ct.Tank},scrollable:!1},tank_dispenser:{component:function(){return lt.TankDispenser},scrollable:!1},teleporter:{component:function(){return ut.Teleporter},scrollable:!1},thermomachine:{component:function(){return dt.ThermoMachine},scrollable:!1},timer:{component:function(){return st.Timer},scrollable:!1},transfer_valve:{component:function(){return pt.TransferValve},scrollable:!1},turbine_computer:{component:function(){return mt.TurbineComputer},scrollable:!1},uplink:{component:function(){return ft.Uplink},scrollable:!0,theme:"syndicate"},vault_controller:{component:function(){return ht.VaultController},scrollable:!1},vending:{component:function(){return Ct.Vending},scrollable:!0},wires:{component:function(){return bt.Wires},scrollable:!1}};t.getRoute=function(e){return Nt[e.config&&e.config["interface"]]}},function(e,t,n){"use strict";t.__esModule=!0,t.Achievements=t.Score=t.Achievement=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i?"good":"bad",content:i?"Unlocked":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Achievement=i;var c=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i>0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(0),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(0),r=n(18),a=n(22),i=n(3),c=n(2),l=n(37),u=n(70);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return g}},thresholds:{title:"Alarm Thresholds",component:function(){return N}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,b,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},b=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},g=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},N=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(0),r=n(3),a=n(2),i=n(163);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.regions||[],u=c.accesses||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.oneAccess?"unlock":"lock",content:c.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&c.unres_direction?"check-square-o":"square-o",content:"North",selected:1&c.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&c.unres_direction?"check-square-o":"square-o",content:"East",selected:2&c.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&c.unres_direction?"check-square-o":"square-o",content:"South",selected:4&c.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&c.unres_direction?"check-square-o":"square-o",content:"West",selected:8&c.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,i.AccessList,{accesses:l,selectedList:u,accessMod:function(e){return n("set",{access:e})},grantAll:function(){return n("grant_all")},denyAll:function(){return n("clear_all")},grantDep:function(e){return n("grant_region",{region:e})},denyDep:function(e){return n("deny_region",{region:e})}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(0),r=n(3),a=n(2),i=n(70);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",onClick:function(){return n("toggle_nightshift")}})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(0),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(0),r=n(17),a=n(18),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(0),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(0),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(0),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(0),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BlackmarketUplink=void 0;var o=n(0),r=n(17),a=n(3),i=n(2);t.BlackmarketUplink=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.categories||[],u=c.delivery_methods||[],d=c.delivery_method_description||[],s=c.markets||{},p=c.items||{},m=!!c.buying&&(0,o.createComponentVNode)(2,i.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Grid,{mt:20,children:(0,r.map)((function(e){var t=e.name;return"LTSRBT"!==t||c.ltsrbt_built?(0,o.createComponentVNode)(2,i.Grid.Column,{textAlign:"center",position:"relative",children:[(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{fontSize:"30px",children:t}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:d[t]})]}),(0,o.createComponentVNode)(2,i.Button,{content:e.price+" cr",mt:1,disabled:c.moneyc.money,onClick:function(){return n("select",{item:e.id})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.desc})})]},e.name)}))},e)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(0),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(0),r=(n(22),n(15)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),(0,o.createComponentVNode)(2,a.Box,{children:["Current chance of Success: Est. ",i.success_estimate,"%"]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(0),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(0),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(0),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Canvas=void 0;var o=n(0),r=n(3),a=n(2);n(10);var i=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).canvasRef=(0,o.createRef)(),n.onCVClick=t.onCanvasClick,n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var a=r.prototype;return a.componentDidMount=function(){this.drawCanvas(this.props)},a.componentDidUpdate=function(){this.drawCanvas(this.props)},a.drawCanvas=function(e){var t=this.canvasRef.current.getContext("2d"),n=e.value,o=n.length;if(o){var r=n[0].length,a=Math.round(this.canvasRef.current.width/o),i=Math.round(this.canvasRef.current.height/r);t.save(),t.scale(a,i);for(var c=0;c=0||(r[n]=e[n]);return r}(t,["res","value","px_per_unit"]),c=n.length*a,l=0!==c?n[0].length*a:0;return(0,o.normalizeProps)((0,o.createVNode)(1,"canvas",null,"Canvas failed to render.",16,Object.assign({width:c||300,height:l||300},i,{onClick:function(t){return e.clickwrapper(t)}}),null,this.canvasRef))},r}(o.Component);t.Canvas=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i,{value:c.grid,onCanvasClick:function(e,t){return n("paint",{x:e,y:t})}}),(0,o.createComponentVNode)(2,a.Box,{children:[!c.finalized&&(0,o.createComponentVNode)(2,a.Button.Confirm,{onClick:function(){return n("finalize")},content:"Finalize"}),c.name]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(0),r=n(17),a=n(15),i=n(2),c=n(70);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:(0,o.createFragment)([h,(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:r.self_paid?"check-square-o":"square-o",content:"Buy Privately",selected:r.self_paid,onClick:function(){return(0,a.act)(c,"toggleprivate")}})],0),children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(0),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(0),r=(n(22),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"To use this, simply spawn the atoms you want in one of the five Centcom Supplypod Bays. Items in the bay will then be launched inside your supplypod, one turf-full at a time! You can optionally use the following buttons to configure how the supplypod acts."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Item Mode",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Clone Items",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random Items",selected:i.launchRandomItem,tooltip:"Choosing this will pick a random item from the selected turf\ninstead of the entire turfs contents. Best combined with\nsingle/random turf.",onClick:function(){return n("launchRandomItem")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random Turf",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandomTurf")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(0),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(0),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDispenser=void 0;var o=n(0),r=n(18),a=n(22),i=n(3),c=n(2);t.ChemDispenser=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=!!l.recordingRecipe,d=Object.keys(l.recipes).map((function(e){return{name:e,contents:l.recipes[e]}})),s=l.beakerTransferAmounts||[],p=u&&Object.keys(l.recordingRecipe).map((function(e){return{id:e,name:(0,a.toTitleCase)(e.replace(/_/," ")),volume:l.recordingRecipe[e]}}))||l.beakerContents||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Status",buttons:u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,color:"red",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"circle",mr:1}),"Recording"]}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Energy",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:l.energy/l.maxEnergy,content:(0,r.toFixed)(l.energy)+" units"})})})}),(0,o.createComponentVNode)(2,c.Section,{title:"Recipes",buttons:(0,o.createFragment)([!u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",content:"Clear recipes",onClick:function(){return n("clear_recipes")}})}),!u&&(0,o.createComponentVNode)(2,c.Button,{icon:"circle",disabled:!l.isBeakerLoaded,content:"Record",onClick:function(){return n("record_recipe")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"ban",color:"transparent",content:"Discard",onClick:function(){return n("cancel_recording")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"save",color:"green",content:"Save",onClick:function(){return n("save_recording")}})],0),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:[d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.name,onClick:function(){return n("dispense_recipe",{recipe:e.name})}},e.name)})),0===d.length&&(0,o.createComponentVNode)(2,c.Box,{color:"light-gray",children:"No recipes."})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Dispense",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"plus",selected:e===l.amount,content:e,onClick:function(){return n("amount",{target:e})}},e)})),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:l.chemicals.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.title,onClick:function(){return n("dispense",{reagent:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"minus",disabled:u,content:e,onClick:function(){return n("remove",{amount:e})}},e)})),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",disabled:!l.isBeakerLoaded,onClick:function(){return n("eject")}}),children:(u?"Virtual beaker":l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:l.beakerCurrentVolume}),(0,o.createTextVNode)("/"),l.beakerMaxVolume,(0,o.createTextVNode)(" units")],0))||"No beaker"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Contents",children:[(0,o.createComponentVNode)(2,c.Box,{color:"label",children:l.isBeakerLoaded||u?0===p.length&&"Nothing":"N/A"}),p.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{color:"label",children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:e.volume})," ","units of ",e.name]},e.name)}))]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(0),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemHeater=void 0;var o=n(0),r=n(18),a=n(3),i=n(2),c=n(164);t.ChemHeater=function(e){var t=(0,a.useBackend)(e),n=t.act,l=t.data,u=l.targetTemp,d=l.isActive,s=l.isBeakerLoaded,p=l.currentTemp,m=l.beakerCurrentVolume,f=l.beakerMaxVolume,h=l.beakerContents,C=void 0===h?[]:h;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Thermostat",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.NumberInput,{width:"65px",unit:"K",step:2,stepPixelSize:1,value:(0,r.round)(u),minValue:0,maxValue:1e3,onDrag:function(e,t){return n("temperature",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Reading",children:(0,o.createComponentVNode)(2,i.Box,{width:"60px",textAlign:"right",children:s&&(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p,format:function(e){return(0,r.toFixed)(e)+" K"}})||"\u2014"})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:!!s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:2,children:[m," / ",f," units"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})],4),children:(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:s,beakerContents:C})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(0),r=n(15),a=n(2);t.ChemMaster=function(e){var t=e.state,n=t.config,l=t.data,s=n.ref,p=l.screen,m=l.beakerContents,f=void 0===m?[]:m,h=l.bufferContents,C=void 0===h?[]:h,b=l.beakerCurrentVolume,g=l.beakerMaxVolume,N=l.isBeakerLoaded,v=l.isPillBottleLoaded,V=l.pillBottleCurrentAmount,y=l.pillBottleMaxAmount;return"analyze"===p?(0,o.createComponentVNode)(2,d,{state:t}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:b,initial:0})," / "+g+" units"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(s,"eject")}})],4),children:[!N&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"No beaker loaded."}),!!N&&0===f.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Beaker is empty."}),(0,o.createComponentVNode)(2,i,{children:f.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"buffer"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Buffer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:1,children:"Mode:"}),(0,o.createComponentVNode)(2,a.Button,{color:l.mode?"good":"bad",icon:l.mode?"exchange-alt":"times",content:l.mode?"Transfer":"Destroy",onClick:function(){return(0,r.act)(s,"toggleMode")}})],4),children:[0===C.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Buffer is empty."}),(0,o.createComponentVNode)(2,i,{children:C.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"beaker"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Packaging",children:(0,o.createComponentVNode)(2,u,{state:t})}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Pill Bottle",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[V," / ",y," pills"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(s,"ejectPillBottle")}})],4)})],0)};var i=a.Table,c=function(e){var t=e.state,n=e.chemical,i=e.transferTo,c=t.config.ref;return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:n.volume,initial:0})," units of "+n.name]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:5,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"10",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:10,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1e3,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"ellipsis-h",title:"Custom amount",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:-1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"question",title:"Analyze",onClick:function(){return(0,r.act)(c,"analyze",{id:n.id})}})]})]},n.id)},l=function(e){var t=e.label,n=e.amountUnit,r=e.amount,i=e.onChangeAmount,c=e.onCreate,l=e.sideNote;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,children:[(0,o.createComponentVNode)(2,a.NumberInput,{width:14,unit:n,step:1,stepPixelSize:15,value:r,minValue:1,maxValue:10,onChange:i}),(0,o.createComponentVNode)(2,a.Button,{ml:1,content:"Create",onClick:c}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,ml:1,color:"label",content:l})]})},u=function(e){var t,n;function i(){var t;return(t=e.call(this)||this).state={pillAmount:1,patchAmount:1,bottleAmount:1,packAmount:1},t}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=(this.state,this.props),n=t.state.config.ref,i=this.state,c=i.pillAmount,u=i.patchAmount,d=i.bottleAmount,s=i.packAmount,p=t.state.data,m=p.condi,f=p.chosenPillStyle,h=p.pillStyles,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.LabeledList,{children:[!m&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill type",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===f,textAlign:"center",color:"transparent",onClick:function(){return(0,r.act)(n,"pillStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!m&&(0,o.createComponentVNode)(2,l,{label:"Pills",amount:c,amountUnit:"pills",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({pillAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"pill",amount:c,volume:"auto"})}}),!m&&(0,o.createComponentVNode)(2,l,{label:"Patches",amount:u,amountUnit:"patches",sideNote:"max 40u",onChangeAmount:function(t,n){return e.setState({patchAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"patch",amount:u,volume:"auto"})}}),!m&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 30u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"bottle",amount:d,volume:"auto"})}}),!!m&&(0,o.createComponentVNode)(2,l,{label:"Packs",amount:s,amountUnit:"packs",sideNote:"max 10u",onChangeAmount:function(t,n){return e.setState({packAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentPack",amount:s,volume:"auto"})}}),!!m&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentBottle",amount:d,volume:"auto"})}})]})},i}(o.Component),d=function(e){var t=e.state,n=t.config.ref,i=t.data.analyzeVars;return(0,o.createComponentVNode)(2,a.Section,{title:"Analysis Results",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return(0,r.act)(n,"goScreen",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",children:i.state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,a.ColorBox,{color:i.color,mr:1}),i.color]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:i.description}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Metabolization Rate",children:[i.metaRate," u/minute"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overdose Threshold",children:i.overD}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Threshold",children:i.addicD})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(0),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(0),r=n(15),a=n(2),i=n(17),c=n(10);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(0),r=n(18),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(0),r=n(18),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(0),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(0),r=(n(22),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(0),r=n(3),a=n(2),i=n(164);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(0),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(0),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(0),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(0),r=n(3),a=n(2),i=n(22);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.Electropack=void 0;var o=n(0),r=n(2),a=n(3),i=n(18);t.Electropack=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.power,u=c.code,d=c.frequency,s=c.minFrequency,p=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,r.Button,{icon:l?"power-off":"times",content:l?"On":"Off",selected:l,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Frequency",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}}),children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:s/10,maxValue:p/10,value:d/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Code",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}}),children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:u,width:13,onDrag:function(e,t){return n("code",{code:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(0),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(0),r=n(22),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,b=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:b})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(0),r=n(17),a=n(69),i=n(18),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,b=s.updating,g=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:b?"unlock":"lock",content:b?"AUTO":"MANUAL",color:!b&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),g.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(0),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(0),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,b=void 0===C?0:C,g=i.prisoner,N=void 0===g?{}:g;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:b,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:N.name?N.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:N.crimstat?N.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(0),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(0),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.HypnoChair=void 0;var o=n(0),r=n(3),a=n(2);t.HypnoChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",children:"The Enhanced Interrogation Chamber is designed to induce a deep-rooted trance trigger into the subject. Once the procedure is complete, by using the implanted trigger phrase, the authorities are able to ensure immediate and complete obedience and truthfulness."}),(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Phrase",children:(0,o.createComponentVNode)(2,a.Input,{value:i.trigger,onChange:function(e,t){return n("set_phrase",{phrase:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Interrogate Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.interrogating?"Interrupt Interrogation":"Begin Enhanced Interrogation",onClick:function(){return n("interrogate")}}),1===i.interrogating&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(0),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.InfraredEmitter=void 0;var o=n(0),r=n(3),a=n(2);t.InfraredEmitter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.on,l=i.visible;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,a.Button,{icon:l?"eye":"eye-slash",content:l?"Visible":"Invisible",selected:l,onClick:function(){return n("visibility")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(0),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(0),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(0),r=n(22),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(0),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(0),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MedicalKiosk=void 0;var o=n(0),r=(n(22),n(3)),a=n(2);t.MedicalKiosk=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Health Kiosk",textAlign:"center",icon:"procedures",children:[(0,o.createComponentVNode)(2,a.Box,{my:1,textAlign:"center",children:["Greetings Valued Employee. Please select your desired diagnosis. Diagnosis costs ",i.kiosk_cost," credits.",(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:["Current patient targeted for scanning: ",i.patient_name," |"]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"procedures",disabled:!i.active_status_1,tooltip:"Reads back exact values of your general health scan.",onClick:function(){return n("beginScan_1")},content:"General Health Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"heartbeat",disabled:!i.active_status_2,tooltip:"Provides information based on various non-obvious symptoms,\nlike blood levels or disease status.",onClick:function(){return n("beginScan_2")},content:"Symptom Based Checkup"}),(0,o.createComponentVNode)(2,a.Button,{tooltip:"Resets the current scanning target, cancelling current scans.",icon:"sync",color:"average",onClick:function(){return n("clearTarget")},content:"Reset Scanner"})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"radiation-alt",disabled:!i.active_status_3,tooltip:"Provides information about brain trauma and radiation.",onClick:function(){return n("beginScan_3")},content:"Neurological/Radiological Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"mortar-pestle",disabled:!i.active_status_4,tooltip:"Provides a list of consumed chemicals, as well as potential\nside effects.",onClick:function(){return n("beginScan_4")},content:"Chemical Analysis and Psychoactive Scan"})]})]}),(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"General Health Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_1&&(0,o.createComponentVNode)(2,a.Section,{title:"Patient Health",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.patient_health/100,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.patient_health}),"%"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brute Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.brute_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.brute_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Burn Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.burn_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.burn_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.suffocation_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.suffocation_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toxin Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.toxin_health/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.toxin_health})})})]})})})}},"tab_1"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Symptom Based Checkup",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_2&&(0,o.createComponentVNode)(2,a.Section,{title:"Symptom Based Checkup",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Patient Status",color:"good",children:i.patient_status}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease Status",children:i.patient_illness}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease information",children:i.illness_info}),(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Levels",children:[i.bleed_status,(0,o.createComponentVNode)(2,a.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.blood_levels/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.blood_levels})})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Information",children:i.blood_status})]})})})}},"tab_2"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Neurological/Radiological Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_3&&(0,o.createComponentVNode)(2,a.Section,{title:"Patient Neurological and Radiological Health ",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cellular Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.clone_health/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.clone_health})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.brain_damage/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.brain_damage})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Status",color:"health-0",children:i.brain_health}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Status",children:i.rad_status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Irradiation Percentage",children:[i.rad_value,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Trauma Status",children:i.trauma_status})]})})}},"tab_3"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"normal",label:"Chemical Analysis and Psychoactive Scan",children:function(){return(0,o.createComponentVNode)(2,a.Box,{children:0===i.active_status_4&&(0,o.createComponentVNode)(2,a.Section,{title:"Chemical and Psychoactive Analysis",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:i.are_chems_present?i.chemical_list.length?i.chemical_list.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[e.volume," units of ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No reagents detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No reagents detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overdose Status",color:"bad",children:i.are_overdoses_present?i.overdose_status.length?i.overdose_status.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Overdosing on ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No reagents detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient is not overdosing."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Status",color:"bad",children:i.are_addictions_present?i.addiction_status.length?i.addiction_status.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Addicted to ",e.name]},e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"Patient has no addictions."}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient has no addictions detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Psychoactive Status",children:i.hallucinating_status})]})})}},"tab_4")]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningVendor=void 0;var o=n(0),r=n(15),a=n(2),i=n(10);t.MiningVendor=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=[].concat(c.product_records);return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"User",children:c.user&&(0,o.createComponentVNode)(2,a.Box,{children:["Welcome, ",(0,o.createVNode)(1,"b",null,c.user.name||"Unknown",0),","," ",(0,o.createVNode)(1,"b",null,c.user.job||"Unemployed",0),"!",(0,o.createVNode)(1,"br"),"Your balance is ",(0,o.createVNode)(1,"b",null,[c.user.points,(0,o.createTextVNode)(" mining points")],0),"."]})||(0,o.createComponentVNode)(2,a.Box,{color:"light-gray",children:["No registered ID card!",(0,o.createVNode)(1,"br"),"Please contact your local HoP!"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Equipment",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createVNode)(1,"span",(0,i.classes)(["vending32x32",e.path]),null,1,{style:{"vertical-align":"middle","horizontal-align":"middle"}})," ",(0,o.createVNode)(1,"b",null,e.name,0)]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{style:{"min-width":"95px","text-align":"center"},disabled:!c.user||e.price>c.user.points,content:e.price+" points",onClick:function(){return(0,r.act)(l,"purchase",{ref:e.ref})}})})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mint=void 0;var o=n(0),r=n(3),a=n(2);t.Mint=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.inserted_materials||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Materials",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.processing?"times":"power-off",content:i.processing?"Stop":"Start",selected:i.processing,onClick:function(){return n(i.processing?"stoppress":"startpress")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.material,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.chosen_material===e.material?"check-square":"square",selected:i.chosen_material===e.material,onClick:function(){return n("changematerial",{material_name:e.material})}}),children:[e.amount," cm\xb3"]},e.material)}))})}),(0,o.createComponentVNode)(2,a.Section,{children:["Pressed ",i.produced_coins," coins this cycle."]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.MalfunctionModulePicker=void 0;var o=n(0),r=n(22),a=n(15),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,d=r.processing_time,s=r.categories,p=void 0===s?[]:s,m=this.state,f=m.hoveredItem,h=m.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:d>0?"good":"bad",children:[d," Processing Time"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:h,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}})],4),children:h.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:p.flatMap((function(e){return e.items||[]})).filter((function(e){var t=h.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:f,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{ref:e.ref})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:p.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:f,processing_time:d,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{ref:e.ref})}})}},n)}))})})},r}(o.Component);t.MalfunctionModulePicker=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.processing_time,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,d=e.onBuyMouseOut,s=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-s=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,b=t.timer_trigger,g=t.timer_trigger_delay,N=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[b," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[g," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:N.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(0),r=n(17),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,b=u.trigger_cooldown,g=u.activated,N=u.has_extra_settings,v=u.extra_settings,V=void 0===v?{}:v;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:b})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:g?"power-off":"times",content:g?"Active":"Inactive",selected:g,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!N&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(0),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(0),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(0),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAiRestorer=void 0;var o=n(0),r=n(2),a=n(3);t.NtosAiRestorer=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.nocard,l=i.error,u=i.name,d=i.ai_laws,s=i.isDead,p=i.restoring;return(0,o.createFragment)([l&&(0,o.createComponentVNode)(2,r.NoticeBox,{children:l}),(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"eject",content:u||"----------",disabled:!u,onClick:function(){return n("PRG_eject")}}),!c&&(0,o.createComponentVNode)(2,r.Section,{title:"System Status",level:2,buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:s?"bad":"good",children:s?"Nonfunctional":"Functional"}),children:[(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,r.ProgressBar,{value:100,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})})}),!!p&&(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"20px",color:"good",mt:1,children:"RECONSTRUCTION IN PROGRESS"}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"plus",content:"Begin Reconstruction",disabled:p,mt:1,onClick:function(){return n("PRG_beginReconstruction")}}),(0,o.createComponentVNode)(2,r.Section,{title:"laws",level:3,children:d.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{className:"candystripe",children:e},e)}))})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(0),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCard=void 0;var o=n(0),r=n(3),a=n(2),i=n(163),c=n(17);t.NtosCard=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data,u=l.authenticated,d=l.regions,s=void 0===d?[]:d,p=l.access_on_card,m=void 0===p?[]:p,f=l.jobs,h=void 0===f?{}:f,C=l.id_rank,b=l.id_owner,g=l.has_id,N=l.have_printer,v=l.have_id_slot,V=l.id_name;return v?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:g&&u?(0,o.createComponentVNode)(2,a.Input,{value:b,width:"250px",onInput:function(e,t){return n("PRG_edit",{name:t})}}):b||"No Card Inserted",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!N||!g,onClick:function(){return n("PRG_print")}}),(0,o.createComponentVNode)(2,a.Button,{icon:u?"sign-out-alt":"sign-in-alt",content:u?"Log Out":"Log In",color:u?"bad":"good",onClick:function(){n(u?"PRG_logout":"PRG_authenticate")}})],4),children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eject",content:V,onClick:function(){return n("PRG_eject")}})}),!!g&&!!u&&(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Access",children:(0,o.createComponentVNode)(2,i.AccessList,{accesses:s,selectedList:m,accessMod:function(e){return n("PRG_access",{access_target:e})},grantAll:function(){return n("PRG_grantall")},denyAll:function(){return n("PRG_denyall")},grantDep:function(e){return n("PRG_grantregion",{region:e})},denyDep:function(e){return n("PRG_denyregion",{region:e})}})}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Jobs",children:(0,o.createComponentVNode)(2,a.Section,{title:C,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"exclamation-triangle",content:"Terminate",color:"bad",onClick:function(){return n("PRG_terminate")}}),children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Custom...",onCommit:function(e,t){return n("PRG_assign",{assign_target:"Custom",custom_name:t})}}),(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:(0,c.map)((function(e,t){var r=e||[];return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:t,children:r.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.display_name,onClick:function(){return n("PRG_assign",{assign_target:e.job})}},e.job)}))},t)}))(h)})]})})]})],0):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This program requires an ID slot in order to function"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(0),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCrewManifest=void 0;var o=n(0),r=n(3),a=n(2),i=n(17);t.NtosCrewManifest=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.have_printer,u=c.manifest,d=void 0===u?{}:u;return(0,o.createComponentVNode)(2,a.Section,{title:"Crew Manifest",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!l,onClick:function(){return n("PRG_print")}}),children:(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.Section,{level:2,title:t,children:(0,o.createComponentVNode)(2,a.Table,{children:e.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:["(",e.rank,")"]})]},e.name)}))})},t)}))(d)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosFileManager=t.FileTable=void 0;var o=n(0),r=n(2),a=n(3),i=function(e){var t=e.files,n=void 0===t?[]:t,a=e.usbconnected,i=e.usbmode,c=e.onUpload,l=e.onDelete,u=e.onRename;return(0,o.createComponentVNode)(2,r.Table,{children:[(0,o.createComponentVNode)(2,r.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,r.Table.Cell,{children:"File"}),(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,children:"Type"}),(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,children:"Size"})]}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,r.Table.Cell,{children:e.undeletable?e.name:(0,o.createComponentVNode)(2,r.Button.Input,{fluid:!0,content:e.name,currentValue:e.name,tooltip:"Rename",onCommit:function(t,n){return u(e.name,n)}})}),(0,o.createComponentVNode)(2,r.Table.Cell,{children:e.type}),(0,o.createComponentVNode)(2,r.Table.Cell,{children:e.size}),(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,children:!e.undeletable&&(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:"trash",confirmIcon:"times",confirmContent:"",tooltip:"Delete",onClick:function(){return l(e.name)}}),!!a&&(i?(0,o.createComponentVNode)(2,r.Button,{icon:"download",tooltip:"Download",onClick:function(){return c(e.name)}}):(0,o.createComponentVNode)(2,r.Button,{icon:"upload",tooltip:"Upload",onClick:function(){return c(e.name)}}))],0)})]},e.name)}))]})};t.FileTable=i;t.NtosFileManager=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.usbconnected,u=c.files,d=void 0===u?[]:u,s=c.usbfiles,p=void 0===s?[]:s;return(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Section,{children:(0,o.createComponentVNode)(2,i,{files:d,usbconnected:l,onUpload:function(e){return n("PRG_copytousb",{name:e})},onDelete:function(e){return n("PRG_deletefile",{name:e})},onRename:function(e,t){return n("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return n("PRG_clone",{file:e})}})}),l&&(0,o.createComponentVNode)(2,r.Section,{title:"Data Disk",children:(0,o.createComponentVNode)(2,i,{usbmode:!0,files:p,usbconnected:l,onUpload:function(e){return n("PRG_copyfromusb",{name:e})},onDelete:function(e){return n("PRG_deletefile",{name:e})},onRename:function(e,t){return n("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return n("PRG_clone",{file:e})}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosJobManager=void 0;var o=n(0),r=n(3),a=n(2);t.NtosJobManager=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.authed,l=i.cooldown,u=i.slots,d=void 0===u?[]:u,s=i.prioritized,p=void 0===s?[]:s;return c?(0,o.createComponentVNode)(2,a.Section,{children:[l>0&&(0,o.createComponentVNode)(2,a.Dimmer,{children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"20px",mt:10,children:["On Cooldown: ",l,"s"]})}),(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Prioritized"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Slots"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:e.title,disabled:e.total<=0,checked:e.total>0&&p.includes(e.title),onClick:function(){return n("PRG_priority",{target:e.title})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[e.current," / ",e.total]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"Open",disabled:!e.status_open,onClick:function(){return n("PRG_open_job",{target:e.title})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Close",disabled:!e.status_close,onClick:function(){return n("PRG_close_job",{target:e.title})}})]})]},e.title)}))]})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Current ID does not have access permissions to change job slots."})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(0),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug",job_manage:"address-book",crewmani:"clipboard-list"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(0),r=n(3),a=n(2);(0,n(41).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,b=i.messages,g=void 0===b?[]:b,N=null!==s,v=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:N&&(v?g.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),N&&v&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDos=void 0;var o=n(0),r=n(2),a=n(3);(0,n(41).createLogger)("NetDos");t.NtosNetDos=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.relays,l=void 0===c?[]:c,u=i.focus,d=i.target,s=i.speed,p=i.overload,m=i.capacity,f=i.error;if(f)return(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:f}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,content:"Reset",textAlign:"center",onClick:function(){return n("PRG_reset")}})],4);var h=function(e){for(var t="",n=p/m;t.lengthn?t+="0":t+="1";return t};return d?(0,o.createComponentVNode)(2,r.Section,{fontFamily:"monospace",textAlign:"center",children:[(0,o.createComponentVNode)(2,r.Box,{children:["CURRENT SPEED: ",s," GQ/s"]}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)}),(0,o.createComponentVNode)(2,r.Box,{children:h(45)})]}):(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Target",children:l.map((function(e){return(0,o.createComponentVNode)(2,r.Button,{content:e.id,selected:u===e.id,onClick:function(){return n("PRG_target_relay",{targid:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,bold:!0,content:"EXECUTE",color:"bad",textAlign:"center",disabled:!u,mt:1,onClick:function(){return n("PRG_execute")}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(0),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetMonitor=void 0;var o=n(0),r=n(2),a=n(3);t.NtosNetMonitor=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.ntnetrelays,l=i.ntnetstatus,u=i.config_softwaredownload,d=i.config_peertopeer,s=i.config_communication,p=i.config_systemcontrol,m=i.idsalarm,f=i.idsstatus,h=i.ntnetmaxlogs,C=i.maxlogs,b=i.minlogs,g=i.ntnetlogs,N=void 0===g?[]:g;return(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:"WARNING: Disabling wireless transmitters when using a wireless device may prevent you from reenabling them!"}),(0,o.createComponentVNode)(2,r.Section,{title:"Wireless Connectivity",buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:l?"power-off":"times",content:l?"ENABLED":"DISABLED",selected:l,onClick:function(){return n("toggleWireless")}}),children:c?(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Active NTNet Relays",children:c})}):"No Relays Connected"}),(0,o.createComponentVNode)(2,r.Section,{title:"Firewall Configuration",children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Software Downloads",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:u?"power-off":"times",content:u?"ENABLED":"DISABLED",selected:u,onClick:function(){return n("toggle_function",{id:"1"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Peer to Peer Traffic",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:d?"power-off":"times",content:d?"ENABLED":"DISABLED",selected:d,onClick:function(){return n("toggle_function",{id:"2"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Communication Systems",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:s?"power-off":"times",content:s?"ENABLED":"DISABLED",selected:s,onClick:function(){return n("toggle_function",{id:"3"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Remote System Control",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:p?"power-off":"times",content:p?"ENABLED":"DISABLED",selected:p,onClick:function(){return n("toggle_function",{id:"4"})}})})]})}),(0,o.createComponentVNode)(2,r.Section,{title:"Security Systems",children:[!!m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:"NETWORK INCURSION DETECTED"}),(0,o.createComponentVNode)(2,r.Box,{italics:!0,children:"Abnormal activity has been detected in the network. Check system logs for more information"})],4),(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"IDS Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:f?"power-off":"times",content:f?"ENABLED":"DISABLED",selected:f,onClick:function(){return n("toggleIDS")}}),(0,o.createComponentVNode)(2,r.Button,{icon:"sync",content:"Reset",color:"bad",onClick:function(){return n("resetIDS")}})],4)}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Max Log Count",buttons:(0,o.createComponentVNode)(2,r.NumberInput,{value:h,minValue:b,maxValue:C,width:"39px",onChange:function(e,t){return n("updatemaxlogs",{new_number:t})}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"System Log",level:2,buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:"trash",content:"Clear Logs",onClick:function(){return n("purgelogs")}}),children:N.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{className:"candystripe",children:e.entry},e.entry)}))})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRevelation=void 0;var o=n(0),r=n(2),a=n(3);t.NtosRevelation=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Button.Input,{fluid:!0,content:"Obfuscate Name...",onCommit:function(e,t){return n("PRG_obfuscate",{new_name:t})},mb:1}),(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Payload Status",buttons:(0,o.createComponentVNode)(2,r.Button,{content:i.armed?"ARMED":"DISARMED",color:i.armed?"bad":"average",onClick:function(){return n("PRG_arm")}})})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,bold:!0,content:"ACTIVATE",textAlign:"center",color:"bad",disabled:!i.armed})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(0),r=n(17),a=n(69),i=n(18),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,b=m.SM_ambienttemp,g=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var N=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),v=Math.max.apply(Math,[1].concat(N.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(b)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(g)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*N.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:N.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:v,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(0),r=n(3),a=n(2),i=n(117);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,b=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!b&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!b&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!b&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(0),r=n(10),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(0),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(0),r=n(22),a=n(15),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(0),r=n(22),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(0),r=n(17),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(0),r=n(17),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(0),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(0),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(0),r=n(17),a=n(69),i=n(18),c=n(10),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),b=Math.max.apply(Math,[u].concat(n.supply,n.demand)),g=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:b,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:b,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,b],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,b],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),g.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProximitySensor=void 0;var o=n(0),r=n(3),a=n(2);t.ProximitySensor=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.minutes,l=i.seconds,u=i.timing,d=i.scanning,s=i.sensitivity;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"lock":"unlock",content:d?"Armed":"Not Armed",selected:d,onClick:function(){return n("scanning")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Detection Range",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:d,onClick:function(){return n("sense",{range:-1})}})," ",String(s).padStart(1,"1")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:d,onClick:function(){return n("sense",{range:1})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Auto Arm",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:u?"Stop":"Start",selected:u,disabled:d,onClick:function(){return n("time")}}),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:d||u,onClick:function(){return n("input",{adjust:-30})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:d||u,onClick:function(){return n("input",{adjust:-1})}})," ",String(c).padStart(2,"0"),":",String(l).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:d||u,onClick:function(){return n("input",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:d||u,onClick:function(){return n("input",{adjust:30})}})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(0),r=n(17),a=n(18),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,b=u.useCommand,g=u.subspace,N=u.subspaceSwitchable,v=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),v&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:v.color,ml:2,children:["[",v.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"High volume "+(b?"ON":"OFF"),onClick:function(){return n("command")}}),!!N&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"Subspace Tx "+(g?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!g&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RadioactiveMicrolaser=void 0;var o=n(0),r=n(3),a=n(2);t.RadioactiveMicrolaser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.irradiate,l=i.stealth,u=i.scanmode,d=i.intensity,s=i.wavelength,p=i.on_cooldown,m=i.cooldown;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Status",children:(0,o.createComponentVNode)(2,a.Box,{color:p?"average":"good",children:p?"Recharging":"Ready"})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Scanner Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Irradiation",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,onClick:function(){return n("irradiate")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stealth Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:l?"eye-slash":"eye",content:l?"On":"Off",disabled:!c,selected:l,onClick:function(){return n("stealth")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"mortar-pestle":"heartbeat",content:u?"Scan Reagents":"Scan Health",disabled:c&&l,onClick:function(){return n("scanmode")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laser Settings",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Intensity",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("radintensity",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("radintensity",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(d),width:"40px",minValue:1,maxValue:20,onChange:function(e,t){return n("radintensity",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("radintensity",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("radintensity",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Wavelength",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("radwavelength",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("radwavelength",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(s),width:"40px",minValue:0,maxValue:120,onChange:function(e,t){return n("radwavelength",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("radwavelength",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("radwavelength",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Cooldown",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:m})})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(0),r=n(10),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,b=s.mode,g=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:b&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:g.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Roulette=t.RouletteBetTable=t.RouletteBoard=t.RouletteNumberButton=void 0;var o=n(0),r=n(10),a=n(3),i=n(2),c=n(41);n(15);(0,c.createLogger)("Roulette");var l=function(e){if(0===e)return"green";for(var t=[[1,10],[19,28]],n=!0,o=0;o=r[0]&&e<=r[1]){n=!1;break}}var a=e%2==0;return(n?a:!a)?"red":"black"},u=function(e){var t=e.number,n=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Button,{bold:!0,content:t,color:l(t),width:"40px",height:"28px",fontSize:"20px",textAlign:"center",mb:0,className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:t})}})};t.RouletteNumberButton=u;var d=function(e){var t=e.state,n=(0,a.useBackend)(e).act;return(0,o.createVNode)(1,"table","Table",[(0,o.createVNode)(1,"tr","Roulette__board-row",[(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{content:"0",color:"transparent",height:"88px",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:0})}}),2,{rowSpan:"3"}),[3,6,9,12,15,18,21,24,27,30,33,36].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s3rd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[2,5,8,11,14,17,20,23,26,29,32,35].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s2nd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[1,4,7,10,13,16,19,22,25,28,31,34].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,u,{state:t,number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1st col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1st 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-12"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2nd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s13-24"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"3rd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s25-36"})}}),2,{colSpan:"4"})],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1-18",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-18"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Even",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"even"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Black",color:"black",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"black"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Red",color:"red",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"red"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Odd",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"odd"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"19-36",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s19-36"})}}),2,{colSpan:"2"})],4)],4,{style:{width:"1px"}})};t.RouletteBoard=d;var s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={customBet:500},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=c.prototype;return u.setCustomBet=function(e){this.setState({customBet:e})},u.render=function(){var e=this,t=(0,a.useBackend)(this.props),n=t.act,c=t.data,u=c.BetType;return u.startsWith("s")&&(u=u.substring(1,u.length)),(0,o.createVNode)(1,"table","Roulette__lowertable",[(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Last Spun:",16),(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Current Bet:",16)],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--spinresult","Roulette__lowertable--spinresult-"+l(c.LastSpin)]),c.LastSpin,0),(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--betscell"]),[(0,o.createComponentVNode)(2,i.Box,{bold:!0,mt:1,mb:1,fontSize:"25px",textAlign:"center",children:[c.BetAmount," cr on ",u]}),(0,o.createComponentVNode)(2,i.Box,{ml:1,mr:1,children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 10 cr",onClick:function(){return n("ChangeBetAmount",{amount:10})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 50 cr",onClick:function(){return n("ChangeBetAmount",{amount:50})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 100 cr",onClick:function(){return n("ChangeBetAmount",{amount:100})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 500 cr",onClick:function(){return n("ChangeBetAmount",{amount:500})}}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet custom amount...",onClick:function(){return n("ChangeBetAmount",{amount:e.state.customBet})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{size:.1,children:(0,o.createComponentVNode)(2,i.NumberInput,{value:this.state.customBet,minValue:0,maxValue:1e3,step:10,stepPixelSize:4,width:"40px",onChange:function(t,n){return e.setCustomBet(n)}})})]})]})],4)],4),(0,o.createVNode)(1,"tr",null,(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Box,{bold:!0,m:1,fontSize:"14px",textAlign:"center",children:"Swipe an ID card with a connected account to spin!"}),2,{colSpan:"2"}),2),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","Roulette__lowertable--cell",[(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,mr:1,children:"House Balance:"}),(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:c.HouseBalance?c.HouseBalance+" cr":"None"})],4),(0,o.createVNode)(1,"td","Roulette__lowertable--cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:c.IsAnchored?"Bolted":"Unbolted",m:1,color:"transparent",textAlign:"center",onClick:function(){return n("anchor")}}),2)],4)],4)},c}(o.Component);t.RouletteBetTable=s;t.Roulette=function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{state:e.state}),(0,o.createComponentVNode)(2,s,{state:e.state})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(0),r=n(3),a=n(2),i=n(162);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(0),r=n(3),a=n(2),i=n(70),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return b}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return g}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return N}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,v,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,v,{state:t})],4)},N=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,v,{state:t})],4)},v=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(0),r=n(17),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(0),r=n(2),a=n(3),i=n(18);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(0),r=n(3),a=n(2);t.Sleeper=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.open,l=i.occupant,u=void 0===l?{}:l,d=i.occupied,s=(i.chems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u.name?u.name:"No Occupant",minHeight:"210px",buttons:!!u.stat&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:u.statstate,children:u.stat}),children:!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.health,minValue:u.minHealth,maxValue:u.maxHealth,ranges:{good:[50,Infinity],average:[0,50],bad:[-Infinity,0]}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Oxygen",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u[e.type],minValue:0,maxValue:u.maxHealth,color:"bad"})},e.type)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cells",color:u.cloneLoss?"bad":"good",children:u.cloneLoss?"Damaged":"Healthy"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain",color:u.brainLoss?"bad":"good",children:u.brainLoss?"Abnormal":"Healthy"})]})],4)}),(0,o.createComponentVNode)(2,a.Section,{title:"Medicines",minHeight:"205px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c?"door-open":"door-closed",content:c?"Open":"Closed",onClick:function(){return n("door")}}),children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"flask",content:e.name,disabled:!(d&&e.allowed),width:"140px",onClick:function(){return n("inject",{chem:e.id})}},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(0),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(0),r=n(17),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(0),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(0),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(0),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(0),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(0),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(0),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(0),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(0),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(0),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,d=i.regime_set,s=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(0),r=n(18),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Timer=void 0;var o=n(0),r=n(3),a=n(2);t.Timer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.minutes,l=i.seconds,u=i.timing,d=i.loop;return(0,o.createComponentVNode)(2,a.Section,{title:"Timing Unit",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:d?"Repeating":"Repeat",selected:d,onClick:function(){return n("repeat")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:u?"Stop":"Start",selected:u,onClick:function(){return n("time")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:u,onClick:function(){return n("input",{adjust:-30})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:u,onClick:function(){return n("input",{adjust:-1})}})," ",String(c).padStart(2,"0"),":",String(l).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:u,onClick:function(){return n("input",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:u,onClick:function(){return n("input",{adjust:30})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.TransferValve=void 0;var o=n(0),r=n(3),a=n(2);t.TransferValve=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.tank_one,l=i.tank_two,u=i.attached_device,d=i.valve;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve Status",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"unlock":"lock",content:d?"Open":"Closed",disabled:!c||!l,onClick:function(){return n("toggle")}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve Attachment",buttons:(0,o.createComponentVNode)(2,a.Button,{textAlign:"center",width:"30px",icon:"cog",disabled:!u,onClick:function(){return n("device")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:u?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:u,disabled:!u,onClick:function(){return n("remove_device")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert Assembly"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Attachment One",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:c,disabled:!c,onClick:function(){return n("tankone")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert Tank"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Attachment Two",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:l?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:l,disabled:!l,onClick:function(){return n("tanktwo")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert Tank"})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(0),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Uplink=void 0;var o=n(0),r=n(22),a=n(15),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,d=r.lockable,s=r.telecrystals,p=r.categories,m=void 0===p?[]:p,f=this.state,h=f.hoveredItem,C=f.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:s>0?"good":"bad",children:[s," TC"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:C,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return(0,a.act)(c,"lock")}})],0),children:C.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:m.flatMap((function(e){return e.items||[]})).filter((function(e){var t=C.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:m.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:h,telecrystals:s,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}})}},n)}))})})},r}(o.Component);t.Uplink=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.telecrystals,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,d=e.onBuyMouseOut,s=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-sl.user.cash),content:t?"FREE":e.price+" cr",onClick:function(){return(0,r.act)(u,"vend",{ref:e.ref})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Wires=void 0;var o=n(0),r=n(3),a=n(2);t.Wires=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.wires||[],l=i.status||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.color,labelColor:e.color,color:e.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:e.cut?"Mend":"Cut",onClick:function(){return n("cut",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Pulse",onClick:function(){return n("pulse",{wire:e.color})}}),(0,o.createComponentVNode)(2,a.Button,{content:e.attached?"Detach":"Attach",onClick:function(){return n("attach",{wire:e.color})}})],4),children:!!e.wire&&(0,o.createVNode)(1,"i",null,[(0,o.createTextVNode)("("),e.wire,(0,o.createTextVNode)(")")],0)},e.color)}))})}),!!l.length&&(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.SyndPane=t.StatusPane=t.SyndContractor=t.FakeTerminal=void 0;var o=n(0),r=n(2),a=n(3);var i=function(e){var t,n;function a(t){var n;return(n=e.call(this,t)||this).timer=null,n.state={currentIndex:0,currentDisplay:[]},n}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=a.prototype;return i.tick=function(){var e=this.props,t=this.state;t.currentIndex<=e.allMessages.length?(this.setState((function(e){return{currentIndex:e.currentIndex+1}})),t.currentDisplay.push(e.allMessages[t.currentIndex])):(clearTimeout(this.timer),setTimeout(e.onFinished,e.finishedTimeout))},i.componentDidMount=function(){var e=this,t=this.props.linesPerSecond,n=void 0===t?2.5:t;this.timer=setInterval((function(){return e.tick()}),1e3/n)},i.componentWillUnmount=function(){clearTimeout(this.timer)},i.render=function(){return(0,o.createComponentVNode)(2,r.Box,{m:1,children:this.state.currentDisplay.map((function(e){return(0,o.createFragment)([e,(0,o.createVNode)(1,"br")],0,e)}))})},a}(o.Component);t.FakeTerminal=i;t.SyndContractor=function(e){var t=(0,a.useBackend)(e),n=t.data,c=t.act,u=["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(2e4*Math.random()),"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"],d=!!n.error&&(0,o.createComponentVNode)(2,r.Dimmer,{children:(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"red",minHeight:"150px",mt:30,ml:15,mr:15,children:(0,o.createComponentVNode)(2,r.Table,{m:1,children:(0,o.createComponentVNode)(2,r.Table.Row,{children:[(0,o.createComponentVNode)(2,r.Table.Cell,{collapsing:!0,fontSize:"100px",children:(0,o.createComponentVNode)(2,r.Icon,{name:"exclamation-triangle",mt:4,ml:2})}),(0,o.createComponentVNode)(2,r.Table.Cell,{verticalAlign:"top",textAlign:"center",children:[(0,o.createComponentVNode)(2,r.Box,{m:1,textAlign:"left",width:"100%",minHeight:"110px",children:n.error}),(0,o.createComponentVNode)(2,r.Button,{content:"Dismiss",onClick:function(){return c("PRG_clear_error")}})]})]})})})});return n.logged_in?n.logged_in&&n.first_load?(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"525px",children:(0,o.createComponentVNode)(2,i,{allMessages:u,finishedTimeout:3e3,onFinished:function(){return c("PRG_set_first_load_finished")}})}):n.info_screen?(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"500px",children:(0,o.createComponentVNode)(2,i,{allMessages:["SyndTract v2.0","","We've identified potentional high-value targets that are","currently assigned to your mission area. They are believed","to hold valuable information which could be of immediate","importance to our organisation.","","Listed below are all of the contracts available to you. You","are to bring the specified target to the designated","drop-off, and contact us via this uplink. We will send","a specialised extraction unit to put the body into.","","We want targets alive - but we will sometimes pay slight","amounts if they're not, you just won't recieve the shown","bonus. You can redeem your payment through this uplink in","the form of raw telecrystals, which can be put into your","regular Syndicate uplink to purchase whatever you may need.","We provide you with these crystals the moment you send the","target up to us, which can be collected at anytime through","this system.","","Targets extracted will be ransomed back to the station once","their use to us is fulfilled, with us providing you a small","percentage cut. You may want to be mindful of them","identifying you when they come back. We provide you with","a standard contractor loadout, which will help cover your","identity."],linesPerSecond:10})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,content:"CONTINUE",color:"transparent",textAlign:"center",onClick:function(){return c("PRG_toggle_info")}})],4):(0,o.createFragment)([d,(0,o.createComponentVNode)(2,l,{state:e.state})],0):(0,o.createComponentVNode)(2,r.Section,{minHeight:"525px",children:[(0,o.createComponentVNode)(2,r.Box,{width:"100%",textAlign:"center",children:(0,o.createComponentVNode)(2,r.Button,{content:"REGISTER USER",color:"transparent",onClick:function(){return c("PRG_login")}})}),!!n.error&&(0,o.createComponentVNode)(2,r.NoticeBox,{children:n.error})]})};var c=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,r.Section,{title:(0,o.createFragment)([(0,o.createTextVNode)("Contractor Status"),(0,o.createComponentVNode)(2,r.Button,{content:"View Information Again",color:"transparent",mb:0,ml:1,onClick:function(){return n("PRG_toggle_info")}})],4),buttons:(0,o.createComponentVNode)(2,r.Box,{bold:!0,mr:1,children:[i.contract_rep," Rep"]}),children:(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:.85,children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"TC Availible",buttons:(0,o.createComponentVNode)(2,r.Button,{content:"Claim",disabled:i.redeemable_tc<=0,onClick:function(){return n("PRG_redeem_TC")}}),children:i.redeemable_tc}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"TC Earned",children:i.earned_tc})]})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Contracts Completed",children:i.contracts_completed}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Current Status",children:"ACTIVE"})]})})]})})};t.StatusPane=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,l=i.contractor_hub_items||[],u=i.contracts||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,r.Tabs,{children:[(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:"Contracts",children:(0,o.createComponentVNode)(2,r.Section,{title:"Availible Contracts",buttons:(0,o.createComponentVNode)(2,r.Button,{content:"Call Extraction",disabled:!i.ongoing_contract||i.extraction_enroute,onClick:function(){return n("PRG_call_extraction")}}),children:u.map((function(e){var t=e.status>1;if(!(e.status>=5))return(0,o.createComponentVNode)(2,r.Section,{title:e.target+" ("+e.target_rank+")",level:t?1:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,mr:1,children:[e.payout," (+",e.payout_bonus,") TC"]}),(0,o.createComponentVNode)(2,r.Button,{content:t?"Abort":"Accept",disabled:e.extraction_enroute,color:t&&"bad",onClick:function(){return n("PRG_contract"+(t?"_abort":"-accept"),{contract_id:e.id})}})],4),children:(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:e.message}),(0,o.createComponentVNode)(2,r.Grid.Column,{size:.5,children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,mb:1,children:"Dropoff Location:"}),(0,o.createComponentVNode)(2,r.Box,{children:e.dropoff})]})]})},e.target)}))})}),(0,o.createComponentVNode)(2,r.Tabs.Tab,{label:"Uplink",children:(0,o.createComponentVNode)(2,r.Section,{children:l.map((function(e){var t=e.cost?e.cost+" Rep":"FREE",a=-1!==e.limited;return(0,o.createComponentVNode)(2,r.Section,{title:e.name+" - "+t,level:2,buttons:(0,o.createFragment)([a&&(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,mr:1,children:[e.limited," remaining"]}),(0,o.createComponentVNode)(2,r.Button,{content:"Purchase",disabled:i.contract_rep EightBallVote, scrollable: false, }, + electropack: { + component: () => Electropack, + scrollable: false, + }, emergency_shuttle_console: { component: () => EmergencyShuttleConsole, scrollable: false, @@ -368,6 +374,11 @@ const ROUTES = { component: () => Mint, scrollable: false, }, + malfunction_module_picker: { + component: () => MalfunctionModulePicker, + scrollable: true, + theme: 'malfunction', + }, mulebot: { component: () => Mule, scrollable: false, diff --git a/tgui/packages/tgui/styles/themes/malfunction.scss b/tgui/packages/tgui/styles/themes/malfunction.scss new file mode 100644 index 00000000000..53629bddbfb --- /dev/null +++ b/tgui/packages/tgui/styles/themes/malfunction.scss @@ -0,0 +1,52 @@ +@use 'sass:color'; +@use 'sass:meta'; + +@use '../colors.scss' with ( + $primary: #910101, + $fg-map-keys: (), + $bg-map-keys: (), +); +@use '../base.scss' with ( + $color-bg: #1b3443, + $color-bg-grad-spread: 6%, + $border-radius: 2px, +); + +.theme-malfunction { + // Atomic classes + @include meta.load-css('../atomic/color.scss'); + + // Components + @include meta.load-css('../components/Button.scss', $with: ( + 'color-default': colors.$primary, + 'color-disabled': #363636, + 'color-selected': #1e5881, + 'color-caution': #be6209, + 'color-danger': #9a9d00, + )); + @include meta.load-css('../components/Input.scss', $with: ( + 'border-color': #910101, + )); + @include meta.load-css('../components/Layout.scss'); + @include meta.load-css('../components/NoticeBox.scss', $with: ( + 'color-first': #1a3f57, + 'color-second': #1a3f57, + )); + @include meta.load-css('../components/NumberInput.scss', $with: ( + 'border-color': #910101, + )); + @include meta.load-css('../components/ProgressBar.scss', $with: ( + 'color-background': rgba(0, 0, 0, 0.5), + )); + @include meta.load-css('../components/Section.scss'); + @include meta.load-css('../components/TitleBar.scss', $with: ( + 'color-background': #1a3f57, + )); + @include meta.load-css('../components/Tooltip.scss', $with: ( + 'color-background': #235577, + )); + + .Layout__content { + background-image: none; + } +} diff --git a/tgui/packages/tgui/webpack.config.js b/tgui/packages/tgui/webpack.config.js index 3389ab3b969..dbb8de70b81 100644 --- a/tgui/packages/tgui/webpack.config.js +++ b/tgui/packages/tgui/webpack.config.js @@ -21,6 +21,7 @@ module.exports = (env = {}, argv) => { tgui: [ path.resolve(__dirname, './styles/main.scss'), path.resolve(__dirname, './styles/themes/cardtable.scss'), + path.resolve(__dirname, './styles/themes/malfunction.scss'), path.resolve(__dirname, './styles/themes/ntos.scss'), path.resolve(__dirname, './styles/themes/hackerman.scss'), path.resolve(__dirname, './styles/themes/retro.scss'),