Merge branch 'master' into master
This commit is contained in:
@@ -125,6 +125,9 @@ var/path_type = /obj/item/baseball_bat
|
||||
var/path_type = "/obj/item/baseball_bat"
|
||||
```
|
||||
|
||||
### Use var/name format when declaring variables
|
||||
While DM allows other ways of declaring variables, this one should be used for consistency.
|
||||
|
||||
### Tabs, not spaces
|
||||
You must use tabs to indent your code, NOT SPACES.
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
[Note]: # (<B>Please enter the `Round ID` from the `Status` panel if you can!</B> If you believe the issue to be caused by a testmerge, please report it in its relative PR thread. State what the issue is from a "whats wrong" prospective. Issue reports should clearly allow maintainers to understand whats wrong and how to test/reproduce if that is not obvious. Avoid ambiguity. Start your issue report below both of these lines (or remove them))
|
||||
[Directions]: # (Include the Round ID from the Status panel or retrieve it from https://atlantaned.space/newSS13tools/round.php ! If you believe the issue to be caused by a testmerge [OOC tab -> Show Server Revision], report it in the pull request's comment section instead. Explain your issue in detail, including the steps to reproduce it.)
|
||||
|
||||
[Admins]: # (If you are reporting a bug that occured AFTER you used varedit/admin buttons to alter an object out of normal operating conditions, please verify that you can re-create the bug without the varedit usage/admin buttons before reporting the issue.)
|
||||
[For Admins]: # (Oddities induced by var-edits and other admin tools are not necessarily bugs. Verify that your issues occur under regular circumstances before reporting them.)
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[Changelogs]: # (Please make a changelog if you're adding, removing or changing content that'll affect players. This includes, but is not limited to, new features, sprites, sounds; balance changes; map edits and important fixes)
|
||||
[]: # (See here for how to easily make a changelog: https://github.com/tgstation/tgstation/wiki/Changelogs. An example changelog has been provided below. Please edit or remove)
|
||||
[Changelogs]: # (Please make a changelog if you're adding, removing or changing content that'll affect players. This includes, but is not limited to, new features, sprites, sounds; balance changes; map edits and important fixes. An example changelog has been provided below for you to edit or remove. If you need help, read https://github.com/tgstation/tgstation/wiki/Changelogs)
|
||||
|
||||
|
||||
:cl: optional name here
|
||||
@@ -18,4 +17,4 @@ spellcheck: fixed a few typos
|
||||
experiment: added an experimental thingy
|
||||
/:cl:
|
||||
|
||||
[why]: # (Please add a short description [on the next line] of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding:)
|
||||
[why]: # (Please add a short description [two lines down] of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding.)
|
||||
|
||||
+3
-2
@@ -1,7 +1,5 @@
|
||||
language: generic
|
||||
sudo: false
|
||||
dist: precise
|
||||
|
||||
env:
|
||||
global:
|
||||
- BYOND_MAJOR="511"
|
||||
@@ -23,12 +21,15 @@ cache:
|
||||
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- sourceline: 'ppa:ondrej/php'
|
||||
packages:
|
||||
- libc6-i386
|
||||
- libgcc1:i386
|
||||
- libstdc++6:i386
|
||||
- python
|
||||
- python-pip
|
||||
- php5.6
|
||||
|
||||
install:
|
||||
- tools/travis/install_build_tools.sh
|
||||
|
||||
@@ -1,147 +1,154 @@
|
||||
|
||||
##Citadel Station 13 <BR>
|
||||
Based and maintained from /tg/station.<BR>
|
||||
|
||||
[](https://travis-ci.org/Citadel-Station-13/Citadel-Station-13) [](http://www.krihelinator.xyz)
|
||||
|
||||
[](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")
|
||||
|
||||
**Upstream Information** <BR>
|
||||
**Website:** http://www.tgstation13.org <BR>
|
||||
**Code:** https://github.com/tgstation/tgstation <BR>
|
||||
**Wiki** http://tgstation13.org/wiki/Main_Page <BR>
|
||||
**IRC:** irc://irc.rizon.net/coderbus or if you dont have an IRC client, you can click [here](https://kiwiirc.com/client/irc.rizon.net:6667/?&theme=cli#coderbus).<BR>
|
||||
|
||||
**Citadel Station Information** <BR>
|
||||
**Forums:** http://citadel-station.net/forum/ <BR>
|
||||
**Ban Appeals:** http://citadel-station.net/forum/forumdisplay.php?fid=8 <BR>
|
||||
**Code:** https://github.com/Citadel-Station-13/Citadel-Station-13 <BR>
|
||||
**Discord:** [Here](https://discord.gg/3gJ9pnM). <BR>
|
||||
|
||||
## 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
|
||||
|
||||
|
||||
##Citadel Station 13 <BR>
|
||||
Based and maintained from /tg/station.<BR>
|
||||
|
||||
[](https://travis-ci.org/Citadel-Station-13/Citadel-Station-13) [](http://www.krihelinator.xyz)
|
||||
|
||||
[](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")
|
||||
|
||||
**Upstream Information** <BR>
|
||||
**Website:** http://www.tgstation13.org <BR>
|
||||
**Code:** https://github.com/tgstation/tgstation <BR>
|
||||
**Wiki** http://tgstation13.org/wiki/Main_Page <BR>
|
||||
**IRC:** irc://irc.rizon.net/coderbus or if you dont have an IRC client, you can click [here](https://kiwiirc.com/client/irc.rizon.net:6667/?&theme=cli#coderbus).<BR>
|
||||
|
||||
**Citadel Station Information** <BR>
|
||||
**Forums:** http://citadel-station.net/forum/ <BR>
|
||||
**Ban Appeals:** http://citadel-station.net/forum/forumdisplay.php?fid=8 <BR>
|
||||
**Code:** https://github.com/Citadel-Station-13/Citadel-Station-13 <BR>
|
||||
**Discord:** [Here](https://discord.gg/3gJ9pnM). <BR>
|
||||
|
||||
## 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.)
|
||||
|
||||
## INSTALLATION
|
||||
|
||||
First-time installation should be fairly straightforward. First, you'll need
|
||||
BYOND installed. You can get it from http://www.byond.com/. 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
|
||||
((i.e. spessmans = Host ))
|
||||
```
|
||||
|
||||
where the admin rank must be properly capitalised.
|
||||
|
||||
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.
|
||||
|
||||
## MAPS
|
||||
|
||||
Citadel Station maintains their own map, but frequently uses /tg/station's currently maintained maps as well.
|
||||
|
||||
* [tgstation2 (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, tgstation2 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 MySQL server. 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: http://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database
|
||||
|
||||
## 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 /bot 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-AGPLv3.txt and LICENSE-GPLv3.txt for more details.
|
||||
|
||||
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/).
|
||||
|
||||
See tgui/LICENSE.md for the MIT license.
|
||||
See tgui/assets/fonts/SIL-OFL-1.1-LICENSE.md for the SIL Open Font License.
|
||||
|
||||
All assets including icons and sound are under a [Creative Commons 3.0 BY-SA license](http://creativecommons.org/licenses/by-sa/3.0/) unless otherwise indicated.
|
||||
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.)
|
||||
|
||||
## INSTALLATION
|
||||
|
||||
First-time installation should be fairly straightforward. First, you'll need
|
||||
BYOND installed. You can get it from http://www.byond.com/. 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.
|
||||
|
||||
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, tgstation2 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 MySQL server. 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: http://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database
|
||||
|
||||
## 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-AGPLv3.txt and LICENSE-GPLv3.txt for more details.
|
||||
|
||||
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/).
|
||||
The TGS3 API is licensed as a subproject under the MIT license.
|
||||
|
||||
See tgui/LICENSE.md for the MIT license.
|
||||
See tgui/assets/fonts/SIL-OFL-1.1-LICENSE.md for the SIL Open Font 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.
|
||||
|
||||
All assets including icons and sound are under a [Creative Commons 3.0 BY-SA license](http://creativecommons.org/licenses/by-sa/3.0/) unless otherwise indicated.
|
||||
|
||||
+50
-12
@@ -1,3 +1,52 @@
|
||||
Any time you make a change to the schema files, remember to increment the database schema version. Generally increment the minor number, major should be reserved for significant changes to the schema. Both values go up to 255.
|
||||
|
||||
The latest database version is 3.4; The query to update the schema revision table is:
|
||||
|
||||
INSERT INTO `schema_revision` (`major`, `minor`) VALUES (3, 4);
|
||||
or
|
||||
INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (3, 4);
|
||||
|
||||
In any query remember to add a prefix to the table names if you use one.
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
28 August 2017, by MrStonedOne
|
||||
Modified table 'messages', adding a deleted column and editing all indexes to include it
|
||||
|
||||
ALTER TABLE `messages`
|
||||
ADD COLUMN `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0' AFTER `edits`,
|
||||
DROP INDEX `idx_msg_ckey_time`,
|
||||
DROP INDEX `idx_msg_type_ckeys_time`,
|
||||
DROP INDEX `idx_msg_type_ckey_time_odr`,
|
||||
ADD INDEX `idx_msg_ckey_time` (`targetckey`,`timestamp`, `deleted`),
|
||||
ADD INDEX `idx_msg_type_ckeys_time` (`type`,`targetckey`,`adminckey`,`timestamp`, `deleted`),
|
||||
ADD INDEX `idx_msg_type_ckey_time_odr` (`type`,`targetckey`,`timestamp`, `deleted`);
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
25 August 2017, by Jordie0608
|
||||
|
||||
Modified tables 'connection_log', 'legacy_population', 'library', 'messages' and 'player' to add additional 'round_id' tracking in various forms and 'server_ip' and 'server_port' to the table 'messages'.
|
||||
|
||||
ALTER TABLE `connection_log` ADD COLUMN `round_id` INT(11) UNSIGNED NOT NULL AFTER `server_port`;
|
||||
ALTER TABLE `legacy_population` ADD COLUMN `round_id` INT(11) UNSIGNED NOT NULL AFTER `server_port`;
|
||||
ALTER TABLE `library` ADD COLUMN `round_id_created` INT(11) UNSIGNED NOT NULL AFTER `deleted`;
|
||||
ALTER TABLE `messages` ADD COLUMN `server_ip` INT(10) UNSIGNED NOT NULL AFTER `server`, ADD COLUMN `server_port` SMALLINT(5) UNSIGNED NOT NULL AFTER `server_ip`, ADD COLUMN `round_id` INT(11) UNSIGNED NOT NULL AFTER `server_port`;
|
||||
ALTER TABLE `player` ADD COLUMN `firstseen_round_id` INT(11) UNSIGNED NOT NULL AFTER `firstseen`, ADD COLUMN `lastseen_round_id` INT(11) UNSIGNED NOT NULL AFTER `lastseen`;
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
18 August 2017, by Cyberboss and nfreader
|
||||
|
||||
Modified table 'death', adding the columns `last_words` and 'suicide'.
|
||||
|
||||
ALTER TABLE `death`
|
||||
ADD COLUMN `last_words` varchar(255) DEFAULT NULL AFTER `staminaloss`,
|
||||
ADD COLUMN `suicide` tinyint(0) NOT NULL DEFAULT '0' AFTER `last_words`;
|
||||
|
||||
Remember to add a prefix to the table name if you use them.
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
20th July 2017, by Shadowlight213
|
||||
Added role_time table to track time spent playing departments.
|
||||
@@ -7,21 +56,10 @@ CREATE TABLE `role_time` ( `ckey` VARCHAR(32) NOT NULL , `job` VARCHAR(128) NOT
|
||||
|
||||
ALTER TABLE `player` ADD `flags` INT NOT NULL default '0' AFTER `accountjoindate`;
|
||||
|
||||
UPDATE `schema_revision` SET minor = 1;
|
||||
|
||||
Remember to add a prefix to the table name if you use them.
|
||||
|
||||
----------------------------------------------------
|
||||
|
||||
Any time you make a change to the schema files, remember to increment the database schema version. Generally increment the minor number, major should be reserved for significant changes to the schema. Both values go up to 255.
|
||||
|
||||
The latest database version is 3.0; The query to update the schema revision table is:
|
||||
|
||||
INSERT INTO `schema_revision` (`major`, `minor`) VALUES (3, 0);
|
||||
or
|
||||
INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (3, 0);
|
||||
|
||||
----------------------------------------------------
|
||||
28 June 2017, by oranges
|
||||
Added schema_revision to store the current db revision, why start at 3.0?
|
||||
|
||||
@@ -326,4 +364,4 @@ UPDATE erro_library SET deleted = 1 WHERE id = someid
|
||||
|
||||
(Replace someid with the id of the book you want to soft delete.)
|
||||
|
||||
----------------------------------------------------
|
||||
----------------------------------------------------
|
||||
@@ -12,4 +12,4 @@ ALTER TABLE erro_poll_option RENAME TO SS13_poll_option;
|
||||
ALTER TABLE erro_poll_question RENAME TO SS13_poll_question;
|
||||
ALTER TABLE erro_poll_textreply RENAME TO SS13_poll_textreply;
|
||||
ALTER TABLE erro_poll_vote RENAME TO SS13_poll_vote;
|
||||
ALTER TABLE erro_watch RENAME TO SS13_watch;
|
||||
ALTER TABLE erro_watch RENAME TO SS13_watch;
|
||||
@@ -38,7 +38,7 @@ Take note some columns have been renamed, removed or changed type. Any services
|
||||
----------------------------------------------------*/
|
||||
|
||||
START TRANSACTION;
|
||||
ALTER TABLE `feedback`.`ban`
|
||||
ALTER TABLE `ban`
|
||||
DROP COLUMN `rounds`
|
||||
, CHANGE COLUMN `bantype` `bantype` ENUM('PERMABAN', 'TEMPBAN', 'JOB_PERMABAN', 'JOB_TEMPBAN', 'ADMIN_PERMABAN', 'ADMIN_TEMPBAN') NOT NULL
|
||||
, CHANGE COLUMN `reason` `reason` VARCHAR(2048) NOT NULL
|
||||
@@ -51,14 +51,14 @@ ALTER TABLE `feedback`.`ban`
|
||||
, ADD COLUMN `a_ipTEMP` INT UNSIGNED NOT NULL AFTER `a_ip`
|
||||
, ADD COLUMN `unbanned_ipTEMP` INT UNSIGNED NULL DEFAULT NULL AFTER `unbanned_ip`;
|
||||
SET SQL_SAFE_UPDATES = 0;
|
||||
UPDATE `feedback`.`ban`
|
||||
UPDATE `ban`
|
||||
SET `server_ip` = INET_ATON(SUBSTRING_INDEX(IF(`serverip` = '', '0', IF(SUBSTRING_INDEX(`serverip`, ':', 1) LIKE '%_._%', `serverip`, '0')), ':', 1))
|
||||
, `server_port` = IF(`serverip` LIKE '%:_%', CAST(SUBSTRING_INDEX(`serverip`, ':', -1) AS UNSIGNED), '0')
|
||||
, `ipTEMP` = INET_ATON(IF(`ip` LIKE '%_._%', `ip`, '0'))
|
||||
, `a_ipTEMP` = INET_ATON(IF(`a_ip` LIKE '%_._%', `a_ip`, '0'))
|
||||
, `unbanned_ipTEMP` = INET_ATON(IF(`unbanned_ip` LIKE '%_._%', `unbanned_ip`, '0'));
|
||||
SET SQL_SAFE_UPDATES = 1;
|
||||
ALTER TABLE `feedback`.`ban`
|
||||
ALTER TABLE `ban`
|
||||
DROP COLUMN `unbanned_ip`
|
||||
, DROP COLUMN `a_ip`
|
||||
, DROP COLUMN `ip`
|
||||
@@ -69,17 +69,17 @@ ALTER TABLE `feedback`.`ban`
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
ALTER TABLE `feedback`.`connection_log`
|
||||
ALTER TABLE `connection_log`
|
||||
ADD COLUMN `server_ip` INT UNSIGNED NOT NULL AFTER `serverip`
|
||||
, ADD COLUMN `server_port` SMALLINT UNSIGNED NOT NULL AFTER `server_ip`
|
||||
, ADD COLUMN `ipTEMP` INT UNSIGNED NOT NULL AFTER `ip`;
|
||||
SET SQL_SAFE_UPDATES = 0;
|
||||
UPDATE `feedback`.`connection_log`
|
||||
UPDATE `connection_log`
|
||||
SET `server_ip` = INET_ATON(SUBSTRING_INDEX(IF(`serverip` = '', '0', IF(SUBSTRING_INDEX(`serverip`, ':', 1) LIKE '%_._%', `serverip`, '0')), ':', 1))
|
||||
, `server_port` = IF(`serverip` LIKE '%:_%', CAST(SUBSTRING_INDEX(`serverip`, ':', -1) AS UNSIGNED), '0')
|
||||
, `ipTEMP` = INET_ATON(IF(`ip` LIKE '%_._%', `ip`, '0'));
|
||||
SET SQL_SAFE_UPDATES = 1;
|
||||
ALTER TABLE `feedback`.`connection_log`
|
||||
ALTER TABLE `connection_log`
|
||||
DROP COLUMN `ip`
|
||||
, DROP COLUMN `serverip`
|
||||
, CHANGE COLUMN `ipTEMP` `ip` INT(10) UNSIGNED NOT NULL;
|
||||
@@ -87,12 +87,12 @@ COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
SET SQL_SAFE_UPDATES = 0;
|
||||
UPDATE `feedback`.`death`
|
||||
UPDATE `death`
|
||||
SET `bruteloss` = LEAST(`bruteloss`, 65535)
|
||||
, `brainloss` = LEAST(`brainloss`, 65535)
|
||||
, `fireloss` = LEAST(`fireloss`, 65535)
|
||||
, `oxyloss` = LEAST(`oxyloss`, 65535);
|
||||
ALTER TABLE `feedback`.`death`
|
||||
ALTER TABLE `death`
|
||||
CHANGE COLUMN `pod` `pod` VARCHAR(50) NOT NULL
|
||||
, CHANGE COLUMN `coord` `coord` VARCHAR(32) NOT NULL
|
||||
, CHANGE COLUMN `mapname` `mapname` VARCHAR(32) NOT NULL
|
||||
@@ -109,39 +109,39 @@ ALTER TABLE `feedback`.`death`
|
||||
, CHANGE COLUMN `oxyloss` `oxyloss` SMALLINT UNSIGNED NOT NULL
|
||||
, ADD COLUMN `server_ip` INT UNSIGNED NOT NULL AFTER `server`
|
||||
, ADD COLUMN `server_port` SMALLINT UNSIGNED NOT NULL AFTER `server_ip`;
|
||||
UPDATE `feedback`.`death`
|
||||
UPDATE `death`
|
||||
SET `server_ip` = INET_ATON(SUBSTRING_INDEX(IF(`server` = '', '0', IF(SUBSTRING_INDEX(`server`, ':', 1) LIKE '%_._%', `server`, '0')), ':', 1))
|
||||
, `server_port` = IF(`server` LIKE '%:_%', CAST(SUBSTRING_INDEX(`server`, ':', -1) AS UNSIGNED), '0');
|
||||
SET SQL_SAFE_UPDATES = 1;
|
||||
ALTER TABLE `feedback`.`death`
|
||||
ALTER TABLE `death`
|
||||
DROP COLUMN `server`;
|
||||
COMMIT;
|
||||
|
||||
ALTER TABLE `feedback`.`library`
|
||||
ALTER TABLE `library`
|
||||
CHANGE COLUMN `category` `category` ENUM('Any', 'Fiction', 'Non-Fiction', 'Adult', 'Reference', 'Religion') NOT NULL
|
||||
, CHANGE COLUMN `ckey` `ckey` VARCHAR(32) NOT NULL DEFAULT 'LEGACY'
|
||||
, CHANGE COLUMN `datetime` `datetime` DATETIME NOT NULL
|
||||
, CHANGE COLUMN `deleted` `deleted` TINYINT(1) UNSIGNED NULL DEFAULT NULL;
|
||||
|
||||
ALTER TABLE `feedback`.`messages`
|
||||
ALTER TABLE `messages`
|
||||
CHANGE COLUMN `type` `type` ENUM('memo', 'message', 'message sent', 'note', 'watchlist entry') NOT NULL
|
||||
, CHANGE COLUMN `text` `text` VARCHAR(2048) NOT NULL
|
||||
, CHANGE COLUMN `secret` `secret` TINYINT(1) UNSIGNED NOT NULL;
|
||||
|
||||
START TRANSACTION;
|
||||
ALTER TABLE `feedback`.`player`
|
||||
ALTER TABLE `player`
|
||||
ADD COLUMN `ipTEMP` INT UNSIGNED NOT NULL AFTER `ip`;
|
||||
SET SQL_SAFE_UPDATES = 0;
|
||||
UPDATE `feedback`.`player`
|
||||
UPDATE `player`
|
||||
SET `ipTEMP` = INET_ATON(IF(`ip` LIKE '%_._%', `ip`, '0'));
|
||||
SET SQL_SAFE_UPDATES = 1;
|
||||
ALTER TABLE `feedback`.`player`
|
||||
ALTER TABLE `player`
|
||||
DROP COLUMN `ip`
|
||||
, CHANGE COLUMN `ipTEMP` `ip` INT(10) UNSIGNED NOT NULL;
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
ALTER TABLE `feedback`.`poll_question`
|
||||
ALTER TABLE `poll_question`
|
||||
CHANGE COLUMN `polltype` `polltype` ENUM('OPTION', 'TEXT', 'NUMVAL', 'MULTICHOICE', 'IRV') NOT NULL
|
||||
, CHANGE COLUMN `adminonly` `adminonly` TINYINT(1) UNSIGNED NOT NULL
|
||||
, CHANGE COLUMN `createdby_ckey` `createdby_ckey` VARCHAR(32) NULL DEFAULT NULL
|
||||
@@ -149,36 +149,36 @@ ALTER TABLE `feedback`.`poll_question`
|
||||
, ADD COLUMN `createdby_ipTEMP` INT UNSIGNED NOT NULL AFTER `createdby_ip`
|
||||
, DROP COLUMN `for_trialmin`;
|
||||
SET SQL_SAFE_UPDATES = 0;
|
||||
UPDATE `feedback`.`poll_question`
|
||||
UPDATE `poll_question`
|
||||
SET `createdby_ipTEMP` = INET_ATON(IF(`createdby_ip` LIKE '%_._%', `createdby_ip`, '0'));
|
||||
SET SQL_SAFE_UPDATES = 1;
|
||||
ALTER TABLE `feedback`.`poll_question`
|
||||
ALTER TABLE `poll_question`
|
||||
DROP COLUMN `createdby_ip`
|
||||
, CHANGE COLUMN `createdby_ipTEMP` `createdby_ip` INT(10) UNSIGNED NOT NULL;
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
ALTER TABLE `feedback`.`poll_textreply`
|
||||
ALTER TABLE `poll_textreply`
|
||||
CHANGE COLUMN `replytext` `replytext` VARCHAR(2048) NOT NULL
|
||||
, ADD COLUMN `ipTEMP` INT UNSIGNED NOT NULL AFTER `ip`;
|
||||
SET SQL_SAFE_UPDATES = 0;
|
||||
UPDATE `feedback`.`poll_textreply`
|
||||
UPDATE `poll_textreply`
|
||||
SET `ipTEMP` = INET_ATON(IF(`ip` LIKE '%_._%', `ip`, '0'));
|
||||
SET SQL_SAFE_UPDATES = 1;
|
||||
ALTER TABLE `feedback`.`poll_textreply`
|
||||
ALTER TABLE `poll_textreply`
|
||||
DROP COLUMN `ip`
|
||||
, CHANGE COLUMN `ipTEMP` `ip` INT(10) UNSIGNED NOT NULL;
|
||||
COMMIT;
|
||||
|
||||
START TRANSACTION;
|
||||
ALTER TABLE `feedback`.`poll_vote`
|
||||
ALTER TABLE `poll_vote`
|
||||
CHANGE COLUMN `ckey` `ckey` VARCHAR(32) NOT NULL
|
||||
, ADD COLUMN `ipTEMP` INT UNSIGNED NOT NULL AFTER `ip`;
|
||||
SET SQL_SAFE_UPDATES = 0;
|
||||
UPDATE `feedback`.`poll_vote`
|
||||
UPDATE `poll_vote`
|
||||
SET `ipTEMP` = INET_ATON(IF(`ip` LIKE '%_._%', `ip`, '0'));
|
||||
SET SQL_SAFE_UPDATES = 1;
|
||||
ALTER TABLE `feedback`.`poll_vote`
|
||||
ALTER TABLE `poll_vote`
|
||||
DROP COLUMN `ip`
|
||||
, CHANGE COLUMN `ipTEMP` `ip` INT(10) UNSIGNED NOT NULL;
|
||||
COMMIT;
|
||||
@@ -191,39 +191,39 @@ You may find it helpful to modify or create your own indexes if you utilise addi
|
||||
|
||||
----------------------------------------------------*/
|
||||
|
||||
ALTER TABLE `feedback`.`ban`
|
||||
ALTER TABLE `ban`
|
||||
ADD INDEX `idx_ban_checkban` (`ckey` ASC, `bantype` ASC, `expiration_time` ASC, `unbanned` ASC, `job` ASC)
|
||||
, ADD INDEX `idx_ban_isbanned` (`ckey` ASC, `ip` ASC, `computerid` ASC, `bantype` ASC, `expiration_time` ASC, `unbanned` ASC)
|
||||
, ADD INDEX `idx_ban_count` (`id` ASC, `a_ckey` ASC, `bantype` ASC, `expiration_time` ASC, `unbanned` ASC);
|
||||
|
||||
ALTER TABLE `feedback`.`ipintel`
|
||||
ALTER TABLE `ipintel`
|
||||
ADD INDEX `idx_ipintel` (`ip` ASC, `intel` ASC, `date` ASC);
|
||||
|
||||
ALTER TABLE `feedback`.`library`
|
||||
ALTER TABLE `library`
|
||||
ADD INDEX `idx_lib_id_del` (`id` ASC, `deleted` ASC)
|
||||
, ADD INDEX `idx_lib_del_title` (`deleted` ASC, `title` ASC)
|
||||
, ADD INDEX `idx_lib_search` (`deleted` ASC, `author` ASC, `title` ASC, `category` ASC);
|
||||
|
||||
ALTER TABLE `feedback`.`messages`
|
||||
ALTER TABLE `messages`
|
||||
ADD INDEX `idx_msg_ckey_time` (`targetckey` ASC, `timestamp` ASC)
|
||||
, ADD INDEX `idx_msg_type_ckeys_time` (`type` ASC, `targetckey` ASC, `adminckey` ASC, `timestamp` ASC)
|
||||
, ADD INDEX `idx_msg_type_ckey_time_odr` (`type` ASC, `targetckey` ASC, `timestamp` ASC);
|
||||
|
||||
ALTER TABLE `feedback`.`player`
|
||||
ALTER TABLE `player`
|
||||
ADD INDEX `idx_player_cid_ckey` (`computerid` ASC, `ckey` ASC)
|
||||
, ADD INDEX `idx_player_ip_ckey` (`ip` ASC, `ckey` ASC);
|
||||
|
||||
ALTER TABLE `feedback`.`poll_option`
|
||||
ALTER TABLE `poll_option`
|
||||
ADD INDEX `idx_pop_pollid` (`pollid` ASC);
|
||||
|
||||
ALTER TABLE `feedback`.`poll_question`
|
||||
ALTER TABLE `poll_question`
|
||||
ADD INDEX `idx_pquest_question_time_ckey` (`question` ASC, `starttime` ASC, `endtime` ASC, `createdby_ckey` ASC, `createdby_ip` ASC)
|
||||
, ADD INDEX `idx_pquest_time_admin` (`starttime` ASC, `endtime` ASC, `adminonly` ASC)
|
||||
, ADD INDEX `idx_pquest_id_time_type_admin` (`id` ASC, `starttime` ASC, `endtime` ASC, `polltype` ASC, `adminonly` ASC);
|
||||
|
||||
ALTER TABLE `feedback`.`poll_vote`
|
||||
ALTER TABLE `poll_vote`
|
||||
ADD INDEX `idx_pvote_pollid_ckey` (`pollid` ASC, `ckey` ASC)
|
||||
, ADD INDEX `idx_pvote_optionid_ckey` (`optionid` ASC, `ckey` ASC);
|
||||
|
||||
ALTER TABLE `feedback`.`poll_textreply`
|
||||
ADD INDEX `idx_ptext_pollid_ckey` (`pollid` ASC, `ckey` ASC);
|
||||
ALTER TABLE `poll_textreply`
|
||||
ADD INDEX `idx_ptext_pollid_ckey` (`pollid` ASC, `ckey` ASC);
|
||||
@@ -110,6 +110,7 @@ CREATE TABLE `connection_log` (
|
||||
`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,
|
||||
@@ -148,6 +149,8 @@ CREATE TABLE `death` (
|
||||
`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 */;
|
||||
@@ -200,6 +203,7 @@ CREATE TABLE `legacy_population` (
|
||||
`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 */;
|
||||
@@ -220,6 +224,7 @@ CREATE TABLE `library` (
|
||||
`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`),
|
||||
@@ -243,13 +248,17 @@ CREATE TABLE `messages` (
|
||||
`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,
|
||||
`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`),
|
||||
KEY `idx_msg_type_ckeys_time` (`type`,`targetckey`,`adminckey`,`timestamp`),
|
||||
KEY `idx_msg_type_ckey_time_odr` (`type`,`targetckey`,`timestamp`)
|
||||
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 */;
|
||||
|
||||
@@ -278,7 +287,9 @@ DROP TABLE IF EXISTS `player`;
|
||||
CREATE TABLE `player` (
|
||||
`ckey` varchar(32) NOT 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',
|
||||
@@ -420,4 +431,4 @@ CREATE TABLE `schema_revision` (
|
||||
/*!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 */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
@@ -1,9 +0,0 @@
|
||||
diff a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql (rejected hunks)
|
||||
@@ -268,7 +283,6 @@ CREATE TABLE `player` (
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`computerid` varchar(32) NOT NULL,
|
||||
`lastadminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
||||
- `exp` mediumtext,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `ckey` (`ckey`),
|
||||
KEY `idx_player_cid_ckey` (`computerid`,`ckey`),
|
||||
@@ -31,7 +31,7 @@ CREATE TABLE `SS13_admin` (
|
||||
-- Table structure for table `SS13_admin_log`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `SS13_dmin_log`;
|
||||
DROP TABLE IF EXISTS `SS13_admin_log`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `SS13_admin_log` (
|
||||
@@ -110,6 +110,7 @@ CREATE TABLE `SS13_connection_log` (
|
||||
`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,
|
||||
@@ -148,6 +149,8 @@ CREATE TABLE `SS13_death` (
|
||||
`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 */;
|
||||
@@ -200,6 +203,7 @@ CREATE TABLE `SS13_legacy_population` (
|
||||
`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 */;
|
||||
@@ -220,6 +224,7 @@ CREATE TABLE `SS13_library` (
|
||||
`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`),
|
||||
@@ -243,13 +248,17 @@ CREATE TABLE `SS13_messages` (
|
||||
`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,
|
||||
`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`),
|
||||
KEY `idx_msg_type_ckeys_time` (`type`,`targetckey`,`adminckey`,`timestamp`),
|
||||
KEY `idx_msg_type_ckey_time_odr` (`type`,`targetckey`,`timestamp`)
|
||||
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 */;
|
||||
|
||||
@@ -278,7 +287,9 @@ DROP TABLE IF EXISTS `SS13_player`;
|
||||
CREATE TABLE `SS13_player` (
|
||||
`ckey` varchar(32) NOT 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',
|
||||
@@ -420,4 +431,4 @@ CREATE TABLE `SS13_schema_revision` (
|
||||
/*!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 */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
@@ -1,9 +0,0 @@
|
||||
diff a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql (rejected hunks)
|
||||
@@ -268,7 +297,6 @@ CREATE TABLE `SS13_player` (
|
||||
`ip` int(10) unsigned NOT NULL,
|
||||
`computerid` varchar(32) NOT NULL,
|
||||
`lastadminrank` varchar(32) NOT NULL DEFAULT 'Player',
|
||||
- `exp` mediumtext,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `ckey` (`ckey`),
|
||||
KEY `idx_player_cid_ckey` (`computerid`,`ckey`),
|
||||
@@ -0,0 +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": [
|
||||
"libmysql.dll"
|
||||
]
|
||||
}
|
||||
@@ -378,9 +378,7 @@
|
||||
invisibility = 101
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/paper/crumpled/bloody{
|
||||
info = "If you dare not continue down this path of madness, escape can be found through the chute in this room. "
|
||||
},
|
||||
/obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escape,
|
||||
/obj/item/pen/fourcolor,
|
||||
/turf/open/indestructible{
|
||||
icon_state = "white"
|
||||
@@ -925,9 +923,7 @@
|
||||
/turf/open/lava/smooth,
|
||||
/area/ruin/powered/clownplanet)
|
||||
"CB" = (
|
||||
/obj/item/paper/crumpled/bloody{
|
||||
info = "Abandon hope, all ye who enter here."
|
||||
},
|
||||
/obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/hope,
|
||||
/obj/effect/decal/cleanable/blood/old,
|
||||
/turf/open/floor/noslip{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"aa" = (
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
@@ -47,7 +47,7 @@
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"al" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/toy/carpplushie,
|
||||
/obj/item/toy/plush/carpplushie,
|
||||
/turf/open/floor/plasteel/cmo,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"am" = (
|
||||
@@ -166,7 +166,7 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"aF" = (
|
||||
/obj/machinery/door/unpowered/shuttle{
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Restroom"
|
||||
},
|
||||
/turf/open/floor/plasteel/bar,
|
||||
@@ -263,6 +263,9 @@
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"aX" = (
|
||||
/obj/item/stack/cable_coil/random,
|
||||
/obj/item/stack/sheet/mineral/titanium{
|
||||
amount = 30
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"aY" = (
|
||||
@@ -335,6 +338,9 @@
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bk" = (
|
||||
/obj/structure/reagent_dispensers/fueltank,
|
||||
/obj/item/device/flashlight/glowstick/blue,
|
||||
/obj/item/device/flashlight/glowstick/blue,
|
||||
/obj/item/device/flashlight/glowstick/blue,
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bl" = (
|
||||
@@ -373,16 +379,15 @@
|
||||
},
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bn" = (
|
||||
/obj/structure/bed/dogbed,
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
/obj/machinery/sleeper{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bo" = (
|
||||
/obj/item/reagent_containers/glass/bowl,
|
||||
/obj/item/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/item/reagent_containers/food/snacks/cheesewedge,
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bp" = (
|
||||
@@ -420,10 +425,8 @@
|
||||
},
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bv" = (
|
||||
/obj/effect/mob_spawn/mouse{
|
||||
dir = 4;
|
||||
flavour_text = "<font size=3><b>Y</b></font><b>ou're a mousey! You're getting pretty old as mice go, and you haven't been feeling well as of late. Your master loves you a lot so he took you to this place so you can get better! You can't wait to see him again!<b>";
|
||||
mob_name = "Stallman Jr."
|
||||
/obj/effect/mob_spawn/human/doctor/alive/lavaland{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
@@ -433,8 +436,7 @@
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bx" = (
|
||||
/obj/machinery/door/airlock/medical{
|
||||
name = "Patient Room";
|
||||
req_access_txt = "0"
|
||||
name = "Rejuvenation Pods"
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
@@ -468,12 +470,11 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bD" = (
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/reagent_containers/glass/bottle/cyanide{
|
||||
desc = "A cocktail of chemotherapy drugs intended to treat bladder cancer.";
|
||||
name = "MVAC regimen"
|
||||
/mob/living/simple_animal/bot/medbot{
|
||||
desc = "A little medical robot. It's programmed to only act in emergencies.";
|
||||
heal_threshold = 40;
|
||||
name = "emergency Medibot"
|
||||
},
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bE" = (
|
||||
@@ -553,16 +554,12 @@
|
||||
},
|
||||
/area/lavaland/surface/outdoors)
|
||||
"bP" = (
|
||||
/obj/structure/chair/office/light{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/storage/firstaid/fire,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bQ" = (
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/clothing/neck/petcollar,
|
||||
/obj/item/pen/blue,
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"bR" = (
|
||||
@@ -582,6 +579,8 @@
|
||||
/obj/item/defibrillator/loaded,
|
||||
/obj/item/storage/belt/medical,
|
||||
/obj/item/clothing/glasses/hud/health,
|
||||
/obj/item/clothing/glasses/hud/health,
|
||||
/obj/item/clothing/glasses/hud/health,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 6
|
||||
},
|
||||
@@ -664,46 +663,46 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cg" = (
|
||||
/obj/machinery/door/unpowered/shuttle{
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Break Room"
|
||||
},
|
||||
/turf/open/floor/plasteel/cmo,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"ch" = (
|
||||
/obj/machinery/door/unpowered/shuttle{
|
||||
name = "Emergency Care"
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Operating Theatre"
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"ci" = (
|
||||
/obj/machinery/door/unpowered/shuttle{
|
||||
desc = "There's a note wedged in the seam saying something about directing pizza here.";
|
||||
/obj/structure/fans/tiny/invisible,
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
desc = "There's a smudged note wedged into it that says something about pizza dropoffs.";
|
||||
name = "Staff Entrance"
|
||||
},
|
||||
/obj/structure/fans/tiny/invisible,
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cj" = (
|
||||
/obj/machinery/door/unpowered/shuttle{
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Morgue"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"ck" = (
|
||||
/obj/machinery/door/unpowered/shuttle{
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Medical Supplies"
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cl" = (
|
||||
/obj/machinery/door/unpowered/shuttle{
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Safety Supplies"
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cm" = (
|
||||
/obj/machinery/door/unpowered/shuttle{
|
||||
name = "Tool Storage"
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
name = "Storage"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
@@ -811,6 +810,33 @@
|
||||
/obj/effect/baseturf_helper/lava_land/surface,
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cG" = (
|
||||
/obj/machinery/door/airlock/shuttle{
|
||||
desc = "There's a smudged note wedged into it that says something about pizza dropoffs.";
|
||||
name = "Staff Entrance"
|
||||
},
|
||||
/turf/open/floor/plasteel/cmo,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cH" = (
|
||||
/mob/living/simple_animal/bot/cleanbot,
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 0
|
||||
},
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cI" = (
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/storage/firstaid/toxin,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cJ" = (
|
||||
/obj/machinery/sleeper{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -1037,7 +1063,7 @@ cw
|
||||
ae
|
||||
aV
|
||||
ba
|
||||
bh
|
||||
cI
|
||||
aG
|
||||
aL
|
||||
br
|
||||
@@ -1092,7 +1118,7 @@ aj
|
||||
at
|
||||
as
|
||||
ae
|
||||
ct
|
||||
aL
|
||||
aK
|
||||
ck
|
||||
ao
|
||||
@@ -1122,7 +1148,7 @@ ak
|
||||
as
|
||||
az
|
||||
ae
|
||||
aM
|
||||
cv
|
||||
aP
|
||||
ae
|
||||
ae
|
||||
@@ -1152,7 +1178,7 @@ al
|
||||
au
|
||||
as
|
||||
ae
|
||||
ct
|
||||
aL
|
||||
aK
|
||||
cl
|
||||
ao
|
||||
@@ -1181,9 +1207,9 @@ ae
|
||||
am
|
||||
cs
|
||||
as
|
||||
cg
|
||||
cG
|
||||
aK
|
||||
aP
|
||||
cH
|
||||
ae
|
||||
aW
|
||||
ao
|
||||
@@ -1249,12 +1275,12 @@ ae
|
||||
ae
|
||||
ae
|
||||
ae
|
||||
bh
|
||||
bv
|
||||
bv
|
||||
cJ
|
||||
bn
|
||||
bv
|
||||
bC
|
||||
ae
|
||||
bn
|
||||
bN
|
||||
bP
|
||||
ae
|
||||
cE
|
||||
@@ -1280,10 +1306,10 @@ be
|
||||
bk
|
||||
ae
|
||||
bo
|
||||
bw
|
||||
ao
|
||||
bD
|
||||
ae
|
||||
bK
|
||||
ao
|
||||
ao
|
||||
ao
|
||||
bQ
|
||||
ae
|
||||
@@ -1311,11 +1337,11 @@ ae
|
||||
ae
|
||||
af
|
||||
bx
|
||||
ae
|
||||
af
|
||||
ae
|
||||
af
|
||||
bx
|
||||
ae
|
||||
af
|
||||
ae
|
||||
aa
|
||||
aa
|
||||
|
||||
@@ -198,6 +198,7 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aC" = (
|
||||
@@ -287,6 +288,7 @@
|
||||
/obj/structure/stone_tile/cracked{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aN" = (
|
||||
@@ -305,6 +307,7 @@
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aP" = (
|
||||
/obj/structure/stone_tile,
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aQ" = (
|
||||
@@ -379,6 +382,7 @@
|
||||
/obj/structure/stone_tile/cracked{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"aZ" = (
|
||||
@@ -401,6 +405,7 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bb" = (
|
||||
@@ -489,6 +494,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/storage/bag/plants/portaseeder,
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/indestructible/boss,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bk" = (
|
||||
@@ -509,6 +515,7 @@
|
||||
/obj/structure/stone_tile/cracked{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"bm" = (
|
||||
@@ -568,6 +575,7 @@
|
||||
/obj/structure/stone_tile{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/indestructible/boss/air,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"br" = (
|
||||
@@ -897,6 +905,7 @@
|
||||
/obj/structure/stone_tile/surrounding_tile/cracked{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"ci" = (
|
||||
@@ -1042,6 +1051,7 @@
|
||||
icon_state = "cracked_slab1";
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/ruin/unpowered/ash_walkers)
|
||||
"cB" = (
|
||||
@@ -1475,6 +1485,26 @@
|
||||
/obj/structure/stone_tile,
|
||||
/turf/closed/mineral/volcanic,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"dG" = (
|
||||
/obj/structure/stone_tile/slab,
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"dH" = (
|
||||
/obj/structure/stone_tile/block/cracked,
|
||||
/obj/structure/stone_tile/block{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
"dI" = (
|
||||
/obj/structure/stone_tile{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/dildo/custom,
|
||||
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
|
||||
/area/lavaland/surface/outdoors)
|
||||
|
||||
(1,1,1) = {"
|
||||
aa
|
||||
@@ -1597,7 +1627,7 @@ aO
|
||||
bl
|
||||
bx
|
||||
bD
|
||||
bS
|
||||
dG
|
||||
de
|
||||
bV
|
||||
dg
|
||||
@@ -1625,7 +1655,7 @@ ci
|
||||
bA
|
||||
ct
|
||||
bN
|
||||
bL
|
||||
dI
|
||||
cI
|
||||
ah
|
||||
ah
|
||||
@@ -1732,7 +1762,7 @@ ak
|
||||
bP
|
||||
bL
|
||||
bX
|
||||
dh
|
||||
dH
|
||||
do
|
||||
du
|
||||
dz
|
||||
|
||||
@@ -24,15 +24,6 @@
|
||||
/area/ruin/unpowered)
|
||||
"g" = (
|
||||
/obj/effect/decal/cleanable/blood/old,
|
||||
/obj/effect/step_trigger/thrower{
|
||||
name = "south";
|
||||
tiles = 5
|
||||
},
|
||||
/obj/effect/step_trigger/sound_effect{
|
||||
name = "turn around";
|
||||
sound = 'sound/hallucinations/turn_around1.ogg';
|
||||
triggerer_only = 1
|
||||
},
|
||||
/turf/open/floor/engine/cult{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
@@ -79,16 +70,6 @@
|
||||
/area/ruin/unpowered)
|
||||
"n" = (
|
||||
/obj/effect/decal/cleanable/blood/old,
|
||||
/obj/effect/step_trigger/thrower{
|
||||
direction = 4;
|
||||
name = "east";
|
||||
tiles = 5
|
||||
},
|
||||
/obj/effect/step_trigger/sound_effect{
|
||||
name = "turn around";
|
||||
sound = 'sound/hallucinations/turn_around1.ogg';
|
||||
triggerer_only = 1
|
||||
},
|
||||
/turf/open/floor/engine/cult{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
@@ -117,16 +98,6 @@
|
||||
/area/ruin/unpowered)
|
||||
"p" = (
|
||||
/obj/effect/decal/cleanable/blood/old,
|
||||
/obj/effect/step_trigger/thrower{
|
||||
direction = 8;
|
||||
name = "west";
|
||||
tiles = 5
|
||||
},
|
||||
/obj/effect/step_trigger/sound_effect{
|
||||
name = "turn around";
|
||||
sound = 'sound/hallucinations/turn_around1.ogg';
|
||||
triggerer_only = 1
|
||||
},
|
||||
/turf/open/floor/engine/cult{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
@@ -142,16 +113,6 @@
|
||||
/area/ruin/unpowered)
|
||||
"r" = (
|
||||
/obj/effect/decal/cleanable/blood/old,
|
||||
/obj/effect/step_trigger/thrower{
|
||||
direction = 1;
|
||||
name = "north";
|
||||
tiles = 5
|
||||
},
|
||||
/obj/effect/step_trigger/sound_effect{
|
||||
name = "turn around";
|
||||
sound = 'sound/hallucinations/turn_around1.ogg';
|
||||
triggerer_only = 1
|
||||
},
|
||||
/turf/open/floor/engine/cult{
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
},
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
/area/ruin/powered/golem_ship)
|
||||
"c" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/item/shovel,
|
||||
/obj/item/shovel,
|
||||
/obj/item/shovel,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/pickaxe,
|
||||
@@ -19,6 +22,8 @@
|
||||
/area/ruin/powered/golem_ship)
|
||||
"d" = (
|
||||
/obj/structure/closet/crate,
|
||||
/obj/item/shovel,
|
||||
/obj/item/shovel,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/pickaxe,
|
||||
/obj/item/storage/bag/ore,
|
||||
|
||||
@@ -76,8 +76,7 @@
|
||||
/area/ruin/powered/syndicate_lava_base)
|
||||
"al" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/turf/open/floor/plasteel/vault,
|
||||
/area/ruin/powered/syndicate_lava_base)
|
||||
@@ -320,8 +319,7 @@
|
||||
/area/ruin/powered/syndicate_lava_base)
|
||||
"aS" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/turf/open/floor/plasteel/vault{
|
||||
dir = 5
|
||||
@@ -413,8 +411,7 @@
|
||||
/area/ruin/powered/syndicate_lava_base)
|
||||
"bd" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/plasteel/black,
|
||||
@@ -694,16 +691,15 @@
|
||||
/area/ruin/powered/syndicate_lava_base)
|
||||
"bJ" = (
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot,
|
||||
/turf/open/floor/plasteel/vault{
|
||||
dir = 8
|
||||
},
|
||||
/area/ruin/powered/syndicate_lava_base)
|
||||
"bK" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/turf/open/floor/plasteel/vault{
|
||||
dir = 8
|
||||
@@ -969,8 +965,7 @@
|
||||
/area/ruin/powered/syndicate_lava_base)
|
||||
"cq" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/turf/open/floor/plasteel/podhatch{
|
||||
dir = 5
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
/area/ruin/unpowered)
|
||||
"j" = (
|
||||
/obj/machinery/abductor/experiment{
|
||||
team = 100
|
||||
team_number = 100
|
||||
},
|
||||
/turf/open/floor/plating/abductor{
|
||||
initial_gas_mix = "o2=16;n2=23;TEMP=300"
|
||||
@@ -61,7 +61,7 @@
|
||||
/area/ruin/unpowered)
|
||||
"l" = (
|
||||
/obj/machinery/abductor/pad{
|
||||
team = 100
|
||||
team_number = 100
|
||||
},
|
||||
/turf/open/floor/plating/abductor{
|
||||
initial_gas_mix = "o2=16;n2=23;TEMP=300"
|
||||
|
||||
@@ -252,7 +252,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"aF" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/derelict/solar_control)
|
||||
@@ -416,7 +418,9 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/derelict/solar_control)
|
||||
"bc" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/derelict/solar_control)
|
||||
"bd" = (
|
||||
@@ -985,7 +989,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/derelict/bridge/access)
|
||||
"cU" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/derelict/bridge/access)
|
||||
"cV" = (
|
||||
@@ -1018,11 +1024,15 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/derelict/bridge/access)
|
||||
"cY" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/gravity_generator)
|
||||
"cZ" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/gravity_generator)
|
||||
"da" = (
|
||||
@@ -1033,11 +1043,15 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/derelict/gravity_generator)
|
||||
"db" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/gravity_generator)
|
||||
"dc" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/gravity_generator)
|
||||
"dd" = (
|
||||
@@ -1488,15 +1502,19 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/unpowered/no_grav)
|
||||
"ev" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"ew" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 6
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"ex" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
@@ -1663,7 +1681,9 @@
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
"eW" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"eX" = (
|
||||
@@ -1697,11 +1717,15 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"fc" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"fd" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"fe" = (
|
||||
@@ -1783,7 +1807,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/bridge)
|
||||
"fq" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"fr" = (
|
||||
@@ -1807,7 +1833,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"ft" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"fu" = (
|
||||
@@ -1890,7 +1918,9 @@
|
||||
},
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"fI" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/plasteel/airless{
|
||||
icon_state = "damaged2"
|
||||
},
|
||||
@@ -2128,7 +2158,9 @@
|
||||
},
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"gt" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 9
|
||||
},
|
||||
/obj/item/shard{
|
||||
icon_state = "medium"
|
||||
},
|
||||
@@ -2146,7 +2178,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"gw" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"gx" = (
|
||||
@@ -2194,7 +2228,9 @@
|
||||
},
|
||||
/area/ruin/unpowered/no_grav)
|
||||
"gE" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"gF" = (
|
||||
@@ -2292,7 +2328,9 @@
|
||||
/turf/closed/wall,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"gZ" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/singularity_engine)
|
||||
"ha" = (
|
||||
@@ -2408,7 +2446,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/medical)
|
||||
"hx" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/medical)
|
||||
"hy" = (
|
||||
@@ -2691,7 +2731,9 @@
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
"iu" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 6
|
||||
},
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
"iv" = (
|
||||
@@ -3129,7 +3171,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/derelict/arrival)
|
||||
"jK" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/derelict/arrival)
|
||||
"jL" = (
|
||||
@@ -3548,11 +3592,15 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/hallway/primary)
|
||||
"kP" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/hallway/primary)
|
||||
"kQ" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/hallway/primary)
|
||||
"kR" = (
|
||||
@@ -3717,11 +3765,7 @@
|
||||
/obj/item/reagent_containers/glass/beaker{
|
||||
list_reagents = list("sacid" = 50)
|
||||
},
|
||||
/obj/item/paper/crumpled/bloody{
|
||||
desc = "Looks like someone started shakily writing a will in space common, but were interrupted by something bloody...";
|
||||
info = "I, Victor Belyakov, do hereby leave my _- ";
|
||||
name = "unfinished paper scrap"
|
||||
},
|
||||
/obj/item/paper/crumpled/bloody/ruins/thederelict/unfinished,
|
||||
/obj/item/pen,
|
||||
/turf/open/floor/plasteel/airless,
|
||||
/area/ruin/space/derelict/hallway/primary)
|
||||
@@ -3776,7 +3820,9 @@
|
||||
/turf/open/floor/plasteel/airless,
|
||||
/area/ruin/unpowered/no_grav)
|
||||
"lD" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/unpowered/no_grav)
|
||||
"lE" = (
|
||||
@@ -3854,7 +3900,9 @@
|
||||
/turf/open/floor/plasteel/airless,
|
||||
/area/ruin/unpowered/no_grav)
|
||||
"lR" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/unpowered/no_grav)
|
||||
"lS" = (
|
||||
@@ -4066,7 +4114,9 @@
|
||||
/turf/open/floor/plasteel/airless,
|
||||
/area/ruin/space/derelict/hallway/secondary)
|
||||
"mD" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/hallway/secondary)
|
||||
"mE" = (
|
||||
@@ -4178,7 +4228,9 @@
|
||||
/turf/open/floor/plasteel/airless,
|
||||
/area/ruin/space/derelict/hallway/secondary)
|
||||
"mY" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/hallway/secondary)
|
||||
"mZ" = (
|
||||
@@ -4370,7 +4422,7 @@
|
||||
/turf/template_noop,
|
||||
/area/ruin/space/derelict/hallway/secondary)
|
||||
"ny" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/hallway/secondary)
|
||||
"nz" = (
|
||||
@@ -4421,7 +4473,9 @@
|
||||
/turf/open/floor/plasteel/airless,
|
||||
/area/ruin/space/derelict/hallway/secondary)
|
||||
"nH" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/derelict/hallway/secondary)
|
||||
"nI" = (
|
||||
|
||||
@@ -36,11 +36,15 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/abandoned_tele)
|
||||
"j" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/abandoned_tele)
|
||||
"k" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/abandoned_tele)
|
||||
"l" = (
|
||||
@@ -78,7 +82,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/abandoned_tele)
|
||||
"t" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/abandoned_tele)
|
||||
"u" = (
|
||||
|
||||
@@ -743,10 +743,7 @@
|
||||
/turf/open/floor/plasteel/darkgreen,
|
||||
/area/ruin/space/has_grav/abandonedzoo)
|
||||
"bN" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/item/shard{
|
||||
icon_state = "small"
|
||||
},
|
||||
@@ -799,10 +796,7 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/has_grav/abandonedzoo)
|
||||
"bU" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/ruin/space/has_grav/abandonedzoo)
|
||||
"bV" = (
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargobay)
|
||||
"ao" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 0;
|
||||
start_charge = 0;
|
||||
dir = 4;
|
||||
name = "Cargo Bay APC";
|
||||
pixel_x = 24
|
||||
@@ -258,9 +258,7 @@
|
||||
name = "critter crate - mr.tiggles";
|
||||
opened = 1
|
||||
},
|
||||
/obj/item/paper/crumpled/ruins/snowdin{
|
||||
info = "<i>A crumpled piece of manifest paper, out of the barely legible pen writing, you can see something about a warning involving whatever was originally in the crate.</i>"
|
||||
},
|
||||
/obj/item/paper/crumpled/ruins/bigderelict1/manifest,
|
||||
/obj/structure/alien/weeds{
|
||||
color = "#4BAE56";
|
||||
desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";
|
||||
@@ -454,10 +452,7 @@
|
||||
name = "Tradeport Officer";
|
||||
random = 1
|
||||
},
|
||||
/obj/item/paper/crumpled/ruins/snowdin{
|
||||
icon_state = "scrap_bloodied";
|
||||
info = "If anyone finds this, please, don't let my kids know I died a coward.."
|
||||
},
|
||||
/obj/item/paper/crumpled/ruins/bigderelict1/coward,
|
||||
/obj/effect/decal/cleanable/blood/old{
|
||||
name = "dried blood splatter";
|
||||
pixel_x = -29
|
||||
@@ -754,7 +749,7 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/powerstorage)
|
||||
"ca" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 0;
|
||||
start_charge = 0;
|
||||
dir = 4;
|
||||
name = "Power Storage APC";
|
||||
pixel_x = 23;
|
||||
@@ -850,7 +845,7 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost)
|
||||
"ck" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 0;
|
||||
start_charge = 0;
|
||||
dir = 2;
|
||||
name = "Tradepost APC";
|
||||
pixel_y = -24
|
||||
@@ -2011,7 +2006,7 @@
|
||||
/area/ruin/space/has_grav/derelictoutpost/cargostorage)
|
||||
"el" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 0;
|
||||
start_charge = 0;
|
||||
dir = 4;
|
||||
name = "Cargo Storage APC";
|
||||
pixel_x = 24
|
||||
@@ -3912,4 +3907,4 @@ aa
|
||||
aa
|
||||
aa
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
@@ -590,9 +590,9 @@
|
||||
"bW" = (
|
||||
/obj/structure/closet/crate/secure/gear,
|
||||
/obj/item/ammo_box/c10mm,
|
||||
/obj/item/ammo_casing/shotgun/meteorshot,
|
||||
/obj/item/ammo_casing/shotgun/meteorshot,
|
||||
/obj/item/ammo_casing/shotgun/meteorshot,
|
||||
/obj/item/ammo_casing/shotgun/meteorslug,
|
||||
/obj/item/ammo_casing/shotgun/meteorslug,
|
||||
/obj/item/ammo_casing/shotgun/meteorslug,
|
||||
/turf/open/floor/mineral/titanium/yellow/airless,
|
||||
/area/ruin/unpowered)
|
||||
"bX" = (
|
||||
@@ -815,8 +815,8 @@
|
||||
/area/ruin/unpowered)
|
||||
"cC" = (
|
||||
/obj/structure/closet/crate/secure/weapon,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot,
|
||||
/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted/riot,
|
||||
/turf/open/floor/mineral/titanium/yellow/airless,
|
||||
/area/ruin/unpowered)
|
||||
"cD" = (
|
||||
|
||||
@@ -17,7 +17,9 @@
|
||||
/turf/closed/wall/mineral/titanium/overspace,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"af" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"ag" = (
|
||||
@@ -38,7 +40,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"aj" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"ak" = (
|
||||
@@ -54,7 +58,9 @@
|
||||
/area/template_noop)
|
||||
"an" = (
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"ao" = (
|
||||
@@ -224,7 +230,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"aQ" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/BMPship/Fore)
|
||||
"aR" = (
|
||||
@@ -350,7 +358,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"bl" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/BMPship/Fore)
|
||||
"bm" = (
|
||||
@@ -394,7 +404,9 @@
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"bt" = (
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/BMPship/Fore)
|
||||
"bu" = (
|
||||
@@ -1165,7 +1177,9 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"dG" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/BMPship/Fore)
|
||||
"dH" = (
|
||||
@@ -1372,7 +1386,9 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"ed" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/BMPship/Fore)
|
||||
"ee" = (
|
||||
@@ -1592,7 +1608,9 @@
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 6
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/BMPship/Fore)
|
||||
"eI" = (
|
||||
@@ -2115,7 +2133,9 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"gk" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/BMPship/Fore)
|
||||
"gl" = (
|
||||
@@ -2247,7 +2267,9 @@
|
||||
/turf/open/floor/plating/asteroid/airless,
|
||||
/area/awaymission/BMPship)
|
||||
"gF" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/shard{
|
||||
icon_state = "small"
|
||||
},
|
||||
@@ -2308,7 +2330,9 @@
|
||||
/turf/open/floor/plating/asteroid/airless,
|
||||
/area/awaymission/BMPship)
|
||||
"gR" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 6
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/BMPship/Fore)
|
||||
"gS" = (
|
||||
@@ -2448,7 +2472,9 @@
|
||||
/turf/open/floor/plating/asteroid/airless,
|
||||
/area/awaymission/BMPship)
|
||||
"ho" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/BMPship/Aft)
|
||||
"hp" = (
|
||||
|
||||
@@ -1096,8 +1096,7 @@
|
||||
d2 = 8;
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 4;
|
||||
name = "Hydroponics APC";
|
||||
pixel_x = 24
|
||||
@@ -1466,8 +1465,7 @@
|
||||
/area/ruin/space/has_grav/deepstorage)
|
||||
"cQ" = (
|
||||
/obj/structure/cable/yellow,
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 4;
|
||||
name = "Storage APC";
|
||||
pixel_x = 24
|
||||
@@ -2260,8 +2258,7 @@
|
||||
d2 = 8;
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 4;
|
||||
name = "Armory APC";
|
||||
pixel_x = 24
|
||||
@@ -3085,8 +3082,7 @@
|
||||
"fE" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,
|
||||
/obj/structure/cable/yellow,
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 4;
|
||||
name = "Dormory APC";
|
||||
pixel_x = 24
|
||||
@@ -6625,4 +6621,4 @@ aa
|
||||
aa
|
||||
aa
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
@@ -174,7 +174,6 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 2500;
|
||||
dir = 1;
|
||||
name = "Worn-out APC";
|
||||
pixel_x = 1;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -44,7 +44,6 @@
|
||||
/area/tcommsat/chamber)
|
||||
"ak" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 2500;
|
||||
dir = 1;
|
||||
name = "Worn-out APC";
|
||||
pixel_x = 1;
|
||||
@@ -452,11 +451,15 @@
|
||||
/turf/open/floor/plasteel/airless/black,
|
||||
/area/tcommsat/chamber)
|
||||
"bA" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"bB" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"bC" = (
|
||||
@@ -464,7 +467,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"bD" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"bE" = (
|
||||
@@ -513,7 +518,9 @@
|
||||
/turf/open/floor/plasteel/airless/black,
|
||||
/area/tcommsat/chamber)
|
||||
"bK" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/tcommsat/chamber)
|
||||
"bL" = (
|
||||
@@ -521,7 +528,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/tcommsat/chamber)
|
||||
"bM" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/tcommsat/chamber)
|
||||
"bN" = (
|
||||
@@ -541,7 +550,9 @@
|
||||
/turf/open/floor/plasteel/airless/black,
|
||||
/area/tcommsat/chamber)
|
||||
"bP" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/tcommsat/chamber)
|
||||
"bQ" = (
|
||||
@@ -554,7 +565,9 @@
|
||||
/turf/open/floor/plasteel/airless/black,
|
||||
/area/tcommsat/chamber)
|
||||
"bS" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
/area/tcommsat/chamber)
|
||||
@@ -610,7 +623,9 @@
|
||||
/turf/open/floor/plasteel/airless/black,
|
||||
/area/tcommsat/chamber)
|
||||
"cc" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/tcommsat/chamber)
|
||||
"cd" = (
|
||||
@@ -633,7 +648,9 @@
|
||||
/turf/open/floor/plasteel/airless/black,
|
||||
/area/tcommsat/chamber)
|
||||
"ch" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/tcommsat/chamber)
|
||||
"ci" = (
|
||||
|
||||
@@ -53,7 +53,9 @@
|
||||
/turf/closed/wall/rust,
|
||||
/area/ruin/space/has_grav/ancientstation/comm)
|
||||
"al" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/door/poddoor{
|
||||
id = "ancient"
|
||||
},
|
||||
@@ -67,7 +69,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/comm)
|
||||
"an" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/poddoor{
|
||||
id = "ancient"
|
||||
},
|
||||
@@ -483,11 +487,15 @@
|
||||
/turf/closed/wall/rust,
|
||||
/area/ruin/space/has_grav/ancientstation/comm)
|
||||
"bz" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/comm)
|
||||
"bA" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/comm)
|
||||
"bB" = (
|
||||
@@ -900,7 +908,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/deltacorridor)
|
||||
"cK" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"cL" = (
|
||||
@@ -946,7 +956,9 @@
|
||||
/turf/closed/wall/rust,
|
||||
/area/ruin/space/has_grav/ancientstation/hydroponics)
|
||||
"cR" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/hydroponics)
|
||||
"cS" = (
|
||||
@@ -954,7 +966,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/hydroponics)
|
||||
"cT" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/hydroponics)
|
||||
"cU" = (
|
||||
@@ -1794,7 +1808,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"fb" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/engi)
|
||||
"fc" = (
|
||||
@@ -1978,7 +1994,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"fB" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/engi)
|
||||
"fC" = (
|
||||
@@ -1986,7 +2004,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/engi)
|
||||
"fD" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 6
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/engi)
|
||||
"fE" = (
|
||||
@@ -2805,7 +2825,9 @@
|
||||
/turf/open/floor/plasteel/airless/floorgrime,
|
||||
/area/template_noop)
|
||||
"gV" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/engi)
|
||||
"gW" = (
|
||||
@@ -2869,7 +2891,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/deltacorridor)
|
||||
"hf" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -2879,7 +2903,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
"hh" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/rnd)
|
||||
@@ -3736,7 +3762,9 @@
|
||||
/turf/closed/wall/rust,
|
||||
/area/ruin/space/has_grav/ancientstation/engi)
|
||||
"iY" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/kitchen)
|
||||
"iZ" = (
|
||||
@@ -3744,7 +3772,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/kitchen)
|
||||
"ja" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/kitchen)
|
||||
"jb" = (
|
||||
@@ -4069,11 +4099,15 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"jS" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation)
|
||||
"jT" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation)
|
||||
"jU" = (
|
||||
@@ -4227,7 +4261,9 @@
|
||||
/turf/open/floor/engine/airless,
|
||||
/area/ruin/space/has_grav/ancientstation/atmo)
|
||||
"ko" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"kp" = (
|
||||
@@ -4238,7 +4274,7 @@
|
||||
dir = 6
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/showcase/oldpod,
|
||||
/obj/structure/showcase/machinery/oldpod,
|
||||
/turf/open/floor/plasteel/floorgrime,
|
||||
/area/ruin/space/has_grav/ancientstation)
|
||||
"kq" = (
|
||||
@@ -4250,7 +4286,7 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/structure/showcase/oldpod,
|
||||
/obj/structure/showcase/machinery/oldpod,
|
||||
/turf/open/floor/plasteel/floorgrime,
|
||||
/area/ruin/space/has_grav/ancientstation)
|
||||
"kr" = (
|
||||
@@ -4329,7 +4365,9 @@
|
||||
/turf/open/floor/engine/airless,
|
||||
/area/ruin/space/has_grav/ancientstation/atmo)
|
||||
"kB" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/template_noop)
|
||||
"kC" = (
|
||||
@@ -4583,11 +4621,15 @@
|
||||
/turf/closed/mineral/plasma,
|
||||
/area/ruin/unpowered)
|
||||
"li" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/proto)
|
||||
"lj" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/ancientstation/proto)
|
||||
"lk" = (
|
||||
|
||||
@@ -350,7 +350,6 @@
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 2500;
|
||||
dir = 1;
|
||||
name = "Mining Drone Bay APC";
|
||||
pixel_y = 24
|
||||
@@ -848,7 +847,6 @@
|
||||
d2 = 4
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 2500;
|
||||
dir = 1;
|
||||
name = "Bridge APC";
|
||||
pixel_y = 24
|
||||
@@ -1227,10 +1225,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/ruin/space/has_grav/onehalf/bridge)
|
||||
"dc" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
|
||||
@@ -541,12 +541,7 @@
|
||||
/area/ruin/powered)
|
||||
"bB" = (
|
||||
/obj/structure/easel,
|
||||
/obj/item/paper/pamphlet{
|
||||
icon = 'icons/obj/fluff.dmi';
|
||||
icon_state = "painting4";
|
||||
info = "<i>This picture depicts a crudely-drawn stickman firing a crudely-drawn gun.</i>";
|
||||
name = "Painting - 'BANG' "
|
||||
},
|
||||
/obj/item/paper/pamphlet/ruin/originalcontent/stickman,
|
||||
/turf/open/indestructible/paper,
|
||||
/area/ruin/powered)
|
||||
"bC" = (
|
||||
@@ -609,12 +604,7 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/easel,
|
||||
/obj/item/paper/pamphlet{
|
||||
icon = 'icons/obj/fluff.dmi';
|
||||
icon_state = "painting1";
|
||||
info = "<i>This picture depicts a sunny day on a lush hillside, set under a shaded tree.</i>";
|
||||
name = "Painting - 'Treeside' "
|
||||
},
|
||||
/obj/item/paper/pamphlet/ruin/originalcontent/treeside,
|
||||
/turf/open/indestructible/paper,
|
||||
/area/ruin/powered)
|
||||
"bK" = (
|
||||
@@ -716,12 +706,7 @@
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/easel,
|
||||
/obj/item/paper/pamphlet{
|
||||
icon = 'icons/obj/fluff.dmi';
|
||||
icon_state = "painting3";
|
||||
info = "<i>This picture depicts a smiling clown. Something doesn't feel right about this..</i>";
|
||||
name = "Painting - 'Pennywise' "
|
||||
},
|
||||
/obj/item/paper/pamphlet/ruin/originalcontent/pennywise,
|
||||
/turf/open/indestructible/paper,
|
||||
/area/ruin/powered)
|
||||
"bX" = (
|
||||
@@ -869,12 +854,7 @@
|
||||
"cr" = (
|
||||
/obj/structure/fluff/paper,
|
||||
/obj/structure/easel,
|
||||
/obj/item/paper/pamphlet{
|
||||
icon = 'icons/obj/fluff.dmi';
|
||||
icon_state = "painting2";
|
||||
info = "<i>This picture depicts a man yelling on a bridge for no apparent reason.</i>";
|
||||
name = "Painting - 'Hands-On-Face' "
|
||||
},
|
||||
/obj/item/paper/pamphlet/ruin/originalcontent/yelling,
|
||||
/turf/open/indestructible/paper,
|
||||
/area/ruin/powered)
|
||||
"cs" = (
|
||||
|
||||
@@ -655,8 +655,7 @@
|
||||
name = "Hotel Guest Room 3"
|
||||
})
|
||||
"bN" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Guest Room APC";
|
||||
pixel_y = -24
|
||||
@@ -719,8 +718,7 @@
|
||||
name = "Hotel Guest Room 4"
|
||||
})
|
||||
"bT" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Guest Room APC";
|
||||
pixel_y = -24
|
||||
@@ -783,8 +781,7 @@
|
||||
name = "Hotel Guest Room 5"
|
||||
})
|
||||
"bZ" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Guest Room APC";
|
||||
pixel_y = -24
|
||||
@@ -847,8 +844,7 @@
|
||||
name = "Hotel Guest Room 6"
|
||||
})
|
||||
"cf" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Guest Room APC";
|
||||
pixel_y = -24
|
||||
@@ -1379,8 +1375,7 @@
|
||||
name = "Hotel Guest Room 2"
|
||||
})
|
||||
"dn" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 1;
|
||||
name = "Guest Room APC";
|
||||
pixel_y = 25
|
||||
@@ -1461,8 +1456,7 @@
|
||||
name = "Hotel Guest Room 1"
|
||||
})
|
||||
"dv" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 1;
|
||||
name = "Guest Room APC";
|
||||
pixel_y = 25
|
||||
@@ -1874,8 +1868,7 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/ruin/space/has_grav/hotel/workroom)
|
||||
"eA" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Laundry APC";
|
||||
pixel_y = -24
|
||||
@@ -2080,8 +2073,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/hotel)
|
||||
"fh" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Kitchen APC";
|
||||
pixel_y = -24
|
||||
@@ -2874,8 +2866,7 @@
|
||||
/turf/open/floor/plasteel/cafeteria,
|
||||
/area/ruin/space/has_grav/hotel/bar)
|
||||
"hA" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Staff Room APC";
|
||||
pixel_y = -24
|
||||
@@ -3261,8 +3252,7 @@
|
||||
},
|
||||
/area/ruin/space/has_grav/hotel/power)
|
||||
"iw" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 1;
|
||||
name = "Power Storage APC";
|
||||
pixel_y = 25
|
||||
@@ -3427,8 +3417,7 @@
|
||||
},
|
||||
/area/ruin/space/has_grav/hotel/power)
|
||||
"iU" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Security APC";
|
||||
pixel_y = -24
|
||||
@@ -3500,8 +3489,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/ruin/space/has_grav/hotel/pool)
|
||||
"iZ" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Pool APC";
|
||||
pixel_y = -24
|
||||
@@ -3559,8 +3547,7 @@
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Dock APC";
|
||||
pixel_y = -24
|
||||
@@ -4824,8 +4811,7 @@
|
||||
/turf/open/floor/plasteel/neutral,
|
||||
/area/ruin/space/has_grav/hotel/custodial)
|
||||
"mJ" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 2;
|
||||
name = "Custodial APC";
|
||||
pixel_y = -24
|
||||
|
||||
@@ -9,7 +9,9 @@
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"ad" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"ae" = (
|
||||
@@ -17,7 +19,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"af" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"ag" = (
|
||||
@@ -101,7 +105,9 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"at" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"au" = (
|
||||
@@ -136,7 +142,9 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"aB" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"aC" = (
|
||||
@@ -223,7 +231,9 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"aS" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"aT" = (
|
||||
@@ -231,7 +241,9 @@
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"aU" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"aV" = (
|
||||
@@ -582,7 +594,9 @@
|
||||
/turf/open/floor/plasteel/hydrofloor,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"ci" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"cj" = (
|
||||
@@ -632,7 +646,9 @@
|
||||
/turf/open/floor/plasteel/hydrofloor,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"cu" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"cv" = (
|
||||
@@ -1016,11 +1032,15 @@
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
"dS" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"dT" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"dU" = (
|
||||
@@ -1178,7 +1198,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"ey" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"ez" = (
|
||||
@@ -1387,7 +1409,9 @@
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"fn" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
"fo" = (
|
||||
@@ -1395,7 +1419,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
"fp" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
"fq" = (
|
||||
@@ -1415,7 +1441,9 @@
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"fu" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"fv" = (
|
||||
@@ -1423,11 +1451,15 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"fw" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"fx" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"fy" = (
|
||||
@@ -1618,11 +1650,15 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"gd" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"ge" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"gf" = (
|
||||
@@ -1637,7 +1673,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"gh" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"gi" = (
|
||||
@@ -1808,7 +1846,9 @@
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"gM" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"gN" = (
|
||||
@@ -1868,7 +1908,9 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"gX" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"gY" = (
|
||||
@@ -1973,11 +2015,15 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"hq" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"hr" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"hs" = (
|
||||
@@ -1985,7 +2031,9 @@
|
||||
/turf/open/floor/carpet,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"ht" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"hu" = (
|
||||
@@ -2049,7 +2097,9 @@
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"hF" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"hG" = (
|
||||
@@ -2279,7 +2329,9 @@
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"ix" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/centcomAway/courtroom)
|
||||
"iy" = (
|
||||
@@ -2309,7 +2361,9 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
"iC" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"iD" = (
|
||||
@@ -2658,7 +2712,9 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"jH" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
name = "plating"
|
||||
},
|
||||
@@ -2670,13 +2726,17 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"jJ" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
name = "plating"
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"jK" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
@@ -2736,7 +2796,9 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"jT" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"jU" = (
|
||||
@@ -2785,7 +2847,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
"kb" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"kc" = (
|
||||
@@ -2846,12 +2910,16 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"kl" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"km" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"kn" = (
|
||||
@@ -2904,7 +2972,9 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"kv" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 10
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
@@ -3015,7 +3085,9 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"kM" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"kN" = (
|
||||
@@ -3218,7 +3290,9 @@
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/awaymission/centcomAway/thunderdome)
|
||||
"lw" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/thunderdome)
|
||||
"lx" = (
|
||||
@@ -3226,7 +3300,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/thunderdome)
|
||||
"ly" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/centcomAway/thunderdome)
|
||||
"lz" = (
|
||||
|
||||
@@ -248,11 +248,15 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/challenge/main)
|
||||
"aY" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/challenge/main)
|
||||
"aZ" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/east,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/challenge/main)
|
||||
"ba" = (
|
||||
@@ -874,7 +878,9 @@
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
"cM" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/challenge/end)
|
||||
"cN" = (
|
||||
@@ -882,11 +888,15 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/challenge/end)
|
||||
"cO" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/challenge/end)
|
||||
"cP" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/challenge/end)
|
||||
"cQ" = (
|
||||
@@ -1044,7 +1054,9 @@
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/awaymission/challenge/end)
|
||||
"dl" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/challenge/end)
|
||||
"dm" = (
|
||||
|
||||
@@ -1922,11 +1922,7 @@
|
||||
name = "Syndicate Outpost"
|
||||
})
|
||||
"cG" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
broken = 1;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/shard,
|
||||
@@ -1973,8 +1969,7 @@
|
||||
})
|
||||
"cK" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 15000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 1;
|
||||
name = "Worn-out APC";
|
||||
@@ -4886,11 +4881,7 @@
|
||||
name = "MO19 Research"
|
||||
})
|
||||
"gE" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
broken = 1;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/shard,
|
||||
@@ -4917,8 +4908,7 @@
|
||||
})
|
||||
"gG" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 15000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 4;
|
||||
locked = 0;
|
||||
name = "Worn-out APC";
|
||||
@@ -5156,22 +5146,10 @@
|
||||
})
|
||||
"gW" = (
|
||||
/obj/structure/filingcabinet/filingcabinet,
|
||||
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_hivemind{
|
||||
info = "Researcher: <u>Dr. Mark Douglas </u><br>Date: <u>17/06/2554</u><br><br>Report:<br>Earlier today we have observed a new phenomenon with our subjects. While feeding them our last monkey subject and throwing out the box, the aliens merely looked at us instead of infecting the monkey right away. They looked to be collectively distressed as they would no longer be given hosts, where instead we would move to the next phase of the experiment. When I glanced at the gas tanks and piping leading to their cell, I looked back to see all of them were up against the glass, even the queen! It was as if they all understood what was going to happen, even though we knew only the queen had the cognitive capability to do so.<br><br>The only explanation for this is a form of communication between the aliens, but we have seen no such action take place anywhere in the cell until now. We also know that regular drone and hunter xenomorphs have no personality or instinct to survive by themselves. Perhaps the queen has a direct link to them? A form of a commander or overseer that controls their every move? A hivemind?";
|
||||
name = "The Hivemind Hypothesis"
|
||||
},
|
||||
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_behavior{
|
||||
info = "Researcher: <u>Dr. Sakuma Sano </u><br>Date: <u>08/06/2554</u><br><br>Report:<br>The xenomorphs we have come to study here are a remarkable species. They are almost universally aggressive across all castes, showing no remorse or guilt or pause before or after acts of violence. They appear to be a species entirely designed to kill. Oddly enough, even their method of reproduction is a brutal two-for-one method of birthing a new xenomorph and killing its host.<br><br>The lone xenomorph we studied only five days ago showed little sign of intelligence. Only a simple drone that flung itself at the safety glass and shields repeatedly and thankfully without success. Once the drone molted into a queen, it became much more calm and calculating, merely looking at us and waiting while building its nest. As the hive grew in size and in numbers, so too did the intelligence of the common hunter and drone. We are still researching how they can communicate with one another and the relationship between the different castes and the queen. We will continue to update our research as we learn more about the species.";
|
||||
name = "A Preliminary Study of Alien Behavior"
|
||||
},
|
||||
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_castes{
|
||||
info = "Researcher: <u>Dr. Mark Douglas </u><br>Date: <u>06/06/2554</u><br><br>Report:<br>While observing the growing number of aliens in the containment cell, we began to notice subtle differences that were consistently repeating. Like ants, these creatures clearly have different specialized variations that determine their roles in the hive. We have dubbed the three currently observed castes as Hunters, Drones, and Sentinels.<br><br>Hunters have been observed to be by far the most aggressive and agile of the three, constantly running on every surface and frequently swiping at the windows. They are also remarkably good at camouflaging themselves in darkness and on their resin structures, appearing almost invisible to the unwary observer. They are always the first to reach the monkeys we send in leading us to believe that this caste is primarily used for finding and retrieving hosts.<br><br>Drones on the other hand are much more docile and seem more shy by comparison, though not any less aggressive than the other castes. They have been observed to have a much wider head and lack dorsal tubes. They have shown to be less agile and visibly more fragile than any other caste. The drone however has never been observed to interact with the monkeys directly and instead preferring maintenance of the hive by building walls of resin and moving eggs around the nest. As far as we know, we have only ever observed a drone become a queen, and we have no way of knowing if the other castes have that capability.<br><br>Lastly, we have the Sentinels, which appear at first glance to be the guards of the hive. They have so far been only observed to remain near the queen and the eggs, frequently curled up against the walls. We have only observed one instance where they have interacted with a monkey who strayed too closely to the queen, and was pounced and held down immediately until it was applied with a facehugger. Their lack of movement makes it difficult to determine their exact purpose as guards, sentries, or other role.";
|
||||
name = "The Xenomorph 'Castes'"
|
||||
},
|
||||
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_autopsy{
|
||||
info = "Researcher: <u>Dr. Mark Douglas </u><br>Date: <u>04/06/2554</u><br><br>Report:<br>After an extremely dangerous, time consuming and costly dissection, we have managed to record and identify several of the organs inside of the first stage of the xenomorph cycle: the larva. This procedure took an extensive amount of time because these creatures have incredibly, almost-comically acidic blood that can melt through almost anything in a few moments. We had to use over a dozen scalpels and retractors to complete the autopsy.<br><br>The larva seems to possess far fewer and quite different organs than that of a human. There is a stomach, with no digestive tract, a heart, which seems to lack any blood-oxygen circulation purpose, and an elongated brain, even though its as dumb as any large cat. It also lacks any liver, kidneys, or other basic organs.<br><br>We can't determine the exact nature of how these creatures grow, nor if they gain organs as they become adults. The larger breeds of xenomorph are too dangerous to kill and capture to give us an accurate answer to these questions. All that we can conclude is that being able to function with so little and yet be so deadly means that these creatures are highly evolved and likely to be extremely durable to various hazards that would otherwise be lethal to humans.";
|
||||
name = "Larva Xenomorph Autopsy Report"
|
||||
},
|
||||
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_hivemind,
|
||||
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_behavior,
|
||||
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_castes,
|
||||
/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_autopsy,
|
||||
/obj/structure/alien/weeds,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/awaycontent/a2{
|
||||
@@ -5537,11 +5515,7 @@
|
||||
name = "MO19 Research"
|
||||
})
|
||||
"hx" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
broken = 1;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/shard{
|
||||
@@ -6792,7 +6766,6 @@
|
||||
"jq" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
desc = "A plastic potted plant.";
|
||||
layer = 4.1;
|
||||
pixel_y = 3
|
||||
},
|
||||
/turf/open/floor/plasteel{
|
||||
@@ -6981,8 +6954,7 @@
|
||||
icon_state = "0-2";
|
||||
d2 = 2
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 15000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 1;
|
||||
locked = 0;
|
||||
name = "Worn-out APC";
|
||||
@@ -7802,11 +7774,7 @@
|
||||
})
|
||||
"kP" = (
|
||||
/obj/item/stack/rods,
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
broken = 1;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/shard{
|
||||
icon_state = "medium"
|
||||
@@ -7820,11 +7788,7 @@
|
||||
name = "MO19 Arrivals"
|
||||
})
|
||||
"kQ" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
broken = 1;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/item/stack/rods,
|
||||
/turf/open/floor/plating{
|
||||
broken = 1;
|
||||
@@ -9335,11 +9299,7 @@
|
||||
name = "MO19 Arrivals"
|
||||
})
|
||||
"ns" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
broken = 1;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/item/stack/rods,
|
||||
/turf/open/floor/plating{
|
||||
heat_capacity = 1e+006
|
||||
@@ -9485,11 +9445,7 @@
|
||||
poweralm = 0
|
||||
})
|
||||
"nD" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
broken = 1;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/item/stack/rods,
|
||||
/obj/item/shard,
|
||||
/obj/effect/decal/cleanable/blood/tracks{
|
||||
@@ -9824,7 +9780,6 @@
|
||||
"ob" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
desc = "A plastic potted plant.";
|
||||
layer = 4.1;
|
||||
pixel_y = 3
|
||||
},
|
||||
/turf/open/floor/plasteel/neutral/side{
|
||||
@@ -9948,11 +9903,7 @@
|
||||
poweralm = 0
|
||||
})
|
||||
"oj" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
broken = 1;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/awaycontent/a3{
|
||||
always_unpowered = 1;
|
||||
|
||||
@@ -119,7 +119,6 @@
|
||||
"ax" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-20";
|
||||
layer = 4.1;
|
||||
pixel_y = 3
|
||||
},
|
||||
/turf/open/floor/plasteel/whiteyellow/corner{
|
||||
@@ -371,9 +370,8 @@
|
||||
icon_state = "0-2";
|
||||
d2 = 2
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
/obj/machinery/power/apc/highcap/ten_k{
|
||||
auto_name = 1;
|
||||
cell_type = 9000;
|
||||
dir = 4;
|
||||
name = "Engineering APC";
|
||||
pixel_x = 27;
|
||||
@@ -660,8 +658,7 @@
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/awaymission/research/interior/gateway)
|
||||
"cb" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 12000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 4;
|
||||
name = "Gateway APC";
|
||||
pixel_x = 24
|
||||
@@ -988,8 +985,7 @@
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 4;
|
||||
name = "Genetics APC";
|
||||
pixel_x = 24
|
||||
@@ -1320,8 +1316,7 @@
|
||||
/area/awaymission/research/interior/secure)
|
||||
"dN" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-16";
|
||||
layer = 4.1
|
||||
icon_state = "plant-16"
|
||||
},
|
||||
/turf/open/floor/plasteel/darkpurple,
|
||||
/area/awaymission/research/interior/genetics)
|
||||
@@ -1718,8 +1713,7 @@
|
||||
/turf/open/floor/plasteel/whitepurple,
|
||||
/area/awaymission/research/interior)
|
||||
"fa" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 4;
|
||||
name = "Cryostatis APC";
|
||||
pixel_x = 24
|
||||
@@ -1889,8 +1883,7 @@
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/awaymission/research/interior/secure)
|
||||
"fy" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 12000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 4;
|
||||
name = "Vault APC";
|
||||
pixel_x = 24
|
||||
@@ -2829,8 +2822,7 @@
|
||||
/area/awaymission/research/interior/genetics)
|
||||
"hV" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-10";
|
||||
layer = 4.1
|
||||
icon_state = "plant-10"
|
||||
},
|
||||
/turf/open/floor/plasteel/darkpurple,
|
||||
/area/awaymission/research/interior/genetics)
|
||||
@@ -3057,8 +3049,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/research/interior/maint)
|
||||
"iw" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 4;
|
||||
name = "Genetics APC";
|
||||
pixel_x = 24
|
||||
@@ -3312,8 +3303,7 @@
|
||||
/area/awaymission/research/interior/dorm)
|
||||
"jm" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-14";
|
||||
layer = 4.1
|
||||
icon_state = "plant-14"
|
||||
},
|
||||
/turf/open/floor/plasteel/yellowsiding{
|
||||
dir = 9
|
||||
@@ -3655,8 +3645,7 @@
|
||||
},
|
||||
/area/awaymission/research/interior/medbay)
|
||||
"kp" = (
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 5000;
|
||||
/obj/machinery/power/apc/highcap/five_k{
|
||||
dir = 4;
|
||||
name = "Dorms APC";
|
||||
pixel_x = 24
|
||||
@@ -4060,8 +4049,7 @@
|
||||
/area/awaymission/research/interior/medbay)
|
||||
"ly" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-16";
|
||||
layer = 4.1
|
||||
icon_state = "plant-16"
|
||||
},
|
||||
/turf/open/floor/plasteel/yellowsiding{
|
||||
dir = 10
|
||||
@@ -4466,9 +4454,7 @@
|
||||
},
|
||||
/area/awaymission/research/interior/escapepods)
|
||||
"mJ" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
layer = 4.1
|
||||
},
|
||||
/obj/item/twohanded/required/kirbyplants,
|
||||
/turf/open/floor/plasteel/whitegreen/side{
|
||||
dir = 8
|
||||
},
|
||||
@@ -4502,8 +4488,7 @@
|
||||
/area/awaymission/research/interior/escapepods)
|
||||
"mN" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "applebush";
|
||||
layer = 4.1
|
||||
icon_state = "applebush"
|
||||
},
|
||||
/turf/open/floor/plasteel/whitegreen/side{
|
||||
dir = 4
|
||||
|
||||
@@ -633,12 +633,7 @@
|
||||
},
|
||||
/area/awaymission/snowdin/base)
|
||||
"bC" = (
|
||||
/obj/structure/showcase{
|
||||
desc = "A strange machine thats supposedly used to help pick up and decrypt wave signals. ";
|
||||
icon = 'icons/obj/machines/telecomms.dmi';
|
||||
icon_state = "processor";
|
||||
name = "subsystem signal decrypter"
|
||||
},
|
||||
/obj/structure/showcase/machinery/signal_decrypter,
|
||||
/turf/open/floor/plating{
|
||||
baseturf = /turf/open/floor/plating/asteroid/snow
|
||||
},
|
||||
@@ -2498,12 +2493,7 @@
|
||||
/area/awaymission/snowdin/post)
|
||||
"gL" = (
|
||||
/obj/machinery/light/small,
|
||||
/obj/structure/showcase{
|
||||
desc = "A strange machine thats supposedly used to help pick up and decrypt wave signals. ";
|
||||
icon = 'icons/obj/machines/telecomms.dmi';
|
||||
icon_state = "processor";
|
||||
name = "subsystem signal decrypter"
|
||||
},
|
||||
/obj/structure/showcase/machinery/signal_decrypter,
|
||||
/turf/open/floor/plating{
|
||||
baseturf = /turf/open/floor/plating/asteroid/snow
|
||||
},
|
||||
@@ -3909,10 +3899,7 @@
|
||||
},
|
||||
/area/awaymission/snowdin)
|
||||
"kA" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/turf/open/floor/plating{
|
||||
baseturf = /turf/open/floor/plating/asteroid/snow;
|
||||
icon = 'icons/turf/snow.dmi';
|
||||
|
||||
@@ -842,7 +842,9 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"cY" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"cZ" = (
|
||||
@@ -865,7 +867,9 @@
|
||||
/turf/open/floor/mineral/plastitanium,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"dd" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
@@ -1002,7 +1006,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"dE" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 9
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"dF" = (
|
||||
@@ -1010,11 +1016,15 @@
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"dG" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"dH" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/northeast,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 5
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"dI" = (
|
||||
@@ -1109,7 +1119,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"dY" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/engine,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"dZ" = (
|
||||
@@ -1130,7 +1142,9 @@
|
||||
},
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"eb" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"ec" = (
|
||||
@@ -1296,7 +1310,9 @@
|
||||
/turf/open/floor/plasteel/blue,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"eF" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"eG" = (
|
||||
@@ -1345,7 +1361,9 @@
|
||||
/turf/open/floor/plasteel/blue,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"eQ" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"eR" = (
|
||||
@@ -2063,7 +2081,9 @@
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"hi" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/spacebattle/syndicate7)
|
||||
"hj" = (
|
||||
@@ -2122,7 +2142,9 @@
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"hu" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/spacebattle/syndicate7)
|
||||
"hv" = (
|
||||
@@ -2912,7 +2934,9 @@
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"ki" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"kj" = (
|
||||
@@ -2941,7 +2965,9 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"ko" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"kp" = (
|
||||
@@ -2958,7 +2984,9 @@
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"kr" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle/vertical,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/middle{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"ks" = (
|
||||
@@ -2983,11 +3011,13 @@
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"kw" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner/southwest,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 10
|
||||
},
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"kx" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional,
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"ky" = (
|
||||
@@ -2995,7 +3025,9 @@
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"kz" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/corner,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 6
|
||||
},
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/awaymission/spacebattle/cruiser)
|
||||
"kA" = (
|
||||
|
||||
@@ -3159,8 +3159,7 @@
|
||||
dir = 1;
|
||||
network = list("UO45")
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 15000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 0;
|
||||
name = "Hydroponics APC";
|
||||
@@ -6240,8 +6239,7 @@
|
||||
icon_state = "0-4";
|
||||
d2 = 4
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 15000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 1;
|
||||
locked = 0;
|
||||
name = "UO45 Bar APC";
|
||||
@@ -7619,8 +7617,7 @@
|
||||
d2 = 8;
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 15000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 0;
|
||||
name = "UO45 Research Division APC";
|
||||
@@ -8313,8 +8310,7 @@
|
||||
})
|
||||
"mE" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 15000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 0;
|
||||
name = "UO45 Gateway APC";
|
||||
@@ -11932,8 +11928,7 @@
|
||||
icon_state = "0-4";
|
||||
d2 = 4
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 15000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 8;
|
||||
locked = 1;
|
||||
name = "UO45 Engineering APC";
|
||||
@@ -12695,8 +12690,7 @@
|
||||
})
|
||||
"sj" = (
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = 15000;
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
dir = 2;
|
||||
locked = 0;
|
||||
name = "UO45 Mining APC";
|
||||
@@ -14194,8 +14188,7 @@
|
||||
/obj/machinery/atmospherics/components/trinary/filter{
|
||||
dir = 4;
|
||||
filter_type = "n2";
|
||||
on = 1;
|
||||
req_access = null
|
||||
on = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/red/side{
|
||||
dir = 10;
|
||||
@@ -14244,8 +14237,7 @@
|
||||
/obj/machinery/atmospherics/components/trinary/filter{
|
||||
dir = 4;
|
||||
filter_type = "o2";
|
||||
on = 1;
|
||||
req_access = null
|
||||
on = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/blue/side{
|
||||
dir = 10;
|
||||
@@ -17526,11 +17518,7 @@
|
||||
poweralm = 0
|
||||
})
|
||||
"yN" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
broken = 1;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/awaycontent/a7{
|
||||
always_unpowered = 1;
|
||||
|
||||
@@ -171,9 +171,7 @@
|
||||
/turf/open/floor/engine/cult,
|
||||
/area/awaymission/wwvault)
|
||||
"aL" = (
|
||||
/obj/item/paper/fluff/awaymissions/wildwest/grinder{
|
||||
info = "meat grinder requires sacri"
|
||||
},
|
||||
/obj/item/paper/fluff/awaymissions/wildwest/grinder,
|
||||
/turf/open/floor/plasteel/cult{
|
||||
name = "engraved floor"
|
||||
},
|
||||
@@ -449,7 +447,9 @@
|
||||
/obj/structure/window/reinforced{
|
||||
icon_state = "fwindow"
|
||||
},
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/west,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
@@ -551,7 +551,9 @@
|
||||
icon_state = "fwindow";
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
@@ -872,7 +874,9 @@
|
||||
icon_state = "fwindow";
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plating/ironsand{
|
||||
icon_state = "ironsand1"
|
||||
},
|
||||
@@ -1698,7 +1702,7 @@
|
||||
icon_state = "fwindow";
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/one_side,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/directional,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/awaymission/wwrefine)
|
||||
"fB" = (
|
||||
@@ -2143,7 +2147,9 @@
|
||||
/turf/open/floor/mineral/titanium/yellow,
|
||||
/area/awaymission/wwrefine)
|
||||
"gX" = (
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end/north,
|
||||
/obj/effect/spawner/structure/window/hollow/reinforced/end{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
icon_state = "fwindow"
|
||||
},
|
||||
|
||||
+3
-2
@@ -3,16 +3,17 @@
|
||||
#include "map_files\generic\Space.dmm"
|
||||
#include "map_files\generic\SpaceDock.dmm"
|
||||
#include "map_files\Mining\Lavaland.dmm"
|
||||
#include "map_files\generic\City_of_Cogs.dmm"
|
||||
|
||||
#ifdef ALL_MAPS
|
||||
#include "map_files\debug\runtimestation.dmm"
|
||||
#include "map_files\Deltastation\DeltaStation2.dmm"
|
||||
#include "map_files\MetaStation\MetaStation.dmm"
|
||||
#include "map_files\OmegaStation\OmegaStation.dmm"
|
||||
#include "map_files\PubbyStation\PubbyStation.dmm"
|
||||
// #include "map_files\PubbyStation\PubbyStation.dmm"
|
||||
#include "map_files\BoxStation\BoxStation.dmm"
|
||||
|
||||
#ifdef TRAVISBUILDING
|
||||
#include "templates.dm"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -358,8 +358,6 @@
|
||||
/area/mine/laborcamp)
|
||||
"bj" = (
|
||||
/obj/machinery/status_display{
|
||||
density = 0;
|
||||
layer = 4;
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+396
-346
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+561
-243
@@ -1,273 +1,591 @@
|
||||
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
|
||||
"a" = (
|
||||
/turf/closed/wall/mineral/titanium/overspace,
|
||||
/area/shuttle/supply)
|
||||
"b" = (
|
||||
"aa" = (
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
"ab" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"c" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"d" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"e" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 2;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"f" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 8;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"g" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"h" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 9;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"i" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 1;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"j" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 10;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"k" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 6;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"l" = (
|
||||
/obj/machinery/door/poddoor{
|
||||
id = "QMLoaddoor2";
|
||||
name = "supply dock loading door"
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 8;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"ac" = (
|
||||
/obj/effect/spawner/structure/window/shuttle,
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/supply)
|
||||
"m" = (
|
||||
/area/shuttle/escape)
|
||||
"ad" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/scalpel,
|
||||
/obj/item/retractor{
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/item/hemostat,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"ae" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/cautery,
|
||||
/obj/item/surgicaldrill,
|
||||
/obj/item/circular_saw{
|
||||
pixel_y = 9
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"af" = (
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"ag" = (
|
||||
/obj/structure/shuttle/engine/propulsion/right{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
"ah" = (
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal,
|
||||
/area/shuttle/escape)
|
||||
"ai" = (
|
||||
/obj/machinery/computer/emergency_shuttle,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"n" = (
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"o" = (
|
||||
/obj/machinery/door/airlock/titanium{
|
||||
name = "Supply Shuttle Airlock";
|
||||
req_access_txt = "31"
|
||||
/area/shuttle/escape)
|
||||
"aj" = (
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"ak" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-22"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/supply)
|
||||
"p" = (
|
||||
/obj/machinery/button/door{
|
||||
dir = 2;
|
||||
id = "QMLoaddoor2";
|
||||
name = "Loading Doors";
|
||||
pixel_x = 24;
|
||||
pixel_y = 8
|
||||
},
|
||||
/obj/machinery/button/door{
|
||||
id = "QMLoaddoor";
|
||||
name = "Loading Doors";
|
||||
pixel_x = 24;
|
||||
pixel_y = -8
|
||||
},
|
||||
/obj/machinery/conveyor_switch/oneway{
|
||||
id = "cargoshuttle"
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"al" = (
|
||||
/obj/structure/chair,
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"am" = (
|
||||
/obj/structure/chair,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"an" = (
|
||||
/obj/structure/table/optable,
|
||||
/obj/item/surgical_drapes,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"ao" = (
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"q" = (
|
||||
/obj/machinery/door/airlock/titanium{
|
||||
name = "Supply Shuttle Airlock";
|
||||
req_access_txt = "31"
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"ap" = (
|
||||
/obj/structure/shuttle/engine/propulsion{
|
||||
dir = 4
|
||||
},
|
||||
/obj/docking_port/mobile/supply{
|
||||
dwidth = 3;
|
||||
width = 10;
|
||||
timid = 1
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/supply)
|
||||
"r" = (
|
||||
/obj/machinery/door/poddoor{
|
||||
id = "QMLoaddoor";
|
||||
name = "supply dock loading door"
|
||||
},
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/supply)
|
||||
"s" = (
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal,
|
||||
/area/shuttle/supply)
|
||||
"t" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"u" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/shuttle/engine/heater,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/supply)
|
||||
"v" = (
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/supply)
|
||||
"w" = (
|
||||
/turf/open/space,
|
||||
/area/space)
|
||||
"x" = (
|
||||
/obj/structure/shuttle/engine/propulsion/burst/left,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/supply)
|
||||
"y" = (
|
||||
/obj/structure/shuttle/engine/propulsion,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/supply)
|
||||
"z" = (
|
||||
/obj/structure/shuttle/engine/propulsion/burst/right,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/supply)
|
||||
"A" = (
|
||||
/obj/machinery/conveyor{
|
||||
dir = 8;
|
||||
id = "cargoshuttle";
|
||||
name = "cargo shuttle conveyor belt"
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/area/shuttle/escape)
|
||||
"aq" = (
|
||||
/obj/machinery/computer/communications,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
"B" = (
|
||||
/obj/machinery/light{
|
||||
/area/shuttle/escape)
|
||||
"ar" = (
|
||||
/obj/structure/chair{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/supply)
|
||||
/area/shuttle/escape)
|
||||
"as" = (
|
||||
/obj/machinery/door/airlock/glass_command{
|
||||
name = "bridge door";
|
||||
req_access_txt = "19"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"at" = (
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"au" = (
|
||||
/obj/structure/shuttle/engine/propulsion/left{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/escape)
|
||||
"av" = (
|
||||
/obj/machinery/light,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"aw" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/escape)
|
||||
"ax" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/recharger{
|
||||
active_power_usage = 0;
|
||||
idle_power_usage = 0;
|
||||
pixel_y = 4;
|
||||
use_power = 0
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"ay" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/box/handcuffs,
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"az" = (
|
||||
/obj/machinery/door/airlock/glass_security{
|
||||
name = "security airlock";
|
||||
req_access_txt = "63"
|
||||
},
|
||||
/turf/open/floor/mineral/plastitanium/brig,
|
||||
/area/shuttle/escape)
|
||||
"aA" = (
|
||||
/obj/machinery/door/airlock/glass,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aB" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aC" = (
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aD" = (
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aE" = (
|
||||
/obj/structure/chair{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aF" = (
|
||||
/obj/structure/table,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aG" = (
|
||||
/obj/machinery/door/airlock/titanium,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aH" = (
|
||||
/obj/structure/chair{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aI" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/reagent_containers/food/snacks/boiledspaghetti{
|
||||
name = "pasghetti";
|
||||
pixel_x = 4;
|
||||
pixel_y = 7
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aJ" = (
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aK" = (
|
||||
/obj/machinery/door/airlock/titanium,
|
||||
/obj/docking_port/mobile/emergency{
|
||||
dheight = 0;
|
||||
dir = 8;
|
||||
dwidth = 6;
|
||||
height = 18;
|
||||
port_direction = 4;
|
||||
width = 14;
|
||||
timid = 1;
|
||||
name = "Birdboat emergency escape shuttle"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aL" = (
|
||||
/obj/structure/table,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aM" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/reagent_containers/food/snacks/chocolatebar,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aN" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aO" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aP" = (
|
||||
/obj/structure/chair,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 1;
|
||||
pixel_y = 2
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aQ" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_x = -27
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aR" = (
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/storage/firstaid/fire{
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/item/storage/firstaid/toxin,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aS" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aT" = (
|
||||
/obj/structure/chair{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/light,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aU" = (
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/storage/firstaid/brute{
|
||||
pixel_x = 5;
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/item/storage/firstaid/brute,
|
||||
/obj/machinery/light{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aV" = (
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
"aW" = (
|
||||
/obj/structure/chair,
|
||||
/turf/open/floor/plasteel/black,
|
||||
/area/shuttle/escape)
|
||||
"aX" = (
|
||||
/obj/machinery/sleeper{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
"aY" = (
|
||||
/obj/structure/table/glass,
|
||||
/obj/item/defibrillator/loaded,
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/shuttle/escape)
|
||||
|
||||
(1,1,1) = {"
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
b
|
||||
w
|
||||
aa
|
||||
aa
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
aa
|
||||
aa
|
||||
"}
|
||||
(2,1,1) = {"
|
||||
b
|
||||
e
|
||||
g
|
||||
e
|
||||
m
|
||||
B
|
||||
m
|
||||
g
|
||||
b
|
||||
x
|
||||
aa
|
||||
ab
|
||||
ah
|
||||
aq
|
||||
ak
|
||||
ac
|
||||
aB
|
||||
aH
|
||||
aH
|
||||
aH
|
||||
aB
|
||||
ah
|
||||
ab
|
||||
aa
|
||||
"}
|
||||
(3,1,1) = {"
|
||||
b
|
||||
f
|
||||
g
|
||||
f
|
||||
m
|
||||
m
|
||||
m
|
||||
g
|
||||
u
|
||||
y
|
||||
aa
|
||||
ab
|
||||
ai
|
||||
ar
|
||||
aj
|
||||
as
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aS
|
||||
ab
|
||||
aa
|
||||
"}
|
||||
(4,1,1) = {"
|
||||
b
|
||||
A
|
||||
g
|
||||
f
|
||||
m
|
||||
m
|
||||
m
|
||||
g
|
||||
u
|
||||
y
|
||||
aa
|
||||
ac
|
||||
aj
|
||||
aj
|
||||
av
|
||||
ab
|
||||
aD
|
||||
aD
|
||||
aL
|
||||
aC
|
||||
aC
|
||||
aS
|
||||
ab
|
||||
aa
|
||||
"}
|
||||
(5,1,1) = {"
|
||||
b
|
||||
f
|
||||
h
|
||||
j
|
||||
m
|
||||
m
|
||||
m
|
||||
g
|
||||
u
|
||||
y
|
||||
aa
|
||||
ac
|
||||
aj
|
||||
aj
|
||||
aw
|
||||
ab
|
||||
aE
|
||||
aE
|
||||
aM
|
||||
aC
|
||||
aC
|
||||
aS
|
||||
ab
|
||||
aa
|
||||
"}
|
||||
(6,1,1) = {"
|
||||
b
|
||||
f
|
||||
i
|
||||
k
|
||||
n
|
||||
p
|
||||
n
|
||||
g
|
||||
b
|
||||
z
|
||||
aa
|
||||
ab
|
||||
ak
|
||||
aj
|
||||
ak
|
||||
ab
|
||||
aF
|
||||
aI
|
||||
aL
|
||||
aC
|
||||
aC
|
||||
aT
|
||||
ah
|
||||
ab
|
||||
"}
|
||||
(7,1,1) = {"
|
||||
b
|
||||
b
|
||||
b
|
||||
l
|
||||
o
|
||||
b
|
||||
q
|
||||
r
|
||||
b
|
||||
w
|
||||
aa
|
||||
ab
|
||||
ab
|
||||
as
|
||||
ac
|
||||
ab
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aB
|
||||
ab
|
||||
"}
|
||||
(8,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
al
|
||||
at
|
||||
at
|
||||
ac
|
||||
aB
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aC
|
||||
aV
|
||||
ab
|
||||
"}
|
||||
(9,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
al
|
||||
at
|
||||
at
|
||||
az
|
||||
aC
|
||||
aC
|
||||
aN
|
||||
aP
|
||||
aC
|
||||
aC
|
||||
aW
|
||||
ac
|
||||
"}
|
||||
(10,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
am
|
||||
at
|
||||
at
|
||||
ac
|
||||
aC
|
||||
aC
|
||||
aN
|
||||
aP
|
||||
aC
|
||||
aC
|
||||
aW
|
||||
ac
|
||||
"}
|
||||
(11,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
al
|
||||
at
|
||||
ax
|
||||
ab
|
||||
aC
|
||||
aC
|
||||
aN
|
||||
aP
|
||||
aC
|
||||
aC
|
||||
aW
|
||||
ac
|
||||
"}
|
||||
(12,1,1) = {"
|
||||
aa
|
||||
ab
|
||||
al
|
||||
at
|
||||
ay
|
||||
ab
|
||||
aC
|
||||
aC
|
||||
aO
|
||||
aP
|
||||
aC
|
||||
aC
|
||||
aB
|
||||
ab
|
||||
"}
|
||||
(13,1,1) = {"
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ah
|
||||
aC
|
||||
aC
|
||||
ah
|
||||
ab
|
||||
aA
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(14,1,1) = {"
|
||||
ab
|
||||
ad
|
||||
an
|
||||
af
|
||||
af
|
||||
aA
|
||||
aC
|
||||
aC
|
||||
aA
|
||||
aQ
|
||||
af
|
||||
af
|
||||
aX
|
||||
ab
|
||||
"}
|
||||
(15,1,1) = {"
|
||||
ab
|
||||
ae
|
||||
af
|
||||
af
|
||||
af
|
||||
aA
|
||||
aC
|
||||
aC
|
||||
aA
|
||||
af
|
||||
af
|
||||
af
|
||||
af
|
||||
ab
|
||||
"}
|
||||
(16,1,1) = {"
|
||||
ab
|
||||
af
|
||||
ao
|
||||
af
|
||||
ab
|
||||
ab
|
||||
aG
|
||||
aG
|
||||
ab
|
||||
ab
|
||||
aR
|
||||
aU
|
||||
aY
|
||||
ab
|
||||
"}
|
||||
(17,1,1) = {"
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
aC
|
||||
aJ
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(18,1,1) = {"
|
||||
ab
|
||||
ag
|
||||
ap
|
||||
au
|
||||
ab
|
||||
ab
|
||||
aG
|
||||
aK
|
||||
ab
|
||||
ab
|
||||
ag
|
||||
ap
|
||||
au
|
||||
ab
|
||||
"}
|
||||
@@ -148,7 +148,6 @@
|
||||
},
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -307,7 +306,6 @@
|
||||
"bc" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -480,7 +478,6 @@
|
||||
"bG" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
|
||||
@@ -144,8 +144,7 @@
|
||||
/area/shuttle/escape)
|
||||
"aB" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/turf/open/floor/mineral/titanium,
|
||||
/area/shuttle/escape)
|
||||
@@ -198,7 +197,7 @@
|
||||
dir = 8;
|
||||
dwidth = 6;
|
||||
height = 18;
|
||||
port_angle = 90;
|
||||
port_direction = 4;
|
||||
width = 14;
|
||||
timid = 1;
|
||||
name = "Birdboat emergency escape shuttle"
|
||||
@@ -588,4 +587,4 @@ ag
|
||||
ap
|
||||
au
|
||||
ab
|
||||
"}
|
||||
"}
|
||||
@@ -540,7 +540,7 @@
|
||||
dwidth = 15;
|
||||
height = 20;
|
||||
name = "Cere emergency shuttle";
|
||||
port_angle = 90;
|
||||
port_direction = 4;
|
||||
preferred_direction = 2;
|
||||
width = 42
|
||||
},
|
||||
@@ -680,8 +680,7 @@
|
||||
/area/shuttle/escape)
|
||||
"ca" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/escape)
|
||||
@@ -703,8 +702,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/shuttle/escape)
|
||||
@@ -2075,4 +2073,4 @@ aa
|
||||
aa
|
||||
aa
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
@@ -153,7 +153,6 @@
|
||||
"an" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -168,7 +167,6 @@
|
||||
"ap" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -444,7 +442,7 @@
|
||||
name = "Delta emergency shuttle";
|
||||
width = 30;
|
||||
preferred_direction = 2;
|
||||
port_angle = 90
|
||||
port_direction = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/shuttle/escape)
|
||||
@@ -689,8 +687,7 @@
|
||||
/area/shuttle/escape)
|
||||
"bz" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/obj/machinery/button/flasher{
|
||||
id = "shuttleflash";
|
||||
@@ -703,8 +700,7 @@
|
||||
/area/shuttle/escape)
|
||||
"bA" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1
|
||||
icon_state = "plant-21"
|
||||
},
|
||||
/turf/open/floor/plasteel/neutral/corner{
|
||||
dir = 4
|
||||
@@ -883,7 +879,6 @@
|
||||
"cb" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -1050,7 +1045,6 @@
|
||||
"cA" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -1083,7 +1077,6 @@
|
||||
"cE" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -1669,4 +1662,4 @@ aa
|
||||
aa
|
||||
aa
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
@@ -304,7 +304,6 @@
|
||||
"bg" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -359,7 +358,6 @@
|
||||
"bp" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
@@ -369,7 +367,6 @@
|
||||
"bq" = (
|
||||
/obj/item/twohanded/required/kirbyplants{
|
||||
icon_state = "plant-21";
|
||||
layer = 4.1;
|
||||
pixel_x = -3;
|
||||
pixel_y = 3
|
||||
},
|
||||
|
||||
@@ -279,7 +279,7 @@
|
||||
dwidth = 4;
|
||||
height = 15;
|
||||
name = "Pubby emergency shuttle";
|
||||
port_angle = 90;
|
||||
port_direction = 4;
|
||||
width = 18
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
@@ -638,4 +638,4 @@ ab
|
||||
ab
|
||||
ab
|
||||
aa
|
||||
"}
|
||||
"}
|
||||
@@ -288,7 +288,7 @@
|
||||
/area/shuttle/escape)
|
||||
"ba" = (
|
||||
/obj/structure/destructible/cult/forge{
|
||||
desc = "A engine used in powering the shuttle.";
|
||||
desc = "An engine used in powering the shuttle.";
|
||||
name = "magma engine"
|
||||
},
|
||||
/turf/open/floor/plasteel/yellow,
|
||||
@@ -307,7 +307,7 @@
|
||||
/area/shuttle/escape)
|
||||
"bd" = (
|
||||
/obj/structure/destructible/cult/forge{
|
||||
desc = "A engine used in powering the shuttle.";
|
||||
desc = "An engine used in powering the shuttle.";
|
||||
name = "magma engine"
|
||||
},
|
||||
/turf/open/floor/plasteel/whitered,
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
id = "ferry";
|
||||
name = "ferry shuttle";
|
||||
roundstart_move = "ferry_away";
|
||||
port_angle = 180;
|
||||
port_direction = 2;
|
||||
width = 5;
|
||||
timid = 1
|
||||
},
|
||||
@@ -170,4 +170,4 @@ d
|
||||
m
|
||||
d
|
||||
c
|
||||
"}
|
||||
"}
|
||||
@@ -46,10 +46,7 @@
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/transport)
|
||||
"am" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/shuttle/transport)
|
||||
"an" = (
|
||||
@@ -114,10 +111,7 @@
|
||||
/turf/closed/wall/mineral/titanium,
|
||||
/area/shuttle/transport)
|
||||
"aB" = (
|
||||
/obj/structure/grille{
|
||||
density = 0;
|
||||
icon_state = "brokengrille"
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/obj/structure/window/fulltile,
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
/area/shuttle/transport)
|
||||
@@ -184,7 +178,7 @@
|
||||
name = "The Lighthouse";
|
||||
roundstart_move = "ferry_away";
|
||||
timid = 1;
|
||||
port_angle = 180;
|
||||
port_direction = 2;
|
||||
width = 16
|
||||
},
|
||||
/turf/open/floor/mineral/titanium/blue,
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
id = "ferry";
|
||||
name = "ferry shuttle";
|
||||
roundstart_move = "ferry_away";
|
||||
port_angle = 180;
|
||||
port_direction = 2;
|
||||
width = 5;
|
||||
timid = 1
|
||||
},
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
id = "whiteship";
|
||||
launch_status = 0;
|
||||
name = "NT Medical Ship";
|
||||
port_angle = -90;
|
||||
port_direction = 8;
|
||||
preferred_direction = 4;
|
||||
roundstart_move = "whiteship_away";
|
||||
timid = null;
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
id = "whiteship";
|
||||
launch_status = 0;
|
||||
name = "NT Recovery White-Ship";
|
||||
port_angle = -90;
|
||||
port_direction = 8;
|
||||
preferred_direction = 1;
|
||||
roundstart_move = "whiteship_away";
|
||||
width = 16
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
id = "whiteship";
|
||||
launch_status = 0;
|
||||
name = "NT Recovery White-Ship";
|
||||
port_angle = -90;
|
||||
port_direction = 8;
|
||||
preferred_direction = 4;
|
||||
roundstart_move = "whiteship_away";
|
||||
width = 27
|
||||
@@ -1478,9 +1478,7 @@
|
||||
req_access_txt = "0";
|
||||
use_power = 0
|
||||
},
|
||||
/obj/machinery/iv_drip{
|
||||
density = 0
|
||||
},
|
||||
/obj/machinery/iv_drip,
|
||||
/obj/effect/decal/cleanable/dirt{
|
||||
desc = "A thin layer of dust coating the floor.";
|
||||
name = "dust"
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
id = "whiteship";
|
||||
launch_status = 0;
|
||||
name = "White Ship";
|
||||
port_angle = 90;
|
||||
port_direction = 4;
|
||||
preferred_direction = 1;
|
||||
roundstart_move = "whiteship_away";
|
||||
timid = 1;
|
||||
|
||||
@@ -49,7 +49,7 @@ curl -v \
|
||||
-H "User-Agent: myBotThing (http://some.url, v0.1)" \
|
||||
-H "Content-Type: application/json" \
|
||||
-X POST \
|
||||
-d "{\"content\":\"Mirroring [$1] from /tg/ to Hippie\"}" \
|
||||
-d "{\"content\":\"Mirroring [$1] from /tg/ to Citadel\"}" \
|
||||
https://discordapp.com/api/channels/$CHANNELID/messages
|
||||
|
||||
# We need to make sure we are always on a clean master when creating the new branch.
|
||||
|
||||
@@ -132,5 +132,6 @@
|
||||
#define NOLIVER 29
|
||||
#define NOSTOMACH 30
|
||||
//citadel code
|
||||
#define NOAROUSAL 29//Stops all arousal effects
|
||||
#define NOGENITALS 30//Cannot create, use, or otherwise have genitals
|
||||
#define NOAROUSAL 29 //Stops all arousal effects
|
||||
#define NOGENITALS 30 //Cannot create, use, or otherwise have genitals
|
||||
#define NO_DNA_COPY 31
|
||||
|
||||
+148
-74
@@ -1,74 +1,148 @@
|
||||
//A set of constants used to determine which type of mute an admin wishes to apply:
|
||||
//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1)
|
||||
//Therefore there needs to be a gap between the flags_1 for the automute flags_1
|
||||
#define MUTE_IC 1
|
||||
#define MUTE_OOC 2
|
||||
#define MUTE_PRAY 4
|
||||
#define MUTE_ADMINHELP 8
|
||||
#define MUTE_DEADCHAT 16
|
||||
#define MUTE_ALL 31
|
||||
|
||||
//Some constants for DB_Ban
|
||||
#define BANTYPE_PERMA 1
|
||||
#define BANTYPE_TEMP 2
|
||||
#define BANTYPE_JOB_PERMA 3
|
||||
#define BANTYPE_JOB_TEMP 4
|
||||
#define BANTYPE_ANY_FULLBAN 5 //used to locate stuff to unban.
|
||||
|
||||
#define BANTYPE_ADMIN_PERMA 7
|
||||
#define BANTYPE_ADMIN_TEMP 8
|
||||
#define BANTYPE_ANY_JOB 9 //used to remove jobbans
|
||||
|
||||
//Please don't edit these values without speaking to Errorage first ~Carn
|
||||
//Admin Permissions
|
||||
#define R_BUILDMODE 1
|
||||
#define R_ADMIN 2
|
||||
#define R_BAN 4
|
||||
#define R_FUN 8
|
||||
#define R_SERVER 16
|
||||
#define R_DEBUG 32
|
||||
#define R_POSSESS 64
|
||||
#define R_PERMISSIONS 128
|
||||
#define R_STEALTH 256
|
||||
#define R_POLL 512
|
||||
#define R_VAREDIT 1024
|
||||
#define R_SOUNDS 2048
|
||||
#define R_SPAWN 4096
|
||||
|
||||
#if DM_VERSION > 512
|
||||
#error Remove the flag below , its been long enough
|
||||
#endif
|
||||
//legacy , remove post 512, it was replaced by R_POLL
|
||||
#define R_REJUVINATE 2
|
||||
|
||||
#define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
|
||||
|
||||
#define ADMIN_QUE(user) "(<a href='?_src_=holder;adminmoreinfo=\ref[user]'>?</a>)"
|
||||
#define ADMIN_FLW(user) "(<a href='?_src_=holder;adminplayerobservefollow=\ref[user]'>FLW</a>)"
|
||||
#define ADMIN_PP(user) "(<a href='?_src_=holder;adminplayeropts=\ref[user]'>PP</a>)"
|
||||
#define ADMIN_VV(atom) "(<a href='?_src_=vars;Vars=\ref[atom]'>VV</a>)"
|
||||
#define ADMIN_SM(user) "(<a href='?_src_=holder;subtlemessage=\ref[user]'>SM</a>)"
|
||||
#define ADMIN_TP(user) "(<a href='?_src_=holder;traitor=\ref[user]'>TP</a>)"
|
||||
#define ADMIN_KICK(user) "(<a href='?_src_=holder;boot2=\ref[user]'>KICK</a>)"
|
||||
#define ADMIN_CENTCOM_REPLY(user) "(<a href='?_src_=holder;CentComReply=\ref[user]'>RPLY</a>)"
|
||||
#define ADMIN_SYNDICATE_REPLY(user) "(<a href='?_src_=holder;SyndicateReply=\ref[user]'>RPLY</a>)"
|
||||
#define ADMIN_SC(user) "(<a href='?_src_=holder;adminspawncookie=\ref[user]'>SC</a>)"
|
||||
#define ADMIN_SMITE(user) "(<a href='?_src_=holder;adminsmite=\ref[user]'>SMITE</a>)"
|
||||
#define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]"
|
||||
#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]"
|
||||
#define ADMIN_SET_SD_CODE "(<a href='?_src_=holder;set_selfdestruct_code=1'>SETCODE</a>)"
|
||||
#define ADMIN_FULLMONTY_NONAME(user) "[ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)] [ADMIN_INDIVIDUALLOG(user)] [ADMIN_SMITE(user)]"
|
||||
#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_FULLMONTY_NONAME(user)]"
|
||||
#define ADMIN_JMP(src) "(<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)"
|
||||
#define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]"
|
||||
#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
|
||||
#define ADMIN_INDIVIDUALLOG(user) "(<a href='?_src_=holder;individuallog=\ref[user]'>LOGS</a>)"
|
||||
|
||||
#define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt"
|
||||
#define ADMIN_PUNISHMENT_BRAINDAMAGE "Brain damage"
|
||||
#define ADMIN_PUNISHMENT_GIB "Gib"
|
||||
#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device"
|
||||
|
||||
#define AHELP_ACTIVE 1
|
||||
#define AHELP_CLOSED 2
|
||||
#define AHELP_RESOLVED 3
|
||||
//A set of constants used to determine which type of mute an admin wishes to apply:
|
||||
//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1)
|
||||
//Therefore there needs to be a gap between the flags_1 for the automute flags_1
|
||||
#define MUTE_IC 1
|
||||
#define MUTE_OOC 2
|
||||
#define MUTE_PRAY 4
|
||||
#define MUTE_ADMINHELP 8
|
||||
#define MUTE_DEADCHAT 16
|
||||
#define MUTE_ALL 31
|
||||
|
||||
//Some constants for DB_Ban
|
||||
#define BANTYPE_PERMA 1
|
||||
#define BANTYPE_TEMP 2
|
||||
#define BANTYPE_JOB_PERMA 3
|
||||
#define BANTYPE_JOB_TEMP 4
|
||||
#define BANTYPE_ANY_FULLBAN 5 //used to locate stuff to unban.
|
||||
|
||||
#define BANTYPE_ADMIN_PERMA 7
|
||||
#define BANTYPE_ADMIN_TEMP 8
|
||||
#define BANTYPE_ANY_JOB 9 //used to remove jobbans
|
||||
|
||||
//Please don't edit these values without speaking to Errorage first ~Carn
|
||||
//Admin Permissions
|
||||
#define R_BUILDMODE 1
|
||||
#define R_ADMIN 2
|
||||
#define R_BAN 4
|
||||
#define R_FUN 8
|
||||
#define R_SERVER 16
|
||||
#define R_DEBUG 32
|
||||
#define R_POSSESS 64
|
||||
#define R_PERMISSIONS 128
|
||||
#define R_STEALTH 256
|
||||
#define R_POLL 512
|
||||
#define R_VAREDIT 1024
|
||||
#define R_SOUNDS 2048
|
||||
#define R_SPAWN 4096
|
||||
|
||||
#if DM_VERSION > 512
|
||||
#error Remove the flag below , its been long enough
|
||||
#endif
|
||||
//legacy , remove post 512, it was replaced by R_POLL
|
||||
#define R_REJUVINATE 2
|
||||
|
||||
#define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
|
||||
|
||||
#define ADMIN_QUE(user) "(<a href='?_src_=holder;adminmoreinfo=\ref[user]'>?</a>)"
|
||||
#define ADMIN_FLW(user) "(<a href='?_src_=holder;adminplayerobservefollow=\ref[user]'>FLW</a>)"
|
||||
#define ADMIN_PP(user) "(<a href='?_src_=holder;adminplayeropts=\ref[user]'>PP</a>)"
|
||||
#define ADMIN_VV(atom) "(<a href='?_src_=vars;Vars=\ref[atom]'>VV</a>)"
|
||||
#define ADMIN_SM(user) "(<a href='?_src_=holder;subtlemessage=\ref[user]'>SM</a>)"
|
||||
#define ADMIN_TP(user) "(<a href='?_src_=holder;traitor=\ref[user]'>TP</a>)"
|
||||
#define ADMIN_KICK(user) "(<a href='?_src_=holder;boot2=\ref[user]'>KICK</a>)"
|
||||
#define ADMIN_CENTCOM_REPLY(user) "(<a href='?_src_=holder;CentComReply=\ref[user]'>RPLY</a>)"
|
||||
#define ADMIN_SYNDICATE_REPLY(user) "(<a href='?_src_=holder;SyndicateReply=\ref[user]'>RPLY</a>)"
|
||||
#define ADMIN_SC(user) "(<a href='?_src_=holder;adminspawncookie=\ref[user]'>SC</a>)"
|
||||
#define ADMIN_SMITE(user) "(<a href='?_src_=holder;adminsmite=\ref[user]'>SMITE</a>)"
|
||||
#define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]"
|
||||
#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]"
|
||||
#define ADMIN_SET_SD_CODE "(<a href='?_src_=holder;set_selfdestruct_code=1'>SETCODE</a>)"
|
||||
#define ADMIN_FULLMONTY_NONAME(user) "[ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)] [ADMIN_INDIVIDUALLOG(user)] [ADMIN_SMITE(user)]"
|
||||
#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_FULLMONTY_NONAME(user)]"
|
||||
#define ADMIN_JMP(src) "(<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)"
|
||||
#define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]"
|
||||
#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
|
||||
#define ADMIN_INDIVIDUALLOG(user) "(<a href='?_src_=holder;individuallog=\ref[user]'>LOGS</a>)"
|
||||
|
||||
#define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt"
|
||||
#define ADMIN_PUNISHMENT_BRAINDAMAGE "Brain damage"
|
||||
#define ADMIN_PUNISHMENT_GIB "Gib"
|
||||
#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device"
|
||||
|
||||
#define AHELP_ACTIVE 1
|
||||
#define AHELP_CLOSED 2
|
||||
#define AHELP_RESOLVED 3
|
||||
//A set of constants used to determine which type of mute an admin wishes to apply:
|
||||
//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1)
|
||||
//Therefore there needs to be a gap between the flags for the automute flags
|
||||
#define MUTE_IC 1
|
||||
#define MUTE_OOC 2
|
||||
#define MUTE_PRAY 4
|
||||
#define MUTE_ADMINHELP 8
|
||||
#define MUTE_DEADCHAT 16
|
||||
#define MUTE_ALL 31
|
||||
|
||||
//Some constants for DB_Ban
|
||||
#define BANTYPE_PERMA 1
|
||||
#define BANTYPE_TEMP 2
|
||||
#define BANTYPE_JOB_PERMA 3
|
||||
#define BANTYPE_JOB_TEMP 4
|
||||
#define BANTYPE_ANY_FULLBAN 5 //used to locate stuff to unban.
|
||||
|
||||
#define BANTYPE_ADMIN_PERMA 7
|
||||
#define BANTYPE_ADMIN_TEMP 8
|
||||
#define BANTYPE_ANY_JOB 9 //used to remove jobbans
|
||||
|
||||
//Please don't edit these values without speaking to Errorage first ~Carn
|
||||
//Admin Permissions
|
||||
#define R_BUILDMODE 1
|
||||
#define R_ADMIN 2
|
||||
#define R_BAN 4
|
||||
#define R_FUN 8
|
||||
#define R_SERVER 16
|
||||
#define R_DEBUG 32
|
||||
#define R_POSSESS 64
|
||||
#define R_PERMISSIONS 128
|
||||
#define R_STEALTH 256
|
||||
#define R_POLL 512
|
||||
#define R_VAREDIT 1024
|
||||
#define R_SOUNDS 2048
|
||||
#define R_SPAWN 4096
|
||||
|
||||
#if DM_VERSION > 512
|
||||
#error Remove the flag below , its been long enough
|
||||
#endif
|
||||
//legacy , remove post 512, it was replaced by R_POLL
|
||||
#define R_REJUVINATE 2
|
||||
|
||||
#define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated.
|
||||
|
||||
#define ADMIN_QUE(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];adminmoreinfo=\ref[user]'>?</a>)"
|
||||
#define ADMIN_FLW(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];adminplayerobservefollow=\ref[user]'>FLW</a>)"
|
||||
#define ADMIN_PP(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];adminplayeropts=\ref[user]'>PP</a>)"
|
||||
#define ADMIN_VV(atom) "(<a href='?_src_=vars;[HrefToken(TRUE)];Vars=\ref[atom]'>VV</a>)"
|
||||
#define ADMIN_SM(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];subtlemessage=\ref[user]'>SM</a>)"
|
||||
#define ADMIN_TP(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];traitor=\ref[user]'>TP</a>)"
|
||||
#define ADMIN_KICK(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];boot2=\ref[user]'>KICK</a>)"
|
||||
#define ADMIN_CENTCOM_REPLY(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];CentComReply=\ref[user]'>RPLY</a>)"
|
||||
#define ADMIN_SYNDICATE_REPLY(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];SyndicateReply=\ref[user]'>RPLY</a>)"
|
||||
#define ADMIN_SC(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];adminspawncookie=\ref[user]'>SC</a>)"
|
||||
#define ADMIN_SMITE(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];adminsmite=\ref[user]'>SMITE</a>)"
|
||||
#define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]"
|
||||
#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]"
|
||||
#define ADMIN_SET_SD_CODE "(<a href='?_src_=holder;[HrefToken(TRUE)];set_selfdestruct_code=1'>SETCODE</a>)"
|
||||
#define ADMIN_FULLMONTY_NONAME(user) "[ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)] [ADMIN_INDIVIDUALLOG(user)] [ADMIN_SMITE(user)]"
|
||||
#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_FULLMONTY_NONAME(user)]"
|
||||
#define ADMIN_JMP(src) "(<a href='?_src_=holder;[HrefToken(TRUE)];adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>)"
|
||||
#define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]"
|
||||
#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
|
||||
#define ADMIN_INDIVIDUALLOG(user) "(<a href='?_src_=holder;[HrefToken(TRUE)];individuallog=\ref[user]'>LOGS</a>)"
|
||||
|
||||
#define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt"
|
||||
#define ADMIN_PUNISHMENT_BRAINDAMAGE "Brain damage"
|
||||
#define ADMIN_PUNISHMENT_GIB "Gib"
|
||||
#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device"
|
||||
|
||||
#define AHELP_ACTIVE 1
|
||||
#define AHELP_CLOSED 2
|
||||
#define AHELP_RESOLVED 3
|
||||
|
||||
@@ -18,3 +18,7 @@
|
||||
#define ANTAG_DATUM_IAA_HUMAN_CUSTOM /datum/antagonist/traitor/human/internal_affairs/custom
|
||||
#define ANTAG_DATUM_IAA_AI_CUSTOM /datum/antagonist/traitor/AI/internal_affairs/custom
|
||||
#define ANTAG_DATUM_IAA_AI /datum/antagonist/traitor/AI/internal_affairs
|
||||
#define ANTAG_DATUM_BROTHER /datum/antagonist/brother
|
||||
#define ANTAG_DATUM_ABDUCTOR /datum/antagonist/abductor
|
||||
#define ANTAG_DATUM_ABDUCTOR_SCIENTIST /datum/antagonist/abductor/scientist
|
||||
#define ANTAG_DATUM_ABDUCTOR_AGENT /datum/antagonist/abductor/agent
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#define ANTAG_HUD_SOULLESS 17
|
||||
#define ANTAG_HUD_CLOCKWORK 18
|
||||
#define ANTAG_HUD_BORER 19
|
||||
#define ANTAG_HUD_BROTHER 20
|
||||
|
||||
// Notification action types
|
||||
#define NOTIFY_JUMP "jump"
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#define CINEMATIC_DEFAULT 1
|
||||
#define CINEMATIC_SELFDESTRUCT 2
|
||||
#define CINEMATIC_SELFDESTRUCT_MISS 3
|
||||
#define CINEMATIC_NUKE_WIN 4
|
||||
#define CINEMATIC_NUKE_MISS 5
|
||||
#define CINEMATIC_ANNIHILATION 6
|
||||
#define CINEMATIC_MALF 7
|
||||
#define CINEMATIC_CULT 8
|
||||
#define CINEMATIC_NUKE_FAKE 9
|
||||
#define CINEMATIC_NUKE_NO_CORE 10
|
||||
#define CINEMATIC_NUKE_FAR 11
|
||||
+17
-29
@@ -8,43 +8,31 @@
|
||||
GLOBAL_VAR_INIT(clockwork_construction_value, 0) //The total value of all structures built by the clockwork cult
|
||||
GLOBAL_VAR_INIT(clockwork_caches, 0) //How many clockwork caches exist in the world (not each individual)
|
||||
GLOBAL_VAR_INIT(clockwork_vitality, 0) //How much Vitality is stored, total
|
||||
GLOBAL_LIST_EMPTY(active_daemons) //A list of all active tinkerer's daemons
|
||||
GLOBAL_VAR_INIT(clockwork_power, 0) //How many watts of power are globally available to the clockwork cult
|
||||
|
||||
GLOBAL_LIST_EMPTY(all_clockwork_objects) //All clockwork items, structures, and effects in existence
|
||||
GLOBAL_LIST_EMPTY(all_clockwork_mobs) //All clockwork SERVANTS (not creatures) in existence
|
||||
GLOBAL_LIST_INIT(clockwork_component_cache, list(BELLIGERENT_EYE = 0, VANGUARD_COGWHEEL = 0, GEIS_CAPACITOR = 0, REPLICANT_ALLOY = 0, HIEROPHANT_ANSIBLE = 0)) //The pool of components that caches draw from
|
||||
|
||||
GLOBAL_VAR_INIT(ratvar_approaches, 0) //The servants can choose to "herald" Ratvar, permanently buffing them but announcing their presence to the crew.
|
||||
GLOBAL_VAR_INIT(ratvar_awakens, 0) //If Ratvar has been summoned; not a boolean, for proper handling of multiple Ratvars
|
||||
GLOBAL_VAR_INIT(ark_of_the_clockwork_justiciar, FALSE) //The Ark on the Reebe z-level
|
||||
|
||||
GLOBAL_VAR_INIT(clockwork_gateway_activated, FALSE) //if a gateway to the celestial derelict has ever been successfully activated
|
||||
GLOBAL_VAR_INIT(script_scripture_unlocked, FALSE) //If script scripture is available, through converting at least one crewmember
|
||||
GLOBAL_VAR_INIT(application_scripture_unlocked, FALSE) //If script scripture is available
|
||||
GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not used to track existing scripture
|
||||
|
||||
//Scripture tiers and requirements; peripherals should never be used
|
||||
#define SCRIPTURE_PERIPHERAL "Peripheral"
|
||||
#define SCRIPTURE_DRIVER "Driver"
|
||||
#define SCRIPTURE_SCRIPT "Script"
|
||||
#define SCRIPT_SERVANT_REQ 6
|
||||
#define SCRIPT_CACHE_REQ 1
|
||||
#define SCRIPTURE_APPLICATION "Application"
|
||||
#define APPLICATION_SERVANT_REQ 9
|
||||
#define APPLICATION_CACHE_REQ 3
|
||||
#define APPLICATION_CV_REQ 100
|
||||
#define SCRIPTURE_JUDGEMENT "Judgement"
|
||||
#define JUDGEMENT_SERVANT_REQ 12
|
||||
#define JUDGEMENT_CACHE_REQ 5
|
||||
#define JUDGEMENT_CV_REQ 300
|
||||
|
||||
//general component/cooldown things
|
||||
#define SLAB_PRODUCTION_TIME 450 //how long(deciseconds) slabs require to produce a single component; defaults to 45 seconds
|
||||
//Various costs related to power.
|
||||
#define SCRIPT_UNLOCK_THRESHOLD 50000 //Scripts will unlock if the total power reaches this amount
|
||||
#define APPLICATION_UNLOCK_THRESHOLD 100000 //Applications will unlock if the total powre reaches this amount
|
||||
|
||||
#define SLAB_SERVANT_SLOWDOWN 150 //how much each servant above 5 slows down slab-based generation; defaults to 15 seconds per sevant
|
||||
|
||||
#define SLAB_SLOWDOWN_MAXIMUM 1350 //maximum slowdown from additional servants; defaults to 2 minutes 15 seconds
|
||||
|
||||
#define CACHE_PRODUCTION_TIME 300 //how long(deciseconds) caches require to produce a component; defaults to 30 seconds
|
||||
|
||||
#define ACTIVE_CACHE_SLOWDOWN 50 //how many additional deciseconds caches take to produce a component for each linked cache; defaults to 5 seconds
|
||||
|
||||
#define LOWER_PROB_PER_COMPONENT 10 //how much each component in the cache reduces the weight of getting another of that component type
|
||||
|
||||
#define MAX_COMPONENTS_BEFORE_RAND (10*LOWER_PROB_PER_COMPONENT) //the number of each component, times LOWER_PROB_PER_COMPONENT, you need to have before component generation will become random
|
||||
#define ABSCOND_ABDUCTION_COST 95
|
||||
|
||||
//clockcult power defines
|
||||
#define MIN_CLOCKCULT_POWER 25 //the minimum amount of power clockcult machines will handle gracefully
|
||||
@@ -72,11 +60,11 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us
|
||||
//Ark defines
|
||||
#define GATEWAY_SUMMON_RATE 1 //the time amount the Gateway to the Celestial Derelict gets each process tick; defaults to 1 per tick
|
||||
|
||||
#define GATEWAY_REEBE_FOUND 119 //when progress is at or above this, the gateway finds reebe and begins drawing power
|
||||
#define GATEWAY_REEBE_FOUND 240 //when progress is at or above this, the gateway finds reebe and begins drawing power
|
||||
|
||||
#define GATEWAY_RATVAR_COMING 239 //when progress is at or above this, ratvar has entered and is coming through the gateway
|
||||
#define GATEWAY_RATVAR_COMING 480 //when progress is at or above this, ratvar has entered and is coming through the gateway
|
||||
|
||||
#define GATEWAY_RATVAR_ARRIVAL 300 //when progress is at or above this, game over ratvar's here everybody go home
|
||||
#define GATEWAY_RATVAR_ARRIVAL 600 //when progress is at or above this, game over ratvar's here everybody go home
|
||||
|
||||
#define ARK_SUMMON_COST 5 //how many of each component an Ark costs to summon
|
||||
|
||||
@@ -94,6 +82,6 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us
|
||||
|
||||
#define OCULAR_WARDEN_EXCLUSION_RANGE 3 //the range at which ocular wardens cannot be placed near other ocular wardens
|
||||
|
||||
#define RATVARIAN_SPEAR_DURATION 1800 //how long ratvarian spears last; defaults to 3 minutes
|
||||
#define CLOCKWORK_ARMOR_COOLDOWN 1800 //The cooldown period between summoning suits of clockwork armor
|
||||
|
||||
#define PRISM_DELAY_DURATION 1200 //how long prolonging prisms delay the shuttle for; defaults to 2 minutes
|
||||
#define RATVARIAN_SPEAR_COOLDOWN 300 //The cooldown period between summoning another Ratvarian spear
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
|
||||
//Health Defines
|
||||
#define HEALTH_THRESHOLD_CRIT 0
|
||||
#define HEALTH_THRESHOLD_FULLCRIT -30
|
||||
#define HEALTH_THRESHOLD_DEAD -100
|
||||
|
||||
//Actual combat defines
|
||||
@@ -73,6 +74,9 @@
|
||||
#define GRAB_NECK 2
|
||||
#define GRAB_KILL 3
|
||||
|
||||
//slowdown when in softcrit
|
||||
#define SOFTCRIT_ADD_SLOWDOWN 6
|
||||
|
||||
//Attack types for checking shields/hit reactions
|
||||
#define MELEE_ATTACK 1
|
||||
#define UNARMED_ATTACK 2
|
||||
|
||||
@@ -5,14 +5,62 @@
|
||||
// How multiple components of the exact same type are handled in the same datum
|
||||
|
||||
#define COMPONENT_DUPE_HIGHLANDER 0 //old component is deleted (default)
|
||||
#define COMPONENT_DUPE_ALLOWED 1 //duplicates allowed
|
||||
#define COMPONENT_DUPE_ALLOWED 1 //duplicates allowed
|
||||
#define COMPONENT_DUPE_UNIQUE 2 //new component is deleted
|
||||
|
||||
// All signals. Format:
|
||||
// When the signal is called: (signal arguments)
|
||||
|
||||
#define COMSIG_COMPONENT_ADDED "component_added" //when a component is added to a datum: (datum/component)
|
||||
#define COMSIG_COMPONENT_REMOVING "component_removing" //before a component is removed from a datum because of RemoveComponent: (datum/component)
|
||||
// /datum signals
|
||||
#define COMSIG_COMPONENT_ADDED "component_added" //when a component is added to a datum: (/datum/component)
|
||||
#define COMSIG_COMPONENT_REMOVING "component_removing" //before a component is removed from a datum because of RemoveComponent: (/datum/component)
|
||||
#define COMSIG_PARENT_QDELETED "parent_qdeleted" //before a datum's Destroy() is called: ()
|
||||
#define COMSIG_ATOM_ENTERED "atom_entered" //from base of atom/Entered(): (atom/movable, atom)
|
||||
#define COMSIG_MOVABLE_CROSSED "movable_crossed" //from base of atom/movable/Crossed(): (atom/movable)
|
||||
|
||||
// /atom signals
|
||||
#define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params)
|
||||
#define COMSIG_ATOM_HULK_ATTACK "hulk_attack" //from base of atom/attack_hulk(): (/mob/living/carbon/human)
|
||||
#define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob)
|
||||
#define COMSIG_ATOM_ENTERED "atom_entered" //from base of atom/Entered(): (/atom/movable, /atom)
|
||||
#define COMSIG_ATOM_EX_ACT "atom_ex_act" //from base of atom/ex_act(): (severity, target)
|
||||
#define COMSIG_ATOM_EMP_ACT "atom_emp_act" //from base of atom/emp_act(): (severity)
|
||||
#define COMSIG_ATOM_FIRE_ACT "atom_fire_act" //from base of atom/fire_act(): (exposed_temperature, exposed_volume)
|
||||
#define COMSIG_ATOM_BULLET_ACT "atom_bullet_act" //from base of atom/bullet_act(): (/obj/item/projectile, def_zone)
|
||||
#define COMSIG_ATOM_BLOB_ACT "atom_blob_act" //from base of atom/blob_act(): (/obj/structure/blob)
|
||||
#define COMSIG_ATOM_ACID_ACT "atom_acid_act" //from base of atom/acid_act(): (acidpwr, acid_volume)
|
||||
#define COMSIG_ATOM_EMAG_ACT "atom_emag_act" //from base of atom/emag_act(): ()
|
||||
#define COMSIG_ATOM_NARSIE_ACT "atom_narsie_act" //from base of atom/narsie_act(): ()
|
||||
#define COMSIG_ATOM_RATVAR_ACT "atom_ratvar_act" //from base of atom/ratvar_act(): ()
|
||||
#define COMSIG_ATOM_RCD_ACT "atom_rcd_act" //from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode)
|
||||
#define COMSIG_ATOM_SING_PULL "atom_sing_pull" //from base of atom/singularity_pull(): (S, current_size)
|
||||
|
||||
#define COMSIG_CLICK "atom_click" //from base of atom/Click(): (location, control, params)
|
||||
#define COMSIG_CLICK_SHIFT "shift_click" //from base of atom/ShiftClick(): (/mob)
|
||||
#define COMSIG_CLICK_CTRL "ctrl_click" //from base of atom/CtrlClickOn(): (/mob)
|
||||
#define COMSIG_CLICK_ALT "alt_click" //from base of atom/AltClick(): (/mob)
|
||||
#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click" //from base of atom/CtrlShiftClick(/mob)
|
||||
|
||||
// /atom/movable signals
|
||||
#define COMSIG_MOVABLE_MOVED "movable_moved" //from base of atom/movable/Moved(): (/atom, dir)
|
||||
#define COMSIG_MOVABLE_CROSSED "movable_crossed" //from base of atom/movable/Crossed(): (/atom/movable)
|
||||
#define COMSIG_MOVABLE_COLLIDE "movable_collide" //from base of atom/movable/Collide(): (/atom)
|
||||
#define COMSIG_MOVABLE_IMPACT "movable_impact" //from base of atom/movable/throw_impact(): (/atom, throwingdatum)
|
||||
|
||||
// /obj/item signals
|
||||
#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (/mob/living/target, /mob/living/user)
|
||||
#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (/mob)
|
||||
#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (/obj, /mob)
|
||||
|
||||
// /obj/item/clothing signals
|
||||
#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): ()
|
||||
|
||||
// /obj/item signals
|
||||
#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (mob/living/target, mob/living/user)
|
||||
#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (mob)
|
||||
#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (obj, mob)
|
||||
|
||||
// /obj/item/clothing signals
|
||||
#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): ()
|
||||
|
||||
// /obj/machinery signals
|
||||
#define COMSIG_MACHINE_PROCESS "machine_process" //from machinery subsystem fire(): ()
|
||||
#define COMSIG_MACHINE_PROCESS_ATMOS "machine_process_atmos" //from air subsystem process_atmos_machinery(): ()
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
//config files
|
||||
#define CONFIG_DEF(X) /datum/config_entry/##X { resident_file = CURRENT_RESIDENT_FILE }; /datum/config_entry/##X
|
||||
#define CONFIG_GET(X) global.config.Get(/datum/config_entry/##X)
|
||||
#define CONFIG_SET(X, Y) global.config.Set(/datum/config_entry/##X, ##Y)
|
||||
|
||||
#define CONFIG_MAPS_FILE "maps.txt"
|
||||
|
||||
//flags
|
||||
#define CONFIG_ENTRY_LOCKED 1 //can't edit
|
||||
#define CONFIG_ENTRY_HIDDEN 2 //can't see value
|
||||
@@ -101,6 +101,7 @@
|
||||
#define CAT_ROBOT "Robots"
|
||||
#define CAT_MISC "Misc"
|
||||
#define CAT_PRIMAL "Tribal"
|
||||
#define CAT_CLOTHING "Clothing"
|
||||
#define CAT_FOOD "Foods"
|
||||
#define CAT_BREAD "Breads"
|
||||
#define CAT_BURGER "Burgers"
|
||||
|
||||
@@ -53,6 +53,9 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
|
||||
// TESLA_IGNORE grants immunity from being targeted by tesla-style electricity
|
||||
#define TESLA_IGNORE_2 512
|
||||
|
||||
// Stops you from putting things like an RCD or other items into an ORM or protolathe for materials.
|
||||
#define NO_MAT_REDEMPTION_2 1024
|
||||
|
||||
//turf-only flags
|
||||
#define NOJAUNT_1 1
|
||||
#define UNUSED_TRANSIT_TURF_1 2
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// simple is_type and similar inline helpers
|
||||
|
||||
#define isdatum(D) (istype(D, /datum))
|
||||
|
||||
#define islist(L) (istype(L, /list))
|
||||
|
||||
#define in_range(source, user) (get_dist(source, user) <= 1)
|
||||
@@ -7,6 +9,8 @@
|
||||
#define ismovableatom(A) (istype(A, /atom/movable))
|
||||
|
||||
//Turfs
|
||||
//#define isturf(A) (istype(A, /turf)) This is actually a byond built-in. Added here for completeness sake.
|
||||
|
||||
#define isopenturf(A) (istype(A, /turf/open))
|
||||
|
||||
#define isindestructiblefloor(A) (istype(A, /turf/open/indestructible))
|
||||
@@ -25,6 +29,8 @@
|
||||
|
||||
#define islava(A) (istype(A, /turf/open/lava))
|
||||
|
||||
#define isplatingturf(A) (istype(A, /turf/open/floor/plating))
|
||||
|
||||
//Mobs
|
||||
#define isliving(A) (istype(A, /mob/living))
|
||||
|
||||
@@ -132,6 +138,10 @@
|
||||
|
||||
#define isitem(A) (istype(A, /obj/item))
|
||||
|
||||
#define isstructure(A) (istype(A, /obj/structure))
|
||||
|
||||
#define ismecha(A) (istype(A, /obj/mecha))
|
||||
|
||||
#define is_cleanable(A) (istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/rune)) //if something is cleanable
|
||||
|
||||
#define isorgan(A) (istype(A, /obj/item/organ))
|
||||
@@ -158,3 +168,11 @@ GLOBAL_LIST_INIT(pointed_types, typecacheof(list(
|
||||
#define issignaler(O) (istype(O, /obj/item/device/assembly/signaler))
|
||||
|
||||
#define istimer(O) (istype(O, /obj/item/device/assembly/timer))
|
||||
|
||||
GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list(
|
||||
/obj/item/stack/sheet/glass,
|
||||
/obj/item/stack/sheet/rglass,
|
||||
/obj/item/stack/sheet/plasmaglass,
|
||||
/obj/item/stack/sheet/plasmarglass)))
|
||||
|
||||
#define is_glass_sheet(O) (is_type_in_typecache(O, GLOB.glass_sheet_types))
|
||||
|
||||
@@ -7,11 +7,14 @@
|
||||
#define PLANE_SPACE_PARALLAX -90
|
||||
|
||||
#define GAME_PLANE 0
|
||||
#define SPACE_LAYER 1.8
|
||||
#define ABOVE_SPACE_LAYER 1.9
|
||||
//#define TURF_LAYER 2 //For easy recordkeeping; this is a byond define
|
||||
#define MID_TURF_LAYER 2.02
|
||||
#define HIGH_TURF_LAYER 2.03
|
||||
#define ABOVE_OPEN_TURF_LAYER 2.04
|
||||
#define CLOSED_TURF_LAYER 2.05
|
||||
#define BULLET_HOLE_LAYER 2.06
|
||||
#define ABOVE_NORMAL_TURF_LAYER 2.08
|
||||
#define LATTICE_LAYER 2.2
|
||||
#define DISPOSAL_PIPE_LAYER 2.3
|
||||
|
||||
@@ -70,6 +70,8 @@
|
||||
#define LIGHT_COLOR_TUNGSTEN "#FAE1AF" //Extremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175)
|
||||
#define LIGHT_COLOR_HALOGEN "#F0FAFA" //Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
|
||||
|
||||
#define LIGHT_RANGE_FIRE 3 //How many tiles standard fires glow.
|
||||
|
||||
#define LIGHTING_PLANE_ALPHA_VISIBLE 255
|
||||
#define LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE 192
|
||||
#define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 128 //For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell.
|
||||
|
||||
@@ -3,10 +3,11 @@ The /tg/ codebase currently requires you to have 11 z-levels of the same size di
|
||||
z-level order is important, the order you put them in inside the map config.dm will determine what z level number they are assigned ingame.
|
||||
Names of z-level do not matter, but order does greatly, for instances such as checking alive status of revheads on z1
|
||||
|
||||
current as of 2016/6/2
|
||||
current as of september 17, 2017
|
||||
z1 = station
|
||||
z2 = centcom
|
||||
z5 = mining
|
||||
z6 = city of cogs
|
||||
Everything else = randomized space
|
||||
Last space-z level = empty
|
||||
*/
|
||||
@@ -17,6 +18,7 @@ Last space-z level = empty
|
||||
|
||||
#define MAIN_STATION "Main Station"
|
||||
#define CENTCOM "CentCom"
|
||||
#define CITY_OF_COGS "City of Cogs"
|
||||
#define EMPTY_AREA_1 "Empty Area 1"
|
||||
#define EMPTY_AREA_2 "Empty Area 2"
|
||||
#define MINING "Mining Asteroid"
|
||||
@@ -35,9 +37,10 @@ Last space-z level = empty
|
||||
|
||||
//zlevel defines, can be overridden for different maps in the appropriate _maps file.
|
||||
#define ZLEVEL_CENTCOM 1
|
||||
#define ZLEVEL_STATION 2
|
||||
#define ZLEVEL_STATION_PRIMARY 2
|
||||
#define ZLEVEL_MINING 5
|
||||
#define ZLEVEL_LAVALAND 5
|
||||
#define ZLEVEL_CITYOFCOGS 6
|
||||
#define ZLEVEL_EMPTY_SPACE 12
|
||||
#define ZLEVEL_TRANSIT 11
|
||||
|
||||
|
||||
+14
-7
@@ -361,7 +361,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
|
||||
#define debug_admins(msg) if (GLOB.Debug2) to_chat(GLOB.admins, "DEBUG: [msg]")
|
||||
#define debug_world_log(msg) if (GLOB.Debug2) log_world("DEBUG: [msg]")
|
||||
|
||||
#define COORD(A) "([A.x],[A.y],[A.z])"
|
||||
#define INCREMENT_TALLY(L, stat) if(L[stat]){L[stat]++}else{L[stat] = 1}
|
||||
|
||||
// Medal names
|
||||
@@ -399,8 +398,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
|
||||
#define NUKE_SYNDICATE_BASE 3
|
||||
#define STATION_DESTROYED_NUKE 4
|
||||
#define STATION_EVACUATED 5
|
||||
#define GANG_LOSS 6
|
||||
#define GANG_TAKEOVER 7
|
||||
#define BLOB_WIN 8
|
||||
#define BLOB_NUKE 9
|
||||
#define BLOB_DESTROYED 10
|
||||
@@ -437,10 +434,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
|
||||
#define GIBTONITE_DETONATE 3
|
||||
//for obj explosion block calculation
|
||||
#define EXPLOSION_BLOCK_PROC -1
|
||||
//Gangster starting influences
|
||||
|
||||
#define GANGSTER_SOLDIER_STARTING_INFLUENCE 5
|
||||
#define GANGSTER_BOSS_STARTING_INFLUENCE 20
|
||||
|
||||
//for determining which type of heartbeat sound is playing
|
||||
#define BEAT_FAST 1
|
||||
@@ -453,3 +446,17 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
|
||||
#define MOUSE_OPACITY_TRANSPARENT 0
|
||||
#define MOUSE_OPACITY_ICON 1
|
||||
#define MOUSE_OPACITY_OPAQUE 2
|
||||
|
||||
//world/proc/shelleo
|
||||
#define SHELLEO_ERRORLEVEL 1
|
||||
#define SHELLEO_STDOUT 2
|
||||
#define SHELLEO_STDERR 3
|
||||
|
||||
//server security mode
|
||||
#define SECURITY_SAFE 1
|
||||
#define SECURITY_ULTRASAFE 2
|
||||
#define SECURITY_TRUSTED 3
|
||||
|
||||
//Dummy mob reserve slots
|
||||
#define DUMMY_HUMAN_SLOT_PREFERENCES "dummy_preference_preview"
|
||||
#define DUMMY_HUMAN_SLOT_MANIFEST "dummy_manifest_generation"
|
||||
|
||||
@@ -154,3 +154,5 @@
|
||||
#define JUDGE_IGNOREMONKEYS 16
|
||||
|
||||
#define MEGAFAUNA_DEFAULT_RECOVERY_TIME 5
|
||||
|
||||
#define SHADOW_SPECIES_LIGHT_THRESHOLD 0.2
|
||||
@@ -2,6 +2,3 @@
|
||||
#define TRACK_NUKE_DISK 1 //We track the nuclear authentication disk, either to protect it or steal it
|
||||
#define TRACK_MALF_AI 2 //We track the malfunctioning AI, so we can prevent it from blowing us all up
|
||||
#define TRACK_INFILTRATOR 3 //We track the Syndicate infiltrator, so we can get back to ship when the nuke's armed
|
||||
#define TRACK_OPERATIVES 4 //We track the closest operative, so we can regroup when we need to
|
||||
#define TRACK_ATOM 5 //We track a specified atom, so admins can make us function for events
|
||||
#define TRACK_COORDINATES 6 //We point towards the specified coordinates on our z-level, so we can navigate
|
||||
|
||||
@@ -12,6 +12,7 @@ Construction breaks otherwise
|
||||
#define PIPE_HE_MANIFOLD /obj/machinery/atmospherics/pipe/heat_exchanging/manifold
|
||||
#define PIPE_HE_4WAYMANIFOLD /obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w
|
||||
#define PIPE_JUNCTION /obj/machinery/atmospherics/pipe/heat_exchanging/junction
|
||||
#define PIPE_BLUESPACE /obj/machinery/atmospherics/pipe/bluespace
|
||||
//Unary
|
||||
#define PIPE_CONNECTOR /obj/machinery/atmospherics/components/unary/portables_connector
|
||||
#define PIPE_UVENT /obj/machinery/atmospherics/components/unary/vent_pump
|
||||
@@ -56,4 +57,4 @@ Construction breaks otherwise
|
||||
#define STATION_TUBE_OPEN 0
|
||||
#define STATION_TUBE_OPENING 1
|
||||
#define STATION_TUBE_CLOSED 2
|
||||
#define STATION_TUBE_CLOSING 3
|
||||
#define STATION_TUBE_CLOSING 3
|
||||
|
||||
@@ -10,6 +10,11 @@
|
||||
//if TESTING is enabled, qdel will call this object's find_references() verb.
|
||||
//defines for the gc_destroyed var
|
||||
|
||||
#define GC_QUEUE_PREQUEUE 1
|
||||
#define GC_QUEUE_CHECK 2
|
||||
#define GC_QUEUE_HARDDELETE 3
|
||||
#define GC_QUEUE_COUNT 3 //increase this when adding more steps.
|
||||
|
||||
#define GC_QUEUED_FOR_QUEUING -1
|
||||
#define GC_QUEUED_FOR_HARD_DEL -2
|
||||
#define GC_CURRENTLY_BEING_QDELETED -3
|
||||
|
||||
@@ -18,18 +18,19 @@
|
||||
#define ROLE_BLOB "blob"
|
||||
#define ROLE_NINJA "space ninja"
|
||||
#define ROLE_MONKEY "monkey"
|
||||
#define ROLE_GANG "gangster"
|
||||
#define ROLE_ABDUCTOR "abductor"
|
||||
#define ROLE_REVENANT "revenant"
|
||||
#define ROLE_DEVIL "devil"
|
||||
#define ROLE_SERVANT_OF_RATVAR "servant of Ratvar"
|
||||
#define ROLE_BORER "borer"
|
||||
#define ROLE_BROTHER "blood brother"
|
||||
|
||||
//Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR.
|
||||
//The gamemode specific ones are just so the gamemodes can query whether a player is old enough
|
||||
//(in game days played) to play that role
|
||||
GLOBAL_LIST_INIT(special_roles, list(
|
||||
ROLE_TRAITOR = /datum/game_mode/traitor,
|
||||
ROLE_BROTHER = /datum/game_mode/traitor/bros,
|
||||
ROLE_OPERATIVE = /datum/game_mode/nuclear,
|
||||
ROLE_CHANGELING = /datum/game_mode/changeling,
|
||||
ROLE_WIZARD = /datum/game_mode/wizard,
|
||||
@@ -41,7 +42,6 @@ GLOBAL_LIST_INIT(special_roles, list(
|
||||
ROLE_BLOB = /datum/game_mode/blob,
|
||||
ROLE_NINJA,
|
||||
ROLE_MONKEY = /datum/game_mode/monkey,
|
||||
ROLE_GANG = /datum/game_mode/gang,
|
||||
ROLE_REVENANT,
|
||||
ROLE_ABDUCTOR = /datum/game_mode/abduction,
|
||||
ROLE_DEVIL = /datum/game_mode/devil,
|
||||
@@ -52,4 +52,4 @@ GLOBAL_LIST_INIT(special_roles, list(
|
||||
//Job defines for what happens when you fail to qualify for any job during job selection
|
||||
#define BEASSISTANT 1
|
||||
#define BERANDOMJOB 2
|
||||
#define RETURNTOLOBBY 3
|
||||
#define RETURNTOLOBBY 3
|
||||
|
||||
+108
-14
@@ -1,32 +1,126 @@
|
||||
// /tg/station 13 server tools API v3.1.0.1
|
||||
|
||||
//CONFIGURATION
|
||||
//use this define if you want to do configuration outside of this file
|
||||
#ifndef SERVER_TOOLS_EXTERNAL_CONFIGURATION
|
||||
//Comment this out once you've filled in the below
|
||||
//#error /tg/station server tools interface unconfigured
|
||||
|
||||
//Required interfaces (fill in with your codebase equivalent):
|
||||
|
||||
//create a global variable named `Name` and set it to `Value`
|
||||
//These globals must not be modifiable from anywhere outside of the server tools
|
||||
#define SERVER_TOOLS_DEFINE_AND_SET_GLOBAL(Name, Value) GLOBAL_VAR_INIT(##Name, ##Value); GLOBAL_PROTECT(##Name)
|
||||
//Read the value in the global variable `Name`
|
||||
#define SERVER_TOOLS_READ_GLOBAL(Name) GLOB.##Name
|
||||
//Set the value in the global variable `Name` to `Value`
|
||||
#define SERVER_TOOLS_WRITE_GLOBAL(Name, Value) GLOB.##Name = ##Value
|
||||
//display an announcement `message` from the server to all players
|
||||
#define SERVER_TOOLS_WORLD_ANNOUNCE(message) to_chat(world, "<span class='boldannounce'>[html_encode(##message)]</span>")
|
||||
//Write a string `message` to a server log
|
||||
#define SERVER_TOOLS_LOG(message) log_world("SERVICE: [##message]")
|
||||
//Notify current in-game administrators of a string `event`
|
||||
#define SERVER_TOOLS_NOTIFY_ADMINS(event) message_admins(##event)
|
||||
//The current amount of connected clients
|
||||
#define SERVER_TOOLS_CLIENT_COUNT GLOB.clients.len
|
||||
#endif
|
||||
|
||||
//Required hooks:
|
||||
|
||||
//Put this somewhere in /world/New() that is always run
|
||||
#define SERVER_TOOLS_ON_NEW ServiceInit()
|
||||
//Put this somewhere in /world/Topic(T, Addr, Master, Keys) that is always run before T is modified
|
||||
#define SERVER_TOOLS_ON_TOPIC var/service_topic_return = ServiceCommand(params2list(T)); if(service_topic_return) return service_topic_return
|
||||
//Put at the beginning of world/Reboot(reason)
|
||||
#define SERVER_TOOLS_ON_REBOOT ServiceReboot()
|
||||
|
||||
//Optional callable functions:
|
||||
|
||||
//Returns the string version of the API
|
||||
#define SERVER_TOOLS_API_VERSION ServiceAPIVersion()
|
||||
//Returns TRUE if the world was launched under the server tools and the API matches, FALSE otherwise
|
||||
//No function below this succeed if this is FALSE
|
||||
#define SERVER_TOOLS_PRESENT RunningService()
|
||||
//Gets the current version of the service running the server
|
||||
#define SERVER_TOOLS_VERSION ServiceVersion()
|
||||
//Forces a hard reboot of BYOND by ending the process
|
||||
//unlike del(world) clients will try to reconnect
|
||||
//If the service has not requested a shutdown, the world will reboot shortly after
|
||||
#define SERVER_TOOLS_REBOOT_BYOND world.ServiceEndProcess()
|
||||
/*
|
||||
Gets the list of any testmerged github pull requests
|
||||
|
||||
"[PR Number]" => list(
|
||||
"title" -> PR title
|
||||
"commit" -> Full hash of commit merged
|
||||
"author" -> Github username of the author of the PR
|
||||
)
|
||||
*/
|
||||
#define SERVER_TOOLS_PR_LIST GetTestMerges()
|
||||
//Sends a message to connected game chats
|
||||
#define SERVER_TOOLS_CHAT_BROADCAST(message) world.ChatBroadcast(message)
|
||||
//Sends a message to connected admin chats
|
||||
#define SERVER_TOOLS_RELAY_BROADCAST(message) world.AdminBroadcast(message)
|
||||
|
||||
//IMPLEMENTATION
|
||||
|
||||
#define SERVICE_API_VERSION_STRING "3.1.0.1"
|
||||
|
||||
#define REBOOT_MODE_NORMAL 0
|
||||
#define REBOOT_MODE_HARD 1
|
||||
#define REBOOT_MODE_SHUTDOWN 2
|
||||
|
||||
#define IRC_STATUS_THROTTLE 5
|
||||
|
||||
#define PR_ANNOUNCEMENTS_PER_ROUND 5 //The number of unique PR announcements allowed per round
|
||||
//This makes sure that a single person can only spam 3 reopens and 3 closes before being ignored
|
||||
|
||||
//keep these in sync with TGS3
|
||||
#define SERVICE_WORLD_PARAM "server_service"
|
||||
#define SERVICE_PR_TEST_JSON "..\\..\\prtestjob.json"
|
||||
#define SERVICE_VERSION_PARAM "server_service_version"
|
||||
#define SERVICE_PR_TEST_JSON "prtestjob.json"
|
||||
#define SERVICE_INTERFACE_DLL "TGServiceInterface.dll"
|
||||
#define SERVICE_INTERFACE_FUNCTION "DDEntryPoint"
|
||||
|
||||
#define SERVICE_CMD_HARD_REBOOT "hard_reboot"
|
||||
#define SERVICE_CMD_GRACEFUL_SHUTDOWN "graceful_shutdown"
|
||||
#define SERVICE_CMD_WORLD_ANNOUNCE "world_announce"
|
||||
#define SERVICE_CMD_IRC_CHECK "irc_check"
|
||||
#define SERVICE_CMD_IRC_STATUS "irc_status"
|
||||
#define SERVICE_CMD_ADMIN_MSG "adminmsg"
|
||||
#define SERVICE_CMD_NAME_CHECK "namecheck"
|
||||
#define SERVICE_CMD_ADMIN_WHO "adminwho"
|
||||
#define SERVICE_CMD_LIST_CUSTOM "list_custom_commands"
|
||||
#define SERVICE_CMD_API_COMPATIBLE "api_compat"
|
||||
#define SERVICE_CMD_PLAYER_COUNT "client_count"
|
||||
|
||||
#define SERVICE_CMD_PARAM_KEY "serviceCommsKey"
|
||||
#define SERVICE_CMD_PARAM_COMMAND "command"
|
||||
#define SERVICE_CMD_PARAM_MESSAGE "message"
|
||||
#define SERVICE_CMD_PARAM_TARGET "target"
|
||||
#define SERVICE_CMD_PARAM_SENDER "sender"
|
||||
#define SERVICE_CMD_PARAM_CUSTOM "custom"
|
||||
|
||||
#define SERVICE_JSON_PARAM_HELPTEXT "help_text"
|
||||
#define SERVICE_JSON_PARAM_ADMINONLY "admin_only"
|
||||
#define SERVICE_JSON_PARAM_REQUIREDPARAMETERS "required_parameters"
|
||||
|
||||
#define SERVICE_REQUEST_KILL_PROCESS "killme"
|
||||
#define SERVICE_REQUEST_IRC_BROADCAST "irc"
|
||||
#define SERVICE_REQUEST_IRC_ADMIN_CHANNEL_MESSAGE "send2irc"
|
||||
#define SERVICE_REQUEST_WORLD_REBOOT "worldreboot"
|
||||
#define SERVICE_REQUEST_API_VERSION "api_ver"
|
||||
|
||||
/*
|
||||
The MIT License
|
||||
|
||||
Copyright (c) 2011 Dominic Tarr
|
||||
|
||||
Permission is hereby granted, free of charge,
|
||||
to any person obtaining a copy of this software and
|
||||
associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify,
|
||||
merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom
|
||||
the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice
|
||||
shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
||||
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
|
||||
//mob/var/stat things
|
||||
#define CONSCIOUS 0
|
||||
#define UNCONSCIOUS 1
|
||||
#define DEAD 2
|
||||
#define SOFT_CRIT 1
|
||||
#define UNCONSCIOUS 2
|
||||
#define DEAD 3
|
||||
|
||||
//mob disabilities stat
|
||||
|
||||
@@ -21,9 +22,8 @@
|
||||
// bitflags for machine stat variable
|
||||
#define BROKEN 1
|
||||
#define NOPOWER 2
|
||||
#define POWEROFF 4 // tbd
|
||||
#define MAINT 8 // under maintaince
|
||||
#define EMPED 16 // temporary broken by EMP pulse
|
||||
#define MAINT 4 // under maintaince
|
||||
#define EMPED 8 // temporary broken by EMP pulse
|
||||
|
||||
//ai power requirement defines
|
||||
#define POWER_REQ_NONE 0
|
||||
|
||||
@@ -62,6 +62,8 @@
|
||||
#define CURSE_WASTING 4 //causes gradual damage
|
||||
#define CURSE_GRASPING 8 //hands reach out from the sides of the screen, doing damage and stunning if they hit the target
|
||||
|
||||
#define STATUS_EFFECT_KINDLE /datum/status_effect/kindle //A knockdown reduced by 1 second for every 3 points of damage the target takes.
|
||||
|
||||
/////////////
|
||||
// NEUTRAL //
|
||||
/////////////
|
||||
|
||||
@@ -56,7 +56,6 @@
|
||||
#define INIT_ORDER_TIMER 1
|
||||
#define INIT_ORDER_DEFAULT 0
|
||||
#define INIT_ORDER_AIR -1
|
||||
#define INIT_ORDER_SHUTTLE -2
|
||||
#define INIT_ORDER_MINIMAP -3
|
||||
#define INIT_ORDER_ASSETS -4
|
||||
#define INIT_ORDER_ICON_SMOOTHING -5
|
||||
@@ -64,6 +63,7 @@
|
||||
#define INIT_ORDER_XKEYSCORE -10
|
||||
#define INIT_ORDER_STICKY_BAN -10
|
||||
#define INIT_ORDER_LIGHTING -20
|
||||
#define INIT_ORDER_SHUTTLE -21
|
||||
#define INIT_ORDER_SQUEAK -40
|
||||
#define INIT_ORDER_PERSISTENCE -100
|
||||
|
||||
|
||||
@@ -13,3 +13,11 @@ When using time2text(), please use "DDD" to find the weekday. Refrain from using
|
||||
#define FRIDAY "Fri"
|
||||
#define SATURDAY "Sat"
|
||||
#define SUNDAY "Sun"
|
||||
|
||||
#define SECONDS *10
|
||||
|
||||
#define MINUTES SECONDS*60
|
||||
|
||||
#define HOURS MINUTES*60
|
||||
|
||||
#define TICKS *world.tick_lag
|
||||
@@ -3,6 +3,7 @@
|
||||
#define DM_DIGEST "Digest"
|
||||
#define DM_HEAL "Heal"
|
||||
#define DM_NOISY "Noisy"
|
||||
#define DM_DRAGON "Dragon"
|
||||
|
||||
#define VORE_STRUGGLE_EMOTE_CHANCE 40
|
||||
|
||||
|
||||
@@ -205,6 +205,22 @@
|
||||
|
||||
return null
|
||||
|
||||
/proc/pickweightAllowZero(list/L) //The original pickweight proc will sometimes pick entries with zero weight. I'm not sure if changing the original will break anything, so I left it be.
|
||||
var/total = 0
|
||||
var/item
|
||||
for (item in L)
|
||||
if (!L[item])
|
||||
L[item] = 0
|
||||
total += L[item]
|
||||
|
||||
total = rand(0, total)
|
||||
for (item in L)
|
||||
total -=L [item]
|
||||
if (total <= 0 && L[item])
|
||||
return item
|
||||
|
||||
return null
|
||||
|
||||
//Pick a random element from the list and remove it from the list.
|
||||
/proc/pick_n_take(list/L)
|
||||
if(L.len)
|
||||
@@ -458,7 +474,7 @@
|
||||
#error Remie said that lummox was adding a way to get a lists
|
||||
#error contents via list.values, if that is true remove this
|
||||
#error otherwise, update the version and bug lummox
|
||||
#elseif
|
||||
#endif
|
||||
//Flattens a keyed list into a list of it's contents
|
||||
/proc/flatten_list(list/key_list)
|
||||
if(!islist(key_list))
|
||||
|
||||
+25
-18
@@ -26,79 +26,86 @@
|
||||
|
||||
/proc/log_admin(text)
|
||||
GLOB.admin_log.Add(text)
|
||||
if (config.log_admin)
|
||||
if (CONFIG_GET(flag/log_admin))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]ADMIN: [text]")
|
||||
|
||||
//Items using this proc are stripped from public logs - use with caution
|
||||
/proc/log_admin_private(text)
|
||||
GLOB.admin_log.Add(text)
|
||||
if (config.log_admin)
|
||||
if (CONFIG_GET(flag/log_admin))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]ADMINPRIVATE: [text]")
|
||||
|
||||
/proc/log_adminsay(text)
|
||||
if (config.log_adminchat)
|
||||
if (CONFIG_GET(flag/log_adminchat))
|
||||
log_admin_private("ASAY: [text]")
|
||||
|
||||
/proc/log_dsay(text)
|
||||
if (config.log_adminchat)
|
||||
if (CONFIG_GET(flag/log_adminchat))
|
||||
log_admin("DSAY: [text]")
|
||||
|
||||
/proc/log_game(text)
|
||||
if (config.log_game)
|
||||
if (CONFIG_GET(flag/log_game))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]GAME: [text]")
|
||||
|
||||
/proc/log_vote(text)
|
||||
if (config.log_vote)
|
||||
if (CONFIG_GET(flag/log_vote))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]VOTE: [text]")
|
||||
|
||||
/proc/log_access(text)
|
||||
if (config.log_access)
|
||||
if (CONFIG_GET(flag/log_access))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]ACCESS: [text]")
|
||||
|
||||
/proc/log_say(text)
|
||||
if (config.log_say)
|
||||
if (CONFIG_GET(flag/log_say))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]SAY: [text]")
|
||||
|
||||
/proc/log_prayer(text)
|
||||
if (config.log_prayer)
|
||||
if (CONFIG_GET(flag/log_prayer))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]PRAY: [text]")
|
||||
|
||||
/proc/log_law(text)
|
||||
if (config.log_law)
|
||||
if (CONFIG_GET(flag/log_law))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]LAW: [text]")
|
||||
|
||||
/proc/log_ooc(text)
|
||||
if (config.log_ooc)
|
||||
if (CONFIG_GET(flag/log_ooc))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]OOC: [text]")
|
||||
|
||||
/proc/log_whisper(text)
|
||||
if (config.log_whisper)
|
||||
if (CONFIG_GET(flag/log_whisper))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]WHISPER: [text]")
|
||||
|
||||
/proc/log_emote(text)
|
||||
if (config.log_emote)
|
||||
if (CONFIG_GET(flag/log_emote))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]EMOTE: [text]")
|
||||
|
||||
/proc/log_attack(text)
|
||||
if (config.log_attack)
|
||||
if (CONFIG_GET(flag/log_attack))
|
||||
WRITE_FILE(GLOB.world_attack_log, "\[[time_stamp()]]ATTACK: [text]")
|
||||
|
||||
/proc/log_pda(text)
|
||||
if (config.log_pda)
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]PDA: [text]")
|
||||
if (CONFIG_GET(flag/log_pda))
|
||||
WRITE_FILE(GLOB.world_pda_log, "\[[time_stamp()]]PDA: [text]")
|
||||
|
||||
/proc/log_comment(text)
|
||||
if (config.log_pda)
|
||||
if (CONFIG_GET(flag/log_pda))
|
||||
//reusing the PDA option because I really don't think news comments are worth a config option
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]COMMENT: [text]")
|
||||
|
||||
/proc/log_chat(text)
|
||||
if (config.log_pda)
|
||||
if (CONFIG_GET(flag/log_pda))
|
||||
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]CHAT: [text]")
|
||||
|
||||
/proc/log_qdel(text)
|
||||
WRITE_FILE(GLOB.world_qdel_log, "\[[time_stamp()]]QDEL: [text]")
|
||||
|
||||
/proc/log_sql(text)
|
||||
WRITE_FILE(GLOB.sql_error_log, "\[[time_stamp()]]SQL: [text]")
|
||||
|
||||
/proc/log_config(text)
|
||||
WRITE_FILE(GLOB.config_error_log, text)
|
||||
SEND_TEXT(world.log, text)
|
||||
|
||||
//This replaces world.log so it displays both in DD and the file
|
||||
/proc/log_world(text)
|
||||
WRITE_FILE(GLOB.world_runtime_log, text)
|
||||
|
||||
@@ -49,3 +49,12 @@ GLOBAL_VAR_INIT(cmp_field, "name")
|
||||
|
||||
/proc/cmp_ruincost_priority(datum/map_template/ruin/A, datum/map_template/ruin/B)
|
||||
return initial(A.cost) - initial(B.cost)
|
||||
|
||||
/proc/cmp_qdel_item_time(datum/qdel_item/A, datum/qdel_item/B)
|
||||
. = B.hard_delete_time - A.hard_delete_time
|
||||
if (!.)
|
||||
. = B.destroy_time - A.destroy_time
|
||||
if (!.)
|
||||
. = B.failures - A.failures
|
||||
if (!.)
|
||||
. = B.qdels - A.qdels
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
/client/proc/file_spam_check()
|
||||
var/time_to_wait = GLOB.fileaccess_timer - world.time
|
||||
if(time_to_wait > 0)
|
||||
to_chat(src, "<font color='red'>Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.</font>")
|
||||
to_chat(src, "<font color='red'>Error: file_spam_check(): Spam. Please wait [DisplayTimeText(time_to_wait)].</font>")
|
||||
return 1
|
||||
GLOB.fileaccess_timer = world.time + FTPDELAY
|
||||
return 0
|
||||
|
||||
+22
-7
@@ -9,10 +9,10 @@
|
||||
#define CULT_POLL_WAIT 2400
|
||||
|
||||
/proc/get_area(atom/A)
|
||||
if (!istype(A))
|
||||
return
|
||||
for(A, A && !isarea(A), A=A.loc); //semicolon is for the empty statement
|
||||
return A
|
||||
if(isarea(A))
|
||||
return A
|
||||
var/turf/T = get_turf(A)
|
||||
return T ? T.loc : null
|
||||
|
||||
/proc/get_area_name(atom/X)
|
||||
var/area/Y = get_area(X)
|
||||
@@ -314,10 +314,11 @@
|
||||
|
||||
// Will return a list of active candidates. It increases the buffer 5 times until it finds a candidate which is active within the buffer.
|
||||
|
||||
/proc/get_candidates(be_special_type, afk_bracket = config.inactivity_period, jobbanType)
|
||||
/proc/get_candidates(be_special_type, afk_bracket = CONFIG_GET(number/inactivity_period), jobbanType)
|
||||
var/list/candidates = list()
|
||||
// Keep looping until we find a non-afk candidate within the time bracket (we limit the bracket to 10 minutes (6000))
|
||||
while(!candidates.len && afk_bracket < config.afk_period)
|
||||
var/afk_period = CONFIG_GET(number/afk_period)
|
||||
while(!candidates.len && afk_bracket < afk_period)
|
||||
for(var/mob/dead/observer/G in GLOB.player_list)
|
||||
if(G.client != null)
|
||||
if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD))
|
||||
@@ -330,6 +331,20 @@
|
||||
afk_bracket += 600 // Add a minute to the bracket, for every attempt
|
||||
return candidates
|
||||
|
||||
/proc/considered_alive(datum/mind/M, enforce_human = TRUE)
|
||||
if(M && M.current)
|
||||
if(enforce_human)
|
||||
var/mob/living/carbon/human/H
|
||||
if(ishuman(M.current))
|
||||
H = M.current
|
||||
return M.current.stat != DEAD && !issilicon(M.current) && !isbrain(M.current) && (!H || H.dna.species.id != "memezombies")
|
||||
else if(isliving(M.current))
|
||||
return M.current.stat != DEAD
|
||||
return FALSE
|
||||
|
||||
/proc/considered_afk(datum/mind/M)
|
||||
return !M || !M.current || !M.current.client || M.current.client.is_afk()
|
||||
|
||||
/proc/ScreenText(obj/O, maptext="", screen_loc="CENTER-7,CENTER-7", maptext_height=480, maptext_width=480)
|
||||
if(!isobj(O))
|
||||
O = new /obj/screen/text()
|
||||
@@ -421,7 +436,7 @@
|
||||
SEND_SOUND(M, 'sound/misc/notice2.ogg') //Alerting them to their consideration
|
||||
if(flashwindow)
|
||||
window_flash(M.client)
|
||||
switch(ignore_category ? askuser(M,Question,"Please answer in [poll_time/10] seconds!","Yes","No","Never for this round", StealFocus=0, Timeout=poll_time) : askuser(M,Question,"Please answer in [poll_time/10] seconds!","Yes","No", StealFocus=0, Timeout=poll_time))
|
||||
switch(ignore_category ? askuser(M,Question,"Please answer in [DisplayTimeText(poll_time)]!","Yes","No","Never for this round", StealFocus=0, Timeout=poll_time) : askuser(M,Question,"Please answer in [DisplayTimeText(poll_time)]!","Yes","No", StealFocus=0, Timeout=poll_time))
|
||||
if(1)
|
||||
to_chat(M, "<span class='notice'>Choice registered: Yes.</span>")
|
||||
if(time_passed + poll_time <= world.time)
|
||||
|
||||
+115
-116
@@ -1,116 +1,115 @@
|
||||
//////////////////////////
|
||||
/////Initial Building/////
|
||||
//////////////////////////
|
||||
|
||||
/proc/make_datum_references_lists()
|
||||
//hair
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, GLOB.hair_styles_list, GLOB.hair_styles_male_list, GLOB.hair_styles_female_list)
|
||||
//facial hair
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hair_styles_list, GLOB.facial_hair_styles_male_list, GLOB.facial_hair_styles_female_list)
|
||||
//underwear
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f)
|
||||
//undershirt
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f)
|
||||
//socks
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list)
|
||||
//lizard bodyparts (blizzard intensifies)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.body_markings_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, GLOB.tails_list_lizard)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/lizard, GLOB.animated_tails_list_lizard)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, GLOB.tails_list_human)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/human, GLOB.animated_tails_list_human)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts, GLOB.snouts_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/horns,GLOB.horns_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, GLOB.ears_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.wings_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings_open, GLOB.wings_open_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, GLOB.frills_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, GLOB.spines_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/spines_animated, GLOB.animated_spines_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, GLOB.legs_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.r_wings_list,roundstart = TRUE)
|
||||
|
||||
//citadel code
|
||||
//mammal bodyparts (fucking furries)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_ears, GLOB.mam_ears_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails_animated, GLOB.mam_tails_animated_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/taur, GLOB.taur_list)
|
||||
//avian bodyparts (i swear this isn't starbound)
|
||||
// init_sprite_accessory_subtypes(/datum/sprite_accessory/beaks/avian, GLOB.avian_beaks_list)
|
||||
// init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/avian, GLOB.avian_tails_list)
|
||||
// init_sprite_accessory_subtypes(/datum/sprite_accessory/avian_wings, GLOB.avian_wings_list)
|
||||
// init_sprite_accessory_subtypes(/datum/sprite_accessory/avian_open_wings, GLOB.avian_open_wings_list)
|
||||
//xeno parts (hiss?)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_head, GLOB.xeno_head_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_tail, GLOB.xeno_tail_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_dorsal, GLOB.xeno_dorsal_list)
|
||||
//genitals
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
|
||||
|
||||
for(var/K in GLOB.cock_shapes_list)
|
||||
var/datum/sprite_accessory/penis/value = GLOB.cock_shapes_list[K]
|
||||
GLOB.cock_shapes_icons[K] = value.icon_state
|
||||
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list)
|
||||
GLOB.breasts_size_list = list("a","b","c","d","e") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing.
|
||||
|
||||
//Species
|
||||
for(var/spath in subtypesof(/datum/species))
|
||||
var/datum/species/S = new spath()
|
||||
if(S.roundstart)
|
||||
GLOB.roundstart_species[S.id] = S.type
|
||||
GLOB.species_list[S.id] = S.type
|
||||
|
||||
//Surgeries
|
||||
for(var/path in subtypesof(/datum/surgery))
|
||||
GLOB.surgeries_list += new path()
|
||||
|
||||
//Materials
|
||||
for(var/path in subtypesof(/datum/material))
|
||||
var/datum/material/D = new path()
|
||||
GLOB.materials_list[D.id] = D
|
||||
|
||||
//Techs
|
||||
for(var/path in subtypesof(/datum/tech))
|
||||
var/datum/tech/D = new path()
|
||||
GLOB.tech_list[D.id] = D
|
||||
|
||||
//Emotes
|
||||
for(var/path in subtypesof(/datum/emote))
|
||||
var/datum/emote/E = new path()
|
||||
E.emote_list[E.key] = E
|
||||
|
||||
init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes)
|
||||
|
||||
/* // Uncomment to debug chemical reaction list.
|
||||
/client/verb/debug_chemical_list()
|
||||
|
||||
for (var/reaction in chemical_reactions_list)
|
||||
. += "chemical_reactions_list\[\"[reaction]\"\] = \"[chemical_reactions_list[reaction]]\"\n"
|
||||
if(islist(chemical_reactions_list[reaction]))
|
||||
var/list/L = chemical_reactions_list[reaction]
|
||||
for(var/t in L)
|
||||
. += " has: [t]\n"
|
||||
to_chat(world, .)
|
||||
*/
|
||||
|
||||
//creates every subtype of prototype (excluding prototype) and adds it to list L.
|
||||
//if no list/L is provided, one is created.
|
||||
/proc/init_subtypes(prototype, list/L)
|
||||
if(!istype(L))
|
||||
L = list()
|
||||
for(var/path in subtypesof(prototype))
|
||||
L += new path()
|
||||
return L
|
||||
|
||||
//returns a list of paths to every subtype of prototype (excluding prototype)
|
||||
//if no list/L is provided, one is created.
|
||||
/proc/init_paths(prototype, list/L)
|
||||
if(!istype(L))
|
||||
L = list()
|
||||
for(var/path in subtypesof(prototype))
|
||||
L+= path
|
||||
return L
|
||||
//////////////////////////
|
||||
/////Initial Building/////
|
||||
//////////////////////////
|
||||
|
||||
/proc/make_datum_references_lists()
|
||||
//hair
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, GLOB.hair_styles_list, GLOB.hair_styles_male_list, GLOB.hair_styles_female_list)
|
||||
//facial hair
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hair_styles_list, GLOB.facial_hair_styles_male_list, GLOB.facial_hair_styles_female_list)
|
||||
//underwear
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f)
|
||||
//undershirt
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f)
|
||||
//socks
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list)
|
||||
//lizard bodyparts (blizzard intensifies)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.body_markings_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, GLOB.tails_list_lizard)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/lizard, GLOB.animated_tails_list_lizard)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, GLOB.tails_list_human)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/human, GLOB.animated_tails_list_human)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts, GLOB.snouts_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/horns,GLOB.horns_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, GLOB.ears_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.wings_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings_open, GLOB.wings_open_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, GLOB.frills_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, GLOB.spines_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/spines_animated, GLOB.animated_spines_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, GLOB.legs_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.r_wings_list,roundstart = TRUE)
|
||||
|
||||
//citadel code
|
||||
//mammal bodyparts (fucking furries)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_ears, GLOB.mam_ears_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails_animated, GLOB.mam_tails_animated_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/taur, GLOB.taur_list)
|
||||
//avian bodyparts (i swear this isn't starbound)
|
||||
// init_sprite_accessory_subtypes(/datum/sprite_accessory/beaks/avian, GLOB.avian_beaks_list)
|
||||
// init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/avian, GLOB.avian_tails_list)
|
||||
// init_sprite_accessory_subtypes(/datum/sprite_accessory/avian_wings, GLOB.avian_wings_list)
|
||||
// init_sprite_accessory_subtypes(/datum/sprite_accessory/avian_open_wings, GLOB.avian_open_wings_list)
|
||||
//xeno parts (hiss?)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_head, GLOB.xeno_head_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_tail, GLOB.xeno_tail_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_dorsal, GLOB.xeno_dorsal_list)
|
||||
//genitals
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
|
||||
|
||||
for(var/K in GLOB.cock_shapes_list)
|
||||
var/datum/sprite_accessory/penis/value = GLOB.cock_shapes_list[K]
|
||||
GLOB.cock_shapes_icons[K] = value.icon_state
|
||||
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list)
|
||||
init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list)
|
||||
GLOB.breasts_size_list = list("a","b","c","d","e") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing.
|
||||
|
||||
|
||||
//Species
|
||||
for(var/spath in subtypesof(/datum/species))
|
||||
var/datum/species/S = new spath()
|
||||
GLOB.species_list[S.id] = spath
|
||||
|
||||
//Surgeries
|
||||
for(var/path in subtypesof(/datum/surgery))
|
||||
GLOB.surgeries_list += new path()
|
||||
|
||||
//Materials
|
||||
for(var/path in subtypesof(/datum/material))
|
||||
var/datum/material/D = new path()
|
||||
GLOB.materials_list[D.id] = D
|
||||
|
||||
//Techs
|
||||
for(var/path in subtypesof(/datum/tech))
|
||||
var/datum/tech/D = new path()
|
||||
GLOB.tech_list[D.id] = D
|
||||
|
||||
//Emotes
|
||||
for(var/path in subtypesof(/datum/emote))
|
||||
var/datum/emote/E = new path()
|
||||
E.emote_list[E.key] = E
|
||||
|
||||
init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes)
|
||||
|
||||
/* // Uncomment to debug chemical reaction list.
|
||||
/client/verb/debug_chemical_list()
|
||||
|
||||
for (var/reaction in chemical_reactions_list)
|
||||
. += "chemical_reactions_list\[\"[reaction]\"\] = \"[chemical_reactions_list[reaction]]\"\n"
|
||||
if(islist(chemical_reactions_list[reaction]))
|
||||
var/list/L = chemical_reactions_list[reaction]
|
||||
for(var/t in L)
|
||||
. += " has: [t]\n"
|
||||
to_chat(world, .)
|
||||
*/
|
||||
|
||||
//creates every subtype of prototype (excluding prototype) and adds it to list L.
|
||||
//if no list/L is provided, one is created.
|
||||
/proc/init_subtypes(prototype, list/L)
|
||||
if(!istype(L))
|
||||
L = list()
|
||||
for(var/path in subtypesof(prototype))
|
||||
L += new path()
|
||||
return L
|
||||
|
||||
//returns a list of paths to every subtype of prototype (excluding prototype)
|
||||
//if no list/L is provided, one is created.
|
||||
/proc/init_paths(prototype, list/L)
|
||||
if(!istype(L))
|
||||
L = list()
|
||||
for(var/path in subtypesof(prototype))
|
||||
L+= path
|
||||
return L
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user