Merge branch 'master' into theprthatbulliesjanitormains

This commit is contained in:
LetterJay
2017-12-22 02:56:10 -06:00
committed by GitHub
1414 changed files with 30231 additions and 17880 deletions
+66
View File
@@ -0,0 +1,66 @@
# This list auto requests reviews from the specified org members
# when a PR that modifies the file in question is opened
# This list is alphabetized by User -> Filename KEEP IT THAT WAY
# ChangelingRain
/code/__DEFINES/clockcult.dm @ChangelingRain
/code/datums/antagonists/datum_clockcult.dm @ChangelingRain
/code/game/gamemodes/blob/* @ChangelingRain
/code/game/gamemodes/clock_cult/* @ChangelingRain
/code/game/gamemodes/miniantags/revenant* @ChangelingRain
/code/game/objects/effects/temporary_visuals/* @ChangelingRain
/code/modules/reagents/chemistry/reagents/blob_reagents.dm @ChangelingRain
# Cyberboss
/code/__DATASTRUCTURES/globals.dm @Cyberboss
/code/__DEFINES/components.dm @Cyberboss
/code/__DEFINES/server_tools.config.dm @Cyberboss
/code/__DEFINES/server_tools.dm @Cyberboss
/code/controllers/subsystem/atoms.dm @Cyberboss
/code/controllers/subsystem/mapping.dm @Cyberboss
/code/controllers/globals.dm @Cyberboss
/code/datums/helper_datums/getrev.dm @Cyberboss
/code/datums/components/* @Cyberboss
/code/datums/map_config.dm @Cyberboss
/code/datums/forced_movement.dm @Cyberboss
/code/datums/holocall.dm @Cyberboss
/code/modules/admin/verbs/adminhelp.dm @Cyberboss
/code/modules/admin/verbs/adminpm.dm @Cyberboss
/code/modules/server_tools/* @Cyberboss
/code/modules/mapping/* @Cyberboss
# duncathan
/code/__DEFINES/atmospherics.dm @duncathan
/code/controllers/subsystem/air.dm @duncathan
/code/modules/atmospherics/* @duncathan
# Jordie0608
/SQL/* @Jordie0608
/code/controllers/subsystem/dbcore.dm @Jordie0608
/tools/SQLAlertEmail/* @Jordie0608
# MrStonedOne
/code/__DEFINES/MC.dm @MrStonedOne
/code/__DEFINES/tick.dm @MrStonedOne
/code/controllers/admin.dm @MrStonedOne
/code/controllers/master.dm @MrStonedOne
/code/controllers/failsafe.dm @MrStonedOne
/code/controllers/subsystem.dm @MrStonedOne
/code/controllers/subsystem/air.dm @MrStonedOne
/code/controllers/subsystem/timer.dm @MrStonedOne
# ninjanomnom
/code/controllers/subsystem/shuttle.dm @ninjanomnom
/code/modules/shuttle/* @ninjanomnom
# ShizCalev
/_maps/* @ShizCalev
/icons/* @ShizCalev
/sound/* @ShizCalev
+7 -1
View File
@@ -1,3 +1,9 @@
[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.)
[Directions]: # (If you discovered this issue from playing tgstation hosted servers
INCLUDE THE ROUND ID
from the Status panel or retrieve it from https://atlantaned.space/statbus/round.php ! If you believe the issue to be caused by a test merge [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.)
[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
View File
@@ -192,6 +192,7 @@ Temporary Items
#Visual studio stuff
*.vscode/*
tools/MapAtmosFixer/MapAtmosFixer/obj/x86/Debug/MapAtmosFixer.csproj.CoreCompileInputs.cache
#GitHub Atom
.atom-build.json
+3
View File
@@ -1,5 +1,8 @@
language: generic
sudo: false
branches:
except:
- ___TGS3TempBranch
env:
global:
- BYOND_MAJOR="511"
View File
+17 -13
View File
@@ -2,6 +2,10 @@
##Citadel Station 13 <BR>
Based and maintained from /tg/station.<BR>
[![Build Status](https://travis-ci.org/tgstation/tgstation.png)](https://travis-ci.org/tgstation/tgstation) [![Krihelimeter](https://www.krihelinator.xyz/badge/tgstation/tgstation)](https://www.krihelinator.xyz)
[![Percentage of issues still open](https://isitmaintained.com/badge/open/tgstation/tgstation.svg)](https://isitmaintained.com/project/tgstation/tgstation "Percentage of issues still open") [![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/tgstation/tgstation.svg)](https://isitmaintained.com/project/tgstation/tgstation "Average time to resolve an issue") ![Coverage](https://img.shields.io/badge/coverage---2%25-red.svg)
[![forthebadge](https://forthebadge.com/images/badges/built-with-resentment.svg)](https://forthebadge.com) [![forthebadge](https://forthebadge.com/images/badges/contains-technical-debt.svg)](https://forthebadge.com) [![forinfinityandbyond](https://user-images.githubusercontent.com/5211576/29499758-4efff304-85e6-11e7-8267-62919c3688a9.gif)](https://www.reddit.com/r/SS13/comments/5oplxp/what_is_the_main_problem_with_byond_as_an_engine/dclbu1a)
[![Build Status](https://api.travis-ci.org/Citadel-Station-13/Citadel-Station-13.png)](https://travis-ci.org/Citadel-Station-13/Citadel-Station-13) [![Krihelimeter](http://www.krihelinator.xyz/badge/Citadel-Station-13/Citadel-Station-13)](http://www.krihelinator.xyz)
[![Percentage of issues still open](http://isitmaintained.com/badge/open/Citadel-Station-13/Citadel-Station-13.svg)](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Percentage of issues still open") [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/Citadel-Station-13/Citadel-Station-13.svg)](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Average time to resolve an issue")
@@ -32,12 +36,12 @@ 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
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
compile. This'll take a little while, and if everything's done right you'll get
a message like this:
```
@@ -49,17 +53,17 @@ 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
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,
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
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
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
@@ -71,8 +75,8 @@ 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
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).
@@ -106,7 +110,7 @@ https://github.com/tgstation/tgstation-server
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.
The map that will be loaded for the upcoming round is determined by reading data/next_map.json, which is a copy of the json files found in the _maps tree. If this file does not exist, the default map from config/maps.txt will be loaded. Failing that, BoxStation will be loaded. If you want to set a specific map to load next round you can use the Change Map verb in game before restarting the server or copy a json from _maps to data/next_map.json before starting the server. Also, for debugging purposes, ticking a corresponding map's code file in Dream Maker will force that map to load every round.
If you are hosting a server, and want randomly picked maps to be played each round, you can enable map rotation in [config.txt](config/config.txt) and then set the maps to be picked in the [maps.txt](config/maps.txt) file.
@@ -140,7 +144,7 @@ All code after [commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at
All code before [commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST](https://github.com/tgstation/tgstation/commit/333c566b88108de218d882840e61928a9b759d8f) is licensed under [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.html).
(Including tools unless their readme specifies otherwise.)
See LICENSE and OLD_LICENSE-GPLv3.txt for more details.
See LICENSE and 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
+23 -2
View File
@@ -5,6 +5,10 @@
#It can be downloaded from command line with pip:
#pip install mysqlclient
#
#tgstation no longer supports MySQL which has been superseded by MariaDB, a drop-in replacement.
#Before running this script you will need to migrate to MariaDB.
#Migrating is very easy to do, for details on how see: https://mariadb.com/kb/en/library/upgrading-from-mysql-to-mariadb/
#
#You will also have to create a new feedback table for inserting converted data to per the schema:
#CREATE TABLE `feedback_new` (
# `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
@@ -476,11 +480,25 @@ parser.add_argument("newtable", help="Name of the new table to insert to, can't
args = parser.parse_args()
db=MySQLdb.connect(host=args.address, user=args.username, passwd=args.password, db=args.database)
cursor=db.cursor()
cursor.execute("SELECT @@GLOBAL.version_comment")
db_version = "".join([x for x in cursor.fetchone()])
database_mysql = False
if 'MySQL' in db_version:
database_mysql = True
elif 'mariadb' not in db_version:
choice = input("Unable to determine database version installed, are you using MySQL? Type Yes or No and press enter...").lower()
if choice == "yes":
database_mysql = True
if database_mysql == True:
print("WARNING Database detected to be MySQL: tgstation no longer supports MySQL which has been superseded by MariaDB, a drop-in replacement.\nBefore running this script you will need to migrate to MariaDB.\nMigrating is very easy to do, for details on how see: https://mariadb.com/kb/en/library/upgrading-from-mysql-to-mariadb/")
input("Press enter to quit...")
quit()
current_table = args.curtable
new_table = args.newtable
cursor.execute("SELECT max(id) FROM {0}".format(current_table))
cursor.execute("SELECT max(id), max(round_id) FROM {0}".format(current_table))
query_id = cursor.fetchone()
max_id = query_id[0]
max_round_id = query_id[1]
start_time = datetime.now()
print("Beginning conversion at {0}".format(start_time.strftime("%Y-%m-%d %H:%M:%S")))
try:
@@ -493,7 +511,7 @@ try:
if not query_row:
continue
else:
if current_round != query_row[2]:
if current_round != query_row[2] or current_round == max_round_id:
multirows_completed.clear()
if query_values:
query_values = query_values[:-1]
@@ -524,8 +542,11 @@ try:
print("Conversion completed at {0}".format(datetime.now().strftime("%Y-%m-%d %H:%M:%S")))
print("Script duration: {0}".format(end_time - start_time))
except Exception as e:
cursor.execute("SELECT round_id FROM {0} WHERE id = {1}".format(current_table, current_id-1))
query_round_id = cursor.fetchone()
end_time = datetime.now()
print("Error encountered on row ID {0} at {1}".format(current_id, datetime.now().strftime("%Y-%m-%d %H:%M:%S")))
print("Note SQL insertion errors will be due to data from round ID {0}".format(query_round_id[0])) #since data is inserted when the round id changes on a new row
print("Script duration: {0}".format(end_time - start_time))
cursor.execute("TRUNCATE {0} ".format(new_table))
raise e
@@ -270,7 +270,7 @@
/turf/open/floor/wood,
/area/ruin/powered/beach)
"be" = (
/obj/vehicle/scooter/skateboard{
/obj/vehicle/ridden/scooter/skateboard{
dir = 4
},
/turf/open/floor/plating/beach/sand,
@@ -528,7 +528,7 @@
/turf/open/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"bL" = (
/obj/vehicle/scooter/skateboard{
/obj/vehicle/ridden/scooter/skateboard{
dir = 4
},
/turf/open/floor/grass{
@@ -170,7 +170,7 @@
},
/area/ruin/powered/snow_biodome)
"aJ" = (
/obj/vehicle/atv,
/obj/vehicle/ridden/atv,
/turf/open/floor/plating/asteroid/snow{
initial_gas_mix = "o2=22;n2=82;TEMP=180"
},
@@ -140,7 +140,7 @@
icon_state = "blood1";
dir = 1
},
/obj/machinery/door/airlock/survival_pod,
/obj/machinery/door/airlock/survival_pod/glass,
/obj/structure/fans/tiny,
/turf/open/floor/pod/dark,
/area/ruin/powered)
@@ -109,7 +109,7 @@
icon_state = "blood1";
dir = 1
},
/obj/machinery/door/airlock/survival_pod,
/obj/machinery/door/airlock/survival_pod/glass,
/turf/open/floor/pod/dark,
/area/ruin/powered)
"u" = (
+2 -2
View File
@@ -172,7 +172,7 @@
/turf/open/floor/plasteel/bar,
/area/ruin/space/djstation)
"aG" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Kitchen"
},
/turf/open/floor/plasteel/cafeteria,
@@ -193,7 +193,7 @@
/turf/open/floor/plasteel/cafeteria,
/area/ruin/space/djstation)
"aJ" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Rest Room"
},
/turf/open/floor/plasteel/cafeteria,
+2 -2
View File
@@ -1030,7 +1030,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/derelict/bridge/access)
"dp" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -2759,7 +2759,7 @@
/turf/open/floor/plasteel/airless/white,
/area/ruin/space/derelict/medical)
"ja" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Med-Sci";
req_access_txt = "9"
},
@@ -622,7 +622,7 @@
/area/ruin/space/has_grav/abandonedzoo)
"bA" = (
/obj/structure/table/reinforced,
/obj/machinery/juicer,
/obj/machinery/reagentgrinder,
/turf/open/floor/plasteel{
icon_state = "dark"
},
@@ -950,7 +950,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/derelictoutpost/cargobay)
"cy" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/machinery/door/poddoor{
id = "bigderelictcheckpoint";
name = "checkpoint security doors"
@@ -990,7 +990,7 @@
desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";
name = "gelatinous floor"
},
/mob/living/simple_animal/hostile/creature{
/mob/living/simple_animal/hostile/netherworld{
desc = "Awh its so sm-OH GOD WHAT THE FUCK.";
health = 25;
maxHealth = 25;
@@ -1010,7 +1010,7 @@
icon_state = "trails_1";
dir = 10
},
/mob/living/simple_animal/hostile/creature{
/mob/living/simple_animal/hostile/netherworld{
desc = "Awh its so sm-OH GOD WHAT THE FUCK.";
health = 25;
maxHealth = 25;
@@ -1378,7 +1378,7 @@
desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";
name = "gelatinous floor"
},
/mob/living/simple_animal/hostile/creature{
/mob/living/simple_animal/hostile/netherworld{
name = "Miss Tiggles"
},
/turf/open/floor/plasteel,
@@ -1888,7 +1888,7 @@
desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";
name = "gelatinous floor"
},
/mob/living/simple_animal/hostile/creature{
/mob/living/simple_animal/hostile/netherworld{
desc = "Awh its so sm-OH GOD WHAT THE FUCK.";
health = 25;
maxHealth = 25;
+30 -9
View File
@@ -68,7 +68,7 @@
/turf/open/floor/engine,
/area/awaymission/BMPship/Aft)
"ap" = (
/turf/closed/wall/mineral/titanium/overspace,
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/awaymission/BMPship/Midship)
"aq" = (
/turf/closed/wall/mineral/titanium,
@@ -2309,6 +2309,27 @@
},
/turf/open/floor/carpet,
/area/awaymission/BMPship/Fore)
"hy" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/awaymission/BMPship/Fore)
"hz" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/awaymission/BMPship/Fore)
"hA" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/awaymission/BMPship/Fore)
"hB" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/awaymission/BMPship/Fore)
"hC" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/awaymission/BMPship/Fore)
"hD" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/awaymission/BMPship/Fore)
"hE" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/awaymission/BMPship/Fore)
(1,1,1) = {"
aa
@@ -2684,8 +2705,8 @@ aa
aa
aa
aa
cF
aT
aI
hD
bV
hx
ee
@@ -2735,7 +2756,7 @@ aa
aa
aa
aI
aH
hC
bV
bV
dH
@@ -2785,7 +2806,7 @@ aa
aa
aa
aI
aT
hB
bV
bV
bV
@@ -2834,8 +2855,8 @@ aH
aQ
bl
bt
aT
aT
hy
hA
bV
bV
cY
@@ -2849,7 +2870,7 @@ bI
fv
fJ
aH
aH
hE
aQ
gF
gR
@@ -2987,7 +3008,7 @@ aH
aT
aT
aT
aT
hz
bW
co
cH
+3 -5
View File
@@ -879,7 +879,7 @@
},
/area/ruin/space/has_grav/deepstorage)
"bQ" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Hydroponics"
},
/turf/open/floor/plasteel/hydrofloor{
@@ -962,7 +962,7 @@
icon_state = "1-2"
},
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Kitchen"
},
/turf/open/floor/plasteel/cafeteria{
@@ -1488,8 +1488,6 @@
/area/ruin/space/has_grav/deepstorage/armory)
"db" = (
/obj/structure/table,
/obj/item/device/mass_spectrometer/adv,
/obj/item/device/mass_spectrometer/adv,
/obj/item/device/healthanalyzer,
/obj/item/device/healthanalyzer,
/obj/item/stack/medical/gauze,
@@ -1931,7 +1929,7 @@
icon_state = "4-8"
},
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Dorms"
},
/turf/open/floor/plasteel/floorgrime{
+2 -2
View File
@@ -197,11 +197,11 @@
/turf/open/floor/plating/airless,
/area/ruin/unpowered)
"aF" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel/airless/bar,
/area/ruin/unpowered)
"aG" = (
/obj/structure/door_assembly/door_assembly_glass{
/obj/structure/door_assembly/door_assembly_public{
name = "broken airlock"
},
/turf/open/floor/plasteel/airless/bar,
@@ -81,7 +81,9 @@
/turf/open/floor/plating/asteroid/airless,
/area/ruin/space/has_grav)
"u" = (
/obj/machinery/door/airlock/survival_pod/vertical,
/obj/machinery/door/airlock/survival_pod/glass{
dir = 4
},
/turf/open/floor/plating/asteroid/airless,
/area/ruin/space/has_grav)
@@ -106,7 +106,7 @@
/turf/open/floor/mineral/titanium/purple,
/area/ruin/space/has_grav/powered/authorship)
"u" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/mineral/titanium/purple,
/area/ruin/space/has_grav/powered/authorship)
"v" = (
+8 -8
View File
@@ -1468,7 +1468,7 @@
"eo" = (
/obj/machinery/door/firedoor,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Hydroponics"
},
/turf/open/floor/plasteel/floorgrime,
@@ -1502,7 +1502,7 @@
/area/ruin/space/has_grav/ancientstation/hydroponics)
"es" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Hydroponics"
},
/obj/machinery/door/firedoor/closed,
@@ -1561,7 +1561,7 @@
/turf/open/floor/plasteel/white,
/area/ruin/space/has_grav/ancientstation/rnd)
"eB" = (
/obj/machinery/r_n_d/destructive_analyzer,
/obj/machinery/rnd/destructive_analyzer,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/white,
/area/ruin/space/has_grav/ancientstation/rnd)
@@ -1891,12 +1891,12 @@
/turf/open/floor/plasteel/floorgrime,
/area/ruin/space/has_grav/ancientstation/deltacorridor)
"fu" = (
/obj/machinery/r_n_d/protolathe,
/obj/machinery/rnd/protolathe,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/white,
/area/ruin/space/has_grav/ancientstation/rnd)
"fv" = (
/obj/machinery/r_n_d/circuit_imprinter,
/obj/machinery/rnd/circuit_imprinter,
/obj/effect/decal/cleanable/dirt,
/obj/item/reagent_containers/dropper,
/turf/open/floor/plasteel/white,
@@ -3143,14 +3143,14 @@
"ii" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Dining Area"
},
/turf/open/floor/plasteel/cafeteria,
/area/ruin/space/has_grav/ancientstation/kitchen)
"ij" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Dining Area"
},
/obj/machinery/door/firedoor/closed,
@@ -3881,7 +3881,7 @@
/area/ruin/space/has_grav/ancientstation)
"jU" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Cryogenics Room"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+2 -2
View File
@@ -511,7 +511,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -631,7 +631,7 @@
/turf/open/floor/plasteel/airless,
/area/ruin/space/has_grav/onehalf/hallway)
"bC" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -11,7 +11,7 @@
/turf/closed/indestructible/oldshuttle,
/area/ruin/powered)
"d" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/oldshuttle,
/area/ruin/powered)
"e" = (
+8 -8
View File
@@ -1242,12 +1242,12 @@
name = "Hotel Guest Room 1"
})
"df" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/machinery/door/firedoor,
/turf/open/floor/carpet,
/area/ruin/space/has_grav/hotel)
"dg" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/carpet,
@@ -2228,7 +2228,7 @@
/turf/open/floor/carpet,
/area/ruin/space/has_grav/hotel)
"fW" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -2283,7 +2283,7 @@
/turf/open/floor/carpet,
/area/ruin/space/has_grav/hotel)
"gf" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/machinery/door/firedoor,
/turf/open/floor/carpet,
/area/ruin/space/has_grav/hotel/dock)
@@ -3023,7 +3023,7 @@
/turf/open/floor/carpet,
/area/ruin/space/has_grav/hotel)
"il" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -3475,7 +3475,7 @@
/turf/closed/wall,
/area/ruin/space/has_grav/hotel/pool)
"ju" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -3491,7 +3491,7 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel/pool)
"jw" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -3893,7 +3893,7 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/hotel/power)
"kJ" = (
/obj/machinery/door/airlock/glass_external,
/obj/machinery/door/airlock/external/glass,
/obj/structure/cable/yellow{
icon_state = "1-2"
},
@@ -108,7 +108,7 @@
},
/area/ruin/space/has_grav/turretedoutpost)
"aw" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/turretedoutpost)
"ax" = (
@@ -172,7 +172,7 @@
/turf/open/floor/plasteel/vault,
/area/ruin/space/has_grav/turretedoutpost)
"aI" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/turretedoutpost)
"aJ" = (
@@ -69,7 +69,7 @@
/turf/open/floor/mineral/titanium,
/area/ruin/space/has_grav/whiteship/box)
"ao" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plating,
/area/ruin/space/has_grav/whiteship/box)
"ap" = (
@@ -181,7 +181,7 @@
/turf/open/floor/mineral/titanium,
/area/ruin/space/has_grav/whiteship/box)
"aH" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/mineral/titanium,
/area/ruin/space/has_grav/whiteship/box)
"aI" = (
+3 -3
View File
@@ -1273,12 +1273,12 @@
/turf/open/floor/plating,
/area/awaymission/academy)
"eA" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/machinery/door/airlock/external,
/turf/open/floor/plating,
/area/awaymission/academy/classrooms)
"eB" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plating,
/area/awaymission/academy/classrooms)
"eC" = (
@@ -3738,7 +3738,7 @@
/turf/open/floor/vault,
/area/awaymission/academy/academyengine)
"ml" = (
/mob/living/simple_animal/hostile/creature,
/mob/living/simple_animal/hostile/netherworld,
/turf/open/floor/vault,
/area/awaymission/academy/academyengine)
"mm" = (
+1 -1
View File
@@ -825,7 +825,7 @@
/turf/open/floor/plating/snowed/temperatre,
/area/awaymission/cabin)
"cT" = (
/obj/vehicle/atv,
/obj/vehicle/ridden/atv,
/turf/open/floor/plating/snowed/temperatre,
/area/awaymission/cabin)
"cU" = (
+1 -1
View File
@@ -163,7 +163,7 @@
death = 0;
desc = "Looks secure.";
flavour_text = "You are a bartender for the beach!";
icon = 'icons/obj/cryogenic2.dmi';
icon = 'icons/obj/machines/sleeper.dmi';
icon_state = "sleeper";
mob_name = "Jerry Thomas";
name = "bartenders cryosleeper";
+1 -1
View File
@@ -1600,7 +1600,7 @@
/turf/open/floor/carpet,
/area/awaymission/centcomAway/courtroom)
"fU" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Med-Sci";
req_access_txt = "9"
},
+3 -3
View File
@@ -786,7 +786,7 @@
},
/area/awaymission/moonoutpost19/syndicate)
"bO" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Break Room"
},
/turf/open/floor/plasteel{
@@ -1127,7 +1127,7 @@
},
/area/awaymission/moonoutpost19/syndicate)
"cr" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
density = 0;
emagged = 1;
icon_state = "open";
@@ -5322,7 +5322,7 @@
/area/awaymission/moonoutpost19/arrivals)
"km" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Diner"
},
/turf/open/floor/plasteel{
+1 -1
View File
@@ -4347,7 +4347,7 @@
/turf/open/floor/mineral/plasma,
/area/space/nearstation)
"nc" = (
/mob/living/simple_animal/hostile/creature,
/mob/living/simple_animal/hostile/netherworld,
/turf/open/floor/mineral/plasma,
/area/space/nearstation)
"nd" = (
+9 -9
View File
@@ -15,7 +15,7 @@
/area/awaymission/snowdin/post)
"ae" = (
/obj/effect/decal/cleanable/oil,
/obj/vehicle/atv,
/obj/vehicle/ridden/atv,
/turf/open/floor/plating{
baseturf = /turf/open/floor/plating/asteroid/snow
},
@@ -41,7 +41,7 @@
},
/area/awaymission/snowdin/post)
"ai" = (
/obj/vehicle/atv,
/obj/vehicle/ridden/atv,
/turf/open/floor/plating{
baseturf = /turf/open/floor/plating/asteroid/snow
},
@@ -720,7 +720,7 @@
/turf/open/floor/plating/asteroid/snow,
/area/awaymission/snowdin)
"bN" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel/cafeteria{
baseturf = /turf/open/floor/plating/asteroid/snow
},
@@ -1493,7 +1493,7 @@
},
/area/awaymission/snowdin/post)
"dV" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
req_access_txt = "150"
},
/turf/open/floor/plasteel{
@@ -1842,7 +1842,7 @@
/turf/open/floor/plating/asteroid/snow,
/area/awaymission/snowdin)
"eZ" = (
/obj/vehicle/atv,
/obj/vehicle/ridden/atv,
/turf/open/floor/plating/asteroid/snow{
temperature = 140
},
@@ -2453,7 +2453,7 @@
},
/area/awaymission/snowdin/post)
"gJ" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/obj/structure/barricade/wooden,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/snow;
@@ -2490,7 +2490,7 @@
/turf/open/floor/plating/snowed/colder,
/area/awaymission/snowdin/dungeon1)
"gP" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel/cafeteria{
baseturf = /turf/open/floor/plating/asteroid/snow;
temperature = 180
@@ -2549,7 +2549,7 @@
},
/area/awaymission/snowdin/post)
"gX" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/snow;
wet = 0
@@ -4299,7 +4299,7 @@
},
/area/awaymission/snowdin/sekret)
"lE" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel/cafeteria{
baseturf = /turf/open/floor/plating/asteroid/snow
},
+18 -21
View File
@@ -1307,7 +1307,7 @@
/area/awaymission/undergroundoutpost45/central)
"da" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Central Access"
},
/turf/open/floor/plasteel{
@@ -1784,7 +1784,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Hydroponics";
req_access_txt = "201"
},
@@ -1918,7 +1918,7 @@
/area/awaymission/undergroundoutpost45/central)
"eo" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Hydroponics";
req_access_txt = "201"
},
@@ -2796,7 +2796,7 @@
"ge" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Central Access"
},
/turf/open/floor/plasteel{
@@ -3430,7 +3430,7 @@
},
/area/awaymission/undergroundoutpost45/gateway)
"hB" = (
/obj/machinery/r_n_d/destructive_analyzer,
/obj/machinery/rnd/destructive_analyzer,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -3448,7 +3448,7 @@
},
/area/awaymission/undergroundoutpost45/research)
"hD" = (
/obj/machinery/r_n_d/protolathe,
/obj/machinery/rnd/protolathe,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -3545,7 +3545,7 @@
/area/awaymission/undergroundoutpost45/crew_quarters)
"hP" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Kitchen";
req_access_txt = "201"
},
@@ -3709,7 +3709,6 @@
"ig" = (
/obj/machinery/computer/rdconsole/core{
dir = 4;
id = 3;
req_access = null
},
/turf/open/floor/plasteel{
@@ -3722,7 +3721,7 @@
},
/area/awaymission/undergroundoutpost45/research)
"ii" = (
/obj/machinery/r_n_d/circuit_imprinter,
/obj/machinery/rnd/circuit_imprinter,
/turf/open/floor/plasteel{
heat_capacity = 1e+006
},
@@ -4349,7 +4348,7 @@
"jt" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Central Access"
},
/turf/open/floor/plasteel{
@@ -4358,7 +4357,7 @@
/area/awaymission/undergroundoutpost45/crew_quarters)
"ju" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Central Access"
},
/turf/open/floor/plasteel{
@@ -4843,7 +4842,7 @@
/area/awaymission/undergroundoutpost45/crew_quarters)
"kp" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Diner"
},
/turf/open/floor/plasteel{
@@ -5796,7 +5795,7 @@
"lV" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Diner"
},
/turf/open/floor/plasteel{
@@ -5810,7 +5809,7 @@
},
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Diner"
},
/turf/open/floor/plasteel{
@@ -6348,7 +6347,7 @@
"mV" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Dormitories"
},
/obj/effect/decal/cleanable/dirt,
@@ -6359,7 +6358,7 @@
"mW" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Dormitories"
},
/turf/open/floor/plasteel{
@@ -6721,7 +6720,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Dormitories"
},
/turf/open/floor/plasteel{
@@ -7209,7 +7208,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Dormitories"
},
/turf/open/floor/plasteel{
@@ -8602,9 +8601,7 @@
dir = 4;
pixel_x = -22
},
/obj/machinery/r_n_d/server/core{
id_with_download_string = "3";
id_with_upload_string = "3";
/obj/machinery/rnd/server{
req_access = null
},
/turf/open/floor/circuit{
+5 -5
View File
@@ -726,7 +726,7 @@
/turf/open/floor/wood,
/area/awaymission/wildwest/gov)
"cG" = (
/mob/living/simple_animal/hostile/creature,
/mob/living/simple_animal/hostile/netherworld,
/turf/open/floor/plasteel/stage_bleft,
/area/awaymission/wildwest/gov)
"cH" = (
@@ -761,7 +761,7 @@
/turf/open/floor/wood,
/area/awaymission/wildwest/gov)
"cN" = (
/mob/living/simple_animal/hostile/creature,
/mob/living/simple_animal/hostile/netherworld,
/turf/open/floor/wood,
/area/awaymission/wildwest/gov)
"cO" = (
@@ -771,7 +771,7 @@
/turf/open/floor/wood,
/area/awaymission/wildwest/gov)
"cP" = (
/mob/living/simple_animal/hostile/creature,
/mob/living/simple_animal/hostile/netherworld,
/turf/open/floor/carpet,
/area/awaymission/wildwest/gov)
"cQ" = (
@@ -1024,7 +1024,7 @@
/area/awaymission/wildwest/gov)
"dB" = (
/obj/structure/toilet,
/mob/living/simple_animal/hostile/creature,
/mob/living/simple_animal/hostile/netherworld,
/turf/open/floor/plasteel/white,
/area/awaymission/wildwest/gov)
"dC" = (
@@ -1941,7 +1941,7 @@
/turf/open/floor/wood,
/area/awaymission/wildwest/mines)
"gn" = (
/mob/living/simple_animal/hostile/creature,
/mob/living/simple_animal/hostile/netherworld,
/turf/open/floor/grass,
/area/awaymission/wildwest/gov)
"go" = (
+1 -1
View File
@@ -1 +1 @@
#define FORCE_MAP "_maps/boxstation.json"
#define FORCE_MAP "_maps/boxstation.json"
+1 -1
View File
@@ -1 +1 @@
#define FORCE_MAP "_maps/deltastation.json"
#define FORCE_MAP "_maps/deltastation.json"
File diff suppressed because it is too large Load Diff
@@ -36799,7 +36799,7 @@
},
/area/hallway/primary/starboard)
"bze" = (
/obj/machinery/r_n_d/destructive_analyzer,
/obj/machinery/rnd/destructive_analyzer,
/turf/open/floor/plasteel/purple,
/area/toxins/lab)
"bzf" = (
@@ -36807,7 +36807,7 @@
/turf/open/floor/plasteel/purple,
/area/toxins/lab)
"bzg" = (
/obj/machinery/r_n_d/protolathe,
/obj/machinery/rnd/protolathe,
/turf/open/floor/plasteel/purple,
/area/toxins/lab)
"bzh" = (
@@ -37256,7 +37256,7 @@
/turf/open/floor/plasteel/purple,
/area/toxins/lab)
"bAi" = (
/obj/machinery/r_n_d/circuit_imprinter,
/obj/machinery/rnd/circuit_imprinter,
/obj/item/reagent_containers/glass/beaker/sulphuric,
/turf/open/floor/plasteel/purple,
/area/toxins/lab)
@@ -41880,7 +41880,7 @@
/turf/open/floor/plasteel/black,
/area/ai_monitored/turret_protected/aisat)
"bJa" = (
/obj/machinery/r_n_d/server/robotics,
/obj/machinery/rnd/server,
/turf/open/floor/circuit{
name = "Server Base";
initial_gas_mix = "n2=500;TEMP=80"
@@ -43179,7 +43179,7 @@
name = "AI Maintenance"
})
"bLq" = (
/obj/machinery/r_n_d/server/core,
/obj/machinery/rnd/server,
/turf/open/floor/circuit{
name = "Server Base";
initial_gas_mix = "n2=500;TEMP=80"
@@ -47412,7 +47412,7 @@
/turf/open/floor/plasteel,
/area/assembly/robotics)
"bTL" = (
/obj/machinery/r_n_d/circuit_imprinter,
/obj/machinery/rnd/circuit_imprinter,
/turf/open/floor/plasteel,
/area/assembly/robotics)
"bTM" = (
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+55 -9
View File
@@ -196,6 +196,7 @@
/area/mine/laborcamp)
"aI" = (
/obj/machinery/door/airlock{
cyclelinkeddir = 4;
name = "Labor Camp External Access"
},
/turf/open/floor/plasteel,
@@ -286,6 +287,7 @@
/area/lavaland/surface/outdoors/explored)
"aY" = (
/obj/machinery/door/airlock/glass_security{
cyclelinkeddir = 4;
name = "Labor Camp Shuttle Security Airlock";
req_access_txt = "2"
},
@@ -449,6 +451,7 @@
/area/mine/eva)
"bx" = (
/obj/machinery/door/airlock/glass_security{
cyclelinkeddir = 4;
name = "Labor Camp Shuttle Prisoner Airlock";
req_access_txt = "0"
},
@@ -659,6 +662,7 @@
/area/mine/eva)
"bX" = (
/obj/machinery/door/airlock/external{
cyclelinkeddir = 4;
glass = 1;
name = "Mining External Airlock";
opacity = 0;
@@ -744,6 +748,7 @@
/area/mine/laborcamp)
"cj" = (
/obj/machinery/door/airlock/external{
cyclelinkeddir = 4;
glass = 1;
name = "Mining Shuttle Airlock";
opacity = 0;
@@ -1757,10 +1762,8 @@
/area/mine/living_quarters)
"eR" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/door/airlock{
glass = 1;
name = "Break Room";
opacity = 0
/obj/machinery/door/airlock/glass{
name = "Break Room"
},
/turf/open/floor/plasteel,
/area/mine/living_quarters)
@@ -3317,6 +3320,49 @@
/obj/effect/mapping_helpers/planet_z,
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors)
"WA" = (
/obj/machinery/door/airlock{
cyclelinkeddir = 8;
name = "Labor Camp External Access"
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
"WB" = (
/obj/machinery/door/airlock/glass_security{
cyclelinkeddir = 8;
name = "Labor Camp Shuttle Security Airlock";
req_access_txt = "2"
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
"WC" = (
/obj/machinery/door/airlock/glass_security{
cyclelinkeddir = 8;
name = "Labor Camp Shuttle Prisoner Airlock";
req_access_txt = "0"
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
"WD" = (
/obj/machinery/door/airlock/external{
cyclelinkeddir = 8;
glass = 1;
name = "Mining External Airlock";
opacity = 0;
req_access_txt = "54"
},
/turf/open/floor/plasteel,
/area/mine/eva)
"WE" = (
/obj/machinery/door/airlock/external{
cyclelinkeddir = 8;
glass = 1;
name = "Mining Shuttle Airlock";
opacity = 0;
req_access_txt = "0"
},
/turf/open/floor/plasteel,
/area/mine/production)
(1,1,1) = {"
aa
@@ -8415,11 +8461,11 @@ aH
az
aQ
aq
aY
WB
aq
bi
aq
bx
WC
aq
bZ
bZ
@@ -11238,7 +11284,7 @@ an
an
aD
aq
aI
WA
aq
aT
aD
@@ -17930,7 +17976,7 @@ aj
aj
br
br
cj
WE
br
br
ab
@@ -21270,7 +21316,7 @@ aj
ab
bf
bg
bX
WD
bg
bf
ai
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+36 -36
View File
@@ -106,10 +106,10 @@
/obj/structure/cable{
icon_state = "0-4"
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"at" = (
/obj/machinery/power/apc{
@@ -123,10 +123,10 @@
/obj/structure/cable{
icon_state = "0-2"
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"au" = (
/obj/effect/spawner/structure/window/reinforced,
@@ -213,19 +213,19 @@
/obj/machinery/light{
dir = 8
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"aH" = (
/obj/structure/cable{
icon_state = "1-2"
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"aI" = (
/obj/effect/spawner/structure/window/reinforced,
@@ -255,10 +255,10 @@
dir = 4
},
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
/turf/open/floor/plasteel{
/obj/effect/turf_decal/bot{
dir = 2
},
/obj/effect/turf_decal/bot{
/turf/open/floor/plasteel{
dir = 2
},
/area/engine/atmos)
@@ -324,19 +324,19 @@
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"aW" = (
/obj/structure/cable{
icon_state = "1-8"
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"aX" = (
/obj/machinery/door/airlock/glass_engineering{
@@ -367,10 +367,10 @@
dir = 4
},
/obj/machinery/portable_atmospherics/canister,
/turf/open/floor/plasteel{
/obj/effect/turf_decal/bot{
dir = 2
},
/obj/effect/turf_decal/bot{
/turf/open/floor/plasteel{
dir = 2
},
/area/engine/atmos)
@@ -397,16 +397,16 @@
/turf/open/floor/plating,
/area/engine/engineering)
"bg" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"bh" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"bi" = (
/obj/machinery/gravity_generator/main/station,
@@ -468,17 +468,17 @@
/turf/open/floor/plating,
/area/engine/engineering)
"bq" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"br" = (
/obj/structure/closet/radiation,
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 6
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"bs" = (
/obj/structure/cable{
@@ -836,7 +836,7 @@
/turf/open/floor/plasteel,
/area/bridge)
"cx" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
"cy" = (
@@ -961,7 +961,7 @@
/turf/closed/wall/r_wall,
/area/construction)
"cQ" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel,
/area/construction)
"cR" = (
@@ -982,7 +982,7 @@
/turf/closed/wall/r_wall,
/area/storage/primary)
"cV" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel,
/area/storage/primary)
"cW" = (
@@ -996,25 +996,25 @@
dir = 8;
pixel_x = -24
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/plasteel,
/area/construction)
"cX" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 1
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/construction)
"cY" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/construction)
"cZ" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/corner{
dir = 1
},
/turf/open/floor/plasteel,
/area/construction)
"da" = (
/obj/machinery/airalarm{
@@ -1036,10 +1036,10 @@
/turf/open/floor/plating,
/area/storage/primary)
"dc" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel,
/area/storage/primary)
"dd" = (
/turf/open/floor/plasteel{
@@ -1083,10 +1083,10 @@
},
/area/storage/primary)
"dk" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel,
/area/storage/primary)
"dl" = (
/turf/open/floor/plating,
@@ -1095,10 +1095,10 @@
/obj/machinery/light{
dir = 8
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel,
/area/construction)
"dn" = (
/turf/open/floor/plating,
@@ -1107,10 +1107,10 @@
/obj/machinery/light{
dir = 4
},
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel,
/area/construction)
"dp" = (
/obj/machinery/light{
@@ -1160,50 +1160,50 @@
/turf/open/floor/plating,
/area/storage/primary)
"dy" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plasteel,
/area/construction)
"dz" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/floor/plasteel,
/area/construction)
"dA" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/turf/open/floor/plasteel,
/area/storage/primary)
"dB" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/storage/primary)
"dC" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 6
},
/turf/open/floor/plasteel,
/area/storage/primary)
"dD" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/turf/open/floor/plasteel,
/area/storage/primary)
"dE" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/floor/plasteel,
/area/storage/primary)
"dF" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
/turf/open/floor/plasteel,
/area/storage/primary)
"dG" = (
/obj/machinery/door/airlock,
@@ -1221,22 +1221,22 @@
/turf/open/floor/plasteel,
/area/storage/primary)
"dK" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/corner{
dir = 8
},
/turf/open/floor/plasteel,
/area/construction)
"dL" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/floor/plasteel,
/area/construction)
"dM" = (
/turf/open/floor/plasteel,
/obj/effect/turf_decal/stripes/corner{
dir = 4
},
/turf/open/floor/plasteel,
/area/construction)
"dN" = (
/obj/structure/table,
+3 -2
View File
@@ -8108,6 +8108,7 @@
name = "syndicate infiltrator";
port_direction = 1;
roundstart_move = "syndicate_away";
hidden = 1;
width = 18
},
/obj/structure/fans/tiny,
@@ -9834,7 +9835,7 @@
/area/wizard_station)
"zQ" = (
/obj/effect/decal/cleanable/blood/splatter,
/mob/living/simple_animal/hostile/creature{
/mob/living/simple_animal/hostile/netherworld{
name = "Experiment 35b"
},
/turf/open/floor/grass,
@@ -11604,7 +11605,7 @@
/turf/open/floor/plasteel,
/area/wizard_station)
"Ej" = (
/obj/vehicle/scooter/skateboard{
/obj/vehicle/ridden/scooter/skateboard{
icon_state = "skateboard";
dir = 4
},
+7 -3
View File
@@ -300,6 +300,10 @@
/obj/item/clockwork/component/vanguard_cogwheel/onyx_prism,
/turf/open/indestructible/reebe_void,
/area/reebe)
"bj" = (
/obj/structure/destructible/clockwork/eminence_spire,
/turf/open/floor/clockwork/reebe,
/area/reebe/city_of_cogs)
(1,1,1) = {"
aa
@@ -31739,7 +31743,7 @@ aj
aj
ai
aj
aj
az
aj
ai
aj
@@ -31996,7 +32000,7 @@ aj
aj
ap
aj
az
aj
aj
ap
aj
@@ -32253,7 +32257,7 @@ aj
aj
ai
aj
aj
bj
aj
ai
aj
+1 -1
View File
@@ -1 +1 @@
#define FORCE_MAP "_maps/metastation.json"
#define FORCE_MAP "_maps/metastation.json"
+1 -1
View File
@@ -1 +1 @@
#define FORCE_MAP "_maps/omegastation.json"
#define FORCE_MAP "_maps/omegastation.json"
+1 -1
View File
@@ -1 +1 @@
#define FORCE_MAP "_maps/pubbystation.json"
#define FORCE_MAP "_maps/pubbystation.json"
+1 -1
View File
@@ -1 +1 @@
#define FORCE_MAP "_maps/runtimestation.json"
#define FORCE_MAP "_maps/runtimestation.json"
+2 -2
View File
@@ -131,7 +131,7 @@
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"az" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Cockpit";
req_access_txt = "19"
},
@@ -201,7 +201,7 @@
/turf/open/floor/mineral/plastitanium/brig,
/area/shuttle/escape)
"aJ" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Brig";
req_access_txt = "2"
},
+1 -1
View File
@@ -141,7 +141,7 @@
/turf/open/floor/mineral/plastitanium/brig,
/area/shuttle/escape)
"aA" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"aB" = (
+3 -3
View File
@@ -122,7 +122,7 @@
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"ay" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Cockpit";
req_access_txt = "19"
},
@@ -185,7 +185,7 @@
/turf/open/floor/mineral/plastitanium/brig,
/area/shuttle/escape)
"aH" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Brig";
req_access_txt = "2"
},
@@ -297,7 +297,7 @@
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"aZ" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Infirmary"
},
/turf/open/floor/mineral/titanium/blue,
+2 -2
View File
@@ -244,7 +244,7 @@
/turf/open/floor/plasteel/darkred,
/area/shuttle/escape)
"aR" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Cockpit";
req_access_txt = "19"
},
@@ -423,7 +423,7 @@
/turf/open/floor/mineral/plastitanium/brig,
/area/shuttle/escape)
"bq" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Brig";
req_access_txt = "2"
},
+3 -3
View File
@@ -99,7 +99,7 @@
/turf/open/floor/noslip,
/area/shuttle/escape)
"as" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Premium Lounge";
req_access_txt = "0"
},
@@ -143,7 +143,7 @@
/turf/open/floor/mineral/plastitanium/brig,
/area/shuttle/escape)
"aA" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Greentext";
req_access_txt = "0"
},
@@ -275,7 +275,7 @@
/turf/open/floor/bluespace,
/area/shuttle/escape)
"aU" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Infirmary"
},
/turf/open/floor/bluespace,
+497
View File
@@ -0,0 +1,497 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/template_noop)
"b" = (
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/escape)
"c" = (
/obj/effect/spawner/structure/window/plasma/reinforced,
/turf/open/floor/plasteel/elevatorshaft,
/area/shuttle/escape)
"d" = (
/obj/structure/table/wood,
/obj/item/device/flashlight/lamp/green,
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"e" = (
/obj/structure/chair/comfy/brown{
dir = 1
},
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"f" = (
/obj/machinery/computer/emergency_shuttle,
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"g" = (
/obj/structure/table/wood,
/obj/item/storage/fancy/cigarettes/cigars/havana,
/obj/item/lighter{
pixel_x = -4;
pixel_y = 6
},
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"h" = (
/obj/machinery/computer/atmos_alert{
dir = 4
},
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"i" = (
/obj/structure/chair/comfy/brown{
dir = 8
},
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"j" = (
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"k" = (
/obj/structure/chair/comfy/brown{
dir = 4
},
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"l" = (
/obj/machinery/computer/security{
dir = 8
},
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"m" = (
/obj/machinery/computer/crew{
dir = 4
},
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"n" = (
/obj/structure/table/wood/poker,
/obj/item/storage/box/drinkingglasses,
/obj/item/reagent_containers/food/drinks/bottle/whiskey,
/obj/machinery/light,
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"o" = (
/obj/machinery/computer/communications{
dir = 8
},
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"p" = (
/obj/machinery/door/airlock/gold{
req_access_txt = "19"
},
/turf/open/floor/mineral/gold,
/area/shuttle/escape)
"q" = (
/obj/structure/statue/plasma/scientist{
anchored = 1;
oreAmount = 50
},
/turf/open/floor/light/colour_cycle,
/area/shuttle/escape)
"r" = (
/turf/open/floor/mineral/plasma,
/area/shuttle/escape)
"s" = (
/turf/open/floor/mineral/silver,
/area/shuttle/escape)
"t" = (
/turf/open/floor/light/colour_cycle,
/area/shuttle/escape)
"u" = (
/obj/docking_port/mobile/emergency{
name = "Disco Inferno";
timid = 1
},
/obj/machinery/door/airlock/gold{
armor = list("melee" = 30, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100);
heat_proof = 1;
resistance_flags = 2
},
/turf/open/floor/mineral/plasma,
/area/shuttle/escape)
"v" = (
/obj/machinery/disco{
anchored = 1;
req_access = null
},
/turf/open/floor/light/colour_cycle,
/area/shuttle/escape)
"w" = (
/obj/machinery/door/airlock/gold,
/turf/open/floor/wood,
/area/shuttle/escape)
"x" = (
/turf/open/floor/wood,
/area/shuttle/escape)
"y" = (
/turf/open/floor/carpet,
/area/shuttle/escape)
"z" = (
/obj/structure/chair/comfy/brown{
dir = 2
},
/turf/open/floor/carpet,
/area/shuttle/escape)
"A" = (
/obj/structure/table/wood/fancy,
/obj/item/reagent_containers/food/drinks/bottle/cognac,
/turf/open/floor/wood,
/area/shuttle/escape)
"B" = (
/obj/structure/table/wood/fancy,
/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,
/turf/open/floor/wood,
/area/shuttle/escape)
"C" = (
/obj/machinery/computer/slot_machine,
/obj/machinery/light{
dir = 8
},
/turf/open/floor/wood,
/area/shuttle/escape)
"D" = (
/obj/structure/chair/comfy/brown{
dir = 8
},
/turf/open/floor/wood,
/area/shuttle/escape)
"E" = (
/obj/structure/chair/comfy/brown{
dir = 4
},
/turf/open/floor/carpet,
/area/shuttle/escape)
"F" = (
/obj/structure/table/wood/poker,
/obj/item/toy/cards/deck,
/turf/open/floor/carpet,
/area/shuttle/escape)
"G" = (
/obj/structure/chair/comfy/brown{
dir = 8
},
/turf/open/floor/carpet,
/area/shuttle/escape)
"H" = (
/obj/structure/table/wood/fancy,
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass,
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass,
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass,
/obj/machinery/light{
dir = 4
},
/obj/item/coin/plasma,
/obj/item/coin/plasma,
/turf/open/floor/wood,
/area/shuttle/escape)
"I" = (
/obj/machinery/computer/slot_machine{
dir = 3
},
/turf/open/floor/wood,
/area/shuttle/escape)
"J" = (
/obj/structure/chair/comfy/brown{
dir = 1
},
/turf/open/floor/carpet,
/area/shuttle/escape)
"K" = (
/obj/structure/table/wood/fancy,
/obj/item/reagent_containers/food/drinks/bottle/absinthe,
/turf/open/floor/wood,
/area/shuttle/escape)
"L" = (
/obj/structure/table/wood/fancy,
/obj/item/reagent_containers/food/drinks/bottle/lizardwine,
/turf/open/floor/wood,
/area/shuttle/escape)
"M" = (
/obj/structure/shuttle/engine/heater,
/obj/structure/window/plasma/reinforced{
dir = 1
},
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"N" = (
/obj/structure/shuttle/engine/propulsion,
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"O" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/shuttle/escape)
"P" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/shuttle/escape)
"Q" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/shuttle/escape)
(1,1,1) = {"
a
a
a
a
b
b
b
c
b
u
b
c
c
c
b
O
b
w
b
c
b
a
"}
(2,1,1) = {"
a
b
b
b
O
q
r
r
r
r
j
r
r
r
r
q
c
x
C
I
b
b
"}
(3,1,1) = {"
b
b
h
m
c
r
r
r
r
s
j
s
r
r
r
r
c
x
D
D
M
N
"}
(4,1,1) = {"
c
d
i
i
c
r
r
r
j
j
t
j
j
r
r
r
c
x
x
x
M
N
"}
(5,1,1) = {"
c
e
j
j
c
r
r
s
j
t
t
t
j
s
r
r
c
y
E
y
M
N
"}
(6,1,1) = {"
c
f
j
n
c
r
j
j
t
t
v
t
t
j
j
r
c
z
F
J
M
N
"}
(7,1,1) = {"
c
e
j
j
p
r
r
s
j
t
t
t
j
s
r
r
c
y
G
y
M
N
"}
(8,1,1) = {"
c
g
k
k
c
r
r
r
j
j
t
j
j
r
r
r
c
x
x
x
M
N
"}
(9,1,1) = {"
b
b
l
o
c
r
r
r
r
s
j
s
r
r
r
r
c
A
x
K
M
N
"}
(10,1,1) = {"
a
b
b
b
O
q
r
r
r
r
j
r
r
r
r
q
c
B
H
L
b
b
"}
(11,1,1) = {"
a
a
a
a
b
b
b
c
b
b
b
c
c
c
b
b
b
c
b
c
b
a
"}
+3 -3
View File
@@ -104,7 +104,7 @@
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"w" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Infirmary"
},
/turf/open/floor/mineral/titanium,
@@ -157,7 +157,7 @@
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"E" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Cockpit";
req_access_txt = "19"
},
@@ -193,7 +193,7 @@
/turf/open/floor/mineral/plastitanium/brig,
/area/shuttle/escape)
"K" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Brig";
req_access_txt = "2"
},
+4 -4
View File
@@ -149,7 +149,7 @@
/turf/closed/wall/mineral/titanium,
/area/shuttle/escape)
"aB" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Cockpit";
req_access_txt = "19"
},
@@ -169,7 +169,7 @@
/turf/open/floor/plating,
/area/shuttle/escape)
"aE" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Cargo Hold";
req_access_txt = "0"
},
@@ -182,7 +182,7 @@
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"aG" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Brig";
req_access_txt = "2"
},
@@ -262,7 +262,7 @@
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"aU" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Infirmary"
},
/turf/open/floor/mineral/titanium/blue,
+2 -2
View File
@@ -893,7 +893,7 @@
},
/area/shuttle/escape)
"cf" = (
/obj/machinery/door/airlock/glass_titanium{
/obj/machinery/door/airlock/titanium/glass{
name = "Shuttle Engine Room"
},
/turf/open/floor/plasteel/darkgreen/side{
@@ -901,7 +901,7 @@
},
/area/shuttle/escape)
"cg" = (
/obj/machinery/door/airlock/glass_titanium{
/obj/machinery/door/airlock/titanium/glass{
name = "Shuttle Engine Room"
},
/turf/open/floor/plasteel/darkgreen/side{
+1 -1
View File
@@ -117,7 +117,7 @@
/turf/closed/wall/rust,
/area/shuttle/escape)
"at" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Glorious Leaders";
req_access_txt = "19"
},
+2 -2
View File
@@ -95,7 +95,7 @@
/turf/open/floor/mineral/plastitanium/brig,
/area/shuttle/escape)
"ar" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Cockpit";
req_access_txt = "19"
},
@@ -148,7 +148,7 @@
/area/shuttle/escape)
"az" = (
/obj/structure/grille,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Brig";
req_access_txt = "2"
},
+2 -2
View File
@@ -139,7 +139,7 @@
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"aB" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Emergency Shuttle Brig";
req_access_txt = "2"
},
@@ -255,7 +255,7 @@
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
"aU" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"aV" = (
+3 -3
View File
@@ -110,7 +110,7 @@
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned)
"aw" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plating,
/area/shuttle/abandoned)
"ax" = (
@@ -220,7 +220,7 @@
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned)
"aR" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned)
"aS" = (
@@ -288,7 +288,7 @@
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned)
"be" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned)
"bf" = (
+4 -8
View File
@@ -584,10 +584,8 @@
desc = "A thin layer of dust coating the floor.";
name = "dust"
},
/obj/machinery/door/airlock{
glass = 1;
name = "Dormitory";
opacity = 0
/obj/machinery/door/airlock/glass{
name = "Dormitory"
},
/turf/open/floor/plasteel/neutral,
/area/shuttle/abandoned)
@@ -722,10 +720,8 @@
desc = "A thin layer of dust coating the floor.";
name = "dust"
},
/obj/machinery/door/airlock{
glass = 1;
name = "Crew Quarters";
opacity = 0
/obj/machinery/door/airlock/glass{
name = "Crew Quarters"
},
/turf/open/floor/plasteel/neutral/side{
dir = 1
-1
View File
@@ -1134,7 +1134,6 @@
desc = "A thin layer of dust coating the floor.";
name = "dust"
},
/obj/item/device/mass_spectrometer,
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned)
"bW" = (
+2 -2
View File
@@ -12,7 +12,7 @@
/turf/closed/wall/mineral/titanium,
/area/shuttle/abandoned)
"d" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Shuttle Airlock"
},
/turf/open/floor/plasteel/dark,
@@ -81,7 +81,7 @@
/turf/open/floor/plating/abductor,
/area/shuttle/abandoned)
"o" = (
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Shuttle Airlock"
},
/obj/docking_port/mobile{
+3 -3
View File
@@ -49,7 +49,7 @@
name = "Shuttle"
})
"h" = (
/obj/machinery/door/airlock/glass_external,
/obj/machinery/door/airlock/external/glass,
/turf/open/floor/plating,
/area/ruin/powered{
name = "Shuttle"
@@ -65,7 +65,7 @@
name = "Shuttle"
})
"k" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel/dark,
/area/ruin/powered{
name = "Shuttle"
@@ -89,7 +89,7 @@
name = "Shuttle"
})
"o" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel,
/area/ruin/powered{
name = "Shuttle"
+2 -2
View File
@@ -75,7 +75,7 @@
name = "Shuttle"
})
"l" = (
/obj/machinery/door/airlock/glass_external,
/obj/machinery/door/airlock/external/glass,
/turf/open/floor/plating,
/area/ruin/powered{
name = "Shuttle"
@@ -86,7 +86,7 @@
name = "Shuttle"
})
"n" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel/dark,
/area/ruin/powered{
name = "Shuttle"
+2 -2
View File
@@ -62,7 +62,7 @@
name = "Shuttle"
})
"j" = (
/obj/machinery/door/airlock/glass_external,
/obj/machinery/door/airlock/external/glass,
/turf/open/floor/plating,
/area/ruin/powered{
name = "Shuttle"
@@ -100,7 +100,7 @@
name = "Shuttle"
})
"p" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/plasteel,
/area/ruin/powered{
name = "Shuttle"
+1 -1
View File
@@ -11,7 +11,7 @@
/turf/closed/indestructible/oldshuttle,
/area/ruin/powered)
"d" = (
/obj/machinery/door/airlock/glass,
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/oldshuttle,
/area/ruin/powered)
"e" = (
+2 -2
View File
@@ -929,7 +929,7 @@
/area/shuttle/pirate)
"cg" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
name = "Bar"
},
/turf/open/floor/plasteel,
@@ -1740,7 +1740,7 @@
icon_state = "1-2";
pixel_y = 0
},
/obj/machinery/door/airlock/glass{
/obj/machinery/door/airlock/public/glass{
heat_proof = 1;
id_tag = "pirateturbinebolt";
locked = 1;
+1 -1
View File
@@ -61,7 +61,7 @@
/area/survivalpod)
"n" = (
/obj/structure/fans/tiny,
/obj/machinery/door/airlock/survival_pod,
/obj/machinery/door/airlock/survival_pod/glass,
/turf/open/floor/pod,
/area/survivalpod)
"o" = (
+1 -1
View File
@@ -203,7 +203,7 @@
/area/survivalpod)
"D" = (
/obj/structure/fans/tiny,
/obj/machinery/door/airlock/survival_pod,
/obj/machinery/door/airlock/survival_pod/glass,
/turf/open/floor/pod,
/area/survivalpod)
"E" = (
+123
View File
@@ -1 +1,124 @@
jayehh role=admin
optimumtact role=admin
newsta role=admin
expletives role=admin
kingofkosmos role=admin
mrstonedone role=admin
microscopics role=admin
gunhog role=admin
korphaeron role=admin
razharas role=admin
lordpidey role=admin
niknakflak role=admin
rolan7 role=admin
quarxink role=admin
adrix89 role=admin
tle role=admin
xsi role=admin
scaredofshadows role=admin
neofite role=admin
trubblebass role=admin
mport2004 role=admin
deuryn role=admin
agouri role=admin
errorage role=admin
superxpdude role=admin
petethegoat role=admin
nodrak role=admin
carnwennan role=admin
ikarrus role=admin
cheridan role=admin
giacomand role=admin
rockdtben role=admin
sieve role=admin
aranclanos role=admin
intigracy role=admin
dumpdavidson role=admin
kazeespada role=admin
malkevin role=admin
incoming role=admin
demas role=admin
fleure role=admin
ricotez role=admin
misterperson role=admin
crimsonvision role=admin
iamgoofball role=admin
zelacks role=admin
androidsfv role=admin
miggles role=admin
jordie0608 role=admin
s0ldi3rkr4s0 role=admin
ergovisavi role=admin
vistapowa role=admin
miauw62 role=admin
rumia29 role=admin
bobylein role=admin
sirbayer role=admin
hornygranny role=admin
yota role=admin
firecage role=admin
donkieyo role=admin
argoneus role=admin
paprka role=admin
cookingboy3 role=admin
limeliz role=admin
steelpoint role=admin
phil235 role=admin
corruptcomputer role=admin
xxnoob role=admin
tkdrg role=admin
cuboos role=admin
thunder12345 role=admin
wjohnston role=admin
mandurrh role=admin
thurgatar role=admin
xerux role=admin
dannno role=admin
lo6a4evskiy role=admin
vekter role=admin
ahammer18 role=admin
account12 role=admin
fayrik role=admin
shadowlight213 role=admin
drovidicorv role=admin
dunc role=admin
mmmiracles role=admin
bear1ake role=admin
coreoverload role=admin
jalleo role=admin
changelingrain role=admin
foxpmccloud role=admin
xhuis role=admin
astralenigma role=admin
tokiko1 role=admin
supersayu role=admin
lzimann role=admin
as334 role=admin
neersighted role=admin
swankcookie role=admin
ressler role=admin
folix role=admin
bawhoppennn role=admin
anturke role=admin
lumipharon role=admin
bgobandit role=admin
coiax role=admin
randommarine role=admin
pkpenguin321 role=admin
technoalchemist role=admin
aloraydrel role=admin
quiltyquilty role=admin
snipedragon role=admin
fjeld role=admin
kevinz000 role=admin
tacolizard role=admin
trustygun role=admin
cyberboss role=admin
pjb3005 role=admin
sweaterkittens role=admin
feemjmeem role=admin
jstheguy role=admin
excessiveuseofcobby role=admin
plizzard role=admin
octareenroon91 role=admin
serpentarium role=admin
+14 -10
View File
@@ -24,7 +24,7 @@
#define MUT_MUTE "Mute"
#define SMILE "Smile"
#define STONER "Stoner"
#define UNINTELLIGABLE "Unintelligable"
#define UNINTELLIGIBLE "Unintelligible"
#define SWEDISH "Swedish"
#define CHAV "Chav"
#define ELVIS "Elvis"
@@ -82,7 +82,7 @@
#define DNA_MUTANTTAIL_BLOCK 17
#define DNA_MUTANTWING_BLOCK 18
#define DNA_WINGCOLOR_BLOCK 19
#define DNA_STRUC_ENZYMES_BLOCKS 19
#define DNA_STRUC_ENZYMES_BLOCKS 18
#define DNA_UNIQUE_ENZYMES_LEN 32
//Transformation proc stuff
@@ -127,15 +127,19 @@
#define TOXINLOVER 24
#define DIGITIGRADE 25 //Uses weird leg sprites. Optional for Lizards, required for ashwalkers. Don't give it to other races unless you make sprites for this (see human_parts_greyscale.dmi)
#define NO_UNDERWEAR 26
#define MUTCOLORS2 27
#define MUTCOLORS3 28
#define NOLIVER 29
#define NOSTOMACH 30
#define NOLIVER 27
#define NOSTOMACH 28
#define NO_DNA_COPY 29
#define DRINKSBLOOD 30
#define SPECIES_ORGANIC 31
#define SPECIES_INORGANIC 32
#define SPECIES_UNDEAD 33
#define SPECIES_ROBOTIC 34
//citadel code
#define NOAROUSAL 29 //Stops all arousal effects
#define NOGENITALS 30 //Cannot create, use, or otherwise have genitals
#define NO_DNA_COPY 31
#define DRINKSBLOOD 32
#define MUTCOLORS2 35
#define MUTCOLORS3 36
#define NOAROUSAL 37 //Stops all arousal effects
#define NOGENITALS 38 //Cannot create, use, or otherwise have genitals
#define ORGAN_SLOT_BRAIN "brain"
#define ORGAN_SLOT_APPENDIX "appendix"
+17 -13
View File
@@ -94,19 +94,22 @@
#define BANTYPE_ANY_JOB 9 //used to remove jobbans
//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
#define R_BUILDMODE 0x1
#define R_ADMIN 0x2
#define R_BAN 0x4
#define R_FUN 0x8
#define R_SERVER 0x10
#define R_DEBUG 0x20
#define R_POSSESS 0x40
#define R_PERMISSIONS 0x80
#define R_STEALTH 0x100
#define R_POLL 0x200
#define R_VAREDIT 0x400
#define R_SOUNDS 0x800
#define R_SPAWN 0x1000
#define R_AUTOLOGIN 0x2000
#define R_DEFAULT R_AUTOLOGIN
#if DM_VERSION > 512
#error Remove the flag below , its been long enough
@@ -142,6 +145,7 @@
#define ADMIN_PUNISHMENT_GIB "Gib"
#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device"
#define ADMIN_PUNISHMENT_FIREBALL "Fireball"
#define ADMIN_PUNISHMENT_ROD "Immovable Rod"
#define AHELP_ACTIVE 1
#define AHELP_CLOSED 2
+71 -55
View File
@@ -1,14 +1,5 @@
#define FIRE_DAMAGE_MODIFIER 0.0215 //Higher values result in more external fire damage to the skin (default 0.0215)
#define AIR_DAMAGE_MODIFIER 2.025 //More means less damage from hot air scalding lungs, less = more damage. (default 2.025)
#define MOLES_CELLSTANDARD (ONE_ATMOSPHERE*CELL_VOLUME/(T20C*R_IDEAL_GAS_EQUATION)) //moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC
#define M_CELL_WITH_RATIO (MOLES_CELLSTANDARD * 0.005)
#define O2STANDARD 0.21
#define N2STANDARD 0.79
#define MOLES_O2STANDARD (MOLES_CELLSTANDARD*O2STANDARD) // O2 standard value (21%)
#define MOLES_N2STANDARD (MOLES_CELLSTANDARD*N2STANDARD) // N2 standard value (79%)
//indices of values in gas lists. used by listmos.
//LISTMOS
//indices of values in gas lists.
#define MOLES 1
#define ARCHIVE 2
#define GAS_META 3
@@ -19,32 +10,41 @@
#define META_GAS_DANGER 5
#define META_GAS_ID 6
//stuff you should probably leave well alone!
//ATMOS
#define CELL_VOLUME 2500 //liters in a cell
#define BREATH_VOLUME 0.5 //liters in a normal breath
#define BREATH_PERCENTAGE (BREATH_VOLUME/CELL_VOLUME) //Amount of air to take a from a tile
#define HUMAN_NEEDED_OXYGEN (MOLES_CELLSTANDARD*BREATH_PERCENTAGE*0.16) //Amount of air needed before pass out/suffocation commences
#define NORMPIPERATE 30 //pipe-insulation rate divisor
#define HEATPIPERATE 8 //heat-exch pipe insulation
#define FLOWFRAC 0.99 //fraction of gas transfered per process
#define TANK_MELT_TEMPERATURE 1000000
#define TANK_LEAK_PRESSURE (30.*ONE_ATMOSPHERE) //Tank starts leaking
#define TANK_RUPTURE_PRESSURE (35.*ONE_ATMOSPHERE) //Tank spills all contents into atmosphere
#define TANK_FRAGMENT_PRESSURE (40.*ONE_ATMOSPHERE) //Boom 3x3 base explosion
#define TANK_FRAGMENT_SCALE (6.*ONE_ATMOSPHERE) //+1 for each SCALE kPa aboe threshold
#define MINIMUM_AIR_RATIO_TO_SUSPEND 0.1 //Ratio of air that must move to/from a tile to reset group processing
#define MINIMUM_AIR_RATIO_TO_MOVE 0.001 //Minimum ratio of air that must move to/from a tile
#define MINIMUM_AIR_TO_SUSPEND (MOLES_CELLSTANDARD*MINIMUM_AIR_RATIO_TO_SUSPEND) //Minimum amount of air that has to move before a group processing can be suspended
#define MINIMUM_MOLES_DELTA_TO_MOVE (MOLES_CELLSTANDARD*MINIMUM_AIR_RATIO_TO_MOVE) //Either this must be active
#define EXCITED_GROUP_BREAKDOWN_CYCLES 4
#define EXCITED_GROUP_DISMANTLE_CYCLES 16
#define MINIMUM_TEMPERATURE_TO_MOVE (T20C+100) //or this (or both, obviously)
#define MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND 0.012
//stuff you should probably leave well alone!
#define R_IDEAL_GAS_EQUATION 8.31 //kPa*L/(K*mol)
#define ONE_ATMOSPHERE 101.325 //kPa
#define T0C 273.15 // 0degC
#define T20C 293.15 // 20degC
#define TCMB 2.7 // -270.3degC
#define MOLES_CELLSTANDARD (ONE_ATMOSPHERE*CELL_VOLUME/(T20C*R_IDEAL_GAS_EQUATION)) //moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC
#define M_CELL_WITH_RATIO (MOLES_CELLSTANDARD * 0.005) //compared against for superconductivity
#define O2STANDARD 0.21 //percentage of oxygen in a normal mixture of air
#define N2STANDARD 0.79 //same but for nitrogen
#define MOLES_O2STANDARD (MOLES_CELLSTANDARD*O2STANDARD) // O2 standard value (21%)
#define MOLES_N2STANDARD (MOLES_CELLSTANDARD*N2STANDARD) // N2 standard value (79%)
#define CELL_VOLUME 2500 //liters in a cell
#define BREATH_VOLUME 0.5 //liters in a normal breath
#define BREATH_PERCENTAGE (BREATH_VOLUME/CELL_VOLUME) //Amount of air to take a from a tile
#define HUMAN_NEEDED_OXYGEN (MOLES_CELLSTANDARD*BREATH_PERCENTAGE*0.16) //Amount of air needed before pass out/suffocation commences
//EXCITED GROUPS
#define EXCITED_GROUP_BREAKDOWN_CYCLES 4 //number of FULL air controller ticks before an excited group breaks down (averages gas contents across turfs)
#define EXCITED_GROUP_DISMANTLE_CYCLES 16 //number of FULL air controller ticks before an excited group dismantles and removes its turfs from active
#define MINIMUM_AIR_RATIO_TO_SUSPEND 0.1 //Ratio of air that must move to/from a tile to reset group processing
#define MINIMUM_AIR_RATIO_TO_MOVE 0.001 //Minimum ratio of air that must move to/from a tile
#define MINIMUM_AIR_TO_SUSPEND (MOLES_CELLSTANDARD*MINIMUM_AIR_RATIO_TO_SUSPEND) //Minimum amount of air that has to move before a group processing can be suspended
#define MINIMUM_MOLES_DELTA_TO_MOVE (MOLES_CELLSTANDARD*MINIMUM_AIR_RATIO_TO_MOVE) //Either this must be active
#define MINIMUM_TEMPERATURE_TO_MOVE (T20C+100) //or this (or both, obviously)
#define MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND 4 //Minimum temperature difference before group processing is suspended
#define MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER 0.5 //Minimum temperature difference before the gas temperatures are just set to be equal
#define MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTION T20C+10
#define MINIMUM_TEMPERATURE_START_SUPERCONDUCTION T20C+200
//HEAT TRANSFER COEFFICIENTS
//Must be between 0 and 1. Values closer to 1 equalize temperature faster
//Should not exceed 0.4 else strange heat flow occur
#define FLOOR_HEAT_TRANSFER_COEFFICIENT 0.4
#define WALL_HEAT_TRANSFER_COEFFICIENT 0.0
#define DOOR_HEAT_TRANSFER_COEFFICIENT 0.0
@@ -52,20 +52,31 @@
#define OPEN_HEAT_TRANSFER_COEFFICIENT 0.4
#define WINDOW_HEAT_TRANSFER_COEFFICIENT 0.1 //a hack for now
#define HEAT_CAPACITY_VACUUM 7000 //a hack to help make vacuums "cold", sacrificing realism for gameplay
//Must be between 0 and 1. Values closer to 1 equalize temperature faster
//Should not exceed 0.4 else strange heat flow occur
//FIRE
#define FIRE_MINIMUM_TEMPERATURE_TO_SPREAD 150+T0C
#define FIRE_MINIMUM_TEMPERATURE_TO_EXIST 100+T0C
#define FIRE_SPREAD_RADIOSITY_SCALE 0.85
#define FIRE_GROWTH_RATE 40000 //For small fires
#define CARBON_LIFEFORM_FIRE_RESISTANCE 200+T0C //Resistance to fire damage
#define CARBON_LIFEFORM_FIRE_DAMAGE 4 //Fire damage
#define PLASMA_MINIMUM_BURN_TEMPERATURE 100+T0C
//GASES
#define MIN_TOXIC_GAS_DAMAGE 1
#define MAX_TOXIC_GAS_DAMAGE 10
#define MOLES_GAS_VISIBLE 0.5 //Moles in a standard cell after which gases are visible
#define STOP_REACTIONS 2
#define PLASMA_MINIMUM_BURN_TEMPERATURE 100+T0C
#define GAS_STIM_MINIMUM 0.002
//REACTIONS
//return values for reactions (bitflags)
#define NO_REACTION 0
#define REACTING 1
#define STOP_REACTIONS 2
//HUMANS
//Hurty numbers
#define FIRE_DAMAGE_MODIFIER 0.0215 //Higher values result in more external fire damage to the skin
#define AIR_DAMAGE_MODIFIER 2.025 //More means less damage from hot air scalding lungs, less = more damage
// Pressure limits.
#define HAZARD_HIGH_PRESSURE 550 //This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)
@@ -107,65 +118,71 @@
#define SHOES_MIN_TEMP_PROTECT 2.0 //For gloves
#define SHOES_MAX_TEMP_PROTECT 1500 //For gloves
#define PRESSURE_DAMAGE_COEFFICIENT 4 //The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE
#define MAX_HIGH_PRESSURE_DAMAGE 4
#define LOW_PRESSURE_DAMAGE 4 //The amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value).
#define COLD_SLOWDOWN_FACTOR 20 //Humans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this
// Atmos pipe limits
//PIPES
//Atmos pipe limits
#define MAX_OUTPUT_PRESSURE 4500 // (kPa) What pressure pumps and powered equipment max out at.
#define MAX_TRANSFER_RATE 200 // (L/s) Maximum speed powered equipment can work at.
//Atmos machinery pipenet stuff
// used for device_type vars; used by DEVICE_TYPE_LOOP
//used for device_type vars; used by DEVICE_TYPE_LOOP
#define UNARY 1
#define BINARY 2
#define TRINARY 3
#define QUATERNARY 4
// this is the standard for loop used by all sorts of atmos machinery procs
//TODO: finally remove this bullshit
//this is the standard for loop used by all sorts of atmos machinery procs
#define DEVICE_TYPE_LOOP var/I in 1 to device_type
// defines for the various machinery lists
// NODE_I, AIR_I, PARENT_I are used within DEVICE_TYPE_LOOP
//defines for the various machinery lists
//NODE_I, AIR_I, PARENT_I are used within DEVICE_TYPE_LOOP
// nodes list - all atmos machinery
//nodes list - all atmos machinery
#define NODE1 nodes[1]
#define NODE2 nodes[2]
#define NODE3 nodes[3]
#define NODE4 nodes[4]
#define NODE_I nodes[I]
// airs list - components only
//airs list - components only
#define AIR1 airs[1]
#define AIR2 airs[2]
#define AIR3 airs[3]
#define AIR_I airs[I]
// parents list - components only
//parents list - components only
#define PARENT1 parents[1]
#define PARENT2 parents[2]
#define PARENT3 parents[3]
#define PARENT_I parents[I]
//Tanks
#define TANK_MAX_RELEASE_PRESSURE (ONE_ATMOSPHERE*3)
#define TANK_MIN_RELEASE_PRESSURE 0
#define TANK_DEFAULT_RELEASE_PRESSURE 16
//TANKS
#define TANK_MELT_TEMPERATURE 1000000 //temperature in kelvins at which a tank will start to melt
#define TANK_LEAK_PRESSURE (30.*ONE_ATMOSPHERE) //Tank starts leaking
#define TANK_RUPTURE_PRESSURE (35.*ONE_ATMOSPHERE) //Tank spills all contents into atmosphere
#define TANK_FRAGMENT_PRESSURE (40.*ONE_ATMOSPHERE) //Boom 3x3 base explosion
#define TANK_FRAGMENT_SCALE (6.*ONE_ATMOSPHERE) //+1 for each SCALE kPa aboe threshold
#define TANK_MAX_RELEASE_PRESSURE (ONE_ATMOSPHERE*3)
#define TANK_MIN_RELEASE_PRESSURE 0
#define TANK_DEFAULT_RELEASE_PRESSURE 16
//CANATMOSPASS
#define ATMOS_PASS_YES 1
#define ATMOS_PASS_NO 0
#define ATMOS_PASS_PROC -1 //ask CanAtmosPass()
#define ATMOS_PASS_DENSITY -2 //just check density
#define CANATMOSPASS(A, O) ( A.CanAtmosPass == ATMOS_PASS_PROC ? A.CanAtmosPass(O) : ( A.CanAtmosPass == ATMOS_PASS_DENSITY ? !A.density : A.CanAtmosPass ) )
//LAVALAND
#define LAVALAND_EQUIPMENT_EFFECT_PRESSURE 50 //what pressure you have to be under to increase the effect of equipment meant for lavaland
#define LAVALAND_DEFAULT_ATMOS "o2=14;n2=23;TEMP=300"
//MULTIPIPES
//IF YOU EVER CHANGE THESE CHANGE SPRITES TO MATCH.
#define PIPING_LAYER_MIN 1
#define PIPING_LAYER_MAX 3
@@ -179,11 +196,10 @@
#define PIPING_DEFAULT_LAYER_ONLY 4 //can only exist at PIPING_LAYER_DEFAULT
#define PIPING_CARDINAL_AUTONORMALIZE 8 //north/south east/west doesn't matter, auto normalize on build.
//HELPERS
#define THERMAL_ENERGY(gas) (gas.temperature * gas.heat_capacity())
#define ADD_GAS(gas_id, out_list)\
var/list/tmp_gaslist = GLOB.gaslist_cache[gas_id]; out_list[gas_id] = tmp_gaslist.Copy();
//ASSERT_GAS(gas_id, gas_mixture) - used to guarantee that the gas list for this id exists in gas_mixture.gases.
//Must be used before adding to a gas. May be used before reading from a gas.
#define ASSERT_GAS(gas_id, gas_mixture) if (!gas_mixture.gases[gas_id]) { ADD_GAS(gas_id, gas_mixture.gases) };
+28 -20
View File
@@ -16,31 +16,39 @@
#define DIAG_BOT_HUD "12"// Bot HUDs
#define DIAG_TRACK_HUD "13"// Mech tracking beacon
#define DIAG_AIRLOCK_HUD "14"//Airlock shock overlay
#define DIAG_PATH_HUD "15"//Bot path indicators
#define GLAND_HUD "16"//Gland indicators for abductors
//for antag huds. these are used at the /mob level
#define ANTAG_HUD "15"
#define ANTAG_HUD "17"
//by default everything in the hud_list of an atom is an image
//a value in hud_list with one of these will change that behavior
#define HUD_LIST_LIST 1
//data HUD (medhud, sechud) defines
//Don't forget to update human/New() if you change these!
#define DATA_HUD_SECURITY_BASIC 1
#define DATA_HUD_SECURITY_ADVANCED 2
#define DATA_HUD_MEDICAL_BASIC 3
#define DATA_HUD_MEDICAL_ADVANCED 4
#define DATA_HUD_DIAGNOSTIC 5
#define DATA_HUD_SECURITY_BASIC 1
#define DATA_HUD_SECURITY_ADVANCED 2
#define DATA_HUD_MEDICAL_BASIC 3
#define DATA_HUD_MEDICAL_ADVANCED 4
#define DATA_HUD_DIAGNOSTIC_BASIC 5
#define DATA_HUD_DIAGNOSTIC_ADVANCED 6
#define DATA_HUD_ABDUCTOR 7
//antag HUD defines
#define ANTAG_HUD_CULT 6
#define ANTAG_HUD_REV 7
#define ANTAG_HUD_OPS 8
#define ANTAG_HUD_WIZ 9
#define ANTAG_HUD_SHADOW 10
#define ANTAG_HUD_TRAITOR 11
#define ANTAG_HUD_NINJA 12
#define ANTAG_HUD_CHANGELING 13
#define ANTAG_HUD_ABDUCTOR 14
#define ANTAG_HUD_DEVIL 15
#define ANTAG_HUD_SINTOUCHED 16
#define ANTAG_HUD_SOULLESS 17
#define ANTAG_HUD_CLOCKWORK 18
#define ANTAG_HUD_BROTHER 19
#define ANTAG_HUD_CULT 8
#define ANTAG_HUD_REV 9
#define ANTAG_HUD_OPS 10
#define ANTAG_HUD_WIZ 11
#define ANTAG_HUD_SHADOW 12
#define ANTAG_HUD_TRAITOR 13
#define ANTAG_HUD_NINJA 14
#define ANTAG_HUD_CHANGELING 15
#define ANTAG_HUD_ABDUCTOR 16
#define ANTAG_HUD_DEVIL 17
#define ANTAG_HUD_SINTOUCHED 18
#define ANTAG_HUD_SOULLESS 19
#define ANTAG_HUD_CLOCKWORK 20
#define ANTAG_HUD_BROTHER 21
// Notification action types
#define NOTIFY_JUMP "jump"
+10 -6
View File
@@ -1,12 +1,11 @@
//component id defines
#define BELLIGERENT_EYE "belligerent_eye"
#define VANGUARD_COGWHEEL "vanguard_cogwheel"
#define GEIS_CAPACITOR "geis_capacitor"
//component id defines; sometimes these may not make sense in regards to their use in scripture but important ones are bright
#define BELLIGERENT_EYE "belligerent_eye" //Use this for offensive and damaging scripture!
#define VANGUARD_COGWHEEL "vanguard_cogwheel" //Use this for defensive and healing scripture!
#define GEIS_CAPACITOR "geis_capacitor" //Use this for niche scripture!
#define REPLICANT_ALLOY "replicant_alloy"
#define HIEROPHANT_ANSIBLE "hierophant_ansible"
#define HIEROPHANT_ANSIBLE "hierophant_ansible" //Use this for construction-related scripture!
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_VAR_INIT(clockwork_power, 0) //How many watts of power are globally available to the clockwork cult
@@ -69,6 +68,9 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us
//Objective text define
#define CLOCKCULT_OBJECTIVE "Construct the Ark of the Clockwork Justicar and free Ratvar."
//Eminence defines
#define SUPERHEATED_CLOCKWORK_WALL_LIMIT 20 //How many walls can be superheated at once
//misc clockcult stuff
#define SIGIL_ACCESS_RANGE 2 //range at which transmission sigils can access power
@@ -86,3 +88,5 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us
#define MARAUDER_SCRIPTURE_SCALING_TIME 50 //The amount of extra deciseconds tacked on to the marauder scripture recital time per recent marauder
#define MARAUDER_SCRIPTURE_SCALING_MAX 300 //The maximum extra time applied to the marauder scripture
#define ARK_SCREAM_COOLDOWN 600 //This much time has to pass between instances of the Ark taking damage before it will "scream" again
+18 -4
View File
@@ -6,9 +6,10 @@
// 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_UNIQUE 2 //new component is deleted
#define COMPONENT_DUPE_HIGHLANDER 0 //old component is deleted (default)
#define COMPONENT_DUPE_ALLOWED 1 //duplicates allowed
#define COMPONENT_DUPE_UNIQUE 2 //new component is deleted
#define COMPONENT_DUPE_UNIQUE_PASSARGS 4 //old component is given the initialization args of the new
// All signals. Format:
// When the signal is called: (signal arguments)
@@ -23,6 +24,7 @@
// /atom signals
#define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params)
#define COMPONENT_NO_AFTERATTACK 1 //Return this in response if you don't want afterattack to be called
#define COMSIG_ATOM_HULK_ATTACK "hulk_attack" //from base of atom/attack_hulk(): (/mob/living/carbon/human)
#define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob)
#define COMSIG_ATOM_ENTERED "atom_entered" //from base of atom/Entered(): (/atom/movable, /atom)
@@ -53,11 +55,15 @@
#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)
#define COMSIG_MOVABLE_BUCKLE "buckle" //from base of atom/movable/buckle_mob(): (mob, force)
#define COMSIG_MOVABLE_UNBUCKLE "unbuckle" //from base of atom/movable/unbuckle_mob(): (mob, force)
// /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)
#define COMSIG_ITEM_EQUIPPED "item_equip" //from base of obj/item/equipped(): (/mob/equipper, slot)
#define COMSIG_ITEM_DROPPED "item_drop" //from base of obj/item/dropped(): (/mob/dropper)
// /obj/item/clothing signals
#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): ()
@@ -72,4 +78,12 @@
// /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(): ()
#define COMSIG_MACHINE_PROCESS_ATMOS "machine_process_atmos" //from air subsystem process_atmos_machinery(): ()
// /mob/living/carbon/human signals
#define COMSIG_HUMAN_MELEE_UNARMED_ATTACK "human_melee_unarmed_attack" //from mob/living/carbon/human/UnarmedAttack(): (atom/target)
#define COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY "human_melee_unarmed_attackby" //from mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker)
#define COMSIG_HUMAN_DISARM_HIT "human_disarm_hit" //Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted)
#define CALTROP_BYPASS_SHOES 1
#define CALTROP_IGNORE_WALKERS 2
-2
View File
@@ -1,8 +1,6 @@
//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_TWEAK(X) /datum/config_entry/##X
#define CONFIG_MAPS_FILE "maps.txt"
+5
View File
@@ -23,6 +23,11 @@
#define WINDOW_IN_FRAME 1
#define WINDOW_SCREWED_TO_FRAME 2
//airlock assembly construction states
#define AIRLOCK_ASSEMBLY_NEEDS_WIRES 0
#define AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS 1
#define AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER 2
//plastic flaps construction states
#define PLASTIC_FLAPS_NORMAL 0
#define PLASTIC_FLAPS_DETACHED 1
+2
View File
@@ -20,6 +20,7 @@
#define IC_FORMAT_BOOLEAN "\<BOOL\>"
#define IC_FORMAT_REF "\<REF\>"
#define IC_FORMAT_LIST "\<LIST\>"
#define IC_FORMAT_INDEX "\<INDEX\>"
#define IC_FORMAT_PULSE "\<PULSE\>"
@@ -33,6 +34,7 @@
#define IC_PINTYPE_BOOLEAN /datum/integrated_io/boolean
#define IC_PINTYPE_REF /datum/integrated_io/ref
#define IC_PINTYPE_LIST /datum/integrated_io/lists
#define IC_PINTYPE_INDEX /datum/integrated_io/index
#define IC_PINTYPE_PULSE_IN /datum/integrated_io/activate
#define IC_PINTYPE_PULSE_OUT /datum/integrated_io/activate/out
+4
View File
@@ -144,6 +144,8 @@
#define iscameramob(A) (istype(A, /mob/camera))
#define iseminence(A) (istype(A, /mob/camera/eminence))
//Objects
#define isobj(A) istype(A, /obj) //override the byond proc because it returns true on children of /atom/movable that aren't objs
@@ -189,3 +191,5 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list(
/obj/item/stack/sheet/plasmarglass)))
#define is_glass_sheet(O) (is_type_in_typecache(O, GLOB.glass_sheet_types))
#define isblobmonster(O) (istype(O, /mob/living/simple_animal/hostile/blob))
+1
View File
@@ -10,6 +10,7 @@
#define INVESTIGATE_TELESCI "telesci"
#define INVESTIGATE_WIRES "wires"
#define INVESTIGATE_PORTAL "portals"
#define INVESTIGATE_RESEARCH "research"
#define INVESTIGATE_HALLUCINATIONS "hallucinations"
#define INVESTIGATE_RADIATION "radiation"
#define INVESTIGATE_EXONET "exonet"
+1 -1
View File
@@ -48,4 +48,4 @@ Last space-z level = empty
#define ZLEVEL_SPACEMIN 3
#define ZLEVEL_SPACEMAX 13
#define SPACERUIN_MAP_EDGE_PAD 15
#define SPACERUIN_MAP_EDGE_PAD 15
-27
View File
@@ -1,27 +0,0 @@
#define PI 3.1415
#define SPEED_OF_LIGHT 3e8 //not exact but hey!
#define SPEED_OF_LIGHT_SQ 9e+16
#define INFINITY 1e31 //closer then enough
//atmos
#define R_IDEAL_GAS_EQUATION 8.31 //kPa*L/(K*mol)
#define ONE_ATMOSPHERE 101.325 //kPa
#define T0C 273.15 // 0degC
#define T20C 293.15 // 20degC
#define TCMB 2.7 // -270.3degC
#define SHORT_REAL_LIMIT 16777216
//"fancy" math for calculating time in ms from tick_usage percentage and the length of ticks
//percent_of_tick_used * (ticklag * 100(to convert to ms)) / 100(percent ratio)
//collapsed to percent_of_tick_used * tick_lag
#define TICK_DELTA_TO_MS(percent_of_tick_used) ((percent_of_tick_used) * world.tick_lag)
#define TICK_USAGE_TO_MS(starting_tickusage) (TICK_DELTA_TO_MS(TICK_USAGE_REAL - starting_tickusage))
#define PERCENT(val) (round(val*100, 0.1))
#define CLAMP01(x) (Clamp(x, 0, 1))
//time of day but automatically adjusts to the server going into the next day within the same round.
//for when you need a reliable time number that doesn't depend on byond time.
#define REALTIMEOFDAY (world.timeofday + (MIDNIGHT_ROLLOVER * MIDNIGHT_ROLLOVER_CHECK))
#define MIDNIGHT_ROLLOVER_CHECK ( GLOB.rollovercheck_last_timeofday != world.timeofday ? update_midnight_rollover() : GLOB.midnight_rollovers )
+209
View File
@@ -0,0 +1,209 @@
// Credits to Nickr5 for the useful procs I've taken from his library resource.
// This file is quadruple wrapped for your pleasure
// (
#define NUM_E 2.71828183
#define NUM_SQRT2 1.41421356
#define PI 3.1415
#define SPEED_OF_LIGHT 3e8 //not exact but hey!
#define SPEED_OF_LIGHT_SQ 9e+16
#define INFINITY 1e31 //closer then enough
#define SHORT_REAL_LIMIT 16777216
//"fancy" math for calculating time in ms from tick_usage percentage and the length of ticks
//percent_of_tick_used * (ticklag * 100(to convert to ms)) / 100(percent ratio)
//collapsed to percent_of_tick_used * tick_lag
#define TICK_DELTA_TO_MS(percent_of_tick_used) ((percent_of_tick_used) * world.tick_lag)
#define TICK_USAGE_TO_MS(starting_tickusage) (TICK_DELTA_TO_MS(TICK_USAGE_REAL - starting_tickusage))
#define PERCENT(val) (round((val)*100, 0.1))
#define CLAMP01(x) (CLAMP(x, 0, 1))
//time of day but automatically adjusts to the server going into the next day within the same round.
//for when you need a reliable time number that doesn't depend on byond time.
#define REALTIMEOFDAY (world.timeofday + (MIDNIGHT_ROLLOVER * MIDNIGHT_ROLLOVER_CHECK))
#define MIDNIGHT_ROLLOVER_CHECK ( GLOB.rollovercheck_last_timeofday != world.timeofday ? update_midnight_rollover() : GLOB.midnight_rollovers )
#define SIGN(x) ( (x)!=0 ? (x) / abs(x) : 0 )
#define CEILING(x, y) ( -round(-(x) / (y)) * (y) )
// round() acts like floor(x, 1) by default but can't handle other values
#define FLOOR(x, y) ( round((x) / (y)) * (y) )
#define CLAMP(CLVALUE,CLMIN,CLMAX) ( max( (CLMIN), min((CLVALUE), (CLMAX)) ) )
// Similar to clamp but the bottom rolls around to the top and vice versa. min is inclusive, max is exclusive
#define WRAP(val, min, max) ( min == max ? min : (val) - (round(((val) - (min))/((max) - (min))) * ((max) - (min))) )
// Real modulus that handles decimals
#define MODULUS(x, y) ( (x) - (y) * round((x) / (y)) )
// Tangent
#define TAN(x) (sin(x) / cos(x))
// Cotangent
#define COT(x) (1 / TAN(x))
// Secant
#define SEC(x) (1 / cos(x))
// Cosecant
#define CSC(x) (1 / sin(x))
#define ATAN2(x, y) ( !(x) && !(y) ? 0 : (y) >= 0 ? arccos((x) / sqrt((x)*(x) + (y)*(y))) : -arccos((x) / sqrt((x)*(x) + (y)*(y))) )
// Greatest Common Divisor - Euclid's algorithm
/proc/Gcd(a, b)
return b ? Gcd(b, (a) % (b)) : a
// Least Common Multiple
#define Lcm(a, b) (abs(a) / Gcd(a, b) * abs(b))
#define INVERSE(x) ( 1/(x) )
// Used for calculating the radioactive strength falloff
#define INVERSE_SQUARE(initial_strength,cur_distance,initial_distance) ( (initial_strength)*((initial_distance)**2/(cur_distance)**2) )
#define ISABOUTEQUAL(a, b, deviation) (deviation ? abs((a) - (b)) <= deviation : abs((a) - (b)) <= 0.1)
#define ISEVEN(x) (x % 2 == 0)
#define ISODD(x) (x % 2 != 0)
// Returns true if val is from min to max, inclusive.
#define ISINRANGE(val, min, max) (min <= val && val <= max)
// Same as above, exclusive.
#define ISINRANGE_EX(val, min, max) (min < val && val > max)
#define ISINTEGER(x) (round(x) == x)
#define ISMULTIPLE(x, y) ((x) % (y) == 0)
// Performs a linear interpolation between a and b.
// Note that amount=0 returns a, amount=1 returns b, and
// amount=0.5 returns the mean of a and b.
#define LERP(a, b, amount) (amount ? ((a) + ((b) - (a)) * (amount)) : ((a) + ((b) - (a)) * 0.5)
// Returns the nth root of x.
#define ROOT(n, x) ((x) ** (1 / (n)))
// The quadratic formula. Returns a list with the solutions, or an empty list
// if they are imaginary.
/proc/SolveQuadratic(a, b, c)
ASSERT(a)
. = list()
var/d = b*b - 4 * a * c
var/bottom = 2 * a
if(d < 0)
return
var/root = sqrt(d)
. += (-b + root) / bottom
if(!d)
return
. += (-b - root) / bottom
#define TODEGREES(radians) ((radians) * 57.2957795)
#define TORADIANS(degrees) ((degrees) * 0.0174532925)
// Will filter out extra rotations and negative rotations
// E.g: 540 becomes 180. -180 becomes 180.
#define SIMPLIFY_DEGREES(degrees) (MODULUS((degrees), 360))
#define GET_ANGLE_OF_INCIDENCE(face, input) (MODULUS((face) - (input), 360))
//A logarithm that converts an integer to a number scaled between 0 and 1.
//Currently, this is used for hydroponics-produce sprite transforming, but could be useful for other transform functions.
#define TRANSFORM_USING_VARIABLE(input, max) ( sin((90*(input))/(max))**2 )
//converts a uniform distributed random number into a normal distributed one
//since this method produces two random numbers, one is saved for subsequent calls
//(making the cost negligble for every second call)
//This will return +/- decimals, situated about mean with standard deviation stddev
//68% chance that the number is within 1stddev
//95% chance that the number is within 2stddev
//98% chance that the number is within 3stddev...etc
#define ACCURACY 10000
/proc/gaussian(mean, stddev)
var/static/gaussian_next
var/R1;var/R2;var/working
if(gaussian_next != null)
R1 = gaussian_next
gaussian_next = null
else
do
R1 = rand(-ACCURACY,ACCURACY)/ACCURACY
R2 = rand(-ACCURACY,ACCURACY)/ACCURACY
working = R1*R1 + R2*R2
while(working >= 1 || working==0)
working = sqrt(-2 * log(working) / working)
R1 *= working
gaussian_next = R2 * working
return (mean + stddev * R1)
#undef ACCURACY
/proc/mouse_angle_from_client(client/client)
var/list/mouse_control = params2list(client.mouseParams)
if(mouse_control["screen-loc"] && client)
var/list/screen_loc_params = splittext(mouse_control["screen-loc"], ",")
var/list/screen_loc_X = splittext(screen_loc_params[1],":")
var/list/screen_loc_Y = splittext(screen_loc_params[2],":")
var/x = (text2num(screen_loc_X[1]) * 32 + text2num(screen_loc_X[2]) - 32)
var/y = (text2num(screen_loc_Y[1]) * 32 + text2num(screen_loc_Y[2]) - 32)
var/list/screenview = getviewsize(client.view)
var/screenviewX = screenview[1] * world.icon_size
var/screenviewY = screenview[2] * world.icon_size
var/ox = round(screenviewX/2) - client.pixel_x //"origin" x
var/oy = round(screenviewY/2) - client.pixel_y //"origin" y
var/angle = SIMPLIFY_DEGREES(ATAN2(y - oy, x - ox))
return angle
/proc/get_turf_in_angle(angle, turf/starting, increments)
var/pixel_x = 0
var/pixel_y = 0
for(var/i in 1 to increments)
pixel_x += sin(angle)+16*sin(angle)*2
pixel_y += cos(angle)+16*cos(angle)*2
var/new_x = starting.x
var/new_y = starting.y
while(pixel_x > 16)
pixel_x -= 32
new_x++
while(pixel_x < -16)
pixel_x += 32
new_x--
while(pixel_y > 16)
pixel_y -= 32
new_y++
while(pixel_y < -16)
pixel_y += 32
new_y--
new_x = CLAMP(new_x, 0, world.maxx)
new_y = CLAMP(new_y, 0, world.maxy)
return locate(new_x, new_y, starting.z)
// Returns a list where [1] is all x values and [2] is all y values that overlap between the given pair of rectangles
/proc/get_overlap(x1, y1, x2, y2, x3, y3, x4, y4)
var/list/region_x1 = list()
var/list/region_y1 = list()
var/list/region_x2 = list()
var/list/region_y2 = list()
// These loops create loops filled with x/y values that the boundaries inhabit
// ex: list(5, 6, 7, 8, 9)
for(var/i in min(x1, x2) to max(x1, x2))
region_x1["[i]"] = TRUE
for(var/i in min(y1, y2) to max(y1, y2))
region_y1["[i]"] = TRUE
for(var/i in min(x3, x4) to max(x3, x4))
region_x2["[i]"] = TRUE
for(var/i in min(y3, y4) to max(y3, y4))
region_y2["[i]"] = TRUE
return list(region_x1 & region_x2, region_y1 & region_y2)
// )
+17
View File
@@ -4,6 +4,11 @@
// #define EAST 4
// #define WEST 8
#define TEXT_NORTH "[NORTH]"
#define TEXT_SOUTH "[SOUTH]"
#define TEXT_EAST "[EAST]"
#define TEXT_WEST "[WEST]"
//These get to go at the top, because they're special
//You can use these defines to get the typepath of the currently running proc/verb (yes procs + verbs are objects)
/* eg:
@@ -479,7 +484,19 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
#define SYRINGE_DRAW 0
#define SYRINGE_INJECT 1
#define RESEARCH_MATERIAL_RECLAMATION_ID "0"
//gold slime core spawning
#define NO_SPAWN 0
#define HOSTILE_SPAWN 1
#define FRIENDLY_SPAWN 2
#define RIDING_OFFSET_ALL "ALL"
//text files
#define BRAIN_DAMAGE_FILE "traumas.json"
//Fullscreen overlay resolution in tiles.
#define FULLSCREEN_OVERLAY_RESOLUTION_X 15
#define FULLSCREEN_OVERLAY_RESOLUTION_Y 15
+11
View File
@@ -51,6 +51,17 @@
#define DEVIL_BODYPART "devil"
/*see __DEFINES/inventory.dm for bodypart bitflag defines*/
//Brain Damage defines
#define BRAIN_DAMAGE_MILD 20
#define BRAIN_DAMAGE_SEVERE 100
#define BRAIN_DAMAGE_DEATH 200
#define BRAIN_TRAUMA_MILD /datum/brain_trauma/mild
#define BRAIN_TRAUMA_SEVERE /datum/brain_trauma/severe
#define BRAIN_TRAUMA_SPECIAL /datum/brain_trauma/special
#define BRAIN_DAMAGE_INTEGRITY_MULTIPLIER 0.5
//Health hud screws for carbon mobs
#define SCREWYHUD_NONE 0
#define SCREWYHUD_CRIT 1
+1 -1
View File
@@ -1 +1 @@
#define HID_RESTRICTED_END 101 //the first nonrestricted ID, automatically assigned on connection creation.
#define HID_RESTRICTED_END 101 //the first nonrestricted ID, automatically assigned on connection creation.
+26 -15
View File
@@ -1,19 +1,30 @@
#define SOLID 1
#define LIQUID 2
#define GAS 3
#define SOLID 1
#define LIQUID 2
#define GAS 3
#define INJECTABLE_1 1024 //Makes reagents addable through droppers and syringes
#define DRAWABLE_1 2048 //If a syringe can draw from it
#define OPENCONTAINER_1 4096 //Is an open container for chemistry purposes
#define TRANSPARENT_1 8192 //Used for non-open containers which you still want to be able to see the reagents off.
#define TOUCH 1 //splashing
#define INGEST 2 //ingestion
#define VAPOR 3 //foam, spray, blob attack
#define PATCH 4 //patches
#define INJECT 5 //injection
// container_type defines
#define INJECTABLE 1 // Makes it possible to add reagents through droppers and syringes.
#define DRAWABLE 2 // Makes it possible to remove reagents through syringes.
#define REFILLABLE 4 // Makes it possible to add reagents through any reagent container.
#define DRAINABLE 8 // Makes it possible to remove reagents through any reagent container.
#define TRANSPARENT 16 // Used on containers which you want to be able to see the reagents off.
#define AMOUNT_VISIBLE 32 // For non-transparent containers that still have the general amount of reagents in them visible.
// Is an open container for all intents and purposes.
#define OPENCONTAINER REFILLABLE | DRAINABLE | TRANSPARENT
#define TOUCH 1 // splashing
#define INGEST 2 // ingestion
#define VAPOR 3 // foam, spray, blob attack
#define PATCH 4 // patches
#define INJECT 5 // injection
//defines passed through to the on_reagent_change proc
#define DEL_REAGENT 1 //reagent deleted (fully cleared)
#define ADD_REAGENT 2 // reagent added
#define REM_REAGENT 3 // reagent removed (may still exist)
#define DEL_REAGENT 1 // reagent deleted (fully cleared)
#define ADD_REAGENT 2 // reagent added
#define REM_REAGENT 3 // reagent removed (may still exist)
+61
View File
@@ -0,0 +1,61 @@
//RDSCREEN screens
#define RDSCREEN_MENU 0
#define RDSCREEN_TECHDISK 1
#define RDSCREEN_DESIGNDISK 20
#define RDSCREEN_DESIGNDISK_UPLOAD 21
#define RDSCREEN_DECONSTRUCT 3
#define RDSCREEN_PROTOLATHE 40
#define RDSCREEN_PROTOLATHE_MATERIALS 41
#define RDSCREEN_PROTOLATHE_CHEMICALS 42
#define RDSCREEN_PROTOLATHE_CATEGORY_VIEW 43
#define RDSCREEN_PROTOLATHE_SEARCH 44
#define RDSCREEN_IMPRINTER 50
#define RDSCREEN_IMPRINTER_MATERIALS 51
#define RDSCREEN_IMPRINTER_CHEMICALS 52
#define RDSCREEN_IMPRINTER_CATEGORY_VIEW 53
#define RDSCREEN_IMPRINTER_SEARCH 54
#define RDSCREEN_SETTINGS 61
#define RDSCREEN_DEVICE_LINKING 62
#define RDSCREEN_TECHWEB 70
#define RDSCREEN_TECHWEB_NODEVIEW 71
#define RDSCREEN_TECHWEB_DESIGNVIEW 72
#define RDSCREEN_NOBREAK "<NO_HTML_BREAK>"
#define RDSCREEN_TEXT_NO_PROTOLATHE "<div><h3>No Protolathe Linked!</h3></div><br>"
#define RDSCREEN_TEXT_NO_IMPRINTER "<div><h3>No Circuit Imprinter Linked!</h3></div><br>"
#define RDSCREEN_TEXT_NO_DECONSTRUCT "<div><h3>No Deconstructive Analyzer Linked!</h3></div><br>"
#define RDSCREEN_TEXT_NO_TDISK "<div><h3>No Technology Disk Inserted!</h3></div><br>"
#define RDSCREEN_TEXT_NO_DDISK "<div><h3>No Design Disk Inserted!</h3></div><br>"
#define RDSCREEN_TEXT_NO_SNODE "<div><h3>No Technology Node Selected!</h3></div><br>"
#define RDSCREEN_TEXT_NO_SDESIGN "<div><h3>No Design Selected!</h3></div><br>"
#define RDSCREEN_UI_LATHE_CHECK if(!linked_lathe) { return RDSCREEN_TEXT_NO_PROTOLATHE }
#define RDSCREEN_UI_IMPRINTER_CHECK if(!linked_imprinter) { return RDSCREEN_TEXT_NO_IMPRINTER }
#define RDSCREEN_UI_DECONSTRUCT_CHECK if(!linked_destroy) { return RDSCREEN_TEXT_NO_DECONSTRUCT }
#define RDSCREEN_UI_TDISK_CHECK if(!t_disk) { return RDSCREEN_TEXT_NO_TDISK }
#define RDSCREEN_UI_DDISK_CHECK if(!d_disk) { return RDSCREEN_TEXT_NO_DDISK }
#define RDSCREEN_UI_SNODE_CHECK if(!selected_node) { return RDSCREEN_TEXT_NO_SNODE }
#define RDSCREEN_UI_SDESIGN_CHECK if(!selected_design) { return RDSCREEN_TEXT_NO_SDESIGN }
#define DEPLATHE_SCREEN_PRIMARY 1
#define DEPLATHE_SCREEN_SEARCH 2
#define DEPLATHE_SCREEN_MATERIALS 3
#define DEPLATHE_SCREEN_CHEMICALS 4
#define DEPPRINTER_SCREEN_PRIMARY 1
#define DEPPRINTER_SCREEN_SEARCH 2
#define DEPPRINTER_SCREEN_MATERIALS 3
#define DEPPRINTER_SCREEN_CHEMICALS 4
#define DEPARTMENTAL_FLAG_SECURITY 1
#define DEPARTMENTAL_FLAG_MEDICAL 2
#define DEPARTMENTAL_FLAG_CARGO 4
#define DEPARTMENTAL_FLAG_SCIENCE 8
#define DEPARTMENTAL_FLAG_ENGINEERING 16
#define DEPARTMENTAL_FLAG_SERVICE 32
#define DEPARTMENTAL_FLAG_ALL 64 //NO THIS DOESN'T ALLOW YOU TO PRINT EVERYTHING, IT'S FOR ALL DEPARTMENTS!
//#define DEPARTMENTAL_FLAG_MINING 128
#define DESIGN_ID_IGNORE "IGNORE_THIS_DESIGN"
+7 -1
View File
@@ -49,4 +49,10 @@
#define LOGCHAT "chat"
#define LOGASAY "adminsay"
#define LOGCOMMENT "comment"
#define LOGOOC "ooc"
#define LOGOOC "ooc"
#define LINGHIVE_NONE 0
#define LINGHIVE_OUTSIDER 1
#define LINGHIVE_LING 2
#define LINGHIVE_LINK 3
+8
View File
@@ -0,0 +1,8 @@
#define SERVER_TOOLS_EXTERNAL_CONFIGURATION
#define SERVER_TOOLS_DEFINE_AND_SET_GLOBAL(Name, Value) GLOBAL_VAR_INIT(##Name, ##Value); GLOBAL_PROTECT(##Name)
#define SERVER_TOOLS_READ_GLOBAL(Name) GLOB.##Name
#define SERVER_TOOLS_WRITE_GLOBAL(Name, Value) GLOB.##Name = ##Value
#define SERVER_TOOLS_WORLD_ANNOUNCE(message) to_chat(world, "<span class='boldannounce'>[html_encode(##message)]</span>")
#define SERVER_TOOLS_LOG(message) log_world("SERVICE: [##message]")
#define SERVER_TOOLS_NOTIFY_ADMINS(event) message_admins(##event)
#define SERVER_TOOLS_CLIENT_COUNT GLOB.clients.len
+14 -13
View File
@@ -1,4 +1,5 @@
// /tg/station 13 server tools API v3.1.0.2
// /tg/station 13 server tools API
#define SERVICE_API_VERSION_STRING "3.2.0.1"
//CONFIGURATION
//use this define if you want to do configuration outside of this file
@@ -10,19 +11,19 @@
//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)
#define SERVER_TOOLS_DEFINE_AND_SET_GLOBAL(Name, Value)
//Read the value in the global variable `Name`
#define SERVER_TOOLS_READ_GLOBAL(Name) GLOB.##Name
#define SERVER_TOOLS_READ_GLOBAL(Name)
//Set the value in the global variable `Name` to `Value`
#define SERVER_TOOLS_WRITE_GLOBAL(Name, Value) GLOB.##Name = ##Value
#define SERVER_TOOLS_WRITE_GLOBAL(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>")
#define SERVER_TOOLS_WORLD_ANNOUNCE(message)
//Write a string `message` to a server log
#define SERVER_TOOLS_LOG(message) log_world("SERVICE: [##message]")
#define SERVER_TOOLS_LOG(message)
//Notify current in-game administrators of a string `event`
#define SERVER_TOOLS_NOTIFY_ADMINS(event) message_admins(##event)
#define SERVER_TOOLS_NOTIFY_ADMINS(event)
//The current amount of connected clients
#define SERVER_TOOLS_CLIENT_COUNT GLOB.clients.len
#define SERVER_TOOLS_CLIENT_COUNT
#endif
//Required hooks:
@@ -64,16 +65,15 @@
//IMPLEMENTATION
#define SERVICE_API_VERSION_STRING "3.1.0.2"
#define REBOOT_MODE_NORMAL 0
#define REBOOT_MODE_HARD 1
#define REBOOT_MODE_SHUTDOWN 2
#define SERVICE_WORLD_PARAM "server_service"
#define SERVICE_VERSION_PARAM "server_service_version"
#define SERVICE_INSTANCE_PARAM "server_instance"
#define SERVICE_PR_TEST_JSON "prtestjob.json"
#define SERVICE_INTERFACE_DLL "TGServiceInterface.dll"
#define SERVICE_INTERFACE_DLL "TGDreamDaemonBridge.dll"
#define SERVICE_INTERFACE_FUNCTION "DDEntryPoint"
#define SERVICE_CMD_HARD_REBOOT "hard_reboot"
@@ -98,11 +98,12 @@
#define SERVICE_REQUEST_WORLD_REBOOT "worldreboot"
#define SERVICE_REQUEST_API_VERSION "api_ver"
#define SERVICE_RETURN_SUCCESS "SUCCESS"
/*
The MIT License
Copyright (c) 2011 Dominic Tarr
Copyright (c) 2017 Jordan Brown
Permission is hereby granted, free of charge,
to any person obtaining a copy of this software and
associated documentation files (the "Software"), to
+5 -1
View File
@@ -70,4 +70,8 @@
//Rotation params
#define ROTATE_DIR 1
#define ROTATE_SMOOTH 2
#define ROTATE_OFFSET 4
#define ROTATE_OFFSET 4
#define SHUTTLE_DOCKER_LANDING_CLEAR 1
#define SHUTTLE_DOCKER_BLOCKED_BY_HIDDEN_PORT 2
#define SHUTTLE_DOCKER_BLOCKED 3
+1 -1
View File
@@ -20,7 +20,7 @@
#define SOUND_MINIMUM_PRESSURE 10
#define FALLOFF_SOUNDS 0.5
#define FALLOFF_SOUNDS 1
//Ambience types

Some files were not shown because too many files have changed in this diff Show More