Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
name: Update TGS DMAPI
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update-dmapi:
|
||||
runs-on: ubuntu-latest
|
||||
name: Update the TGS DMAPI
|
||||
steps:
|
||||
- name: Clone
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Branch
|
||||
run: |
|
||||
git branch -f tgs-dmapi-update
|
||||
git checkout tgs-dmapi-update
|
||||
git reset --hard master
|
||||
|
||||
- name: Apply DMAPI update
|
||||
uses: tgstation/tgs-dmapi-updater@v2
|
||||
with:
|
||||
header-path: 'code/__DEFINES/tgs.dm'
|
||||
library-path: 'code/modules/tgs'
|
||||
|
||||
- name: Commit and Push
|
||||
run: |
|
||||
git config user.name tgstation-server
|
||||
git config user.email tgstation-server@users.noreply.github.com
|
||||
git add .
|
||||
git commit -m 'Update TGS DMAPI'
|
||||
git push -f -u origin tgs-dmapi-update
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: repo-sync/pull-request@v2
|
||||
with:
|
||||
source_branch: "tgs-dmapi-update"
|
||||
destination_branch: "master"
|
||||
pr_title: "Automatic TGS DMAPI Update"
|
||||
pr_body: "This pull request updates the TGS DMAPI to the latest version. Please note any breaking or unimplemented changes before merging."
|
||||
pr_label: "Tools"
|
||||
pr_allow_empty: false
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
Vendored
+3
-1
@@ -2,6 +2,8 @@
|
||||
"recommendations": [
|
||||
"gbasood.byond-dm-language-support",
|
||||
"platymuus.dm-langclient",
|
||||
"EditorConfig.EditorConfig"
|
||||
"EditorConfig.EditorConfig",
|
||||
"arcanis.vscode-zipfs",
|
||||
"dbaeumer.vscode-eslint"
|
||||
]
|
||||
}
|
||||
|
||||
Vendored
+18
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"eslint.nodePath": "tgui/.yarn/sdks",
|
||||
"eslint.workingDirectories": [
|
||||
"./tgui"
|
||||
],
|
||||
"search.exclude": {
|
||||
"tgui/.yarn": true,
|
||||
"tgui/.pnp.*": true
|
||||
},
|
||||
"workbench.editorAssociations": [
|
||||
{
|
||||
"filenamePattern": "*.dmi",
|
||||
"viewType": "imagePreview.previewEditor"
|
||||
}
|
||||
],
|
||||
"files.eol": "\n",
|
||||
"gitlens.advanced.blame.customArguments": ["-w"]
|
||||
}
|
||||
@@ -1,175 +1,175 @@
|
||||
## Citadel Station 13
|
||||
Based and maintained from /tg/station.
|
||||
|
||||
[](https://travis-ci.org/Citadel-Station-13/Citadel-Station-13)
|
||||
[](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Percentage of issues still open")
|
||||
[](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Average time to resolve an issue")
|
||||
|
||||
[](https://forthebadge.com) [](https://forthebadge.com) [](http://forthebadge.com) [](https://www.reddit.com/r/SS13/comments/5oplxp/what_is_the_main_problem_with_byond_as_an_engine/dclbu1a)
|
||||
|
||||
**Upstream Information**
|
||||
* **Website:** <https://www.tgstation13.org>
|
||||
* **Code:** <https://github.com/tgstation/tgstation>
|
||||
* **Wiki:** <https://tgstation13.org/wiki/Main_Page>
|
||||
* **Codedocs:** <https://codedocs.tgstation13.org>
|
||||
* **/tg/station Discord:** <https://tgstation13.org/phpBB/viewforum.php?f=60>
|
||||
* **Coderbus Discord:** <https://discord.gg/Vh8TJp9>
|
||||
* ~~**IRC:** <irc://irc.rizon.net/coderbus>~~ (dead)
|
||||
|
||||
**Citadel Station Information**
|
||||
* **Website:** <http://citadel-station.net>
|
||||
* **Code:** <https://github.com/Citadel-Station-13/Citadel-Station-13>
|
||||
* **Wiki:** <https://citadel-station.net/wiki/index.php?title=Main_Page>
|
||||
* **Forums:** <http://citadel-station.net/forum>
|
||||
* **Ban Appeals:** <http://citadel-station.net/forum/forumdisplay.php?fid=8>
|
||||
* **Discord:** <https://discord.gg/E6SQuhz>
|
||||
|
||||
## 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 http://www.tgstation13.org/wiki/Downloading_the_source_code
|
||||
|
||||
Option 1:
|
||||
Follow this: http://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)
|
||||
|
||||
## 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/tgstation13/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)](http://tgstation13.org/wiki/Boxstation)
|
||||
* [MetaStation](https://tgstation13.org/wiki/MetaStation)
|
||||
* [DeltaStation](https://tgstation13.org/wiki/DeltaStation)
|
||||
* [OmegaStation](https://tgstation13.org/wiki/OmegaStation)
|
||||
* [PubbyStation](https://tgstation13.org/wiki/PubbyStation)
|
||||
|
||||
|
||||
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](http://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
|
||||
|
||||
## 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)
|
||||
|
||||
## LICENSE
|
||||
|
||||
All code after [commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST](https://github.com/tgstation/tgstation/commit/333c566b88108de218d882840e61928a9b759d8f) is licensed under [GNU AGPL v3](http://www.gnu.org/licenses/agpl-3.0.html).
|
||||
|
||||
All code before [commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST](https://github.com/tgstation/tgstation/commit/333c566b88108de218d882840e61928a9b759d8f) is licensed under [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.html).
|
||||
(Including tools unless their readme specifies otherwise.)
|
||||
|
||||
See LICENSE and GPLv3.txt for more details.
|
||||
|
||||
The TGS3 API is licensed as a subproject under the MIT license.
|
||||
|
||||
See the footers of code/\_\_DEFINES/server\_tools.dm, code/modules/server\_tools/st\_commands.dm, and code/modules/server\_tools/st\_inteface.dm for the MIT license.
|
||||
|
||||
tgui clientside is licensed as a subproject under the MIT license.
|
||||
Font Awesome font files, used by tgui, are licensed under the SIL Open Font License v1.1
|
||||
tgui assets are licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/).
|
||||
|
||||
All assets including icons and sound are under a [Creative Commons 3.0 BY-SA license](https://creativecommons.org/licenses/by-sa/3.0/) unless otherwise indicated.
|
||||
## Citadel Station 13
|
||||
Based and maintained from /tg/station.
|
||||
|
||||
[](https://travis-ci.org/Citadel-Station-13/Citadel-Station-13)
|
||||
[](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Percentage of issues still open")
|
||||
[](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Average time to resolve an issue")
|
||||
|
||||
[](https://forthebadge.com) [](https://forthebadge.com) [](http://forthebadge.com) [](https://www.reddit.com/r/SS13/comments/5oplxp/what_is_the_main_problem_with_byond_as_an_engine/dclbu1a)
|
||||
|
||||
**Upstream Information**
|
||||
* **Website:** <https://www.tgstation13.org>
|
||||
* **Code:** <https://github.com/tgstation/tgstation>
|
||||
* **Wiki:** <https://tgstation13.org/wiki/Main_Page>
|
||||
* **Codedocs:** <https://codedocs.tgstation13.org>
|
||||
* **/tg/station Discord:** <https://tgstation13.org/phpBB/viewforum.php?f=60>
|
||||
* **Coderbus Discord:** <https://discord.gg/Vh8TJp9>
|
||||
* ~~**IRC:** <irc://irc.rizon.net/coderbus>~~ (dead)
|
||||
|
||||
**Citadel Station Information**
|
||||
* **Website:** <http://citadel-station.net>
|
||||
* **Code:** <https://github.com/Citadel-Station-13/Citadel-Station-13>
|
||||
* **Wiki:** <https://citadel-station.net/wiki/index.php?title=Main_Page>
|
||||
* **Forums:** <http://citadel-station.net/forum>
|
||||
* **Ban Appeals:** <http://citadel-station.net/forum/forumdisplay.php?fid=8>
|
||||
* **Discord:** <https://discord.gg/E6SQuhz>
|
||||
|
||||
## 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 http://www.tgstation13.org/wiki/Downloading_the_source_code
|
||||
|
||||
Option 1:
|
||||
Follow this: http://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)
|
||||
|
||||
## 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/tgstation13/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)](http://tgstation13.org/wiki/Boxstation)
|
||||
* [MetaStation](https://tgstation13.org/wiki/MetaStation)
|
||||
* [DeltaStation](https://tgstation13.org/wiki/DeltaStation)
|
||||
* [OmegaStation](https://tgstation13.org/wiki/OmegaStation)
|
||||
* [PubbyStation](https://tgstation13.org/wiki/PubbyStation)
|
||||
|
||||
|
||||
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](http://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
|
||||
|
||||
## 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)
|
||||
|
||||
## LICENSE
|
||||
|
||||
All code after [commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST](https://github.com/tgstation/tgstation/commit/333c566b88108de218d882840e61928a9b759d8f) is licensed under [GNU AGPL v3](http://www.gnu.org/licenses/agpl-3.0.html).
|
||||
|
||||
All code before [commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST](https://github.com/tgstation/tgstation/commit/333c566b88108de218d882840e61928a9b759d8f) is licensed under [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.html).
|
||||
(Including tools unless their readme specifies otherwise.)
|
||||
|
||||
See LICENSE and GPLv3.txt for more details.
|
||||
|
||||
The TGS3 API is licensed as a subproject under the MIT license.
|
||||
|
||||
See the footers of code/\_\_DEFINES/server\_tools.dm, code/modules/server\_tools/st\_commands.dm, and code/modules/server\_tools/st\_inteface.dm for the MIT license.
|
||||
|
||||
tgui clientside is licensed as a subproject under the MIT license.
|
||||
Font Awesome font files, used by tgui, are licensed under the SIL Open Font License v1.1
|
||||
tgui assets are licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/).
|
||||
|
||||
All assets including icons and sound are under a [Creative Commons 3.0 BY-SA license](https://creativecommons.org/licenses/by-sa/3.0/) unless otherwise indicated.
|
||||
|
||||
+473
-473
@@ -1,473 +1,473 @@
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||
|
||||
--
|
||||
-- Table structure for table `admin`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `admin`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `admin` (
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`rank` varchar(32) NOT NULL,
|
||||
PRIMARY KEY (`ckey`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `admin_log`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `admin_log`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `admin_log` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
`adminckey` varchar(32) NOT NULL,
|
||||
`adminip` int(10) unsigned NOT NULL,
|
||||
`operation` enum('add admin','remove admin','change admin rank','add rank','remove rank','change rank flags') NOT NULL,
|
||||
`target` varchar(32) NOT NULL,
|
||||
`log` varchar(1000) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `admin_ranks`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `admin_ranks`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `admin_ranks` (
|
||||
`rank` varchar(32) NOT NULL,
|
||||
`flags` smallint(5) unsigned NOT NULL,
|
||||
`exclude_flags` smallint(5) unsigned NOT NULL,
|
||||
`can_edit_flags` smallint(5) unsigned NOT NULL,
|
||||
PRIMARY KEY (`rank`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `ban`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `ban`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `ban` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`bantime` datetime NOT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) NOT NULL,
|
||||
`bantype` enum('PERMABAN','TEMPBAN','JOB_PERMABAN','JOB_TEMPBAN','ADMIN_PERMABAN','ADMIN_TEMPBAN') NOT NULL,
|
||||
`reason` varchar(2048) NOT NULL,
|
||||
`job` varchar(32) DEFAULT NULL,
|
||||
`duration` int(11) NOT NULL,
|
||||
`expiration_time` datetime NOT NULL,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`computerid` varchar(32) NOT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`a_ckey` varchar(32) NOT NULL,
|
||||
`a_computerid` varchar(32) NOT NULL,
|
||||
`a_ip` int(10) unsigned NOT NULL,
|
||||
`who` varchar(2048) NOT NULL,
|
||||
`adminwho` varchar(2048) NOT NULL,
|
||||
`edits` text,
|
||||
`unbanned` tinyint(3) unsigned DEFAULT NULL,
|
||||
`unbanned_datetime` datetime DEFAULT NULL,
|
||||
`unbanned_ckey` varchar(32) DEFAULT NULL,
|
||||
`unbanned_computerid` varchar(32) DEFAULT NULL,
|
||||
`unbanned_ip` int(10) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_ban_checkban` (`ckey`,`bantype`,`expiration_time`,`unbanned`,`job`),
|
||||
KEY `idx_ban_isbanned` (`ckey`,`ip`,`computerid`,`bantype`,`expiration_time`,`unbanned`),
|
||||
KEY `idx_ban_count` (`id`,`a_ckey`,`bantype`,`expiration_time`,`unbanned`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `connection_log`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `connection_log`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `connection_log` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime DEFAULT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
`ckey` varchar(45) DEFAULT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`computerid` varchar(45) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `death`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `death`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `death` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`pod` varchar(50) NOT NULL,
|
||||
`x_coord` smallint(5) unsigned NOT NULL,
|
||||
`y_coord` smallint(5) unsigned NOT NULL,
|
||||
`z_coord` smallint(5) unsigned NOT NULL,
|
||||
`mapname` varchar(32) NOT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) NOT NULL,
|
||||
`tod` datetime NOT NULL COMMENT 'Time of death',
|
||||
`job` varchar(32) NOT NULL,
|
||||
`special` varchar(32) DEFAULT NULL,
|
||||
`name` varchar(96) NOT NULL,
|
||||
`byondkey` varchar(32) NOT NULL,
|
||||
`laname` varchar(96) DEFAULT NULL,
|
||||
`lakey` varchar(32) DEFAULT NULL,
|
||||
`bruteloss` smallint(5) unsigned NOT NULL,
|
||||
`brainloss` smallint(5) unsigned NOT NULL,
|
||||
`fireloss` smallint(5) unsigned NOT NULL,
|
||||
`oxyloss` smallint(5) unsigned NOT NULL,
|
||||
`toxloss` smallint(5) unsigned NOT NULL,
|
||||
`cloneloss` smallint(5) unsigned NOT NULL,
|
||||
`staminaloss` smallint(5) unsigned NOT NULL,
|
||||
`last_words` varchar(255) DEFAULT NULL,
|
||||
`suicide` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `feedback`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `feedback`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `feedback` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
`key_name` varchar(32) NOT NULL,
|
||||
`key_type` enum('text', 'amount', 'tally', 'nested tally', 'associative') NOT NULL,
|
||||
`version` tinyint(3) unsigned NOT NULL,
|
||||
`json` json NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `ipintel`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `ipintel`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `ipintel` (
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`intel` double NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ip`),
|
||||
KEY `idx_ipintel` (`ip`,`intel`,`date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `legacy_population`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `legacy_population`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `legacy_population` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`playercount` int(11) DEFAULT NULL,
|
||||
`admincount` int(11) DEFAULT NULL,
|
||||
`time` datetime NOT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `library`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `library`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `library` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`author` varchar(45) NOT NULL,
|
||||
`title` varchar(45) NOT NULL,
|
||||
`content` text NOT NULL,
|
||||
`category` enum('Any','Fiction','Non-Fiction','Adult','Reference','Religion') NOT NULL,
|
||||
`ckey` varchar(32) NOT NULL DEFAULT 'LEGACY',
|
||||
`datetime` datetime NOT NULL,
|
||||
`deleted` tinyint(1) unsigned DEFAULT NULL,
|
||||
`round_id_created` int(11) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `deleted_idx` (`deleted`),
|
||||
KEY `idx_lib_id_del` (`id`,`deleted`),
|
||||
KEY `idx_lib_del_title` (`deleted`,`title`),
|
||||
KEY `idx_lib_search` (`deleted`,`author`,`title`,`category`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `messages`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `messages`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `messages` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`type` enum('memo','message','message sent','note','watchlist entry') NOT NULL,
|
||||
`targetckey` varchar(32) NOT NULL,
|
||||
`adminckey` varchar(32) NOT NULL,
|
||||
`text` varchar(2048) NOT NULL,
|
||||
`timestamp` datetime NOT NULL,
|
||||
`server` varchar(32) DEFAULT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
`secret` tinyint(1) unsigned NOT NULL,
|
||||
`expire_timestamp` datetime DEFAULT NULL,
|
||||
`severity` enum('high','medium','minor','none') DEFAULT NULL,
|
||||
`lasteditor` varchar(32) DEFAULT NULL,
|
||||
`edits` text,
|
||||
`deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_msg_ckey_time` (`targetckey`,`timestamp`, `deleted`),
|
||||
KEY `idx_msg_type_ckeys_time` (`type`,`targetckey`,`adminckey`,`timestamp`, `deleted`),
|
||||
KEY `idx_msg_type_ckey_time_odr` (`type`,`targetckey`,`timestamp`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `role_time`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `role_time`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
|
||||
CREATE TABLE `role_time`
|
||||
( `ckey` VARCHAR(32) NOT NULL ,
|
||||
`job` VARCHAR(32) NOT NULL ,
|
||||
`minutes` INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (`ckey`, `job`)
|
||||
) ENGINE = InnoDB;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `role_time`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `role_time_log`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `role_time_log` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`job` varchar(128) NOT NULL,
|
||||
`delta` int(11) NOT NULL,
|
||||
`datetime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `ckey` (`ckey`),
|
||||
KEY `job` (`job`),
|
||||
KEY `datetime` (`datetime`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `player`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `player`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `player` (
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`byond_key` varchar(32) DEFAULT NULL,
|
||||
`firstseen` datetime NOT NULL,
|
||||
`firstseen_round_id` int(11) unsigned NOT NULL,
|
||||
`lastseen` datetime NOT NULL,
|
||||
`lastseen_round_id` int(11) unsigned NOT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`computerid` varchar(32) NOT NULL,
|
||||
`lastadminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
||||
`accountjoindate` DATE DEFAULT NULL,
|
||||
`flags` smallint(5) unsigned DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (`ckey`),
|
||||
KEY `idx_player_cid_ckey` (`computerid`,`ckey`),
|
||||
KEY `idx_player_ip_ckey` (`ip`,`ckey`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `poll_option`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `poll_option`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `poll_option` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`pollid` int(11) NOT NULL,
|
||||
`text` varchar(255) NOT NULL,
|
||||
`minval` int(3) DEFAULT NULL,
|
||||
`maxval` int(3) DEFAULT NULL,
|
||||
`descmin` varchar(32) DEFAULT NULL,
|
||||
`descmid` varchar(32) DEFAULT NULL,
|
||||
`descmax` varchar(32) DEFAULT NULL,
|
||||
`default_percentage_calc` tinyint(1) unsigned NOT NULL DEFAULT '1',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_pop_pollid` (`pollid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `poll_question`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `poll_question`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `poll_question` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`polltype` enum('OPTION','TEXT','NUMVAL','MULTICHOICE','IRV') NOT NULL,
|
||||
`starttime` datetime NOT NULL,
|
||||
`endtime` datetime NOT NULL,
|
||||
`question` varchar(255) NOT NULL,
|
||||
`adminonly` tinyint(1) unsigned NOT NULL,
|
||||
`multiplechoiceoptions` int(2) DEFAULT NULL,
|
||||
`createdby_ckey` varchar(32) DEFAULT NULL,
|
||||
`createdby_ip` int(10) unsigned NOT NULL,
|
||||
`dontshow` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_pquest_question_time_ckey` (`question`,`starttime`,`endtime`,`createdby_ckey`,`createdby_ip`),
|
||||
KEY `idx_pquest_time_admin` (`starttime`,`endtime`,`adminonly`),
|
||||
KEY `idx_pquest_id_time_type_admin` (`id`,`starttime`,`endtime`,`polltype`,`adminonly`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `poll_textreply`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `poll_textreply`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `poll_textreply` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime NOT NULL,
|
||||
`pollid` int(11) NOT NULL,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`replytext` varchar(2048) NOT NULL,
|
||||
`adminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_ptext_pollid_ckey` (`pollid`,`ckey`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `poll_vote`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `poll_vote`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `poll_vote` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime NOT NULL,
|
||||
`pollid` int(11) NOT NULL,
|
||||
`optionid` int(11) NOT NULL,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`adminrank` varchar(32) NOT NULL,
|
||||
`rating` int(2) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_pvote_pollid_ckey` (`pollid`,`ckey`),
|
||||
KEY `idx_pvote_optionid_ckey` (`optionid`,`ckey`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `round`
|
||||
--
|
||||
DROP TABLE IF EXISTS `round`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `round` (
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`initialize_datetime` DATETIME NOT NULL,
|
||||
`start_datetime` DATETIME NULL,
|
||||
`shutdown_datetime` DATETIME NULL,
|
||||
`end_datetime` DATETIME NULL,
|
||||
`server_ip` INT(10) UNSIGNED NOT NULL,
|
||||
`server_port` SMALLINT(5) UNSIGNED NOT NULL,
|
||||
`commit_hash` CHAR(40) NULL,
|
||||
`game_mode` VARCHAR(32) NULL,
|
||||
`game_mode_result` VARCHAR(64) NULL,
|
||||
`end_state` VARCHAR(64) NULL,
|
||||
`shuttle_name` VARCHAR(64) NULL,
|
||||
`map_name` VARCHAR(32) NULL,
|
||||
`station_name` VARCHAR(80) NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
|
||||
--
|
||||
-- Table structure for table `schema_revision`
|
||||
--
|
||||
DROP TABLE IF EXISTS `schema_revision`;
|
||||
CREATE TABLE `schema_revision` (
|
||||
`major` TINYINT(3) unsigned NOT NULL,
|
||||
`minor` TINYINT(3) unsigned NOT NULL,
|
||||
`date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`major`, `minor`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `role_timeTlogupdate` AFTER UPDATE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.CKEY, NEW.job, NEW.minutes-OLD.minutes);
|
||||
END
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTloginsert` AFTER INSERT ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.ckey, NEW.job, NEW.minutes);
|
||||
END
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTlogdelete` AFTER DELETE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes);
|
||||
END
|
||||
$$
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||
|
||||
--
|
||||
-- Table structure for table `admin`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `admin`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `admin` (
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`rank` varchar(32) NOT NULL,
|
||||
PRIMARY KEY (`ckey`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `admin_log`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `admin_log`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `admin_log` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
`adminckey` varchar(32) NOT NULL,
|
||||
`adminip` int(10) unsigned NOT NULL,
|
||||
`operation` enum('add admin','remove admin','change admin rank','add rank','remove rank','change rank flags') NOT NULL,
|
||||
`target` varchar(32) NOT NULL,
|
||||
`log` varchar(1000) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `admin_ranks`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `admin_ranks`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `admin_ranks` (
|
||||
`rank` varchar(32) NOT NULL,
|
||||
`flags` smallint(5) unsigned NOT NULL,
|
||||
`exclude_flags` smallint(5) unsigned NOT NULL,
|
||||
`can_edit_flags` smallint(5) unsigned NOT NULL,
|
||||
PRIMARY KEY (`rank`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `ban`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `ban`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `ban` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`bantime` datetime NOT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) NOT NULL,
|
||||
`bantype` enum('PERMABAN','TEMPBAN','JOB_PERMABAN','JOB_TEMPBAN','ADMIN_PERMABAN','ADMIN_TEMPBAN') NOT NULL,
|
||||
`reason` varchar(2048) NOT NULL,
|
||||
`job` varchar(32) DEFAULT NULL,
|
||||
`duration` int(11) NOT NULL,
|
||||
`expiration_time` datetime NOT NULL,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`computerid` varchar(32) NOT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`a_ckey` varchar(32) NOT NULL,
|
||||
`a_computerid` varchar(32) NOT NULL,
|
||||
`a_ip` int(10) unsigned NOT NULL,
|
||||
`who` varchar(2048) NOT NULL,
|
||||
`adminwho` varchar(2048) NOT NULL,
|
||||
`edits` text,
|
||||
`unbanned` tinyint(3) unsigned DEFAULT NULL,
|
||||
`unbanned_datetime` datetime DEFAULT NULL,
|
||||
`unbanned_ckey` varchar(32) DEFAULT NULL,
|
||||
`unbanned_computerid` varchar(32) DEFAULT NULL,
|
||||
`unbanned_ip` int(10) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_ban_checkban` (`ckey`,`bantype`,`expiration_time`,`unbanned`,`job`),
|
||||
KEY `idx_ban_isbanned` (`ckey`,`ip`,`computerid`,`bantype`,`expiration_time`,`unbanned`),
|
||||
KEY `idx_ban_count` (`id`,`a_ckey`,`bantype`,`expiration_time`,`unbanned`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `connection_log`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `connection_log`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `connection_log` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime DEFAULT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
`ckey` varchar(45) DEFAULT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`computerid` varchar(45) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `death`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `death`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `death` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`pod` varchar(50) NOT NULL,
|
||||
`x_coord` smallint(5) unsigned NOT NULL,
|
||||
`y_coord` smallint(5) unsigned NOT NULL,
|
||||
`z_coord` smallint(5) unsigned NOT NULL,
|
||||
`mapname` varchar(32) NOT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) NOT NULL,
|
||||
`tod` datetime NOT NULL COMMENT 'Time of death',
|
||||
`job` varchar(32) NOT NULL,
|
||||
`special` varchar(32) DEFAULT NULL,
|
||||
`name` varchar(96) NOT NULL,
|
||||
`byondkey` varchar(32) NOT NULL,
|
||||
`laname` varchar(96) DEFAULT NULL,
|
||||
`lakey` varchar(32) DEFAULT NULL,
|
||||
`bruteloss` smallint(5) unsigned NOT NULL,
|
||||
`brainloss` smallint(5) unsigned NOT NULL,
|
||||
`fireloss` smallint(5) unsigned NOT NULL,
|
||||
`oxyloss` smallint(5) unsigned NOT NULL,
|
||||
`toxloss` smallint(5) unsigned NOT NULL,
|
||||
`cloneloss` smallint(5) unsigned NOT NULL,
|
||||
`staminaloss` smallint(5) unsigned NOT NULL,
|
||||
`last_words` varchar(255) DEFAULT NULL,
|
||||
`suicide` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `feedback`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `feedback`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `feedback` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
`key_name` varchar(32) NOT NULL,
|
||||
`key_type` enum('text', 'amount', 'tally', 'nested tally', 'associative') NOT NULL,
|
||||
`version` tinyint(3) unsigned NOT NULL,
|
||||
`json` json NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `ipintel`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `ipintel`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `ipintel` (
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`intel` double NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`ip`),
|
||||
KEY `idx_ipintel` (`ip`,`intel`,`date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `legacy_population`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `legacy_population`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `legacy_population` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`playercount` int(11) DEFAULT NULL,
|
||||
`admincount` int(11) DEFAULT NULL,
|
||||
`time` datetime NOT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `library`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `library`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `library` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`author` varchar(45) NOT NULL,
|
||||
`title` varchar(45) NOT NULL,
|
||||
`content` text NOT NULL,
|
||||
`category` enum('Any','Fiction','Non-Fiction','Adult','Reference','Religion') NOT NULL,
|
||||
`ckey` varchar(32) NOT NULL DEFAULT 'LEGACY',
|
||||
`datetime` datetime NOT NULL,
|
||||
`deleted` tinyint(1) unsigned DEFAULT NULL,
|
||||
`round_id_created` int(11) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `deleted_idx` (`deleted`),
|
||||
KEY `idx_lib_id_del` (`id`,`deleted`),
|
||||
KEY `idx_lib_del_title` (`deleted`,`title`),
|
||||
KEY `idx_lib_search` (`deleted`,`author`,`title`,`category`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `messages`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `messages`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `messages` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`type` enum('memo','message','message sent','note','watchlist entry') NOT NULL,
|
||||
`targetckey` varchar(32) NOT NULL,
|
||||
`adminckey` varchar(32) NOT NULL,
|
||||
`text` varchar(2048) NOT NULL,
|
||||
`timestamp` datetime NOT NULL,
|
||||
`server` varchar(32) DEFAULT NULL,
|
||||
`server_ip` int(10) unsigned NOT NULL,
|
||||
`server_port` smallint(5) unsigned NOT NULL,
|
||||
`round_id` int(11) unsigned NOT NULL,
|
||||
`secret` tinyint(1) unsigned NOT NULL,
|
||||
`expire_timestamp` datetime DEFAULT NULL,
|
||||
`severity` enum('high','medium','minor','none') DEFAULT NULL,
|
||||
`lasteditor` varchar(32) DEFAULT NULL,
|
||||
`edits` text,
|
||||
`deleted` tinyint(1) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_msg_ckey_time` (`targetckey`,`timestamp`, `deleted`),
|
||||
KEY `idx_msg_type_ckeys_time` (`type`,`targetckey`,`adminckey`,`timestamp`, `deleted`),
|
||||
KEY `idx_msg_type_ckey_time_odr` (`type`,`targetckey`,`timestamp`, `deleted`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `role_time`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `role_time`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
|
||||
CREATE TABLE `role_time`
|
||||
( `ckey` VARCHAR(32) NOT NULL ,
|
||||
`job` VARCHAR(32) NOT NULL ,
|
||||
`minutes` INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (`ckey`, `job`)
|
||||
) ENGINE = InnoDB;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `role_time`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `role_time_log`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `role_time_log` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`job` varchar(128) NOT NULL,
|
||||
`delta` int(11) NOT NULL,
|
||||
`datetime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `ckey` (`ckey`),
|
||||
KEY `job` (`job`),
|
||||
KEY `datetime` (`datetime`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `player`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `player`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `player` (
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`byond_key` varchar(32) DEFAULT NULL,
|
||||
`firstseen` datetime NOT NULL,
|
||||
`firstseen_round_id` int(11) unsigned NOT NULL,
|
||||
`lastseen` datetime NOT NULL,
|
||||
`lastseen_round_id` int(11) unsigned NOT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`computerid` varchar(32) NOT NULL,
|
||||
`lastadminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
||||
`accountjoindate` DATE DEFAULT NULL,
|
||||
`flags` smallint(5) unsigned DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (`ckey`),
|
||||
KEY `idx_player_cid_ckey` (`computerid`,`ckey`),
|
||||
KEY `idx_player_ip_ckey` (`ip`,`ckey`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `poll_option`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `poll_option`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `poll_option` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`pollid` int(11) NOT NULL,
|
||||
`text` varchar(255) NOT NULL,
|
||||
`minval` int(3) DEFAULT NULL,
|
||||
`maxval` int(3) DEFAULT NULL,
|
||||
`descmin` varchar(32) DEFAULT NULL,
|
||||
`descmid` varchar(32) DEFAULT NULL,
|
||||
`descmax` varchar(32) DEFAULT NULL,
|
||||
`default_percentage_calc` tinyint(1) unsigned NOT NULL DEFAULT '1',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_pop_pollid` (`pollid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `poll_question`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `poll_question`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `poll_question` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`polltype` enum('OPTION','TEXT','NUMVAL','MULTICHOICE','IRV') NOT NULL,
|
||||
`starttime` datetime NOT NULL,
|
||||
`endtime` datetime NOT NULL,
|
||||
`question` varchar(255) NOT NULL,
|
||||
`adminonly` tinyint(1) unsigned NOT NULL,
|
||||
`multiplechoiceoptions` int(2) DEFAULT NULL,
|
||||
`createdby_ckey` varchar(32) DEFAULT NULL,
|
||||
`createdby_ip` int(10) unsigned NOT NULL,
|
||||
`dontshow` tinyint(1) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_pquest_question_time_ckey` (`question`,`starttime`,`endtime`,`createdby_ckey`,`createdby_ip`),
|
||||
KEY `idx_pquest_time_admin` (`starttime`,`endtime`,`adminonly`),
|
||||
KEY `idx_pquest_id_time_type_admin` (`id`,`starttime`,`endtime`,`polltype`,`adminonly`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `poll_textreply`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `poll_textreply`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `poll_textreply` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime NOT NULL,
|
||||
`pollid` int(11) NOT NULL,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`replytext` varchar(2048) NOT NULL,
|
||||
`adminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_ptext_pollid_ckey` (`pollid`,`ckey`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `poll_vote`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `poll_vote`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `poll_vote` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`datetime` datetime NOT NULL,
|
||||
`pollid` int(11) NOT NULL,
|
||||
`optionid` int(11) NOT NULL,
|
||||
`ckey` varchar(32) NOT NULL,
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`adminrank` varchar(32) NOT NULL,
|
||||
`rating` int(2) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_pvote_pollid_ckey` (`pollid`,`ckey`),
|
||||
KEY `idx_pvote_optionid_ckey` (`optionid`,`ckey`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `round`
|
||||
--
|
||||
DROP TABLE IF EXISTS `round`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `round` (
|
||||
`id` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`initialize_datetime` DATETIME NOT NULL,
|
||||
`start_datetime` DATETIME NULL,
|
||||
`shutdown_datetime` DATETIME NULL,
|
||||
`end_datetime` DATETIME NULL,
|
||||
`server_ip` INT(10) UNSIGNED NOT NULL,
|
||||
`server_port` SMALLINT(5) UNSIGNED NOT NULL,
|
||||
`commit_hash` CHAR(40) NULL,
|
||||
`game_mode` VARCHAR(32) NULL,
|
||||
`game_mode_result` VARCHAR(64) NULL,
|
||||
`end_state` VARCHAR(64) NULL,
|
||||
`shuttle_name` VARCHAR(64) NULL,
|
||||
`map_name` VARCHAR(32) NULL,
|
||||
`station_name` VARCHAR(80) NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
|
||||
--
|
||||
-- Table structure for table `schema_revision`
|
||||
--
|
||||
DROP TABLE IF EXISTS `schema_revision`;
|
||||
CREATE TABLE `schema_revision` (
|
||||
`major` TINYINT(3) unsigned NOT NULL,
|
||||
`minor` TINYINT(3) unsigned NOT NULL,
|
||||
`date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`major`, `minor`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
|
||||
DELIMITER $$
|
||||
CREATE TRIGGER `role_timeTlogupdate` AFTER UPDATE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.CKEY, NEW.job, NEW.minutes-OLD.minutes);
|
||||
END
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTloginsert` AFTER INSERT ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.ckey, NEW.job, NEW.minutes);
|
||||
END
|
||||
$$
|
||||
CREATE TRIGGER `role_timeTlogdelete` AFTER DELETE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes);
|
||||
END
|
||||
$$
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
{
|
||||
"documentation": "/tg/station server 3 configuration file",
|
||||
"changelog": {
|
||||
"script": "tools/ss13_genchangelog.py",
|
||||
"arguments": "html/changelog.html html/changelogs",
|
||||
"pip_dependancies": [
|
||||
"PyYaml",
|
||||
"beautifulsoup4"
|
||||
]
|
||||
},
|
||||
"synchronize_paths": [
|
||||
"html/changelog.html",
|
||||
"html/changelogs/*"
|
||||
],
|
||||
"static_directories": [
|
||||
"config",
|
||||
"data"
|
||||
],
|
||||
"dlls": [
|
||||
"libmariadb.dll"
|
||||
]
|
||||
}
|
||||
{
|
||||
"documentation": "/tg/station server 3 configuration file",
|
||||
"changelog": {
|
||||
"script": "tools/ss13_genchangelog.py",
|
||||
"arguments": "html/changelog.html html/changelogs",
|
||||
"pip_dependancies": [
|
||||
"PyYaml",
|
||||
"beautifulsoup4"
|
||||
]
|
||||
},
|
||||
"synchronize_paths": [
|
||||
"html/changelog.html",
|
||||
"html/changelogs/*"
|
||||
],
|
||||
"static_directories": [
|
||||
"config",
|
||||
"data"
|
||||
],
|
||||
"dlls": [
|
||||
"libmariadb.dll"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -17,10 +17,14 @@
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"ag" = (
|
||||
/obj/structure/shuttle/engine/propulsion/right{
|
||||
dir = 4
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/closet,
|
||||
/obj/effect/spawner/lootdrop/maintenance{
|
||||
lootcount = 8;
|
||||
name = "8maintenance loot spawner"
|
||||
},
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"ah" = (
|
||||
/obj/structure/table/wood,
|
||||
@@ -70,20 +74,21 @@
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"ar" = (
|
||||
/obj/machinery/door/airlock/titanium{
|
||||
name = "Escape Pod Airlock"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/turf/closed/wall/mineral/wood,
|
||||
/area/ruin/powered)
|
||||
"as" = (
|
||||
/obj/machinery/light,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"at" = (
|
||||
/obj/structure/shuttle/engine/propulsion/left{
|
||||
dir = 4
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_x = 5;
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"au" = (
|
||||
/obj/item/seeds/tower,
|
||||
@@ -93,11 +98,15 @@
|
||||
/area/ruin/powered)
|
||||
"av" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/paper/crumpled{
|
||||
info = "</b><br><br>So this is it, I guess.. Always thought I'd go out doing something stupid, but.. not like this.<br>Should anyone find this note, tell Jeremy Clarke he can kiss my ass. Launching the pod unprepared like that..<br>Well. Now that I'm keeling over here, I guess I should write how I came to be the last one standing here.<br>Four of us took this pod.. only three of us woke up though.. fourth pod is locked from the inside, we couldn't figure out how to get it open.<br>Me and the clown set up a farm s'we can survive at least a while.. though, he didn't seem to understand that man cannot live on banana alone.<br>Had a bunch of circuits on him for some reason when he eventually passed, whispered to me something about a chem dispenser.. I.. don't know what he meant by that. I was never good with machinary. Maybe he wanted space lube?<br>The assistant that we gave the space suit to go out and find help never came back.. I'm betting he found salvation and left us behind.. never can trust those grubby greytiders."
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton{
|
||||
pixel_x = 6;
|
||||
pixel_y = 9
|
||||
},
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton,
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton{
|
||||
pixel_x = -5;
|
||||
pixel_y = 6
|
||||
},
|
||||
/obj/item/pen,
|
||||
/obj/item/stock_parts/cell/hyper,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"aw" = (
|
||||
@@ -142,6 +151,17 @@
|
||||
"aE" = (
|
||||
/turf/open/floor/plating/asteroid/airless,
|
||||
/area/ruin/powered)
|
||||
"aF" = (
|
||||
/obj/machinery/power/port_gen/pacman{
|
||||
active = 1;
|
||||
anchored = 1;
|
||||
sheets = 10
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"aG" = (
|
||||
/obj/structure/sink/puddle,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
@@ -187,9 +207,7 @@
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"aQ" = (
|
||||
/obj/item/stack/ore/gold,
|
||||
/obj/item/stack/ore/gold,
|
||||
/obj/item/stack/ore/gold,
|
||||
/obj/item/circuitboard/machine/circuit_imprinter,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"aR" = (
|
||||
@@ -205,8 +223,12 @@
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"aU" = (
|
||||
/obj/item/flashlight/lamp,
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/human{
|
||||
pixel_x = 3;
|
||||
pixel_y = 3
|
||||
},
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab/human,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"aV" = (
|
||||
@@ -238,20 +260,24 @@
|
||||
/turf/closed/mineral/random/no_caves/earth_like,
|
||||
/area/ruin/powered)
|
||||
"bc" = (
|
||||
/obj/item/circuitboard/machine/circuit_imprinter,
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/vending_refill/snack,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"bd" = (
|
||||
/obj/item/grown/bananapeel,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/obj/structure/shuttle/engine/propulsion/right{
|
||||
dir = 4
|
||||
},
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"be" = (
|
||||
/obj/effect/mob_spawn/human/corpse/cargo_tech,
|
||||
/obj/structure/fans/tiny/invisible,
|
||||
/obj/structure/chair/wood/normal{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"bf" = (
|
||||
/obj/item/clothing/glasses/meson,
|
||||
/obj/machinery/door/airlock/wood,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"bg" = (
|
||||
@@ -275,50 +301,43 @@
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"bl" = (
|
||||
/obj/machinery/power/floodlight,
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
/obj/machinery/door/airlock/titanium{
|
||||
name = "Escape Pod Airlock"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"bm" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/obj/item/flashlight/lamp,
|
||||
/obj/structure/table/wood,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"bn" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-8"
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/paper/crumpled{
|
||||
info = "</b><br><br>So this is it, I guess.. Always thought I'd go out doing something stupid, but.. not like this.<br>Should anyone find this note, tell Jeremy Clarke he can kiss my ass. Launching the pod unprepared like that..<br>Well. Now that I'm keeling over here, I guess I should write how I came to be the last one standing here.<br>Four of us took this pod.. only three of us woke up though.. fourth pod is locked from the inside, we couldn't figure out how to get it open.<br>Me and the clown set up a farm s'we can survive at least a while.. though, he didn't seem to understand that man cannot live on banana alone.<br>Had a bunch of circuits on him for some reason when he eventually passed, whispered to me something about a chem dispenser.. I.. don't know what he meant by that. I was never good with machinary. Maybe he wanted space lube?<br>The assistant that we gave the space suit to go out and find help never came back.. I'm betting he found salvation and left us behind.. never can trust those grubby greytiders."
|
||||
},
|
||||
/obj/item/pen,
|
||||
/obj/item/stock_parts/cell/hyper,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"bo" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/item/grown/bananapeel,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"bp" = (
|
||||
/obj/item/stack/ore/iron,
|
||||
/obj/item/stack/ore/iron,
|
||||
/obj/item/stack/ore/iron,
|
||||
/obj/effect/mob_spawn/human/corpse/cargo_tech,
|
||||
/obj/structure/fans/tiny/invisible,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"bq" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/port_gen/pacman{
|
||||
active = 1;
|
||||
anchored = 1;
|
||||
sheets = 10
|
||||
},
|
||||
/obj/item/clothing/glasses/meson,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"br" = (
|
||||
/obj/item/stack/ore/iron,
|
||||
/obj/item/stack/sheet/mineral/plasma,
|
||||
/obj/item/stack/sheet/mineral/plasma,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/obj/effect/decal/cleanable/oil{
|
||||
icon_state = "floor5"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"bs" = (
|
||||
/obj/item/flashlight/lamp/bananalamp,
|
||||
@@ -328,18 +347,181 @@
|
||||
/obj/item/pickaxe/titanium,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"fc" = (
|
||||
/obj/item/stack/ore/iron,
|
||||
/obj/item/stack/sheet/mineral/plasma,
|
||||
/obj/item/stack/sheet/mineral/plasma,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"fp" = (
|
||||
/turf/closed/mineral/random/high_chance/earth_like,
|
||||
/area/ruin/powered)
|
||||
"jx" = (
|
||||
/turf/closed/mineral/silver/earth_like,
|
||||
/area/ruin/powered)
|
||||
"ma" = (
|
||||
/obj/item/stack/ore/iron,
|
||||
/obj/item/stack/ore/iron,
|
||||
/obj/item/stack/ore/iron,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"mr" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/mob_spawn/human/skeleton,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"nc" = (
|
||||
/turf/closed/mineral/bscrystal/earth_like,
|
||||
/area/ruin/powered)
|
||||
"nl" = (
|
||||
/obj/structure/closet/emcloset,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"oR" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"wU" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"zs" = (
|
||||
/obj/structure/reagent_dispensers/watertank/high,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"CY" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"DH" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/decal/cleanable/vomit/old,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"Ft" = (
|
||||
/obj/structure/reagent_dispensers/fueltank/high,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"HK" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"HP" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"Iy" = (
|
||||
/obj/item/clothing/suit/hazardvest{
|
||||
desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
|
||||
name = "emergency lifejacket"
|
||||
},
|
||||
/obj/item/clothing/suit/hazardvest{
|
||||
desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
|
||||
name = "emergency lifejacket"
|
||||
},
|
||||
/obj/item/clothing/suit/hazardvest{
|
||||
desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
|
||||
name = "emergency lifejacket"
|
||||
},
|
||||
/obj/item/clothing/suit/hazardvest{
|
||||
desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
|
||||
name = "emergency lifejacket"
|
||||
},
|
||||
/obj/item/clothing/suit/hazardvest{
|
||||
desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks.";
|
||||
name = "emergency lifejacket"
|
||||
},
|
||||
/obj/item/tank/internals/emergency_oxygen/double{
|
||||
pixel_x = 3
|
||||
},
|
||||
/obj/item/tank/internals/emergency_oxygen/double{
|
||||
pixel_x = 3
|
||||
},
|
||||
/obj/item/tank/internals/emergency_oxygen/double{
|
||||
pixel_x = 3
|
||||
},
|
||||
/obj/item/tank/internals/emergency_oxygen/double{
|
||||
pixel_x = 3
|
||||
},
|
||||
/obj/item/tank/internals/emergency_oxygen/double{
|
||||
pixel_x = 3
|
||||
},
|
||||
/obj/item/clothing/mask/breath{
|
||||
pixel_x = -3;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/item/clothing/mask/breath{
|
||||
pixel_x = -3;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/item/clothing/mask/breath{
|
||||
pixel_x = -3;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/item/clothing/mask/breath{
|
||||
pixel_x = -3;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/item/clothing/mask/breath{
|
||||
pixel_x = -3;
|
||||
pixel_y = -3
|
||||
},
|
||||
/obj/item/clothing/head/hardhat/orange{
|
||||
name = "protective hat";
|
||||
pixel_y = 9
|
||||
},
|
||||
/obj/item/clothing/head/hardhat/orange{
|
||||
name = "protective hat";
|
||||
pixel_y = 9
|
||||
},
|
||||
/obj/item/clothing/head/hardhat/orange{
|
||||
name = "protective hat";
|
||||
pixel_y = 9
|
||||
},
|
||||
/obj/item/clothing/head/hardhat/orange{
|
||||
name = "protective hat";
|
||||
pixel_y = 9
|
||||
},
|
||||
/obj/item/clothing/head/hardhat/orange{
|
||||
name = "protective hat";
|
||||
pixel_y = 9
|
||||
},
|
||||
/obj/structure/closet/crate/internals,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"JZ" = (
|
||||
/turf/closed/mineral/titanium/earth_like,
|
||||
/area/ruin/powered)
|
||||
"Kj" = (
|
||||
/obj/machinery/power/floodlight,
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"Lt" = (
|
||||
/obj/structure/mirror,
|
||||
/turf/closed/wall/mineral/iron,
|
||||
@@ -347,6 +529,19 @@
|
||||
"PG" = (
|
||||
/turf/closed/mineral/gold/earth_like,
|
||||
/area/ruin/powered)
|
||||
"Qi" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/port_gen/pacman{
|
||||
active = 1;
|
||||
anchored = 1;
|
||||
sheets = 10
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"Sv" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
"Ue" = (
|
||||
/turf/closed/mineral/diamond/earth_like,
|
||||
/area/ruin/powered)
|
||||
@@ -358,6 +553,24 @@
|
||||
/obj/item/circuitboard/machine/ore_redemption,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"WP" = (
|
||||
/obj/item/stack/ore/gold,
|
||||
/obj/item/stack/ore/gold,
|
||||
/obj/item/stack/ore/gold,
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"Xh" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid,
|
||||
/area/ruin/powered)
|
||||
"XQ" = (
|
||||
/obj/structure/shuttle/engine/propulsion/left{
|
||||
dir = 4
|
||||
},
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/ruin/powered)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -1123,9 +1336,9 @@ bb
|
||||
bb
|
||||
af
|
||||
ak
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
DH
|
||||
an
|
||||
mr
|
||||
ak
|
||||
af
|
||||
am
|
||||
@@ -1175,9 +1388,9 @@ bb
|
||||
aR
|
||||
ae
|
||||
ae
|
||||
an
|
||||
an
|
||||
an
|
||||
af
|
||||
bl
|
||||
af
|
||||
ae
|
||||
ae
|
||||
am
|
||||
@@ -1225,13 +1438,13 @@ ba
|
||||
ba
|
||||
bb
|
||||
aR
|
||||
ae
|
||||
ag
|
||||
ag
|
||||
af
|
||||
ar
|
||||
af
|
||||
at
|
||||
nl
|
||||
an
|
||||
HP
|
||||
at
|
||||
ae
|
||||
am
|
||||
bb
|
||||
fp
|
||||
@@ -1277,13 +1490,13 @@ aL
|
||||
bb
|
||||
bb
|
||||
aT
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
bl
|
||||
br
|
||||
an
|
||||
an
|
||||
an
|
||||
an
|
||||
bl
|
||||
aR
|
||||
bb
|
||||
bb
|
||||
@@ -1329,13 +1542,13 @@ am
|
||||
ba
|
||||
bb
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
af
|
||||
Ft
|
||||
zs
|
||||
Sv
|
||||
CY
|
||||
wU
|
||||
af
|
||||
bg
|
||||
bb
|
||||
fp
|
||||
@@ -1381,13 +1594,13 @@ am
|
||||
ba
|
||||
bb
|
||||
bb
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
ae
|
||||
Iy
|
||||
aF
|
||||
br
|
||||
CY
|
||||
CY
|
||||
ae
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
@@ -1432,14 +1645,14 @@ am
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
aU
|
||||
am
|
||||
bd
|
||||
am
|
||||
am
|
||||
bd
|
||||
af
|
||||
bl
|
||||
bm
|
||||
am
|
||||
am
|
||||
af
|
||||
XQ
|
||||
XQ
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
@@ -1484,15 +1697,15 @@ am
|
||||
bb
|
||||
bb
|
||||
ba
|
||||
av
|
||||
be
|
||||
am
|
||||
am
|
||||
am
|
||||
bn
|
||||
bo
|
||||
bo
|
||||
bq
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
@@ -1525,10 +1738,10 @@ bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
ba
|
||||
am
|
||||
am
|
||||
am
|
||||
ar
|
||||
ar
|
||||
ar
|
||||
ar
|
||||
am
|
||||
am
|
||||
am
|
||||
@@ -1536,15 +1749,15 @@ am
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bc
|
||||
bf
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
br
|
||||
am
|
||||
am
|
||||
am
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
@@ -1577,10 +1790,10 @@ bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
ar
|
||||
av
|
||||
am
|
||||
ar
|
||||
am
|
||||
am
|
||||
am
|
||||
@@ -1629,10 +1842,10 @@ bb
|
||||
fp
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
ar
|
||||
aU
|
||||
be
|
||||
bf
|
||||
am
|
||||
am
|
||||
am
|
||||
@@ -1645,8 +1858,8 @@ am
|
||||
am
|
||||
aR
|
||||
am
|
||||
am
|
||||
am
|
||||
Kj
|
||||
HK
|
||||
am
|
||||
bb
|
||||
bb
|
||||
@@ -1681,11 +1894,11 @@ bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
ba
|
||||
ar
|
||||
bc
|
||||
am
|
||||
ar
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
@@ -1698,10 +1911,10 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
oR
|
||||
Xh
|
||||
Xh
|
||||
Qi
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
@@ -1733,16 +1946,18 @@ bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
bb
|
||||
ar
|
||||
ar
|
||||
ar
|
||||
ar
|
||||
ba
|
||||
ba
|
||||
ba
|
||||
aK
|
||||
ba
|
||||
ba
|
||||
bm
|
||||
bo
|
||||
am
|
||||
am
|
||||
am
|
||||
@@ -1750,9 +1965,7 @@ am
|
||||
am
|
||||
am
|
||||
am
|
||||
bp
|
||||
am
|
||||
am
|
||||
fc
|
||||
aR
|
||||
ba
|
||||
ba
|
||||
@@ -1795,16 +2008,16 @@ fp
|
||||
ba
|
||||
fp
|
||||
ba
|
||||
bn
|
||||
bp
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
aP
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
aR
|
||||
ba
|
||||
ba
|
||||
@@ -1848,14 +2061,14 @@ ba
|
||||
ba
|
||||
ba
|
||||
aQ
|
||||
aP
|
||||
bq
|
||||
am
|
||||
am
|
||||
aR
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
WP
|
||||
aP
|
||||
bb
|
||||
am
|
||||
ba
|
||||
@@ -2009,7 +2222,7 @@ bg
|
||||
am
|
||||
am
|
||||
am
|
||||
am
|
||||
ma
|
||||
am
|
||||
aS
|
||||
bb
|
||||
|
||||
@@ -1453,7 +1453,7 @@
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_2)
|
||||
"eu" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/wood,
|
||||
/area/ruin/space/has_grav/hotel/guestroom/room_2)
|
||||
"ev" = (
|
||||
|
||||
+156
-119
@@ -153,10 +153,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"cX" = (
|
||||
/obj/structure/closet/secure_closet/miner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"dk" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/stack/packageWrap,
|
||||
@@ -398,6 +394,13 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/mine/laborcamp/security)
|
||||
"he" = (
|
||||
/obj/machinery/door/airlock/external/glass,
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"hf" = (
|
||||
/obj/item/kirbyplants/random,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -417,16 +420,6 @@
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"hH" = (
|
||||
/obj/effect/turf_decal/tile/brown,
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"hP" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{
|
||||
@@ -503,6 +496,14 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/production)
|
||||
"ja" = (
|
||||
/obj/item/bikehorn{
|
||||
color = "#000";
|
||||
desc = "A horn off of a bicycle. This one has been charred to hell and back, yet somehow it still honks.";
|
||||
name = "charred bike horn"
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"jf" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/firstaid/regular,
|
||||
@@ -769,11 +770,6 @@
|
||||
/obj/effect/turf_decal/tile/red,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp/security)
|
||||
"nH" = (
|
||||
/obj/machinery/light,
|
||||
/obj/structure/closet/wardrobe/miner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"nI" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
|
||||
@@ -841,6 +837,12 @@
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/production)
|
||||
"nS" = (
|
||||
/obj/machinery/computer/shuttle/mining/common{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"nX" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/cable{
|
||||
@@ -1275,8 +1277,12 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/production)
|
||||
"uG" = (
|
||||
/obj/structure/ore_box,
|
||||
/obj/effect/turf_decal/box,
|
||||
/obj/structure/table,
|
||||
/obj/item/clothing/glasses/meson,
|
||||
/obj/item/storage/bag/ore,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/mining_scanner,
|
||||
/obj/item/flashlight,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"uI" = (
|
||||
@@ -1439,6 +1445,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"wQ" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/tank/internals/emergency_oxygen{
|
||||
pixel_x = 5;
|
||||
pixel_y = 3
|
||||
},
|
||||
/obj/item/tank/internals/emergency_oxygen,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"wV" = (
|
||||
/turf/closed/mineral/random/volcanic,
|
||||
/area/lavaland/surface/outdoors/explored)
|
||||
@@ -1536,6 +1551,18 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/mine/living_quarters)
|
||||
"yZ" = (
|
||||
/obj/docking_port/stationary{
|
||||
area_type = /area/lavaland/surface/outdoors;
|
||||
dir = 8;
|
||||
dwidth = 3;
|
||||
height = 7;
|
||||
id = "lavaland_common_away";
|
||||
name = "Lavaland Mining Public Wing";
|
||||
width = 7
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"zh" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
|
||||
dir = 1
|
||||
@@ -1644,6 +1671,13 @@
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/mine/production)
|
||||
"AC" = (
|
||||
/obj/machinery/door/airlock/external/glass,
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"AH" = (
|
||||
/obj/machinery/cryopod{
|
||||
dir = 4
|
||||
@@ -1719,6 +1753,12 @@
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/turf/open/floor/plating,
|
||||
/area/mine/living_quarters)
|
||||
"By" = (
|
||||
/obj/structure/chair{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"BD" = (
|
||||
/obj/machinery/door/airlock/maintenance{
|
||||
name = "Mining Station Maintenance";
|
||||
@@ -1843,6 +1883,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"Dr" = (
|
||||
/obj/structure/chair,
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_x = -5;
|
||||
pixel_y = 30
|
||||
@@ -1850,9 +1891,6 @@
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"Dv" = (
|
||||
@@ -2695,17 +2733,12 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"Pp" = (
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Public Shuttle Lobby";
|
||||
network = list("mine")
|
||||
},
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/brown,
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 4
|
||||
/obj/structure/table,
|
||||
/obj/item/gps/mining{
|
||||
pixel_x = 3;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/item/gps/mining,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"Pq" = (
|
||||
@@ -2750,6 +2783,10 @@
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/mine/laborcamp)
|
||||
"Qd" = (
|
||||
/obj/structure/displaycase,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"Qi" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/reagentgrinder,
|
||||
@@ -2825,9 +2862,13 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"Ru" = (
|
||||
/obj/structure/chair,
|
||||
/obj/machinery/newscaster{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/living_quarters)
|
||||
"Rv" = (
|
||||
@@ -3019,13 +3060,13 @@
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/mob/living/simple_animal/bot/secbot/beepsky{
|
||||
desc = "Powered by the tears and sweat of laborers.";
|
||||
name = "Prison Ofitser"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/mine/laborcamp/security)
|
||||
"Un" = (
|
||||
@@ -3241,10 +3282,6 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/mine/living_quarters)
|
||||
"XX" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/closed/wall,
|
||||
/area/mine/living_quarters)
|
||||
"Ya" = (
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/mine/laborcamp)
|
||||
@@ -4211,9 +4248,9 @@ VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -4266,12 +4303,12 @@ VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -4322,15 +4359,15 @@ VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -4379,16 +4416,16 @@ VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -4435,17 +4472,17 @@ wz
|
||||
wz
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
@@ -4492,18 +4529,18 @@ wz
|
||||
wz
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -4549,7 +4586,6 @@ VT
|
||||
wz
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
@@ -4558,8 +4594,9 @@ Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -4615,7 +4652,7 @@ Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -4662,11 +4699,11 @@ VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
@@ -4722,10 +4759,10 @@ wz
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
yZ
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
@@ -4772,18 +4809,18 @@ Gt
|
||||
Dv
|
||||
my
|
||||
VT
|
||||
ja
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
wz
|
||||
wz
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
KV
|
||||
he
|
||||
KV
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
@@ -4833,14 +4870,14 @@ VT
|
||||
VT
|
||||
Lm
|
||||
Lm
|
||||
wz
|
||||
wz
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
Lm
|
||||
KV
|
||||
Ag
|
||||
KV
|
||||
Lm
|
||||
Lm
|
||||
VT
|
||||
@@ -4893,11 +4930,11 @@ Lm
|
||||
VN
|
||||
VN
|
||||
VN
|
||||
XX
|
||||
VN
|
||||
VN
|
||||
VN
|
||||
KV
|
||||
VN
|
||||
KV
|
||||
AC
|
||||
KV
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -4949,12 +4986,12 @@ pu
|
||||
bn
|
||||
VN
|
||||
zy
|
||||
Ag
|
||||
Ag
|
||||
Ag
|
||||
By
|
||||
nS
|
||||
By
|
||||
Ag
|
||||
qZ
|
||||
VN
|
||||
KV
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -5010,8 +5047,8 @@ Ag
|
||||
Ag
|
||||
Ag
|
||||
Ag
|
||||
cX
|
||||
VN
|
||||
Ag
|
||||
KV
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -5067,8 +5104,8 @@ Ag
|
||||
uG
|
||||
uG
|
||||
Ag
|
||||
cX
|
||||
VN
|
||||
eS
|
||||
KV
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -5124,8 +5161,8 @@ KO
|
||||
uG
|
||||
uG
|
||||
Ag
|
||||
cX
|
||||
VN
|
||||
Ag
|
||||
KV
|
||||
VT
|
||||
VT
|
||||
VT
|
||||
@@ -5181,7 +5218,7 @@ RP
|
||||
Ag
|
||||
Ag
|
||||
Ag
|
||||
nH
|
||||
oy
|
||||
VN
|
||||
VT
|
||||
VT
|
||||
@@ -5235,10 +5272,10 @@ oy
|
||||
VN
|
||||
Pp
|
||||
sx
|
||||
eS
|
||||
Ag
|
||||
Ag
|
||||
hH
|
||||
Pp
|
||||
wQ
|
||||
Qd
|
||||
Qd
|
||||
VN
|
||||
wz
|
||||
Lm
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5371,7 +5371,7 @@
|
||||
/area/awaymission/research/interior/dorm)
|
||||
"kS" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/research/interior/dorm)
|
||||
"kT" = (
|
||||
|
||||
+11
-11
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"map_name": "Box Station",
|
||||
"map_path": "map_files/BoxStation",
|
||||
"map_file": "BoxStation.dmm",
|
||||
"shuttles": {
|
||||
"cargo": "cargo_box",
|
||||
"ferry": "ferry_fancy",
|
||||
"whiteship": "whiteship_box",
|
||||
"emergency": "emergency_box"
|
||||
}
|
||||
}
|
||||
{
|
||||
"map_name": "Box Station",
|
||||
"map_path": "map_files/BoxStation",
|
||||
"map_file": "BoxStation.dmm",
|
||||
"shuttles": {
|
||||
"cargo": "cargo_box",
|
||||
"ferry": "ferry_fancy",
|
||||
"whiteship": "whiteship_box",
|
||||
"emergency": "emergency_box"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
#define FORCE_MAP "_maps/cogstation.json"
|
||||
#define FORCE_MAP "_maps/cogstation.json"
|
||||
|
||||
@@ -1 +1 @@
|
||||
#define FORCE_MAP "_maps/kilostation.json"
|
||||
#define FORCE_MAP "_maps/kilostation.json"
|
||||
|
||||
+2396
-1016
File diff suppressed because it is too large
Load Diff
+6453
-7748
File diff suppressed because it is too large
Load Diff
@@ -26,4 +26,4 @@
|
||||
..()
|
||||
MAP_JOB_CHECK
|
||||
access += ACCESS_MAINT_TUNNELS
|
||||
minimal_access += ACCESS_MAINT_TUNNELS
|
||||
minimal_access += ACCESS_MAINT_TUNNELS
|
||||
|
||||
@@ -660,6 +660,7 @@
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"abr" = (
|
||||
@@ -1308,6 +1309,45 @@
|
||||
/obj/item/toy/poolnoodle/blue,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/fitness/pool)
|
||||
"acy" = (
|
||||
/obj/machinery/conveyor_switch/oneway{
|
||||
dir = 8;
|
||||
id = "cargounload"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/brown,
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/storage)
|
||||
"acz" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/storage)
|
||||
"acA" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 9;
|
||||
id = "cargounload"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/quartermaster/storage)
|
||||
"acB" = (
|
||||
/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/floor,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/storage)
|
||||
"acF" = (
|
||||
/obj/docking_port/stationary{
|
||||
dir = 2;
|
||||
@@ -1484,9 +1524,6 @@
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 10
|
||||
},
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Arrivals Dock - Fore";
|
||||
dir = 8;
|
||||
@@ -1495,6 +1532,9 @@
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"acX" = (
|
||||
@@ -12917,18 +12957,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/storage)
|
||||
"aAH" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/conveyor_switch/oneway{
|
||||
dir = 8;
|
||||
id = "cargounload"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/brown,
|
||||
/obj/effect/turf_decal/tile/brown{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/storage)
|
||||
"aAI" = (
|
||||
/obj/structure/cable/white,
|
||||
/obj/structure/cable/white{
|
||||
@@ -13615,14 +13643,6 @@
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/storage)
|
||||
"aBZ" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/storage)
|
||||
"aCa" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/brown,
|
||||
@@ -14263,23 +14283,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/storage)
|
||||
"aDf" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/airlock/external{
|
||||
name = "Supply Dock Airlock";
|
||||
req_access_txt = "31"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/storage)
|
||||
"aDg" = (
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
@@ -20277,7 +20280,7 @@
|
||||
/area/security/prison)
|
||||
"aND" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
@@ -20973,7 +20976,7 @@
|
||||
/area/crew_quarters/bar/atrium)
|
||||
"aOJ" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 1
|
||||
},
|
||||
@@ -49387,7 +49390,7 @@
|
||||
},
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Security E.V.A. Storage";
|
||||
req_access_txt = "3"
|
||||
req_access_txt = "1"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
@@ -66630,6 +66633,13 @@
|
||||
/obj/item/kirbyplants/random,
|
||||
/turf/open/floor/wood,
|
||||
/area/library)
|
||||
"chT" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"chV" = (
|
||||
/obj/machinery/newscaster{
|
||||
pixel_x = -32
|
||||
@@ -73299,7 +73309,7 @@
|
||||
/area/library)
|
||||
"ctL" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/obj/machinery/computer/security/telescreen/entertainment{
|
||||
pixel_y = -32
|
||||
},
|
||||
@@ -81561,12 +81571,12 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/storage)
|
||||
"cHt" = (
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/status_display/ai{
|
||||
pixel_y = -32
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/structure/reagent_dispensers/fueltank/high,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/storage)
|
||||
"cHu" = (
|
||||
@@ -95302,7 +95312,7 @@
|
||||
/area/medical/medbay/central)
|
||||
"deG" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/obj/structure/sign/poster/official/help_others{
|
||||
pixel_x = -32
|
||||
},
|
||||
@@ -110331,8 +110341,8 @@
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
name = "Space Loop Out";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
name = "Space Loop Out"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/mixing)
|
||||
@@ -116727,7 +116737,7 @@
|
||||
/area/library/abandoned)
|
||||
"dQx" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/carpet,
|
||||
/area/library/abandoned)
|
||||
"dQy" = (
|
||||
@@ -122957,7 +122967,7 @@
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"ecH" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
@@ -125416,6 +125426,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/misc_lab)
|
||||
"fer" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"fhE" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/medical{
|
||||
@@ -125528,6 +125544,12 @@
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/science/mixing)
|
||||
"gfJ" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"gmj" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/closed/wall/r_wall,
|
||||
@@ -125630,14 +125652,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/department/electrical)
|
||||
"hdH" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/conveyor{
|
||||
dir = 9;
|
||||
id = "cargoload"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/quartermaster/storage)
|
||||
"hic" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/integrated_electronics/analyzer,
|
||||
@@ -125689,6 +125703,14 @@
|
||||
/obj/effect/landmark/start/cyborg,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/turret_protected/aisat_interior)
|
||||
"hzR" = (
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/structure/table,
|
||||
/obj/item/gps/mining{
|
||||
gpstag = "MINE_PUB"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"hAf" = (
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "4-8"
|
||||
@@ -125847,6 +125869,21 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/engine/atmos)
|
||||
"iCO" = (
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/structure/chair{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Arrivals Dock - Public Mining";
|
||||
dir = 8;
|
||||
name = "arrivals camera"
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"iIl" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
@@ -125943,6 +125980,13 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/solars/port/aft)
|
||||
"iUI" = (
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/structure/chair{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"jdx" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/structure/grille,
|
||||
@@ -126193,6 +126237,10 @@
|
||||
},
|
||||
/turf/open/space,
|
||||
/area/engine/atmos)
|
||||
"kmz" = (
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"kqo" = (
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "4-8"
|
||||
@@ -126624,6 +126672,18 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/atmos)
|
||||
"mVW" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/airlock/external{
|
||||
name = "External Docking Port"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"mWZ" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
@@ -126635,6 +126695,17 @@
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/science/mixing)
|
||||
"naC" = (
|
||||
/obj/docking_port/stationary{
|
||||
dwidth = 3;
|
||||
height = 5;
|
||||
id = "commonmining_home";
|
||||
name = "SS13: Common Mining Dock";
|
||||
roundstart_template = /datum/map_template/shuttle/mining_common/meta;
|
||||
width = 7
|
||||
},
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
"nbi" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/closed/wall/r_wall,
|
||||
@@ -126962,6 +127033,14 @@
|
||||
/obj/effect/landmark/start/paramedic,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/storage)
|
||||
"pIl" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"pQm" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white{
|
||||
@@ -127061,6 +127140,13 @@
|
||||
/obj/effect/spawner/lootdrop/keg,
|
||||
/turf/open/floor/plating,
|
||||
/area/crew_quarters/abandoned_gambling_den)
|
||||
"qEF" = (
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/computer/shuttle/mining/common{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"qUn" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
@@ -127633,6 +127719,15 @@
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/circuit)
|
||||
"wlT" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"wmL" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
@@ -127654,6 +127749,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/chapel/office)
|
||||
"wpx" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"wum" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/yellow/visible{
|
||||
dir = 4
|
||||
@@ -127738,6 +127842,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"xaL" = (
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/structure/table,
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/flashlight,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"xcU" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/machinery/atmospherics/pipe/simple/cyan/visible{
|
||||
@@ -159602,13 +159715,13 @@ hZh
|
||||
hZh
|
||||
hZh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aad
|
||||
aad
|
||||
aaO
|
||||
aaO
|
||||
abf
|
||||
aaO
|
||||
aaO
|
||||
aad
|
||||
aad
|
||||
aad
|
||||
@@ -159859,13 +159972,13 @@ hZh
|
||||
hZh
|
||||
hZh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
qgU
|
||||
aad
|
||||
aaa
|
||||
aaO
|
||||
qEF
|
||||
xaL
|
||||
hzR
|
||||
aaO
|
||||
aad
|
||||
aaa
|
||||
aaa
|
||||
@@ -160116,13 +160229,13 @@ hZh
|
||||
hZh
|
||||
hZh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaO
|
||||
aaO
|
||||
aaO
|
||||
abe
|
||||
abC
|
||||
gfJ
|
||||
aaO
|
||||
abf
|
||||
aaO
|
||||
aaO
|
||||
@@ -160372,18 +160485,18 @@ hZh
|
||||
hZh
|
||||
hZh
|
||||
hZh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaO
|
||||
abe
|
||||
naC
|
||||
mVW
|
||||
kmz
|
||||
mVW
|
||||
acb
|
||||
fer
|
||||
aiT
|
||||
abZ
|
||||
abp
|
||||
abC
|
||||
abC
|
||||
abZ
|
||||
abC
|
||||
abC
|
||||
abC
|
||||
acV
|
||||
@@ -160630,19 +160743,19 @@ hZh
|
||||
hZh
|
||||
hZh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaO
|
||||
aaO
|
||||
aaO
|
||||
vcs
|
||||
wpx
|
||||
pIl
|
||||
wlT
|
||||
abq
|
||||
abD
|
||||
abD
|
||||
abZ
|
||||
abD
|
||||
abD
|
||||
chT
|
||||
chT
|
||||
chT
|
||||
chT
|
||||
chT
|
||||
acW
|
||||
adr
|
||||
adr
|
||||
@@ -160887,12 +161000,12 @@ hZh
|
||||
hZh
|
||||
hZh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aad
|
||||
aaa
|
||||
aaO
|
||||
agk
|
||||
iCO
|
||||
iUI
|
||||
aaO
|
||||
abf
|
||||
aaO
|
||||
@@ -161144,14 +161257,14 @@ hZh
|
||||
hZh
|
||||
hZh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
qgU
|
||||
aad
|
||||
aad
|
||||
aaO
|
||||
aaO
|
||||
abf
|
||||
aaO
|
||||
aaO
|
||||
aad
|
||||
aaa
|
||||
aaa
|
||||
aad
|
||||
@@ -161402,12 +161515,12 @@ hZh
|
||||
hZh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aad
|
||||
aad
|
||||
aad
|
||||
aad
|
||||
aad
|
||||
aad
|
||||
aad
|
||||
aad
|
||||
aad
|
||||
@@ -171733,7 +171846,7 @@ azy
|
||||
aAG
|
||||
aDb
|
||||
aAG
|
||||
aAG
|
||||
acB
|
||||
azy
|
||||
azy
|
||||
aAG
|
||||
@@ -173015,7 +173128,7 @@ axk
|
||||
ayB
|
||||
azE
|
||||
azE
|
||||
aBZ
|
||||
acz
|
||||
azE
|
||||
azE
|
||||
azE
|
||||
@@ -173271,9 +173384,9 @@ aoF
|
||||
axl
|
||||
ayC
|
||||
azF
|
||||
aAH
|
||||
aCa
|
||||
aCa
|
||||
acy
|
||||
aEf
|
||||
aEf
|
||||
aEf
|
||||
aEf
|
||||
aCa
|
||||
@@ -173529,8 +173642,8 @@ axm
|
||||
ayD
|
||||
ayD
|
||||
ayD
|
||||
hdH
|
||||
azD
|
||||
acA
|
||||
aEe
|
||||
aaq
|
||||
azD
|
||||
kam
|
||||
@@ -173787,7 +173900,7 @@ ayE
|
||||
azG
|
||||
aAI
|
||||
aCb
|
||||
aDf
|
||||
aFk
|
||||
avW
|
||||
aFk
|
||||
aGD
|
||||
|
||||
@@ -14492,7 +14492,6 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
"aym" = (
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
@@ -14503,6 +14502,7 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/reagent_dispensers/fueltank/high,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/engine/engineering)
|
||||
"ayn" = (
|
||||
@@ -19127,7 +19127,7 @@
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"aFL" = (
|
||||
/obj/machinery/atmospherics/pipe/layer_manifold,
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"aFM" = (
|
||||
/obj/structure/grille,
|
||||
@@ -19140,7 +19140,7 @@
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"aFO" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/general/visible,
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"aFP" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
@@ -19196,7 +19196,7 @@
|
||||
"aFU" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/general/visible,
|
||||
/obj/machinery/meter,
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"aFV" = (
|
||||
/obj/structure/cable{
|
||||
@@ -20074,6 +20074,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/closed/wall,
|
||||
/area/engine/atmos)
|
||||
"aHy" = (
|
||||
@@ -20930,7 +20931,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 5
|
||||
},
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"aIM" = (
|
||||
/obj/effect/turf_decal/bot,
|
||||
@@ -20949,13 +20950,14 @@
|
||||
/turf/closed/wall,
|
||||
/area/maintenance/central)
|
||||
"aIO" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/yellow/visible,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/machinery/atmospherics/pipe/layer_manifold,
|
||||
/turf/closed/wall,
|
||||
/area/engine/atmos)
|
||||
"aIP" = (
|
||||
@@ -21204,7 +21206,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 9
|
||||
},
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"aJm" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -21443,6 +21445,7 @@
|
||||
/area/engine/atmos)
|
||||
"aJI" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/green/visible,
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/closed/wall,
|
||||
/area/engine/atmos)
|
||||
"aJJ" = (
|
||||
@@ -21839,13 +21842,6 @@
|
||||
dir = 1
|
||||
},
|
||||
/area/hallway/primary/fore)
|
||||
"aKm" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/yellow/visible,
|
||||
/obj/machinery/atmospherics/pipe/simple/orange/visible{
|
||||
dir = 4
|
||||
},
|
||||
/turf/closed/wall,
|
||||
/area/engine/atmos)
|
||||
"aKn" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
@@ -52340,6 +52336,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/closed/wall,
|
||||
/area/engine/atmos)
|
||||
"bGp" = (
|
||||
@@ -53442,6 +53439,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/orange/visible{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/closed/wall,
|
||||
/area/engine/atmos)
|
||||
"bIc" = (
|
||||
@@ -53455,10 +53453,11 @@
|
||||
},
|
||||
/area/engine/atmos)
|
||||
"bIe" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/purple/visible,
|
||||
/obj/machinery/atmospherics/pipe/simple/orange/visible{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/machinery/atmospherics/pipe/layer_manifold,
|
||||
/turf/closed/wall,
|
||||
/area/engine/atmos)
|
||||
"bIf" = (
|
||||
@@ -61567,10 +61566,11 @@
|
||||
/turf/open/space/basic,
|
||||
/area/space/nearstation)
|
||||
"bUM" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/yellow/visible{
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/machinery/atmospherics/pipe/layer_manifold{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/closed/wall,
|
||||
/area/engine/atmos)
|
||||
"bUN" = (
|
||||
@@ -63743,9 +63743,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"bYf" = (
|
||||
/turf/closed/mineral/random/labormineral,
|
||||
/area/maintenance/starboard/aft)
|
||||
"bYg" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/public/glass{
|
||||
@@ -67199,7 +67196,6 @@
|
||||
/area/maintenance/port/aft)
|
||||
"cdS" = (
|
||||
/obj/structure/sign/warning/securearea,
|
||||
/obj/item/multitool,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/security/nuke_storage)
|
||||
"cdT" = (
|
||||
@@ -75350,7 +75346,9 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/orange/visible{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/airalarm,
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 22
|
||||
},
|
||||
/obj/machinery/light/small,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plating{
|
||||
@@ -78583,6 +78581,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/closed/wall,
|
||||
/area/engine/atmos)
|
||||
"cxU" = (
|
||||
@@ -80395,7 +80394,7 @@
|
||||
/obj/structure/lattice/catwalk,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/space,
|
||||
/area/engine/atmos)
|
||||
/area/space/nearstation)
|
||||
"cCY" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 6
|
||||
@@ -84951,7 +84950,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/general/visible{
|
||||
dir = 9
|
||||
},
|
||||
/turf/closed/wall,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"jOz" = (
|
||||
/obj/structure/sign/warning/electricshock,
|
||||
@@ -85508,8 +85507,8 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/cobweb/cobweb2,
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
name = "Space Loop Out";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
name = "Space Loop Out"
|
||||
},
|
||||
/turf/open/floor/plating{
|
||||
icon_state = "panelscorched"
|
||||
@@ -112894,9 +112893,9 @@ cvg
|
||||
aMP
|
||||
aFL
|
||||
aIL
|
||||
aFI
|
||||
aEh
|
||||
aFW
|
||||
aFI
|
||||
aEh
|
||||
cko
|
||||
cko
|
||||
aaa
|
||||
@@ -113153,9 +113152,9 @@ aFO
|
||||
cwc
|
||||
aFO
|
||||
cwA
|
||||
aFI
|
||||
aFI
|
||||
aFI
|
||||
aEh
|
||||
aEh
|
||||
aEh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -113667,9 +113666,9 @@ aFU
|
||||
cwd
|
||||
jHJ
|
||||
cwH
|
||||
aFI
|
||||
aFI
|
||||
aFI
|
||||
aEh
|
||||
aEh
|
||||
aEh
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -113922,9 +113921,9 @@ cFF
|
||||
cFF
|
||||
cFF
|
||||
aJl
|
||||
aFI
|
||||
aFI
|
||||
aFI
|
||||
aEh
|
||||
aEh
|
||||
aEh
|
||||
cko
|
||||
cko
|
||||
aaa
|
||||
@@ -114177,7 +114176,7 @@ cBz
|
||||
aHd
|
||||
aMZ
|
||||
aFc
|
||||
cFF
|
||||
aFM
|
||||
acm
|
||||
aaa
|
||||
aaQ
|
||||
@@ -114691,7 +114690,7 @@ cBB
|
||||
aHf
|
||||
bDR
|
||||
aFc
|
||||
cFF
|
||||
aFM
|
||||
acm
|
||||
aaa
|
||||
cow
|
||||
@@ -115205,7 +115204,7 @@ cBz
|
||||
aHg
|
||||
aNa
|
||||
aFd
|
||||
cFF
|
||||
aFM
|
||||
acm
|
||||
aaa
|
||||
cow
|
||||
@@ -115719,7 +115718,7 @@ cBB
|
||||
aHi
|
||||
bFG
|
||||
aFd
|
||||
cFF
|
||||
aFM
|
||||
acm
|
||||
aaa
|
||||
acm
|
||||
@@ -116233,7 +116232,7 @@ cBz
|
||||
aHj
|
||||
aNb
|
||||
aVG
|
||||
cFF
|
||||
aFM
|
||||
acm
|
||||
aaa
|
||||
cow
|
||||
@@ -116741,13 +116740,13 @@ cpK
|
||||
cqL
|
||||
cph
|
||||
bwy
|
||||
aKm
|
||||
bIe
|
||||
clu
|
||||
cBB
|
||||
aHl
|
||||
bId
|
||||
aFe
|
||||
cFF
|
||||
aFM
|
||||
acm
|
||||
aaa
|
||||
aaQ
|
||||
@@ -124436,7 +124435,7 @@ koc
|
||||
dbY
|
||||
dlg
|
||||
bWx
|
||||
bYf
|
||||
bPJ
|
||||
ceU
|
||||
cgI
|
||||
cDp
|
||||
|
||||
@@ -53981,8 +53981,8 @@
|
||||
pixel_y = -26
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/obj/structure/reagent_dispensers/fueltank/high,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/storage_shared)
|
||||
"cvh" = (
|
||||
@@ -63034,6 +63034,19 @@
|
||||
/obj/item/assembly/flash/handheld,
|
||||
/turf/open/floor/plating,
|
||||
/area/storage/tech)
|
||||
"cYI" = (
|
||||
/obj/docking_port/stationary{
|
||||
dir = 2;
|
||||
dwidth = 3;
|
||||
height = 5;
|
||||
icon_state = "pinonfar";
|
||||
id = "commonmining_home";
|
||||
name = "SS13: Common Mining Dock";
|
||||
roundstart_template = /datum/map_template/shuttle/mining_common/meta;
|
||||
width = 7
|
||||
},
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
"dcB" = (
|
||||
/obj/effect/turf_decal/trimline/neutral/filled/line{
|
||||
dir = 4
|
||||
@@ -63774,6 +63787,14 @@
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/cargo)
|
||||
"etv" = (
|
||||
/obj/machinery/door/airlock/external/glass,
|
||||
/obj/structure/fans/tiny,
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/entry)
|
||||
"euD" = (
|
||||
/obj/machinery/door/airlock/hatch{
|
||||
name = "Telecomms Server Room"
|
||||
@@ -67057,12 +67078,12 @@
|
||||
/area/engine/atmos)
|
||||
"kgv" = (
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/turf/open/floor/plasteel/stairs/old,
|
||||
/area/maintenance/department/medical)
|
||||
@@ -68221,6 +68242,20 @@
|
||||
/obj/machinery/power/grounding_rod,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/engine/engineering)
|
||||
"mnL" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 6
|
||||
},
|
||||
/obj/machinery/computer/shuttle/mining/common{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Arrivals Dock Public Mining";
|
||||
dir = 1;
|
||||
name = "arrivals camera"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"mqh" = (
|
||||
/obj/effect/turf_decal/tile/blue,
|
||||
/obj/effect/turf_decal/tile/blue{
|
||||
@@ -69098,16 +69133,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/toilet/auxiliary)
|
||||
"ohk" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
},
|
||||
/obj/structure/chair{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/light,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"ojZ" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/cable{
|
||||
@@ -69418,6 +69443,11 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port)
|
||||
"oTI" = (
|
||||
/obj/machinery/door/airlock/external/glass,
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/entry)
|
||||
"oUp" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/item/stack/sheet/metal/fifty,
|
||||
@@ -69460,6 +69490,16 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/toilet/auxiliary)
|
||||
"oVP" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/gps/mining{
|
||||
gpstag = "MINE_PUB"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"oXg" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
@@ -69905,6 +69945,14 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/break_room)
|
||||
"pPG" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/flashlight,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"pRv" = (
|
||||
/obj/machinery/air_sensor{
|
||||
id_tag = "tox_sensor"
|
||||
@@ -71189,12 +71237,12 @@
|
||||
"tcW" = (
|
||||
/obj/structure/stairs/west,
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/obj/structure/railing{
|
||||
icon_state = "railing";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
icon_state = "railing"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/medical)
|
||||
@@ -103741,10 +103789,10 @@ nNI
|
||||
ngo
|
||||
bQW
|
||||
nNI
|
||||
aav
|
||||
aav
|
||||
aab
|
||||
aab
|
||||
nNI
|
||||
xMt
|
||||
xMt
|
||||
nNI
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
@@ -103996,15 +104044,15 @@ gLI
|
||||
ifC
|
||||
jEO
|
||||
uYv
|
||||
ohk
|
||||
uYv
|
||||
uYv
|
||||
jEO
|
||||
jEO
|
||||
cIu
|
||||
nNI
|
||||
xMt
|
||||
xMt
|
||||
nNI
|
||||
aab
|
||||
aav
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
@@ -104253,16 +104301,16 @@ rEw
|
||||
iiC
|
||||
jMW
|
||||
rEw
|
||||
rEw
|
||||
rEw
|
||||
rEw
|
||||
rEw
|
||||
cwD
|
||||
xMt
|
||||
aab
|
||||
aav
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
oTI
|
||||
cxe
|
||||
cVf
|
||||
etv
|
||||
cYI
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
@@ -104510,15 +104558,15 @@ cvp
|
||||
iqD
|
||||
jto
|
||||
jto
|
||||
cvI
|
||||
jto
|
||||
jto
|
||||
pPG
|
||||
oVP
|
||||
mnL
|
||||
nNI
|
||||
xMt
|
||||
aab
|
||||
aav
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
xMt
|
||||
nNI
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
@@ -104769,10 +104817,10 @@ xMt
|
||||
cWd
|
||||
nNI
|
||||
nNI
|
||||
aab
|
||||
aav
|
||||
aab
|
||||
aab
|
||||
nNI
|
||||
xMt
|
||||
xMt
|
||||
nNI
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
@@ -105027,7 +105075,7 @@ cJk
|
||||
nNI
|
||||
aab
|
||||
aab
|
||||
aav
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
|
||||
@@ -928,7 +928,7 @@
|
||||
/area/security/prison)
|
||||
"acb" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"acc" = (
|
||||
@@ -4548,7 +4548,7 @@
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/security/glass{
|
||||
name = "Security E.V.A. Storage";
|
||||
req_access_txt = "3"
|
||||
req_access_txt = "1"
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
@@ -15223,7 +15223,6 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/fore)
|
||||
"aCN" = (
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/item/radio/intercom{
|
||||
name = "Station Intercom (General)";
|
||||
pixel_x = -30
|
||||
@@ -15231,6 +15230,7 @@
|
||||
/obj/effect/turf_decal/bot{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/reagent_dispensers/fueltank/high,
|
||||
/turf/open/floor/plasteel{
|
||||
dir = 1
|
||||
},
|
||||
@@ -15807,7 +15807,7 @@
|
||||
/area/crew_quarters/dorms)
|
||||
"aDZ" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/dorms)
|
||||
"aEa" = (
|
||||
@@ -21386,7 +21386,7 @@
|
||||
/area/crew_quarters/locker)
|
||||
"aPI" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/locker)
|
||||
"aPJ" = (
|
||||
@@ -24164,12 +24164,12 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/entry)
|
||||
"aVt" = (
|
||||
/obj/item/kirbyplants{
|
||||
icon_state = "plant-13"
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 9
|
||||
},
|
||||
/obj/item/kirbyplants{
|
||||
icon_state = "plant-20"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"aVu" = (
|
||||
@@ -24941,10 +24941,9 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"aWV" = (
|
||||
/obj/structure/sign/warning/vacuum/external{
|
||||
pixel_y = -32
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"aWW" = (
|
||||
@@ -42546,7 +42545,7 @@
|
||||
dir = 10
|
||||
},
|
||||
/obj/structure/table/wood/poker,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/wood,
|
||||
/area/crew_quarters/bar)
|
||||
"bFt" = (
|
||||
@@ -48922,7 +48921,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
"bTi" = (
|
||||
/obj/machinery/vending/wardrobe/atmos_wardrobe,
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/engine/atmos)
|
||||
"bTk" = (
|
||||
@@ -81819,6 +81818,16 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/engine/break_room)
|
||||
"kHw" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 6
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/gps{
|
||||
gpstag = "MINE_PUB"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"kJW" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump{
|
||||
dir = 1;
|
||||
@@ -81876,6 +81885,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/circuit)
|
||||
"lcv" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
name = "Public Mining Dock"
|
||||
},
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/entry)
|
||||
"llb" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/integrated_circuit_printer,
|
||||
@@ -81895,6 +81913,13 @@
|
||||
/obj/item/multitool,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
"lvm" = (
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/machinery/computer/shuttle/mining/common{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"lws" = (
|
||||
/obj/structure/chair/office/dark{
|
||||
dir = 8
|
||||
@@ -82009,6 +82034,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white/corner,
|
||||
/area/hallway/secondary/entry)
|
||||
"mdt" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"mjJ" = (
|
||||
/obj/machinery/nuclearbomb/beer{
|
||||
pixel_x = 2;
|
||||
@@ -82379,6 +82410,21 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/fore)
|
||||
"pAD" = (
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/entry)
|
||||
"pBY" = (
|
||||
/obj/docking_port/stationary{
|
||||
dir = 8;
|
||||
dwidth = 3;
|
||||
height = 5;
|
||||
id = "commonmining_home";
|
||||
name = "SS13: Common Mining Dock";
|
||||
roundstart_template = /datum/map_template/shuttle/mining_common/meta;
|
||||
width = 7
|
||||
},
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
"pCV" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
@@ -82594,6 +82640,16 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/atmos)
|
||||
"rta" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
dir = 2;
|
||||
name = "Public Mining Dock"
|
||||
},
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/entry)
|
||||
"rzX" = (
|
||||
/obj/structure/chair/office/light{
|
||||
dir = 1;
|
||||
@@ -82849,8 +82905,8 @@
|
||||
/area/medical/morgue)
|
||||
"tID" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
name = "Space Loop Out";
|
||||
dir = 4
|
||||
dir = 4;
|
||||
name = "Space Loop Out"
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
@@ -82892,6 +82948,12 @@
|
||||
/obj/machinery/atmospherics/pipe/manifold4w/general/visible,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/atmos)
|
||||
"ulG" = (
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/structure/table,
|
||||
/obj/item/flashlight,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"upN" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 5
|
||||
@@ -83040,6 +83102,15 @@
|
||||
/obj/structure/lattice,
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
"vMG" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
},
|
||||
/obj/item/kirbyplants{
|
||||
icon_state = "plant-05"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"vYs" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
|
||||
@@ -83254,8 +83325,8 @@
|
||||
/area/maintenance/port/aft)
|
||||
"xHA" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
name = "Space Loop In";
|
||||
dir = 8
|
||||
dir = 8;
|
||||
name = "Space Loop In"
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/science/circuit)
|
||||
@@ -91679,13 +91750,13 @@ aaf
|
||||
aaf
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaf
|
||||
aaf
|
||||
aaf
|
||||
aaf
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
pBY
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -91936,16 +92007,16 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaf
|
||||
aaf
|
||||
aaf
|
||||
aaf
|
||||
aVs
|
||||
rta
|
||||
aVs
|
||||
aaf
|
||||
aaf
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -92195,12 +92266,12 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
aaf
|
||||
aVs
|
||||
pAD
|
||||
aVs
|
||||
aaa
|
||||
aaf
|
||||
aaa
|
||||
@@ -92456,7 +92527,7 @@ aRA
|
||||
aRA
|
||||
aRA
|
||||
aVs
|
||||
aVs
|
||||
lcv
|
||||
aVs
|
||||
aVs
|
||||
aaf
|
||||
@@ -92713,10 +92784,10 @@ wOY
|
||||
aSH
|
||||
aUb
|
||||
aVt
|
||||
aWT
|
||||
mdt
|
||||
vMG
|
||||
aVs
|
||||
aaf
|
||||
aaf
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -92970,9 +93041,9 @@ abu
|
||||
bsk
|
||||
aUc
|
||||
aVu
|
||||
aWU
|
||||
aYC
|
||||
aaa
|
||||
bvF
|
||||
lvm
|
||||
aVs
|
||||
aaf
|
||||
aaa
|
||||
aaa
|
||||
@@ -93227,10 +93298,10 @@ wOY
|
||||
aSI
|
||||
aRA
|
||||
aVv
|
||||
aWU
|
||||
bvF
|
||||
ulG
|
||||
aVs
|
||||
aaf
|
||||
aaf
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -93485,8 +93556,8 @@ aRA
|
||||
aRA
|
||||
cZf
|
||||
aWV
|
||||
aRA
|
||||
aaa
|
||||
kHw
|
||||
aVs
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
|
||||
@@ -22551,7 +22551,7 @@
|
||||
/area/hallway/primary/starboard)
|
||||
"aJa" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/obj/machinery/firealarm{
|
||||
dir = 4;
|
||||
pixel_x = -24
|
||||
@@ -22871,7 +22871,7 @@
|
||||
/obj/machinery/requests_console{
|
||||
department = "Genetics";
|
||||
name = "Genetics RC";
|
||||
pixel_x = 28
|
||||
pixel_x = 28
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/medical/genetics)
|
||||
@@ -24502,10 +24502,6 @@
|
||||
/obj/effect/turf_decal/loading_area{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner,
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/yellow{
|
||||
dir = 1
|
||||
},
|
||||
@@ -25146,13 +25142,13 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"aNg" = (
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/structure/sign/warning/nosmoking{
|
||||
pixel_y = -32
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 5
|
||||
},
|
||||
/obj/structure/reagent_dispensers/fueltank/high,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"aNh" = (
|
||||
@@ -28655,7 +28651,7 @@
|
||||
"aTf" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/clipboard,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
|
||||
@@ -2180,7 +2180,7 @@
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/security/prison)
|
||||
"afp" = (
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/obj/structure/table,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/security/prison)
|
||||
@@ -10645,7 +10645,7 @@
|
||||
/area/crew_quarters/dorms)
|
||||
"ayo" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/carpet,
|
||||
/area/crew_quarters/dorms)
|
||||
"ayq" = (
|
||||
@@ -32021,23 +32021,6 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/science)
|
||||
"bwq" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/public/glass{
|
||||
name = "Monastery Transit"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"bwr" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/public/glass{
|
||||
name = "Monastery Transit"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"bws" = (
|
||||
/obj/structure/closet,
|
||||
/obj/item/stack/cable_coil/random,
|
||||
@@ -32812,9 +32795,6 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/xenobiology)
|
||||
"bxY" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/hallway/secondary/entry)
|
||||
"bxZ" = (
|
||||
@@ -33559,6 +33539,9 @@
|
||||
network = list("monastery");
|
||||
pixel_x = 28
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/hallway/secondary/entry)
|
||||
"bzC" = (
|
||||
@@ -46854,7 +46837,7 @@
|
||||
/obj/effect/turf_decal/tile/yellow{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/structure/reagent_dispensers/fueltank/high,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"cdL" = (
|
||||
@@ -53109,6 +53092,16 @@
|
||||
/obj/structure/barricade/wooden,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/security/brig)
|
||||
"deJ" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/gps/mining{
|
||||
gpstag = "MINE_PUB"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"dgg" = (
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 6
|
||||
@@ -54469,8 +54462,8 @@
|
||||
/area/maintenance/department/security/brig)
|
||||
"gjv" = (
|
||||
/obj/machinery/atmospherics/components/binary/pump/on{
|
||||
name = "Space Loop In";
|
||||
dir = 1
|
||||
dir = 1;
|
||||
name = "Space Loop In"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/science)
|
||||
@@ -56534,12 +56527,6 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/entry)
|
||||
"kIc" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/open/floor/plasteel/white{
|
||||
heat_capacity = 1e+006
|
||||
},
|
||||
/area/hallway/secondary/entry)
|
||||
"kIo" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/paper_bin{
|
||||
@@ -58350,6 +58337,18 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/quartermaster/miningdock)
|
||||
"oQm" = (
|
||||
/obj/docking_port/stationary{
|
||||
dir = 8;
|
||||
dwidth = 3;
|
||||
height = 5;
|
||||
id = "commonmining_home";
|
||||
name = "SS13: Common Mining Dock";
|
||||
roundstart_template = /datum/map_template/shuttle/mining_common/meta;
|
||||
width = 7
|
||||
},
|
||||
/turf/open/space/basic,
|
||||
/area/space)
|
||||
"oRX" = (
|
||||
/obj/structure/closet,
|
||||
/turf/open/floor/plating,
|
||||
@@ -58645,6 +58644,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white/corner,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"pqP" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
name = "Port Docking Bay 2"
|
||||
},
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/entry)
|
||||
"prQ" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 4
|
||||
@@ -58707,9 +58715,6 @@
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
/area/medical/chemistry)
|
||||
"pyw" = (
|
||||
/turf/open/space/basic,
|
||||
/area/hallway/secondary/entry)
|
||||
"pzF" = (
|
||||
/mob/living/simple_animal/opossum,
|
||||
/turf/open/floor/wood,
|
||||
@@ -58751,6 +58756,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/science/explab)
|
||||
"pEH" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/chair/comfy{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"pEL" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 1
|
||||
@@ -59281,6 +59295,15 @@
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/engine/engineering)
|
||||
"qRm" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
name = "Port Docking Bay 2"
|
||||
},
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/entry)
|
||||
"qTV" = (
|
||||
/obj/item/radio/intercom{
|
||||
name = "Station Intercom (General)";
|
||||
@@ -59997,6 +60020,14 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/department/security/brig)
|
||||
"sIK" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/flashlight,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"sJp" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/general/visible,
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
@@ -61493,6 +61524,18 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"wjQ" = (
|
||||
/obj/machinery/computer/shuttle/mining/common{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"wkZ" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 1
|
||||
@@ -80466,7 +80509,7 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
pyw
|
||||
aaa
|
||||
bsl
|
||||
btL
|
||||
aZx
|
||||
@@ -80723,7 +80766,7 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
pyw
|
||||
aaa
|
||||
aZx
|
||||
bcX
|
||||
aZx
|
||||
@@ -81759,7 +81802,7 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
oQm
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -82015,9 +82058,9 @@ aZx
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aZx
|
||||
pqP
|
||||
aZx
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -82272,9 +82315,9 @@ aZx
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aZx
|
||||
bcX
|
||||
aZx
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -82526,12 +82569,12 @@ aZx
|
||||
bno
|
||||
bon
|
||||
aZx
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aZx
|
||||
aZx
|
||||
aZx
|
||||
aZx
|
||||
qRm
|
||||
aZx
|
||||
aaa
|
||||
aaa
|
||||
aht
|
||||
@@ -82781,15 +82824,15 @@ bbQ
|
||||
bcX
|
||||
bdV
|
||||
bnp
|
||||
bon
|
||||
baK
|
||||
pEH
|
||||
deJ
|
||||
sIK
|
||||
wjQ
|
||||
pEH
|
||||
bbR
|
||||
aZx
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
aht
|
||||
bBV
|
||||
bDf
|
||||
@@ -83038,15 +83081,15 @@ jzz
|
||||
aZx
|
||||
jzz
|
||||
bnp
|
||||
bon
|
||||
aZx
|
||||
aZx
|
||||
aZx
|
||||
aZx
|
||||
aZx
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
aZx
|
||||
aaa
|
||||
aht
|
||||
bAI
|
||||
abI
|
||||
abI
|
||||
@@ -83296,14 +83339,14 @@ bbR
|
||||
bbR
|
||||
bnp
|
||||
baK
|
||||
bbR
|
||||
bbR
|
||||
bbR
|
||||
bbR
|
||||
bbR
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
aZx
|
||||
aZx
|
||||
kIc
|
||||
kIc
|
||||
bAJ
|
||||
bBX
|
||||
bBX
|
||||
@@ -83558,7 +83601,7 @@ baK
|
||||
baK
|
||||
baK
|
||||
baK
|
||||
aZx
|
||||
baK
|
||||
bxY
|
||||
bzz
|
||||
kGe
|
||||
@@ -83815,7 +83858,7 @@ bbT
|
||||
bbT
|
||||
bbT
|
||||
bbT
|
||||
bwq
|
||||
bbT
|
||||
bxZ
|
||||
bzA
|
||||
bAK
|
||||
@@ -84072,7 +84115,7 @@ bqS
|
||||
bsm
|
||||
btN
|
||||
bfY
|
||||
bwr
|
||||
bfY
|
||||
bya
|
||||
bzB
|
||||
bAL
|
||||
|
||||
@@ -4095,7 +4095,7 @@
|
||||
/area/engine/supermatter)
|
||||
"aOP" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/security/prison)
|
||||
"aPw" = (
|
||||
@@ -14395,7 +14395,6 @@
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Engineering Access"
|
||||
},
|
||||
@@ -14403,6 +14402,7 @@
|
||||
name = "Station Intercom (General)";
|
||||
pixel_y = 20
|
||||
},
|
||||
/obj/structure/reagent_dispensers/fueltank/high,
|
||||
/turf/open/floor/plasteel/dark/corner{
|
||||
dir = 1
|
||||
},
|
||||
@@ -27914,7 +27914,7 @@
|
||||
"nIM" = (
|
||||
/obj/structure/table/wood/poker,
|
||||
/obj/item/toy/cards/deck,
|
||||
/obj/item/storage/box/dice{
|
||||
/obj/item/storage/dice{
|
||||
pixel_x = 8
|
||||
},
|
||||
/obj/structure/sign/poster/contraband/random{
|
||||
@@ -33380,7 +33380,7 @@
|
||||
/area/bridge)
|
||||
"qMN" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"qNB" = (
|
||||
|
||||
+1598
-1601
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
#define FORCE_MAP "_maps/multiz_debug.json"
|
||||
#define FORCE_MAP "_maps/multiz_debug.json"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"map_name": "Runtime Station",
|
||||
"map_path": "map_files/debug",
|
||||
"map_file": "runtimestation.dmm",
|
||||
"shuttles": {
|
||||
"cargo": "cargo_delta"
|
||||
}
|
||||
}
|
||||
{
|
||||
"map_name": "Runtime Station",
|
||||
"map_path": "map_files/debug",
|
||||
"map_file": "runtimestation.dmm",
|
||||
"shuttles": {
|
||||
"cargo": "cargo_delta"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -307,7 +307,7 @@
|
||||
"D" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/folder,
|
||||
/obj/item/storage/box/dice,
|
||||
/obj/item/storage/dice,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/arrival)
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
/area/shuttle/arrival)
|
||||
"C" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/storage/box/dice{
|
||||
/obj/item/storage/dice{
|
||||
pixel_x = -2;
|
||||
pixel_y = 8
|
||||
},
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"a" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/mining)
|
||||
"b" = (
|
||||
/obj/effect/spawner/structure/window/shuttle,
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/mining)
|
||||
"c" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/toolbox/emergency,
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/mining)
|
||||
"d" = (
|
||||
/obj/machinery/computer/shuttle/mining/common,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/mining)
|
||||
"e" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/radio,
|
||||
/obj/item/radio/intercom{
|
||||
pixel_y = 22
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/mining)
|
||||
"f" = (
|
||||
/obj/effect/turf_decal/stripes/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/yellow,
|
||||
/area/shuttle/mining)
|
||||
"g" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/yellow,
|
||||
/area/shuttle/mining)
|
||||
"h" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/yellow,
|
||||
/area/shuttle/mining)
|
||||
"i" = (
|
||||
/obj/structure/sign/nanotrasen,
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/mining)
|
||||
"j" = (
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/mining)
|
||||
"k" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/general/visible{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/yellow,
|
||||
/area/shuttle/mining)
|
||||
"l" = (
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/components/binary/valve{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/yellow,
|
||||
/area/shuttle/mining)
|
||||
"m" = (
|
||||
/obj/machinery/door/airlock/titanium{
|
||||
name = "Lavaland Shuttle Airlock"
|
||||
},
|
||||
/obj/docking_port/mobile{
|
||||
dir = 8;
|
||||
dwidth = 3;
|
||||
height = 5;
|
||||
id = "mining_shuttle_common";
|
||||
name = "lavaland shuttle";
|
||||
port_direction = 4;
|
||||
width = 7
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/general/visible{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/mining)
|
||||
"n" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/mining)
|
||||
"o" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/airalarm{
|
||||
dir = 4;
|
||||
pixel_x = -22
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/mining)
|
||||
"p" = (
|
||||
/obj/effect/spawner/structure/window/shuttle,
|
||||
/obj/structure/shuttle/engine/heater,
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/mining)
|
||||
"q" = (
|
||||
/obj/structure/ore_box,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/shuttle/mining)
|
||||
"r" = (
|
||||
/obj/structure/sign/warning/fire,
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/mining)
|
||||
"s" = (
|
||||
/obj/structure/shuttle/engine/propulsion/burst,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/mining)
|
||||
|
||||
(1,1,1) = {"
|
||||
a
|
||||
a
|
||||
b
|
||||
i
|
||||
b
|
||||
a
|
||||
a
|
||||
"}
|
||||
(2,1,1) = {"
|
||||
a
|
||||
c
|
||||
f
|
||||
j
|
||||
n
|
||||
o
|
||||
r
|
||||
"}
|
||||
(3,1,1) = {"
|
||||
b
|
||||
d
|
||||
g
|
||||
k
|
||||
n
|
||||
p
|
||||
s
|
||||
"}
|
||||
(4,1,1) = {"
|
||||
a
|
||||
e
|
||||
h
|
||||
l
|
||||
n
|
||||
q
|
||||
r
|
||||
"}
|
||||
(5,1,1) = {"
|
||||
a
|
||||
a
|
||||
b
|
||||
m
|
||||
b
|
||||
a
|
||||
a
|
||||
"}
|
||||
@@ -0,0 +1,124 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"a" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/mining)
|
||||
"b" = (
|
||||
/obj/effect/spawner/structure/window/shuttle,
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/mining)
|
||||
"c" = (
|
||||
/obj/structure/table,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/mining)
|
||||
"d" = (
|
||||
/obj/machinery/computer/shuttle/mining/common,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/mining)
|
||||
"e" = (
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/mining)
|
||||
"f" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/mining)
|
||||
"g" = (
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/mining)
|
||||
"h" = (
|
||||
/obj/machinery/door/airlock/titanium{
|
||||
name = "Lavaland Shuttle Airlock"
|
||||
},
|
||||
/obj/docking_port/mobile{
|
||||
dir = 8;
|
||||
dwidth = 3;
|
||||
height = 5;
|
||||
id = "mining_shuttle_common";
|
||||
name = "lavaland shuttle";
|
||||
port_direction = 4;
|
||||
width = 7
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/mining)
|
||||
"i" = (
|
||||
/obj/structure/closet/crate,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/mining)
|
||||
"j" = (
|
||||
/obj/structure/shuttle/engine/heater,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1;
|
||||
layer = 2.9
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/mining)
|
||||
"k" = (
|
||||
/obj/structure/ore_box,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/mining)
|
||||
"l" = (
|
||||
/obj/structure/shuttle/engine/propulsion/burst,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/mining)
|
||||
"Q" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/mining)
|
||||
|
||||
(1,1,1) = {"
|
||||
a
|
||||
a
|
||||
b
|
||||
a
|
||||
b
|
||||
a
|
||||
a
|
||||
"}
|
||||
(2,1,1) = {"
|
||||
a
|
||||
c
|
||||
e
|
||||
g
|
||||
f
|
||||
i
|
||||
a
|
||||
"}
|
||||
(3,1,1) = {"
|
||||
b
|
||||
d
|
||||
Q
|
||||
e
|
||||
f
|
||||
j
|
||||
l
|
||||
"}
|
||||
(4,1,1) = {"
|
||||
a
|
||||
c
|
||||
e
|
||||
e
|
||||
f
|
||||
k
|
||||
a
|
||||
"}
|
||||
(5,1,1) = {"
|
||||
a
|
||||
a
|
||||
b
|
||||
h
|
||||
b
|
||||
a
|
||||
a
|
||||
"}
|
||||
@@ -72,7 +72,7 @@
|
||||
/turf/open/indestructible/hotelwood,
|
||||
/area/hilbertshotel)
|
||||
"n" = (
|
||||
/obj/effect/landmark/xmastree,
|
||||
/obj/effect/landmark/xmastree/hilbert,
|
||||
/turf/open/indestructible/hotelwood,
|
||||
/area/hilbertshotel)
|
||||
"o" = (
|
||||
|
||||
+25
-25
@@ -1,25 +1,25 @@
|
||||
#!/usr/bin/env python3
|
||||
from config import *
|
||||
import sys
|
||||
import pickle
|
||||
import socket
|
||||
|
||||
|
||||
def pack():
|
||||
ip = sys.argv[1]
|
||||
try:
|
||||
data = sys.argv[2:]
|
||||
except:
|
||||
data = "NO DATA SPECIFIED"
|
||||
|
||||
nudge(pickle.dumps({"ip": ip, "data": data}))
|
||||
|
||||
|
||||
def nudge(data):
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.connect(("localhost", 45678))
|
||||
s.send(data)
|
||||
s.close()
|
||||
|
||||
if __name__ == "__main__" and len(sys.argv) > 1:
|
||||
pack()
|
||||
#!/usr/bin/env python3
|
||||
from config import *
|
||||
import sys
|
||||
import pickle
|
||||
import socket
|
||||
|
||||
|
||||
def pack():
|
||||
ip = sys.argv[1]
|
||||
try:
|
||||
data = sys.argv[2:]
|
||||
except:
|
||||
data = "NO DATA SPECIFIED"
|
||||
|
||||
nudge(pickle.dumps({"ip": ip, "data": data}))
|
||||
|
||||
|
||||
def nudge(data):
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.connect(("localhost", 45678))
|
||||
s.send(data)
|
||||
s.close()
|
||||
|
||||
if __name__ == "__main__" and len(sys.argv) > 1:
|
||||
pack()
|
||||
|
||||
@@ -171,6 +171,7 @@
|
||||
#define ORGAN_SLOT_HEART_AID "heartdrive"
|
||||
#define ORGAN_SLOT_BRAIN_ANTIDROP "brain_antidrop"
|
||||
#define ORGAN_SLOT_BRAIN_ANTISTUN "brain_antistun"
|
||||
#define ORGAN_SLOT_BRAIN_ROBOT_RADSHIELDING "brain_robot_radshielding"
|
||||
#define ORGAN_SLOT_TAIL "tail"
|
||||
#define ORGAN_SLOT_PENIS "penis"
|
||||
#define ORGAN_SLOT_WOMB "womb"
|
||||
|
||||
@@ -162,3 +162,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
|
||||
REMOVE_TRAIT(x, TRAIT_KEEP_TOGETHER, KEEP_TOGETHER_ORIGINAL);\
|
||||
else if(!HAS_TRAIT(x, TRAIT_KEEP_TOGETHER))\
|
||||
x.appearance_flags &= ~KEEP_TOGETHER
|
||||
|
||||
/// 33554431 (2^24 - 1) is the maximum value our bitflags can reach.
|
||||
#define MAX_BITFLAG_DIGITS 8
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
}\
|
||||
##Path/CanProcCall(procname){\
|
||||
return FALSE;\
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,4 +11,4 @@
|
||||
and most importantly,
|
||||
how to undo your changes if you screw it up.
|
||||
- Sayu
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
|
||||
///Heretics --
|
||||
#define IS_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic))
|
||||
#define IS_HERETIC_MONSTER(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic_monster))
|
||||
|
||||
#define PATH_SIDE "Side"
|
||||
|
||||
|
||||
@@ -10,4 +10,4 @@
|
||||
#define CINEMATIC_NUKE_NO_CORE 10
|
||||
#define CINEMATIC_NUKE_FAR 11
|
||||
#define CINEMATIC_NUKE_CLOWNOP 12
|
||||
#define CINEMATIC_CULT_NUKE 13
|
||||
#define CINEMATIC_CULT_NUKE 13
|
||||
|
||||
@@ -114,3 +114,17 @@
|
||||
|
||||
//special species definitions
|
||||
#define MINIMUM_MUTANT_COLOR "#202020" //this is how dark players mutant parts and skin can be
|
||||
|
||||
//defines for different matrix sections
|
||||
#define MATRIX_RED "red"
|
||||
#define MATRIX_GREEN "green"
|
||||
#define MATRIX_BLUE "blue"
|
||||
#define MATRIX_RED_GREEN "red_green"
|
||||
#define MATRIX_RED_BLUE "red_blue"
|
||||
#define MATRIX_GREEN_BLUE "green_blue"
|
||||
#define MATRIX_ALL "red_green_blue"
|
||||
#define MATRIX_NONE "none"
|
||||
|
||||
//defines for the two colour schemes, advanced and old
|
||||
#define OLD_CHARACTER_COLORING "old_color_system"
|
||||
#define ADVANCED_CHARACTER_COLORING "advanced_color_system"
|
||||
|
||||
@@ -96,4 +96,4 @@ GLOBAL_LIST_EMPTY(all_clockwork_rites) //a list containing all clockwork rites.
|
||||
|
||||
#define ARK_SCREAM_COOLDOWN 300 //This much time has to pass between instances of the Ark taking damage before it will "scream" again
|
||||
|
||||
#define PRISM_DELAY_DURATION 1200 //how long prolonging prisms delay the shuttle for; defaults to 2 minutes
|
||||
#define PRISM_DELAY_DURATION 1200 //how long prolonging prisms delay the shuttle for; defaults to 2 minutes
|
||||
|
||||
@@ -11,6 +11,12 @@
|
||||
#define STAMINA "stamina"
|
||||
#define BRAIN "brain"
|
||||
|
||||
//Toxins damage 'typeflag' - is this normal toxins damage or does it have to do with systems corruption (ROBOTIC_ORGANISM species trait)
|
||||
|
||||
#define TOX_DEFAULT 1 //For normal toxins damage / healing (toxins, etc), adjustToxLoss() defaults to this
|
||||
#define TOX_SYSCORRUPT 2 //For toxins damage causing adverse effects to robotic organisms, up to and including fatal corruption, or healing that damage
|
||||
#define TOX_OMNI 3 //For tox damage / healing that affects both organics and robotic organisms. Used by very few things, e.g. aheals / by default setToxLoss()
|
||||
|
||||
//bitflag damage defines used for suicide_act
|
||||
#define BRUTELOSS (1<<0)
|
||||
#define FIRELOSS (1<<1)
|
||||
@@ -75,6 +81,8 @@
|
||||
//stamina stuff
|
||||
/// crit for stamina damage. forces a rest, and stops movement until stamina goes back to stamina softcrit
|
||||
#define STAMINA_CRIT 140
|
||||
/// Threshold for leaving stamina critical
|
||||
#define STAMINA_CRIT_REMOVAL_THRESHOLD 100
|
||||
/// Threshold under for which you are unable to draw from stamina health to replace stamina buffer
|
||||
#define STAMINA_NO_OVERDRAW_THRESHOLD 100
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
/// Usage for eyestabbing with a screwdriver
|
||||
#define STAMINA_COST_ITEM_EYESTAB 7.5
|
||||
/// Usage for shoving yourself off the ground instantly
|
||||
#define STAMINA_COST_SHOVE_UP 10
|
||||
#define STAMINA_COST_SHOVE_UP 15
|
||||
|
||||
//items total mass, used to calculate their attacks' stamina costs. If not defined, the cost will be (w_class * 1.25)
|
||||
#define TOTAL_MASS_TINY_ITEM 1.25
|
||||
|
||||
@@ -41,4 +41,4 @@
|
||||
#define BANISH_FUNERAL_GARB "funeral"
|
||||
|
||||
#define LORE 1
|
||||
#define LAW 2
|
||||
#define LAW 2
|
||||
|
||||
@@ -20,4 +20,4 @@
|
||||
#define DEFAULT_TOOLTIP "6:-29,5:-2"
|
||||
//misc
|
||||
#define SOULS_TO_REVIVE 3
|
||||
#define BLOODCULT_EYE "f00"
|
||||
#define BLOODCULT_EYE "f00"
|
||||
|
||||
@@ -82,4 +82,4 @@
|
||||
/// combat mode is active.
|
||||
#define COMBAT_MODE_ACTIVE (1<<1)
|
||||
/// combat mode is not active
|
||||
#define COMBAT_MODE_INACTIVE (1<<2)
|
||||
#define COMBAT_MODE_INACTIVE (1<<2)
|
||||
|
||||
@@ -13,4 +13,4 @@
|
||||
#define RemoveElement(arguments...) _RemoveElement(list(##arguments))
|
||||
|
||||
/// A wrapper for _AddComponent that allows us to pretend we're using normal named arguments
|
||||
#define AddComponent(arguments...) _AddComponent(list(##arguments))
|
||||
#define AddComponent(arguments...) _AddComponent(list(##arguments))
|
||||
|
||||
@@ -490,6 +490,17 @@
|
||||
#define COMPONENT_PROGRAM_INSTALLED 1 //Installation successful
|
||||
#define COMPONENT_PROGRAM_NOT_INSTALLED 2 //Installation failed, but there are still nanites
|
||||
#define COMSIG_NANITE_SYNC "nanite_sync" //(datum/component/nanites, full_overwrite, copy_activation) Called to sync the target's nanites to a given nanite component
|
||||
/// Checks if a nanite component is able to be controlled by console
|
||||
#define COMSIG_NANITE_CHECK_CONSOLE_LOCK "is_console_locked"
|
||||
/// Checks if a nanite component is able to be interfaced with by a host with innate nanite control
|
||||
#define COMSIG_NANITE_CHECK_HOST_LOCK "is_host_locked"
|
||||
/// Checks if a nanite component is able to be overwritten by viral replica
|
||||
#define COMSIG_NANITE_CHECK_VIRAL_PREVENTION "is_virus_locked"
|
||||
#define NANITE_CHANGES_LOCKED 1
|
||||
// Internal signals that programs register to and respond with to not require for loops
|
||||
#define COMSIG_NANITE_INTERNAL_CONSOLE_LOCK_CHECK "naniteiconsolelocked"
|
||||
#define COMSIG_NANITE_INTERNAL_HOST_LOCK_CHECK "naniteihostlocked"
|
||||
#define COMSIG_NANITE_INTERNAL_VIRAL_PREVENTION_CHECK "naniteiviruslocked"
|
||||
|
||||
// /datum/component/storage signals
|
||||
#define COMSIG_CONTAINS_STORAGE "is_storage" //() - returns bool.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#define CURRENT_LIVING_PLAYERS 1
|
||||
#define CURRENT_LIVING_ANTAGS 2
|
||||
#define CURRENT_DEAD_PLAYERS 3
|
||||
#define CURRENT_OBSERVERS 4
|
||||
#define CURRENT_OBSERVERS 4
|
||||
|
||||
#define NO_ASSASSIN (1<<0)
|
||||
#define WAROPS_ALWAYS_ALLOWED (1<<1)
|
||||
@@ -9,9 +9,11 @@
|
||||
#define FORCE_IF_WON (1<<3)
|
||||
#define USE_PREV_ROUND_WEIGHTS (1<<4)
|
||||
|
||||
#define ONLY_RULESET (1<<0)
|
||||
#define HIGHLANDER_RULESET (1<<1)
|
||||
#define TRAITOR_RULESET (1<<2)
|
||||
#define MINOR_RULESET (1<<3)
|
||||
#define ONLY_RULESET (1<<0)
|
||||
#define HIGHLANDER_RULESET (1<<1)
|
||||
#define TRAITOR_RULESET (1<<2)
|
||||
#define MINOR_RULESET (1<<3)
|
||||
#define FAKE_ANTAG_RULESET (1<<4)
|
||||
#define ALWAYS_MAX_WEIGHT_RULESET (1<<5)
|
||||
|
||||
#define RULESET_STOP_PROCESSING 1
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#define EXPORT_CARGO 1
|
||||
#define EXPORT_EMAG 2
|
||||
#define EXPORT_CONTRABAND 4
|
||||
#define EXPORT_PIRATE 8
|
||||
#define EXPORT_PIRATE 8
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
#define AFFIX_SUFFIX (1 << 1)
|
||||
|
||||
#define AFFIX_GOOD (1 << 0)
|
||||
#define AFFIX_EVIL (1 << 1)
|
||||
#define AFFIX_EVIL (1 << 1)
|
||||
|
||||
@@ -125,7 +125,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
|
||||
|
||||
#define isbot(A) (istype(A, /mob/living/simple_animal/bot))
|
||||
|
||||
#define isshade(A) (istype(A, /mob/living/simple_animal/shade))
|
||||
#define isshade(A) (istype(A, /mob/living/simple_animal/hostile/construct/shade))
|
||||
|
||||
#define ismouse(A) (istype(A, /mob/living/simple_animal/mouse))
|
||||
|
||||
@@ -188,6 +188,8 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
|
||||
|
||||
#define islandmine(A) (istype(A, /obj/effect/mine))
|
||||
|
||||
#define issupplypod(A) (istype(A, /obj/structure/closet/supplypod))
|
||||
|
||||
#define isammocasing(A) (istype(A, /obj/item/ammo_casing))
|
||||
|
||||
#define isidcard(I) (istype(I, /obj/item/card/id))
|
||||
|
||||
@@ -66,4 +66,14 @@
|
||||
#define LOADOUT_LIMB_PROSTHETIC "Prosthetic"
|
||||
#define LOADOUT_LIMB_AMPUTATED "Amputated"
|
||||
|
||||
#define LOADOUT_LIMBS list(LOADOUT_LIMB_NORMAL,LOADOUT_LIMB_PROSTHETIC,LOADOUT_LIMB_AMPUTATED) //you can amputate your legs/arms though
|
||||
#define LOADOUT_LIMBS list(LOADOUT_LIMB_NORMAL,LOADOUT_LIMB_PROSTHETIC,LOADOUT_LIMB_AMPUTATED) //you can amputate your legs/arms though
|
||||
|
||||
//loadout saving/loading specific defines
|
||||
#define MAXIMUM_LOADOUT_SAVES 5
|
||||
#define LOADOUT_ITEM "loadout_item"
|
||||
#define LOADOUT_COLOR "loadout_color"
|
||||
|
||||
//loadout item flags
|
||||
#define LOADOUT_CAN_NAME (1<<0) //renaming items
|
||||
#define LOADOUT_CAN_DESCRIPTION (1<<1) //adding a custom description to items
|
||||
#define LOADOUT_CAN_COLOR_POLYCHROMIC (1<<2)
|
||||
|
||||
@@ -120,4 +120,4 @@
|
||||
|
||||
#define CLONEPOD_GET_MIND 1
|
||||
#define CLONEPOD_POLL_MIND 2
|
||||
#define CLONEPOD_NO_MIND 3
|
||||
#define CLONEPOD_NO_MIND 3
|
||||
|
||||
@@ -12,4 +12,4 @@
|
||||
#define MATERIAL_ADD_PREFIX (1<<1)
|
||||
#define MATERIAL_AFFECT_STATISTICS (1<<2)
|
||||
|
||||
#define MATERIAL_SOURCE(mat) "[mat.name]_material"
|
||||
#define MATERIAL_SOURCE(mat) "[mat.name]_material"
|
||||
|
||||
@@ -26,4 +26,4 @@
|
||||
//Misc medals
|
||||
#define MEDAL_METEOR "Your Life Before Your Eyes"
|
||||
#define MEDAL_PULSE "Jackpot"
|
||||
#define MEDAL_TIMEWASTE "Overextended The Joke"
|
||||
#define MEDAL_TIMEWASTE "Overextended The Joke"
|
||||
|
||||
@@ -8,4 +8,4 @@
|
||||
#define MARTIALART_KRAVMAGA "krav maga"
|
||||
#define MARTIALART_CQC "CQC"
|
||||
#define MARTIALART_PLASMAFIST "plasma fist"
|
||||
#define MARTIALART_RISINGBASS "rising bass"
|
||||
#define MARTIALART_RISINGBASS "rising bass"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#define CHECKBOX_NONE 0
|
||||
#define CHECKBOX_GROUP 1
|
||||
#define CHECKBOX_TOGGLE 2
|
||||
#define CHECKBOX_TOGGLE 2
|
||||
|
||||
@@ -159,6 +159,7 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache)
|
||||
#define BLOOD_COLOR_LIZARD "#db004D"
|
||||
#define BLOOD_COLOR_UNIVERSAL "#db3300"
|
||||
#define BLOOD_COLOR_BUG "#a37c0f"
|
||||
#define BLOOD_COLOR_PLANT "#3d610e"
|
||||
|
||||
|
||||
//suit sensors: sensor_mode defines
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
#define MOB_EPIC (1 << 7) // Megafauna
|
||||
#define MOB_REPTILE (1 << 8)
|
||||
#define MOB_SPIRIT (1 << 9)
|
||||
/// Mobs that otherwise support nanites
|
||||
#define MOB_NANITES (1 << 10)
|
||||
|
||||
// Organ defines for carbon mobs
|
||||
#define ORGAN_ORGANIC 1
|
||||
@@ -56,6 +58,7 @@
|
||||
#define BODYPART_ORGANIC 1
|
||||
#define BODYPART_ROBOTIC 2
|
||||
#define BODYPART_HYBRID 3
|
||||
#define BODYPART_NANITES 4
|
||||
|
||||
#define HYBRID_BODYPART_DAMAGE_THRESHHOLD 25 //How much damage has to be suffered until the damage threshhold counts as passed
|
||||
#define HYBRID_BODYPART_THESHHOLD_MINDAMAGE 15 //Which damage value this limb cannot be healed out of via easy nonsurgical means if the threshhold has been passed, state resets if damage value goes below mindamage.
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
// helpers
|
||||
|
||||
// sources
|
||||
/// Species
|
||||
#define ABILITY_SOURCE_SPECIES "species"
|
||||
/// Changeling
|
||||
#define ABILITY_SOURCE_CHANGELING "changeling"
|
||||
|
||||
// abilities
|
||||
/// Full customization and transformation of mutantparts/hair/sprite accessories/etc - excludes name by default
|
||||
#define INNATE_ABILITY_HUMANOID_CUSTOMIZATION "humanoid_customization"
|
||||
/// Slime blobform
|
||||
#define INNATE_ABILITY_SLIME_BLOBFORM "slime_blobform"
|
||||
/// limb regrowth
|
||||
#define INNATE_ABILITY_LIMB_REGROWTH "limb_regrowth"
|
||||
|
||||
/// ability properties
|
||||
// customization/body change
|
||||
/// is this silent?
|
||||
#define PROPERTY_CUSTOMIZATION_SILENT "silent"
|
||||
// blobform
|
||||
/// Blobform color
|
||||
#define PROPERTY_BLOBFORM_COLOR "color"
|
||||
// limb regrwoth
|
||||
/// limb regrowth usage type
|
||||
#define PROPERTY_LIMB_REGROWTH_USAGE_TYPE "cost"
|
||||
/// blood
|
||||
#define REGROWTH_USES_BLOOD "blood"
|
||||
|
||||
@@ -78,7 +78,9 @@
|
||||
#define EXP_TYPE_ADMIN "Admin"
|
||||
|
||||
//Flags in the players table in the db
|
||||
#define DB_FLAG_EXEMPT 1
|
||||
#define DB_FLAG_EXEMPT (1<<0)
|
||||
#define DB_FLAG_AGE_CONFIRMATION_INCOMPLETE (1<<1)
|
||||
#define DB_FLAG_AGE_CONFIRMATION_COMPLETE (1<<2)
|
||||
|
||||
#define DEFAULT_CYBORG_NAME "Default Cyborg Name"
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ Ask ninjanomnom if they're around
|
||||
#define RAD_BURN_THRESHOLD 1000 // Applied radiation must be over this to burn
|
||||
|
||||
#define RAD_MOB_SAFE 500 // How much stored radiation in a mob with no ill effects
|
||||
#define RAD_DEFAULT_ROBOT_SAFE 250 // Like above, except for robotic carbons. Far more susceptible to corruption from radiation.
|
||||
#define RAD_UPGRADED_ROBOT_SAFE 750 // If the robot has been upgraded via an implant, their radiation threshold is raised to be somewhat above that of organics.
|
||||
|
||||
#define RAD_MOB_HAIRLOSS 800 // How much stored radiation to check for hair loss
|
||||
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
#define ROCKPAPERSCISSORS_LOSE "lose"
|
||||
#define ROCKPAPERSCISSORS_WIN "win"
|
||||
#define ROCKPAPERSCISSORS_TIE "tie"
|
||||
#define ROCKPAPERSCISSORS_NOT_DECIDED "not_decided"
|
||||
#define ROCKPAPERSCISSORS_NOT_DECIDED "not_decided"
|
||||
|
||||
@@ -76,8 +76,14 @@
|
||||
#define LINGHIVE_LINK 3
|
||||
|
||||
//whether the emote is visible or audible.
|
||||
// Requires sight
|
||||
#define EMOTE_VISIBLE 1
|
||||
// Requires hearing
|
||||
#define EMOTE_AUDIBLE 2
|
||||
// Requires sight or hearing
|
||||
#define EMOTE_BOTH 3
|
||||
// Always able to be seen
|
||||
#define EMOTE_OMNI 4
|
||||
|
||||
//Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam
|
||||
#define MAX_MESSAGE_LEN 2048 //Citadel edit: What's the WORST that could happen?
|
||||
@@ -89,4 +95,4 @@
|
||||
|
||||
// Audio/Visual Flags. Used to determine what sense are required to notice a message.
|
||||
#define MSG_VISUAL (1<<0)
|
||||
#define MSG_AUDIBLE (1<<1)
|
||||
#define MSG_AUDIBLE (1<<1)
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#define SPECIES_SYNTH "synth"
|
||||
#define SPECIES_SYNTH_MIL "military_synth"
|
||||
#define SPECIES_VAMPIRE "vampire"
|
||||
#define SPECIES_VAMPIRE_WEAK "vampire_roundstart"
|
||||
#define SPECIES_XENOHYBRID "xeno"
|
||||
#define SPECIES_ZOMBIE "zombie"
|
||||
|
||||
|
||||
+54
-51
@@ -1,6 +1,6 @@
|
||||
// tgstation-server DMAPI
|
||||
|
||||
#define TGS_DMAPI_VERSION "5.2.1"
|
||||
#define TGS_DMAPI_VERSION "5.2.9"
|
||||
|
||||
// All functions and datums outside this document are subject to change with any version and should not be relied on.
|
||||
|
||||
@@ -95,6 +95,8 @@
|
||||
#define TGS_EVENT_WATCHDOG_SHUTDOWN 15
|
||||
/// Before the watchdog detaches for a TGS update/restart. No parameters.
|
||||
#define TGS_EVENT_WATCHDOG_DETACH 16
|
||||
// We don't actually implement this value as the DMAPI can never receive it
|
||||
// #define TGS_EVENT_WATCHDOG_LAUNCH 17
|
||||
|
||||
// OTHER ENUMS
|
||||
|
||||
@@ -115,21 +117,22 @@
|
||||
//REQUIRED HOOKS
|
||||
|
||||
/**
|
||||
* Call this somewhere in [/world/proc/New] that is always run. This function may sleep!
|
||||
*
|
||||
* * event_handler - Optional user defined [/datum/tgs_event_handler].
|
||||
* * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED].
|
||||
*/
|
||||
* Call this somewhere in [/world/proc/New] that is always run. This function may sleep!
|
||||
*
|
||||
* * event_handler - Optional user defined [/datum/tgs_event_handler].
|
||||
* * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED].
|
||||
*/
|
||||
/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE)
|
||||
return
|
||||
|
||||
/**
|
||||
* Call this when your initializations are complete and your game is ready to play before any player interactions happen.
|
||||
*
|
||||
* This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running.
|
||||
* Before this point, note that any static files or directories may be in use by another server. Your code should account for this.
|
||||
* This function should not be called before ..() in [/world/proc/New].
|
||||
*/
|
||||
* Call this when your initializations are complete and your game is ready to play before any player interactions happen.
|
||||
*
|
||||
* This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running.
|
||||
* Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184
|
||||
* Before this point, note that any static files or directories may be in use by another server. Your code should account for this.
|
||||
* This function should not be called before ..() in [/world/proc/New].
|
||||
*/
|
||||
/world/proc/TgsInitializationComplete()
|
||||
return
|
||||
|
||||
@@ -137,8 +140,8 @@
|
||||
#define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return
|
||||
|
||||
/**
|
||||
* Call this at the beginning of [world/proc/Reboot].
|
||||
*/
|
||||
* Call this at the beginning of [world/proc/Reboot].
|
||||
*/
|
||||
/world/proc/TgsReboot()
|
||||
return
|
||||
|
||||
@@ -172,16 +175,16 @@
|
||||
var/deprefixed_parameter
|
||||
|
||||
/**
|
||||
* Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] contains wildcards.
|
||||
*/
|
||||
* Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] contains wildcards.
|
||||
*/
|
||||
/datum/tgs_version/proc/Wildcard()
|
||||
return
|
||||
|
||||
/**
|
||||
* Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] equals some other version.
|
||||
*
|
||||
* other_version - The [/datum/tgs_version] to compare against.
|
||||
*/
|
||||
* Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] equals some other version.
|
||||
*
|
||||
* other_version - The [/datum/tgs_version] to compare against.
|
||||
*/
|
||||
/datum/tgs_version/proc/Equals(datum/tgs_version/other_version)
|
||||
return
|
||||
|
||||
@@ -231,10 +234,10 @@
|
||||
var/datum/tgs_chat_channel/channel
|
||||
|
||||
/**
|
||||
* User definable callback for handling TGS events.
|
||||
*
|
||||
* event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each
|
||||
*/
|
||||
* User definable callback for handling TGS events.
|
||||
*
|
||||
* event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each
|
||||
*/
|
||||
/datum/tgs_event_handler/proc/HandleEvent(event_code, ...)
|
||||
set waitfor = FALSE
|
||||
return
|
||||
@@ -249,11 +252,11 @@
|
||||
var/admin_only = FALSE
|
||||
|
||||
/**
|
||||
* Process command activation. Should return a string to respond to the issuer with.
|
||||
*
|
||||
* sender - The [/datum/tgs_chat_user] who issued the command.
|
||||
* params - The trimmed string following the command `/datum/tgs_chat_command/var/name].
|
||||
*/
|
||||
* Process command activation. Should return a string to respond to the issuer with.
|
||||
*
|
||||
* sender - The [/datum/tgs_chat_user] who issued the command.
|
||||
* params - The trimmed string following the command `/datum/tgs_chat_command/var/name].
|
||||
*/
|
||||
/datum/tgs_chat_command/proc/Run(datum/tgs_chat_user/sender, params)
|
||||
CRASH("[type] has no implementation for Run()")
|
||||
|
||||
@@ -268,48 +271,48 @@
|
||||
return
|
||||
|
||||
/**
|
||||
* Returns [TRUE] if DreamDaemon was launched under TGS, the API matches, and was properly initialized. [FALSE] will be returned otherwise.
|
||||
*/
|
||||
* Returns [TRUE] if DreamDaemon was launched under TGS, the API matches, and was properly initialized. [FALSE] will be returned otherwise.
|
||||
*/
|
||||
/world/proc/TgsAvailable()
|
||||
return
|
||||
|
||||
// No function below this succeeds if it TgsAvailable() returns FALSE or if TgsNew() has yet to be called.
|
||||
|
||||
/**
|
||||
* Forces a hard reboot of DreamDaemon by ending the process.
|
||||
*
|
||||
* Unlike del(world) clients will try to reconnect.
|
||||
* If TGS has not requested a [TGS_REBOOT_MODE_SHUTDOWN] DreamDaemon will be launched again
|
||||
*/
|
||||
* Forces a hard reboot of DreamDaemon by ending the process.
|
||||
*
|
||||
* Unlike del(world) clients will try to reconnect.
|
||||
* If TGS has not requested a [TGS_REBOOT_MODE_SHUTDOWN] DreamDaemon will be launched again
|
||||
*/
|
||||
/world/proc/TgsEndProcess()
|
||||
return
|
||||
|
||||
/**
|
||||
* Send a message to connected chats.
|
||||
*
|
||||
* message - The string to send.
|
||||
* admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies.
|
||||
*/
|
||||
* Send a message to connected chats.
|
||||
*
|
||||
* message - The string to send.
|
||||
* admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies.
|
||||
*/
|
||||
/world/proc/TgsTargetedChatBroadcast(message, admin_only = FALSE)
|
||||
return
|
||||
|
||||
/**
|
||||
* Send a private message to a specific user.
|
||||
*
|
||||
* message - The string to send.
|
||||
* user: The [/datum/tgs_chat_user] to PM.
|
||||
*/
|
||||
* Send a private message to a specific user.
|
||||
*
|
||||
* message - The string to send.
|
||||
* user: The [/datum/tgs_chat_user] to PM.
|
||||
*/
|
||||
/world/proc/TgsChatPrivateMessage(message, datum/tgs_chat_user/user)
|
||||
return
|
||||
|
||||
// The following functions will sleep if a call to TgsNew() is sleeping
|
||||
|
||||
/**
|
||||
* Send a message to connected chats that are flagged as game-related in TGS.
|
||||
*
|
||||
* message - The string to send.
|
||||
* channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to.
|
||||
*/
|
||||
* Send a message to connected chats that are flagged as game-related in TGS.
|
||||
*
|
||||
* message - The string to send.
|
||||
* channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to.
|
||||
*/
|
||||
/world/proc/TgsChatBroadcast(message, list/channels = null)
|
||||
return
|
||||
|
||||
|
||||
@@ -32,4 +32,4 @@
|
||||
url_encode(json_encode(list( \
|
||||
"type" = type, \
|
||||
"payload" = payload, \
|
||||
))))
|
||||
))))
|
||||
|
||||
@@ -118,6 +118,8 @@
|
||||
#define TRAIT_NOLIMBDISABLE "no_limb_disable"
|
||||
#define TRAIT_EASYLIMBDISABLE "easy_limb_disable"
|
||||
#define TRAIT_TOXINLOVER "toxinlover"
|
||||
#define TRAIT_ROBOTIC_ORGANISM "robotic_organism"
|
||||
#define TRAIT_ROBOT_RADSHIELDING "robot_radshielding"
|
||||
#define TRAIT_NOBREATH "no_breath"
|
||||
#define TRAIT_ANTIMAGIC "anti_magic"
|
||||
#define TRAIT_HOLY "holy"
|
||||
@@ -203,15 +205,18 @@
|
||||
#define TRAIT_THERMAL_VISION "thermal_vision"
|
||||
#define TRAIT_NO_TELEPORT "no-teleport" //you just can't
|
||||
#define TRAIT_NO_INTERNALS "no-internals"
|
||||
#define TRAIT_NO_ALCOHOL "alcohol_intolerance"
|
||||
#define TRAIT_TOXIC_ALCOHOL "alcohol_intolerance"
|
||||
#define TRAIT_MUTATION_STASIS "mutation_stasis" //Prevents processed genetics mutations from processing.
|
||||
#define TRAIT_FAST_PUMP "fast_pump"
|
||||
#define TRAIT_NO_PROCESS_FOOD "no-process-food" // You don't get benefits from nutriment, nor nutrition from reagent consumables
|
||||
#define TRAIT_NICE_SHOT "nice_shot" //hnnnnnnnggggg..... you're pretty good...
|
||||
/// Prevents stamina buffer regeneration
|
||||
#define TRAIT_NO_STAMINA_BUFFER_REGENERATION "block_stamina_buffer_regen"
|
||||
/// Prevents stamina regeneration
|
||||
#define TRAIT_NO_STAMINA_REGENERATION "block_stamina_regen"
|
||||
#define TRAIT_NO_STAMINA_BUFFER_REGENERATION "block_stamina_buffer_regen" /// Prevents stamina buffer regeneration
|
||||
#define TRAIT_NO_STAMINA_REGENERATION "block_stamina_regen" /// Prevents stamina regeneration
|
||||
#define TRAIT_ARMOR_BROKEN "armor_broken" //acts as if you are wearing no clothing when taking damage, does not affect non-clothing sources of protection
|
||||
/// forces update_density to make us not dense
|
||||
#define TRAIT_LIVING_NO_DENSITY "living_no_density"
|
||||
/// forces us to not render our overlays
|
||||
#define TRAIT_HUMAN_NO_RENDER "human_no_render"
|
||||
|
||||
// mobility flag traits
|
||||
// IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it)
|
||||
@@ -308,6 +313,7 @@
|
||||
#define LOCKED_HELMET_TRAIT "locked-helmet"
|
||||
#define NINJA_SUIT_TRAIT "ninja-suit"
|
||||
#define ANTI_DROP_IMPLANT_TRAIT "anti-drop-implant"
|
||||
#define ROBOT_RADSHIELDING_IMPLANT_TRAIT "robot-radshielding-implant"
|
||||
#define MARTIAL_ARTIST_TRAIT "martial_artist"
|
||||
#define SLEEPING_CARP_TRAIT "sleeping_carp"
|
||||
#define RISING_BASS_TRAIT "rising_bass"
|
||||
@@ -319,8 +325,10 @@
|
||||
#define MEGAFAUNA_TRAIT "megafauna"
|
||||
#define DEATHSQUAD_TRAIT "deathsquad"
|
||||
#define SLIMEPUDDLE_TRAIT "slimepuddle"
|
||||
#define CORRUPTED_SYSTEM "corrupted-system"
|
||||
/// This trait is added by the active directional block system.
|
||||
#define ACTIVE_BLOCK_TRAIT "active_block"
|
||||
/// This trait is added by the parry system.
|
||||
#define ACTIVE_PARRY_TRAIT "active_parry"
|
||||
#define STICKY_NODROP "sticky-nodrop" //sticky nodrop sounds like a bad soundcloud rapper's name
|
||||
#define TRAIT_SACRIFICED "sacrificed" //Makes sure that people cant be cult sacrificed twice.
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
#define CHANGETURF_FORCEOP 4
|
||||
#define CHANGETURF_SKIP 8 // A flag for PlaceOnTop to just instance the new turf instead of calling ChangeTurf. Used for uninitialized turfs NOTHING ELSE
|
||||
#define CHANGETURF_INHERIT_AIR 16 // Inherit air from previous turf. Implies CHANGETURF_IGNORE_AIR
|
||||
#define CHANGETURF_RECALC_ADJACENT 32 //Immediately recalc adjacent atmos turfs instead of queuing.
|
||||
#define CHANGETURF_RECALC_ADJACENT 32 //Immediately recalc adjacent atmos turfs instead of queuing.
|
||||
|
||||
@@ -6,4 +6,4 @@
|
||||
|
||||
|
||||
//Car trait flags
|
||||
#define CAN_KIDNAP 1
|
||||
#define CAN_KIDNAP 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#define PLURALITY_VOTING 0
|
||||
#define APPROVAL_VOTING 1
|
||||
#define SCHULZE_VOTING 2
|
||||
#define SCORE_VOTING 3
|
||||
#define MAJORITY_JUDGEMENT_VOTING 4
|
||||
#define INSTANT_RUNOFF_VOTING 5
|
||||
#define PLURALITY_VOTING "PLURALITY"
|
||||
#define APPROVAL_VOTING "APPROVAL"
|
||||
#define SCHULZE_VOTING "SCHULZE"
|
||||
#define SCORE_VOTING "SCORE"
|
||||
#define MAJORITY_JUDGEMENT_VOTING "MAJORITY_JUDGEMENT"
|
||||
#define INSTANT_RUNOFF_VOTING "IRV"
|
||||
|
||||
#define SHOW_RESULTS (1<<0)
|
||||
#define SHOW_VOTES (1<<1)
|
||||
@@ -26,4 +26,4 @@ GLOBAL_LIST_INIT(display_vote_settings, list(\
|
||||
"Ongoing Votes" = SHOW_VOTES,
|
||||
"Winner" = SHOW_WINNER,
|
||||
"Abstainers" = SHOW_ABSTENTION
|
||||
))
|
||||
))
|
||||
|
||||
@@ -46,17 +46,29 @@
|
||||
I = getPAIHologramIcon(I)
|
||||
return I
|
||||
|
||||
//Errors go to user.
|
||||
/proc/generate_custom_holoform_from_prefs_safe(datum/preferences/prefs, mob/user)
|
||||
if(user)
|
||||
if(user.client.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY)
|
||||
to_chat(user, "<span class='boldwarning'>You are attempting to set your custom holoform too fast!</span>")
|
||||
return
|
||||
return generate_custom_holoform_from_prefs(prefs, null, null, TRUE, TRUE)
|
||||
|
||||
//Prompts this client for custom holoform parameters.
|
||||
/proc/user_interface_custom_holoform(client/C)
|
||||
var/datum/preferences/target_prefs = C.prefs
|
||||
if(target_prefs.path)
|
||||
var/list/characters = list()
|
||||
var/savefile/S = new /savefile(target_prefs.path)
|
||||
if(S)
|
||||
var/name
|
||||
var/max_save_slots = C.prefs.max_save_slots
|
||||
for(var/i=1, i<=max_save_slots, i++)
|
||||
S.cd = "/character[i]"
|
||||
S["real_name"] >> name
|
||||
if(name)
|
||||
characters[name] = i
|
||||
var/chosen_name = input(C, "Which character do you wish to use as your appearance.") as anything in characters
|
||||
if(chosen_name)
|
||||
if(C.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY)
|
||||
to_chat(C.mob, "<span class='boldwarning'>You are attempting to set your custom holoform too fast!</span>")
|
||||
return
|
||||
target_prefs = new(C)
|
||||
if(!target_prefs.load_character(characters[chosen_name], TRUE))
|
||||
target_prefs = C.prefs
|
||||
|
||||
ASSERT(target_prefs)
|
||||
//In the future, maybe add custom path allowances a la admin create outfit but for now..
|
||||
return generate_custom_holoform_from_prefs_safe(target_prefs, C.mob)
|
||||
return generate_custom_holoform_from_prefs(target_prefs, null, null, TRUE, TRUE)
|
||||
|
||||
@@ -1235,3 +1235,18 @@ GLOBAL_DATUM_INIT(dummySave, /savefile, new("tmp/dummySave.sav")) //Cache of ico
|
||||
var/icon/I = getFlatIcon(thing)
|
||||
return icon2html(I, target, sourceonly = sourceonly)
|
||||
|
||||
/* Gives the result RGB of a RGB string after a matrix transformation. No alpha.
|
||||
* Input: rr, rg, rb, gr, gg, gb, br, bg, bb, cr, cg, cb
|
||||
* Output: RGB string
|
||||
*/
|
||||
/proc/RGBMatrixTransform(list/color, list/cm)
|
||||
ASSERT(cm.len >= 9)
|
||||
if(cm.len < 12) // fill in the rest
|
||||
for(var/i in 1 to (12 - cm.len))
|
||||
cm += 0
|
||||
if(!islist(color))
|
||||
color = ReadRGB(color)
|
||||
color[1] = color[1] * cm[1] + color[2] * cm[2] + color[3] * cm[3] + cm[10] * 255
|
||||
color[2] = color[1] * cm[4] + color[2] * cm[5] + color[3] * cm[6] + cm[11] * 255
|
||||
color[3] = color[1] * cm[7] + color[2] * cm[8] + color[3] * cm[9] + cm[12] * 255
|
||||
return rgb(color[1], color[2], color[3])
|
||||
|
||||
@@ -176,4 +176,10 @@ round(cos_inv_third+sqrt3_sin, 0.001), round(cos_inv_third-sqrt3_sin, 0.001), ro
|
||||
offset = (y-1)*4
|
||||
for(x in 1 to 4)
|
||||
output[offset+x] = round(A[offset+1]*B[x] + A[offset+2]*B[x+4] + A[offset+3]*B[x+8] + A[offset+4]*B[x+12]+(y==5?B[x+16]:0), 0.001)
|
||||
return output
|
||||
return output
|
||||
|
||||
/**
|
||||
* Assembles a color matrix, defaulting to identity
|
||||
*/
|
||||
/proc/rgb_construct_color_matrix(rr = 1, rg, rb, gr, gg = 1, gb, br, bg, bb = 1, cr, cg, cb)
|
||||
return list(rr, rg, rb, gr, gg, gb, br, bg, bb, cr, cg, cb)
|
||||
|
||||
@@ -94,4 +94,4 @@
|
||||
chosen_id = input(user, "Choose a reagent to add.", "Choose a reagent.") as null|anything in subtypesof(/datum/reagent)
|
||||
if("I'm feeling lucky")
|
||||
chosen_id = pick(subtypesof(/datum/reagent))
|
||||
return chosen_id
|
||||
return chosen_id
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
var/err_file = ""
|
||||
var/static/list/interpreters = list("[MS_WINDOWS]" = "cmd /c", "[UNIX]" = "sh -c")
|
||||
var/interpreter = interpreters["[world.system_type]"]
|
||||
log_subsystem("SHELL", "Executing command [command]")
|
||||
if(interpreter)
|
||||
for(var/seo_id in shelleo_ids)
|
||||
if(!shelleo_ids[seo_id])
|
||||
@@ -36,6 +37,7 @@
|
||||
else
|
||||
CRASH("Operating System: [world.system_type] not supported") // If you encounter this error, you are encouraged to update this proc with support for the new operating system
|
||||
. = list(errorcode, stdout, stderr)
|
||||
log_subsystem("SHELL", "Finished execution: [errorcode], [stdout], [stderr]")
|
||||
#undef SHELLEO_NAME
|
||||
#undef SHELLEO_ERR
|
||||
#undef SHELLEO_OUT
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
SI.associative = associative
|
||||
|
||||
SI.binarySort(fromIndex, toIndex, fromIndex)
|
||||
return L
|
||||
return L
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
SI.associative = associative
|
||||
|
||||
SI.mergeSort(fromIndex, toIndex)
|
||||
return L
|
||||
return L
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
SI.associative = associative
|
||||
|
||||
SI.timSort(fromIndex, toIndex)
|
||||
return L
|
||||
return L
|
||||
|
||||
@@ -29,4 +29,4 @@ GLOBAL_LIST_EMPTY(whitelisted_species_list)
|
||||
|
||||
/proc/log_looc(text)
|
||||
if (CONFIG_GET(flag/log_ooc))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[TIME_STAMP("hh:mm:ss", FALSE)]]LOOC: [text]")
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[TIME_STAMP("hh:mm:ss", FALSE)]]LOOC: [text]")
|
||||
|
||||
@@ -40,4 +40,4 @@ GLOBAL_LIST_EMPTY(typelistkeys)
|
||||
|
||||
for (var/saving in savings)
|
||||
to_chat(world, "Savings for [saving]: [savings[saving]] lists, [saveditems[saving]] items")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -54,4 +54,4 @@
|
||||
return locate(T.x + V.x, T.y + V.y, z)
|
||||
|
||||
/proc/atoms2vector(var/atom/A, var/atom/B)
|
||||
return new /datum/vector((B.x - A.x), (B.y - A.y)) // Vector from A -> B
|
||||
return new /datum/vector((B.x - A.x), (B.y - A.y)) // Vector from A -> B
|
||||
|
||||
@@ -131,4 +131,4 @@ GLOBAL_LIST_INIT(ratking_coins, list(//Coins: Used by the regal rat mob when spa
|
||||
/obj/item/coin/iron,
|
||||
/obj/item/coin/silver,
|
||||
/obj/item/coin/plastic,
|
||||
/obj/item/coin/titanium))
|
||||
/obj/item/coin/titanium))
|
||||
|
||||
@@ -1 +1 @@
|
||||
GLOBAL_LIST_EMPTY(commendations)
|
||||
GLOBAL_LIST_EMPTY(commendations)
|
||||
|
||||
@@ -13,6 +13,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
|
||||
"TRAIT_NEARSIGHT" = TRAIT_NEARSIGHT,
|
||||
"TRAIT_FAT" = TRAIT_FAT,
|
||||
"TRAIT_HUSK" = TRAIT_HUSK,
|
||||
"TRAIT_SACRIFICED" = TRAIT_SACRIFICED,
|
||||
"TRAIT_NOCLONE" = TRAIT_NOCLONE,
|
||||
"TRAIT_CLUMSY" = TRAIT_CLUMSY,
|
||||
"TRAIT_CHUNKYFINGERS" = TRAIT_CHUNKYFINGERS,
|
||||
@@ -51,6 +52,8 @@ GLOBAL_LIST_INIT(traits_by_type, list(
|
||||
"TRAIT_NOLIMBDISABLE" = TRAIT_NOLIMBDISABLE,
|
||||
"TRAIT_EASYLIMBDISABLE" = TRAIT_EASYLIMBDISABLE,
|
||||
"TRAIT_TOXINLOVER" = TRAIT_TOXINLOVER,
|
||||
"TRAIT_ROBOTIC_ORGANISM" = TRAIT_ROBOTIC_ORGANISM,
|
||||
"TRAIT_ROBOT_RADSHIELDING" = TRAIT_ROBOT_RADSHIELDING,
|
||||
"TRAIT_NOBREATH" = TRAIT_NOBREATH,
|
||||
"TRAIT_ANTIMAGIC" = TRAIT_ANTIMAGIC,
|
||||
"TRAIT_HOLY" = TRAIT_HOLY,
|
||||
@@ -101,7 +104,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
|
||||
"TRAIT_AUTO_CATCH_ITEM" = TRAIT_AUTO_CATCH_ITEM,
|
||||
"TRAIT_FREESPRINT" = TRAIT_FREESPRINT,
|
||||
"TRAIT_NO_INTERNALS" = TRAIT_NO_INTERNALS,
|
||||
"TRAIT_NO_ALCOHOL" = TRAIT_NO_ALCOHOL,
|
||||
"TRAIT_TOXIC_ALCOHOL" = TRAIT_TOXIC_ALCOHOL,
|
||||
"TRAIT_MUTATION_STASIS" = TRAIT_MUTATION_STASIS,
|
||||
"TRAIT_HEAVY_SLEEPER" = TRAIT_HEAVY_SLEEPER,
|
||||
"TRAIT_LIGHT_STEP" = TRAIT_LIGHT_STEP,
|
||||
|
||||
+1
-1
@@ -34,4 +34,4 @@ function dropdowns() {
|
||||
}
|
||||
}
|
||||
}
|
||||
"}
|
||||
"}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
* Common mob click code
|
||||
*/
|
||||
/mob/proc/CommonClickOn(atom/A, params)
|
||||
SHOULD_NOT_SLEEP(TRUE)
|
||||
//SHOULD_NOT_SLEEP(TRUE)
|
||||
if(mob_transforming)
|
||||
return
|
||||
if(SEND_SIGNAL(src, COMSIG_MOB_CLICKON, A, params) & COMSIG_MOB_CANCEL_CLICKON)
|
||||
@@ -34,7 +34,7 @@
|
||||
FlushCurrentAction()
|
||||
else
|
||||
DiscardCurrentAction()
|
||||
|
||||
|
||||
/*
|
||||
Standard mob ClickOn()
|
||||
Handles exceptions: Buildmode, middle click, modified clicks, mech actions
|
||||
@@ -49,7 +49,6 @@
|
||||
* mob/RangedAttack(atom,params) - used only ranged, only used for tk and laser eyes but could be changed
|
||||
*/
|
||||
/mob/proc/ClickOn(atom/A, params)
|
||||
SHOULD_NOT_SLEEP(TRUE)
|
||||
if(check_click_intercept(params,A))
|
||||
return
|
||||
|
||||
|
||||
@@ -87,4 +87,4 @@
|
||||
|
||||
S.screen_loc = screen_l
|
||||
|
||||
screen += S
|
||||
screen += S
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
return . | A.attack_hand(src, intent, .)
|
||||
|
||||
/atom/proc/attack_hand(mob/user, act_intent = user.a_intent, attackchain_flags)
|
||||
SHOULD_NOT_SLEEP(TRUE)
|
||||
//SHOULD_NOT_SLEEP(TRUE)
|
||||
if(!(interaction_flags_atom & INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HAND))
|
||||
add_fingerprint(user)
|
||||
if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, user) & COMPONENT_NO_ATTACK_HAND)
|
||||
|
||||
@@ -388,15 +388,26 @@ Example config:
|
||||
var/list/probabilities = Get(/datum/config_entry/keyed_list/storyteller_weight)
|
||||
var/list/repeated_mode_adjust = Get(/datum/config_entry/number_list/repeated_mode_adjust)
|
||||
var/list/min_player_counts = Get(/datum/config_entry/keyed_list/storyteller_min_players)
|
||||
var/list/storyteller_min_chaos = Get(/datum/config_entry/keyed_list/storyteller_min_chaos)
|
||||
var/list/storyteller_max_chaos = Get(/datum/config_entry/keyed_list/storyteller_max_chaos)
|
||||
for(var/T in storyteller_cache)
|
||||
var/datum/dynamic_storyteller/S = T
|
||||
var/config_tag = initial(S.config_tag)
|
||||
if(!config_tag)
|
||||
continue
|
||||
var/probability = (config_tag in probabilities) ? probabilities[config_tag] : initial(S.weight)
|
||||
var/min_players = (config_tag in min_player_counts) ? min_player_counts[config_tag] : initial(S.min_players)
|
||||
if(probability <= 0)
|
||||
continue
|
||||
if(length(GLOB.player_list) < min_players)
|
||||
continue
|
||||
if(!Get(/datum/config_entry/flag/no_storyteller_threat_removal))
|
||||
var/min_chaos = (probabilities in storyteller_min_chaos) ? storyteller_min_chaos[config_tag] : initial(S.min_chaos)
|
||||
var/max_chaos = (probabilities in storyteller_max_chaos) ? storyteller_max_chaos[config_tag] : initial(S.max_chaos)
|
||||
if(SSpersistence.average_dynamic_threat < min_chaos)
|
||||
continue
|
||||
if(SSpersistence.average_dynamic_threat > max_chaos)
|
||||
continue
|
||||
if(SSpersistence.saved_storytellers.len == repeated_mode_adjust.len)
|
||||
var/name = initial(S.name)
|
||||
var/recent_round = min(SSpersistence.saved_storytellers.Find(name),3)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
/datum/config_entry/flag/dynamic_voting
|
||||
|
||||
/datum/config_entry/flag/no_storyteller_threat_removal
|
||||
|
||||
/datum/config_entry/number/dynamic_high_pop_limit
|
||||
config_entry_value = 55
|
||||
min_val = 1
|
||||
@@ -67,6 +69,9 @@
|
||||
/datum/config_entry/number/dynamic_third_rule_high_pop_requirement
|
||||
config_entry_value = 70
|
||||
|
||||
/datum/config_entry/number/dynamic_threat_baseline
|
||||
config_entry_value = 50
|
||||
|
||||
/datum/config_entry/number_list/dynamic_hijack_requirements
|
||||
|
||||
/datum/config_entry/number/dynamic_hijack_high_population_requirement
|
||||
@@ -74,7 +79,7 @@
|
||||
|
||||
/datum/config_entry/number/dynamic_hijack_cost
|
||||
config_entry_value = 5
|
||||
|
||||
|
||||
/datum/config_entry/number/dynamic_glorious_death_cost
|
||||
config_entry_value = 5
|
||||
|
||||
@@ -96,3 +101,11 @@
|
||||
/datum/config_entry/keyed_list/storyteller_min_players
|
||||
key_mode = KEY_MODE_TEXT
|
||||
value_mode = VALUE_MODE_NUM
|
||||
|
||||
/datum/config_entry/keyed_list/storyteller_min_chaos
|
||||
key_mode = KEY_MODE_TEXT
|
||||
value_mode = VALUE_MODE_NUM
|
||||
|
||||
/datum/config_entry/keyed_list/storyteller_max_chaos
|
||||
key_mode = KEY_MODE_TEXT
|
||||
value_mode = VALUE_MODE_NUM
|
||||
|
||||
@@ -509,21 +509,21 @@
|
||||
|
||||
//Body size configs, the feature will be disabled if both min and max have the same value.
|
||||
/datum/config_entry/number/body_size_min
|
||||
config_entry_value = RESIZE_DEFAULT_SIZE
|
||||
config_entry_value = 0.9
|
||||
min_val = 0.1 //to avoid issues with zeros and negative values.
|
||||
max_val = RESIZE_DEFAULT_SIZE
|
||||
integer = FALSE
|
||||
|
||||
/datum/config_entry/number/body_size_max
|
||||
config_entry_value = RESIZE_DEFAULT_SIZE
|
||||
config_entry_value = 1.25
|
||||
min_val = RESIZE_DEFAULT_SIZE
|
||||
integer = FALSE
|
||||
|
||||
//Pun-Pun movement slowdown given to characters with a body size smaller than this value,
|
||||
//Penalties given to characters with a body size smaller than this value,
|
||||
//to compensate for their smaller hitbox.
|
||||
//To disable, just make sure the value is lower than 'body_size_min'
|
||||
/datum/config_entry/number/threshold_body_size_slowdown
|
||||
config_entry_value = RESIZE_DEFAULT_SIZE * 0.85
|
||||
/datum/config_entry/number/threshold_body_size_penalty
|
||||
config_entry_value = RESIZE_DEFAULT_SIZE
|
||||
min_val = 0
|
||||
max_val = RESIZE_DEFAULT_SIZE
|
||||
integer = FALSE
|
||||
@@ -531,8 +531,8 @@
|
||||
//multiplicative slowdown multiplier. See 'dna.update_body_size' for the operation.
|
||||
//doesn't apply to floating or crawling mobs
|
||||
/datum/config_entry/number/body_size_slowdown_multiplier
|
||||
config_entry_value = 0.25
|
||||
min_val = 0.1 //To encourage folks to disable the slowdown through the above config instead.
|
||||
config_entry_value = 0
|
||||
min_val = 0
|
||||
integer = FALSE
|
||||
|
||||
//Allows players to set a hexadecimal color of their choice as skin tone, on top of the standard ones.
|
||||
|
||||
@@ -290,7 +290,7 @@
|
||||
/datum/config_entry/flag/tgstyle_maprotation
|
||||
|
||||
/datum/config_entry/string/map_vote_type
|
||||
config_entry_value = "SCORE"
|
||||
config_entry_value = APPROVAL_VOTING
|
||||
|
||||
/datum/config_entry/number/maprotatechancedelta
|
||||
config_entry_value = 0.75
|
||||
@@ -327,6 +327,9 @@
|
||||
/datum/config_entry/number/notify_new_player_account_age // how long do we notify admins of a new byond account
|
||||
min_val = 0
|
||||
|
||||
/datum/config_entry/flag/age_verification //are we using the automated age verification which asks users if they're 18+?
|
||||
config_entry_value = TRUE
|
||||
|
||||
/datum/config_entry/flag/irc_first_connection_alert // do we notify the irc channel when somebody is connecting for the first time?
|
||||
|
||||
/datum/config_entry/flag/check_randomizer
|
||||
|
||||
@@ -5,4 +5,4 @@
|
||||
var/discord_url = "hfdksjhfa.com"
|
||||
var/discord_password
|
||||
var/announce_watchlist = 0
|
||||
var/announce_adminhelps = 0
|
||||
var/announce_adminhelps = 0
|
||||
|
||||
@@ -97,4 +97,4 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
|
||||
|
||||
/datum/controller/failsafe/stat_entry(msg)
|
||||
msg = "Defcon: [defcon_pretty()] (Interval: [Failsafe.processing_interval] | Iteration: [Failsafe.master_iteration])"
|
||||
return msg
|
||||
return msg
|
||||
|
||||
@@ -33,4 +33,4 @@ SUBSYSTEM_DEF(adjacent_air)
|
||||
if(MC_TICK_CHECK)
|
||||
break
|
||||
else
|
||||
CHECK_TICK
|
||||
CHECK_TICK
|
||||
|
||||
@@ -37,4 +37,4 @@ SUBSYSTEM_DEF(autotransfer)
|
||||
else
|
||||
SSshuttle.autoEnd()
|
||||
|
||||
#undef NO_MAXVOTES_CAP
|
||||
#undef NO_MAXVOTES_CAP
|
||||
|
||||
@@ -6,6 +6,12 @@ SUBSYSTEM_DEF(input)
|
||||
priority = FIRE_PRIORITY_INPUT
|
||||
runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY
|
||||
|
||||
/// KEEP THIS UP TO DATE!
|
||||
var/static/list/all_macrosets = list(
|
||||
SKIN_MACROSET_HOTKEYS,
|
||||
SKIN_MACROSET_CLASSIC_HOTKEYS,
|
||||
SKIN_MACROSET_CLASSIC_INPUT
|
||||
)
|
||||
/// Classic mode input focused macro set. Manually set because we can't define ANY or ANY+UP for classic.
|
||||
var/static/list/macroset_classic_input
|
||||
/// Classic mode map focused macro set. Manually set because it needs to be clientside and go to macroset_classic_input.
|
||||
@@ -51,11 +57,6 @@ SUBSYSTEM_DEF(input)
|
||||
// let's play the ascii game of A to Z (UPPERCASE)
|
||||
for(var/i in 65 to 90)
|
||||
classic_ctrl_override_keys += ascii2text(i)
|
||||
// let's play the game of clientside bind overrides!
|
||||
classic_ctrl_override_keys -= list("T", "O", "M", "L")
|
||||
macroset_classic_input["Ctrl+T"] = "say"
|
||||
macroset_classic_input["Ctrl+O"] = "ooc"
|
||||
macroset_classic_input["Ctrl+L"] = "looc"
|
||||
// let's play the list iteration game x2
|
||||
for(var/key in classic_ctrl_override_keys)
|
||||
// make sure to double double quote to ensure things are treated as a key combo instead of addition/semicolon logic.
|
||||
@@ -67,20 +68,6 @@ SUBSYSTEM_DEF(input)
|
||||
|
||||
// FINALLY, WE CAN DO SOMETHING MORE NORMAL FOR THE SNOWFLAKE-BUT-LESS KEYSET.
|
||||
|
||||
// HAHA - SIKE. Because of BYOND weirdness (tl;dr not specifically binding this way results in potentially duplicate chatboxes when
|
||||
// conflicts occur with something like say indicator vs say), we're going to snowflake this anyways
|
||||
var/list/hard_binds = list(
|
||||
"O" = "ooc",
|
||||
"T" = "say",
|
||||
"L" = "looc",
|
||||
"M" = "me"
|
||||
)
|
||||
var/list/hard_bind_anti_collision = list()
|
||||
var/list/anti_collision_modifiers = list("Ctrl", "Alt", "Shift", "Ctrl+Alt", "Ctrl+Shift", "Alt+Shift", "Ctrl+Alt+Shift")
|
||||
for(var/key in hard_binds)
|
||||
for(var/modifier in anti_collision_modifiers)
|
||||
hard_bind_anti_collision["[modifier]+[key]"] = ".NONSENSICAL_VERB_THAT_DOES_NOTHING"
|
||||
|
||||
macroset_classic_hotkey = list(
|
||||
"Any" = "\"KeyDown \[\[*\]\]\"",
|
||||
"Any+UP" = "\"KeyUp \[\[*\]\]\"",
|
||||
@@ -89,9 +76,6 @@ SUBSYSTEM_DEF(input)
|
||||
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"",
|
||||
)
|
||||
|
||||
macroset_classic_hotkey |= hard_binds
|
||||
macroset_classic_hotkey |= hard_bind_anti_collision
|
||||
|
||||
// And finally, the modern set.
|
||||
macroset_hotkey = list(
|
||||
"Any" = "\"KeyDown \[\[*\]\]\"",
|
||||
@@ -101,16 +85,12 @@ SUBSYSTEM_DEF(input)
|
||||
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"",
|
||||
)
|
||||
|
||||
macroset_hotkey |= hard_binds
|
||||
macroset_hotkey |= hard_bind_anti_collision
|
||||
|
||||
// Badmins just wanna have fun ♪
|
||||
/datum/controller/subsystem/input/proc/refresh_client_macro_sets()
|
||||
var/list/clients = GLOB.clients
|
||||
for(var/i in 1 to clients.len)
|
||||
var/client/user = clients[i]
|
||||
user.set_macros()
|
||||
user.update_movement_keys()
|
||||
user.full_macro_assert()
|
||||
|
||||
/datum/controller/subsystem/input/fire()
|
||||
var/list/clients = GLOB.clients // Let's sing the list cache song
|
||||
@@ -118,7 +98,8 @@ SUBSYSTEM_DEF(input)
|
||||
var/client/C = clients[i]
|
||||
C.keyLoop()
|
||||
|
||||
#define NONSENSICAL_VERB "NONSENSICAL_VERB_THAT_DOES_NOTHING"
|
||||
/// *sigh
|
||||
/client/verb/NONSENSICAL_VERB_THAT_DOES_NOTHING()
|
||||
set name = ".NONSENSICAL_VERB_THAT_DOES_NOTHING"
|
||||
set name = "NONSENSICAL_VERB_THAT_DOES_NOTHING"
|
||||
set hidden = TRUE
|
||||
|
||||
@@ -670,11 +670,12 @@ SUBSYSTEM_DEF(job)
|
||||
var/mob/the_mob = N
|
||||
if(!the_mob)
|
||||
the_mob = M // cause this doesn't get assigned if player is a latejoiner
|
||||
if(the_mob.client && the_mob.client.prefs && (the_mob.client.prefs.chosen_gear && the_mob.client.prefs.chosen_gear.len))
|
||||
var/list/chosen_gear = the_mob.client.prefs.loadout_data["SAVE_[the_mob.client.prefs.loadout_slot]"]
|
||||
if(the_mob.client && the_mob.client.prefs && (chosen_gear && chosen_gear.len))
|
||||
if(!ishuman(M))//no silicons allowed
|
||||
return
|
||||
for(var/i in the_mob.client.prefs.chosen_gear)
|
||||
var/datum/gear/G = i
|
||||
for(var/i in chosen_gear)
|
||||
var/datum/gear/G = istext(i[LOADOUT_ITEM]) ? text2path(i[LOADOUT_ITEM]) : i[LOADOUT_ITEM]
|
||||
G = GLOB.loadout_items[initial(G.category)][initial(G.subcategory)][initial(G.name)]
|
||||
if(!G)
|
||||
continue
|
||||
@@ -690,6 +691,19 @@ SUBSYSTEM_DEF(job)
|
||||
if(!permitted)
|
||||
continue
|
||||
var/obj/item/I = new G.path
|
||||
if(I && length(i[LOADOUT_COLOR])) //handle loadout colors
|
||||
//handle polychromic items
|
||||
if((G.loadout_flags & LOADOUT_CAN_COLOR_POLYCHROMIC) && length(G.loadout_initial_colors))
|
||||
var/datum/element/polychromic/polychromic = I.comp_lookup["item_worn_overlays"] //stupid way to do it but GetElement does not work for this
|
||||
if(polychromic && istype(polychromic))
|
||||
var/list/polychromic_entry = polychromic.colors_by_atom[I]
|
||||
if(polychromic_entry)
|
||||
polychromic.colors_by_atom[I] = i[LOADOUT_COLOR]
|
||||
I.update_icon()
|
||||
else
|
||||
//handle non-polychromic items (they only have one color)
|
||||
I.add_atom_colour(i[LOADOUT_COLOR][1], FIXED_COLOUR_PRIORITY)
|
||||
I.update_icon()
|
||||
if(!M.equip_to_slot_if_possible(I, G.slot, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // If the job's dresscode compliant, try to put it in its slot, first
|
||||
if(iscarbon(M))
|
||||
var/mob/living/carbon/C = M
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user