This commit is contained in:
Seris02
2019-12-24 22:27:41 +08:00
2635 changed files with 78841 additions and 160362 deletions
+4
View File
@@ -2,3 +2,7 @@
insert_final_newline = true
indent_style = tab
indent_size = 4
[*.yml]
indent_style = space
indent_size = 2
+41 -37
View File
@@ -1,28 +1,34 @@
language: generic
sudo: false
dist: xenial
sudo: false
branches:
except:
- ___TGS3TempBranch
- ___TGSTempBranch
matrix:
include:
- env:
- BUILD_TOOLS=true
name: "Build Tools"
- name: "Run Linters"
addons:
apt:
packages:
- python3
- python3-pip
- python3-setuptools
cache:
directories:
- tgui/node_modules
- env:
- BUILD_TESTING=true
- BUILD_TOOLS=false
name: "Build All Maps"
install:
- tools/travis/install_build_tools.sh
- tools/travis/install_dreamchecker.sh
script:
- tools/travis/check_filedirs.sh tgstation.dme
- tools/travis/check_changelogs.sh
- find . -name "*.php" -print0 | xargs -0 -n1 php -l
- find . -name "*.json" -not -path "./tgui/node_modules/*" -print0 | xargs -0 python3 ./tools/json_verifier.py
- tools/travis/build_tgui.sh
- tools/travis/check_grep.sh
- ~/dreamchecker
- name: "Compile All Maps"
addons:
apt:
packages:
@@ -30,10 +36,15 @@ matrix:
cache:
directories:
- $HOME/BYOND
- env:
- BUILD_TESTING=false
- BUILD_TOOLS=false
name: "Build and Run Unit Tests"
install:
- tools/travis/install_byond.sh
- source $HOME/BYOND/byond/bin/byondsetup
before_script:
- tools/travis/template_dm_generator.py
script:
- tools/travis/dm.sh -DTRAVISBUILDING -DTRAVISTESTING -DALL_MAPS tgstation.dme
- name: "Compile and Run Tests"
addons:
mariadb: '10.2'
apt:
@@ -41,7 +52,6 @@ matrix:
- ubuntu-toolchain-r-test
packages:
- libstdc++6:i386
- libssl-dev:i386
- gcc-multilib
- g++-7
- g++-7-multilib
@@ -49,25 +59,19 @@ matrix:
- libmariadbd-dev
cache:
directories:
- $HOME/.cargo
- $HOME/BYOND
- $HOME/MariaDB
- $HOME/.rustup
install:
- tools/travis/install_build_tools.sh
- if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root -e 'CREATE DATABASE tg_travis;'; fi
- if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root tg_travis < SQL/tgstation_schema.sql; fi
- if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root -e 'CREATE DATABASE tg_travis_prefixed;'; fi
- if [ $BUILD_TOOLS = false ] && [ $BUILD_TESTING = false ]; then mysql -u root tg_travis_prefixed < SQL/tgstation_schema_prefixed.sql; fi
before_script:
- tools/travis/before_build_tools.sh
- tools/travis/before_build_byond.sh
script:
- tools/travis/check_filedirs.sh tgstation.dme
- tools/travis/build_tools.sh || travis_terminate 1
- tools/travis/build_dependencies.sh || travis_terminate 1
- tools/travis/build_byond.sh
- $HOME/libmariadb
install:
- tools/travis/install_byond.sh
- source $HOME/BYOND/byond/bin/byondsetup
- tools/travis/install_libmariadb.sh
- tools/travis/install_rust_g.sh
before_script:
- mysql -u root -e 'CREATE DATABASE tg_travis;'
- mysql -u root tg_travis < SQL/tgstation_schema.sql
- mysql -u root -e 'CREATE DATABASE tg_travis_prefixed;'
- mysql -u root tg_travis_prefixed < SQL/tgstation_schema_prefixed.sql
- tools/travis/build_bsql.sh
script:
- tools/travis/dm.sh -DTRAVISBUILDING tgstation.dme || travis_terminate 1
- tools/travis/run_server.sh
@@ -49,7 +49,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"as" = (
@@ -70,7 +70,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"at" = (
@@ -89,7 +89,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"au" = (
@@ -129,7 +129,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"ay" = (
@@ -149,7 +149,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"az" = (
@@ -170,7 +170,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aA" = (
@@ -190,7 +190,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aB" = (
@@ -209,7 +209,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aC" = (
@@ -225,7 +225,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aD" = (
@@ -242,7 +242,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aE" = (
@@ -261,7 +261,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aF" = (
@@ -282,7 +282,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aG" = (
@@ -301,7 +301,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aH" = (
@@ -321,7 +321,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aI" = (
@@ -341,7 +341,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aJ" = (
@@ -368,7 +368,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aL" = (
@@ -394,7 +394,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aO" = (
@@ -415,7 +415,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aP" = (
@@ -448,7 +448,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aU" = (
@@ -472,7 +472,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aW" = (
@@ -493,7 +493,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aX" = (
@@ -522,7 +522,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"aZ" = (
@@ -542,7 +542,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"ba" = (
@@ -559,7 +559,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bb" = (
@@ -588,7 +588,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bd" = (
@@ -631,7 +631,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bg" = (
@@ -732,7 +732,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bt" = (
@@ -758,7 +758,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bx" = (
@@ -775,7 +775,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"by" = (
@@ -792,7 +792,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bz" = (
@@ -817,7 +817,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bB" = (
@@ -825,7 +825,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bC" = (
@@ -846,7 +846,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bD" = (
@@ -872,7 +872,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bH" = (
@@ -881,7 +881,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bI" = (
@@ -899,7 +899,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bK" = (
@@ -918,7 +918,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bL" = (
@@ -942,7 +942,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bP" = (
@@ -970,8 +970,8 @@
/turf/open/floor/carpet,
/area/ruin/powered/clownplanet)
"bT" = (
/obj/item/slime_extract/rainbow,
/obj/structure/table/glass,
/obj/item/reagent_containers/spray/waterflower/superlube,
/turf/open/floor/carpet,
/area/ruin/powered/clownplanet)
"bU" = (
@@ -989,7 +989,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bY" = (
@@ -999,7 +999,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"bZ" = (
@@ -1008,7 +1008,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"ca" = (
@@ -1018,7 +1018,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"cc" = (
@@ -1052,7 +1052,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"dC" = (
@@ -1075,7 +1075,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"dD" = (
@@ -1097,7 +1097,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"dE" = (
@@ -1120,7 +1120,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"dF" = (
@@ -1175,7 +1175,7 @@
},
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"dK" = (
@@ -1202,7 +1202,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"dO" = (
@@ -1211,7 +1211,7 @@
icon_state = "bananium";
name = "bananium floor";
sound = 'sound/effects/clownstep1.ogg';
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"eX" = (
@@ -1260,7 +1260,7 @@
/obj/effect/turf_decal/tile/yellow,
/turf/open/indestructible{
icon_state = "darkfull";
wet = 8
wet = 16
},
/area/ruin/powered/clownplanet)
"KX" = (
@@ -0,0 +1,111 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
/turf/template_noop,
/area/lavaland/surface/outdoors)
"b" = (
/obj/structure/elite_tumor,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"c" = (
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
(1,1,1) = {"
a
a
a
a
a
a
a
a
a
"}
(2,1,1) = {"
a
a
a
a
a
a
a
a
a
"}
(3,1,1) = {"
a
a
a
a
a
a
a
a
a
"}
(4,1,1) = {"
a
a
a
c
c
c
a
a
a
"}
(5,1,1) = {"
a
a
a
c
b
c
a
a
a
"}
(6,1,1) = {"
a
a
a
c
c
c
a
a
a
"}
(7,1,1) = {"
a
a
a
a
a
a
a
a
a
"}
(8,1,1) = {"
a
a
a
a
a
a
a
a
a
"}
(9,1,1) = {"
a
a
a
a
a
a
a
a
a
"}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+161 -125
View File
@@ -1800,7 +1800,7 @@
pixel_y = -32
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/item/twohanded/required/kirbyplants/random,
@@ -15186,7 +15186,7 @@
/area/crew_quarters/bar)
"aGc" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24;
pixel_y = 32
},
@@ -15457,7 +15457,7 @@
pixel_y = 32
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -16541,16 +16541,10 @@
/area/security/prison)
"aId" = (
/obj/machinery/seed_extractor,
/obj/structure/cable/white{
icon_state = "4-8"
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/security/prison)
"aIe" = (
/obj/structure/cable/white{
icon_state = "4-8"
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -16568,9 +16562,6 @@
/obj/structure/cable/white{
icon_state = "2-4"
},
/obj/structure/cable/white{
icon_state = "2-8"
},
/obj/structure/cable/white{
icon_state = "1-2"
},
@@ -16837,7 +16828,7 @@
/area/maintenance/disposal/incinerator)
"aIy" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -17800,7 +17791,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -18952,25 +18943,11 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plasteel,
/area/security/prison)
"aMd" = (
/obj/structure/table,
/obj/item/storage/crayons,
/obj/item/storage/crayons,
/obj/structure/sign/warning/electricshock{
pixel_y = 32
},
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plating{
icon_state = "platingdmg2"
},
/area/security/prison)
"aMe" = (
/obj/structure/table,
/obj/machinery/computer/libraryconsole/bookmanagement,
/obj/structure/cable/white{
icon_state = "1-4"
},
/turf/open/floor/plating,
/turf/open/floor/plasteel,
/area/security/prison)
"aMf" = (
/obj/structure/easel,
@@ -21509,7 +21486,7 @@
"aQl" = (
/obj/structure/table/wood,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/item/camera,
@@ -23625,7 +23602,7 @@
/area/crew_quarters/theatre)
"aTy" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -26892,6 +26869,7 @@
/area/engine/atmos)
"aXW" = (
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
/obj/machinery/atmospherics/miner/carbon_dioxide,
/turf/open/floor/engine/co2,
/area/engine/atmos)
"aXX" = (
@@ -27360,7 +27338,7 @@
/area/crew_quarters/bar/atrium)
"aYF" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -27536,7 +27514,7 @@
"aYR" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -27662,7 +27640,7 @@
"aZb" = (
/obj/machinery/photocopier,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -29280,6 +29258,7 @@
/area/engine/atmos)
"bbO" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/obj/machinery/atmospherics/miner/oxygen,
/turf/open/floor/engine/o2,
/area/engine/atmos)
"bbP" = (
@@ -29359,7 +29338,7 @@
pixel_y = 22
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/chem_master/condimaster{
@@ -29626,7 +29605,7 @@
/obj/item/clipboard,
/obj/item/toy/figure/miner,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -30776,6 +30755,7 @@
/area/engine/atmos)
"bev" = (
/obj/machinery/portable_atmospherics/canister/toxins,
/obj/machinery/atmospherics/miner/toxins,
/turf/open/floor/engine/plasma,
/area/engine/atmos)
"bew" = (
@@ -30842,7 +30822,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -31080,7 +31060,7 @@
"beY" = (
/obj/structure/kitchenspike,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -32517,6 +32497,7 @@
/area/engine/atmos)
"bhw" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/machinery/atmospherics/miner/nitrogen,
/turf/open/floor/engine/n2,
/area/engine/atmos)
"bhx" = (
@@ -32650,7 +32631,7 @@
/area/crew_quarters/kitchen)
"bhL" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24;
pixel_y = 32
},
@@ -34629,6 +34610,7 @@
/obj/machinery/portable_atmospherics/canister/nitrous_oxide{
valve_open = 1
},
/obj/machinery/atmospherics/miner/n2o,
/turf/open/floor/engine/n2o,
/area/engine/atmos)
"bkI" = (
@@ -37331,7 +37313,6 @@
/obj/item/clothing/accessory/armband/deputy,
/obj/item/clothing/accessory/armband/deputy,
/obj/item/clothing/accessory/armband/deputy,
/obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly,
/obj/effect/turf_decal/tile/red{
dir = 1
},
@@ -40118,7 +40099,7 @@
/area/crew_quarters/heads/hos)
"bty" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -40805,7 +40786,7 @@
/area/security/main)
"buM" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -41867,7 +41848,7 @@
dir = 8
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -43239,7 +43220,7 @@
"byI" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/red{
@@ -43253,7 +43234,7 @@
/area/security/execution/transfer)
"byJ" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -48778,7 +48759,7 @@
/area/engine/gravity_generator)
"bGg" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/item/twohanded/required/kirbyplants/random,
@@ -48817,7 +48798,7 @@
/area/engine/break_room)
"bGk" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/airalarm{
@@ -48958,7 +48939,7 @@
"bGt" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -49913,7 +49894,7 @@
/area/engine/gravity_generator)
"bHS" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -50429,7 +50410,7 @@
"bIG" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral,
@@ -51904,7 +51885,7 @@
"bKU" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -52468,7 +52449,7 @@
"bLK" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/button/door{
@@ -55397,7 +55378,7 @@
"bQh" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/yellow{
@@ -57032,7 +57013,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/red{
@@ -57176,7 +57157,7 @@
pixel_y = -3
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -57271,7 +57252,7 @@
layer = 2.9
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light/small{
@@ -60820,7 +60801,7 @@
"bXY" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -60922,7 +60903,7 @@
"bYh" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -60943,7 +60924,7 @@
"bYi" = (
/obj/structure/window/reinforced,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -62303,7 +62284,7 @@
/area/ai_monitored/turret_protected/aisat_interior)
"caj" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/porta_turret/ai,
@@ -64060,7 +64041,7 @@
"cdk" = (
/obj/machinery/vending/wardrobe/law_wardrobe,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/turf/open/floor/wood,
@@ -64099,7 +64080,7 @@
/area/security/brig)
"cdn" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -67053,7 +67034,7 @@
/area/engine/engineering)
"chF" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -67384,7 +67365,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral,
@@ -69351,7 +69332,7 @@
pixel_x = -26
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24;
pixel_y = 32
},
@@ -70734,7 +70715,7 @@
},
/obj/item/camera_film,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/grimy,
@@ -76626,7 +76607,7 @@
},
/obj/item/crowbar,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/structure/table/reinforced,
@@ -77625,7 +77606,7 @@
"czP" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -77911,7 +77892,7 @@
dir = 8
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/structure/cable/white{
@@ -78817,7 +78798,7 @@
"cBL" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/item/twohanded/required/kirbyplants/random,
@@ -80821,7 +80802,7 @@
/obj/item/radio,
/obj/item/radio,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/decal/cleanable/dirt,
@@ -81450,7 +81431,7 @@
/obj/item/clothing/head/welding,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -82668,7 +82649,7 @@
/area/crew_quarters/dorms)
"cIk" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -87500,7 +87481,7 @@
"cQE" = (
/obj/structure/closet/secure_closet/security/science,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/status_display{
@@ -88861,7 +88842,7 @@
pixel_y = 32
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -95641,7 +95622,7 @@
/obj/item/paper_bin,
/obj/item/pen,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/item/storage/bag/bio,
@@ -96577,7 +96558,7 @@
/obj/item/reagent_containers/glass/bottle/epinephrine,
/obj/item/reagent_containers/dropper,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -100282,7 +100263,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/door/firedoor,
@@ -100646,7 +100627,7 @@
/area/science/explab)
"dmJ" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/bot,
@@ -100657,7 +100638,7 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -103301,7 +103282,7 @@
pixel_x = 36
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/vending/assist,
@@ -103468,7 +103449,7 @@
pixel_y = 6
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -103817,10 +103798,10 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"dsI" = (
/obj/structure/sign/warning/nosmoking,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/smartfridge/organ/preloaded,
/turf/closed/wall,
/area/medical/surgery)
"dsJ" = (
@@ -104078,7 +104059,7 @@
"dti" = (
/obj/structure/closet/bombcloset,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/line{
@@ -104412,7 +104393,7 @@
/area/medical/surgery)
"dtQ" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/blue{
@@ -105025,7 +105006,7 @@
"duZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24;
pixel_y = -26
},
@@ -105056,7 +105037,7 @@
"dvd" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -107208,7 +107189,7 @@
"dyD" = (
/obj/structure/table,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/status_display/ai{
@@ -108421,7 +108402,7 @@
/obj/item/clothing/glasses/welding,
/obj/structure/table/reinforced,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -111515,7 +111496,7 @@
dir = 5
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -111909,7 +111890,7 @@
pixel_y = 26
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24;
pixel_y = -26
},
@@ -112605,7 +112586,7 @@
/area/science/robotics/lab)
"dHC" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/structure/disposalpipe/segment,
@@ -114006,7 +113987,7 @@
"dJO" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -114270,7 +114251,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral,
@@ -116769,7 +116750,7 @@
"dOC" = (
/obj/structure/filingcabinet/medical,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/blue{
@@ -117649,7 +117630,7 @@
name = "emergency shower"
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -118848,7 +118829,7 @@
/area/medical/virology)
"dSd" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -119680,7 +119661,7 @@
dir = 8
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/structure/sign/poster/official/work_for_a_future{
@@ -119891,7 +119872,7 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -121645,7 +121626,7 @@
"dXI" = (
/obj/structure/chair/wood,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -122171,7 +122152,7 @@
/area/medical/virology)
"dYV" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/structure/closet/secure_closet/medical1,
@@ -125178,7 +125159,7 @@
},
/obj/item/camera_film,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/status_display{
@@ -125274,7 +125255,7 @@
"eeH" = (
/obj/structure/filingcabinet/security,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -125983,7 +125964,7 @@
"egb" = (
/obj/structure/table/wood,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/item/clipboard,
@@ -126743,6 +126724,10 @@
dir = 1
},
/area/science/circuit)
"gUV" = (
/obj/item/twohanded/required/kirbyplants/random,
/turf/open/floor/plasteel,
/area/security/prison)
"gVS" = (
/obj/item/clothing/head/kitty,
/obj/item/clothing/under/maid,
@@ -126780,6 +126765,9 @@
dir = 10
},
/area/science/circuit)
"hlc" = (
/turf/open/floor/plasteel,
/area/security/prison)
"hrP" = (
/obj/structure/cable/white{
icon_state = "1-2"
@@ -127397,6 +127385,17 @@
},
/turf/open/floor/plasteel/dark,
/area/science/mixing)
"mvf" = (
/obj/structure/table,
/obj/machinery/computer/libraryconsole/bookmanagement,
/obj/structure/cable/white{
icon_state = "1-2"
},
/obj/structure/cable/white{
icon_state = "2-8"
},
/turf/open/floor/plating,
/area/security/prison)
"mvm" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable/white{
@@ -127418,11 +127417,25 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/circuit/green,
/area/science/research/abandoned)
"mEy" = (
/obj/structure/table,
/obj/effect/decal/cleanable/cobweb,
/obj/item/storage/crayons,
/obj/item/storage/crayons,
/obj/structure/cable/white{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/security/prison)
"mIi" = (
/obj/item/electropack/shockcollar,
/obj/item/assembly/signaler,
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"mMC" = (
/obj/structure/sign/warning/nosmoking,
/turf/closed/wall,
/area/medical/surgery)
"mQE" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -127607,6 +127620,13 @@
},
/turf/open/floor/plasteel/dark,
/area/science/mixing)
"oNW" = (
/obj/machinery/vr_sleeper,
/obj/structure/cable/white{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/security/prison)
"oOb" = (
/obj/structure/window/reinforced{
dir = 8
@@ -127710,6 +127730,18 @@
},
/turf/open/floor/plating,
/area/science/research/abandoned)
"pEq" = (
/obj/structure/sign/warning/electricshock{
pixel_y = 32
},
/obj/machinery/vr_sleeper,
/obj/structure/cable/white{
icon_state = "4-8"
},
/turf/open/floor/plating{
icon_state = "platingdmg2"
},
/area/security/prison)
"pHf" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -127852,6 +127884,10 @@
},
/turf/open/floor/plasteel,
/area/science/circuit)
"tmZ" = (
/obj/machinery/light/small,
/turf/open/floor/plasteel,
/area/security/prison)
"twt" = (
/obj/machinery/vr_sleeper,
/obj/effect/turf_decal/tile/neutral{
@@ -174891,7 +174927,7 @@ dkv
dma
dma
dma
dma
mMC
dsI
dro
dvz
@@ -179430,10 +179466,10 @@ aaa
aaa
aaa
aaa
aaa
ajr
aad
aad
aeH
aFm
aIc
aFm
aFm
aFm
aFm
@@ -179687,10 +179723,10 @@ aaa
aaa
aaa
aaa
aaa
ajr
aaa
aad
aeH
aFm
mEy
bbt
aFm
aMc
aNx
@@ -179944,10 +179980,10 @@ aaa
aaa
aaa
aaa
aaa
aad
aaa
aad
aeH
aFm
oNW
tmZ
aFm
aKV
aNy
@@ -180202,11 +180238,11 @@ aaa
ajr
ajr
aad
aad
aaa
aad
aFm
aMd
pEq
hlc
gUV
hlc
aNz
aPh
aQZ
@@ -180459,10 +180495,10 @@ aaa
ajr
aad
aad
aad
aad
aad
aFn
mvf
aJA
aJA
aMe
aNA
aPi
@@ -180717,7 +180753,7 @@ ajr
aad
aFm
aFm
aIc
aFm
aFm
aFm
aMf
File diff suppressed because it is too large Load Diff
+52 -39
View File
@@ -1094,7 +1094,7 @@
dir = 8
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/purple{
@@ -3052,7 +3052,7 @@
"afp" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -3138,7 +3138,7 @@
dir = 8
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/camera{
@@ -4288,7 +4288,7 @@
/area/maintenance/starboard/fore)
"ahk" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -4440,7 +4440,7 @@
"ahy" = (
/obj/machinery/suit_storage_unit/security,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
@@ -4475,7 +4475,7 @@
"ahB" = (
/obj/machinery/photocopier,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/structure/cable/white{
@@ -7740,7 +7740,7 @@
/obj/item/stack/packageWrap,
/obj/item/hand_labeler,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/camera{
@@ -7886,7 +7886,7 @@
"anj" = (
/obj/machinery/suit_storage_unit/standard_unit,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/end{
@@ -8367,7 +8367,7 @@
"anZ" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -8554,7 +8554,7 @@
},
/obj/structure/table/reinforced,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/red{
@@ -9965,7 +9965,7 @@
icon_state = "plant-21"
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -10216,7 +10216,7 @@
pixel_y = -22
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/item/paper_bin,
@@ -11445,7 +11445,7 @@
"atj" = (
/obj/machinery/vending/coffee,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -12887,7 +12887,7 @@
/area/hallway/primary/port)
"avX" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/item/twohanded/required/kirbyplants{
@@ -12902,7 +12902,7 @@
/obj/item/stock_parts/cell/high,
/obj/machinery/cell_charger,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -14105,7 +14105,7 @@
/area/engine/atmos)
"ayl" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/line{
@@ -14116,7 +14116,7 @@
"aym" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/delivery,
@@ -16093,7 +16093,7 @@
"aCh" = (
/obj/machinery/vending/snack/random,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/bot,
@@ -16186,11 +16186,13 @@
"aCs" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/obj/machinery/light/small,
/obj/machinery/atmospherics/miner/oxygen,
/turf/open/floor/engine/o2,
/area/engine/atmos)
"aCw" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/machinery/light/small,
/obj/machinery/atmospherics/miner/nitrogen,
/turf/open/floor/engine/n2,
/area/engine/atmos)
"aCz" = (
@@ -16503,7 +16505,7 @@
/obj/item/clipboard,
/obj/item/toy/figure/chef,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/camera{
@@ -16714,7 +16716,7 @@
/area/engine/break_room)
"aDw" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
@@ -17444,7 +17446,7 @@
"aEK" = (
/obj/machinery/vending/clothing,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -17977,7 +17979,7 @@
dir = 1
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/structure/cable{
@@ -18209,7 +18211,7 @@
/area/hallway/primary/port)
"aFL" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -20148,7 +20150,7 @@
/obj/structure/table,
/obj/item/storage/pill_bottle/dice,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -21489,7 +21491,7 @@
"aLg" = (
/obj/machinery/vending/snack/random,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -22597,7 +22599,7 @@
/area/maintenance/starboard/central)
"aNF" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -23062,7 +23064,7 @@
/area/engine/engineering)
"aOG" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/line{
@@ -23834,7 +23836,7 @@
"aPW" = (
/obj/machinery/vending/snack/random,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -25049,7 +25051,7 @@
name = "emergency shower"
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -26916,7 +26918,7 @@
/obj/item/storage/box/bodybags,
/obj/item/pen,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -28252,7 +28254,7 @@
dir = 1
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -29794,7 +29796,7 @@
/area/hallway/primary/aft)
"baN" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -30100,7 +30102,7 @@
/area/medical/medbay/zone3)
"bbu" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -31241,7 +31243,7 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
@@ -32128,7 +32130,7 @@
/area/security/checkpoint)
"beK" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -34456,7 +34458,7 @@
pixel_y = -22
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/light/small{
@@ -37099,7 +37101,7 @@
"dai" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/blue{
@@ -37669,6 +37671,7 @@
/obj/machinery/light/small{
dir = 1
},
/obj/machinery/atmospherics/miner/n2o,
/turf/open/floor/engine/n2o,
/area/engine/atmos)
"gcw" = (
@@ -37974,6 +37977,7 @@
/obj/machinery/light/small{
dir = 1
},
/obj/machinery/atmospherics/miner/carbon_dioxide,
/turf/open/floor/engine/co2,
/area/engine/atmos)
"hTn" = (
@@ -38421,6 +38425,7 @@
/obj/machinery/light/small{
dir = 1
},
/obj/machinery/atmospherics/miner/toxins,
/turf/open/floor/engine/plasma,
/area/engine/atmos)
"kiw" = (
@@ -40387,7 +40392,7 @@
/area/maintenance/starboard)
"sHf" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel,
@@ -42215,6 +42220,7 @@
},
/obj/structure/table,
/obj/machinery/firealarm{
dir = 1;
pixel_y = -26
},
/obj/effect/turf_decal/tile/neutral,
@@ -42280,6 +42286,7 @@
},
/obj/effect/turf_decal/delivery,
/obj/machinery/firealarm{
dir = 1;
pixel_y = -26
},
/obj/effect/turf_decal/tile/neutral,
@@ -42880,6 +42887,12 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall/r_wall,
/area/maintenance/disposal/incinerator)
"uvp" = (
/obj/machinery/smartfridge/organ/preloaded{
pixel_y = 2
},
/turf/closed/wall,
/area/medical/medbay/zone3)
"uxJ" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -81595,7 +81608,7 @@ aSh
bcf
bcW
blt
aSh
uvp
aOL
bfA
bfX
+169 -131
View File
@@ -174,7 +174,6 @@
pixel_x = -27
},
/obj/machinery/firealarm{
dir = 1;
pixel_y = 26
},
/turf/open/floor/circuit,
@@ -672,7 +671,7 @@
/obj/item/pen,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/item/paper_bin,
@@ -1181,19 +1180,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
"aeI" = (
/obj/machinery/seed_extractor,
/obj/machinery/light{
dir = 4
},
/obj/effect/turf_decal/tile/green{
dir = 1
},
/obj/effect/turf_decal/tile/green{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
"aeJ" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 8
@@ -1508,24 +1494,13 @@
/turf/open/floor/plasteel/dark,
/area/security/prison)
"afr" = (
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/machinery/light/small,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/turf/open/floor/plasteel/cafeteria,
/area/security/prison)
"afs" = (
/obj/structure/table,
/obj/structure/bedsheetbin,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/turf/open/floor/plasteel/cafeteria,
/area/security/prison)
"aft" = (
@@ -2477,7 +2452,7 @@
dir = 6
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -27
},
/turf/open/floor/plasteel/showroomfloor,
@@ -3411,7 +3386,7 @@
/obj/item/gun/energy/e_gun,
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -27
},
/turf/open/floor/plasteel/dark,
@@ -4272,7 +4247,7 @@
},
/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -27
},
/obj/effect/turf_decal/tile/red{
@@ -4988,7 +4963,7 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/turf/open/floor/plasteel/showroomfloor,
@@ -8252,7 +8227,7 @@
dir = 10
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/dark,
@@ -8739,7 +8714,7 @@
/area/crew_quarters/dorms)
"avl" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/machinery/computer/cryopod{
@@ -9698,7 +9673,7 @@
light_color = "#e8eaff"
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/machinery/computer/rdconsole{
@@ -11455,7 +11430,6 @@
"aBB" = (
/obj/machinery/computer/cargo/request,
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/turf/open/floor/wood,
@@ -12403,7 +12377,7 @@
/area/storage/primary)
"aDB" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/neutral,
@@ -14380,7 +14354,6 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/blue{
@@ -17532,7 +17505,7 @@
dir = 10
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/turf/open/floor/plasteel,
@@ -18580,7 +18553,7 @@
/area/maintenance/department/crew_quarters/bar)
"aSA" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -28
},
/obj/machinery/hydroponics/constructable,
@@ -18799,7 +18772,6 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/brown{
@@ -19132,7 +19104,7 @@
"aTP" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/neutral,
@@ -21352,7 +21324,7 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/brown,
@@ -21749,7 +21721,7 @@
dir = 1
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/turf/open/floor/plasteel/dark,
@@ -22101,7 +22073,7 @@
dir = 8
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -28
},
/obj/effect/turf_decal/tile/green{
@@ -24457,7 +24429,6 @@
"bfx" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/machinery/firealarm{
dir = 1;
pixel_y = 24
},
/obj/effect/turf_decal/delivery,
@@ -24843,7 +24814,6 @@
/area/hallway/primary/central)
"bgx" = (
/obj/machinery/firealarm{
dir = 1;
pixel_y = 27
},
/obj/structure/chair,
@@ -26707,7 +26677,7 @@
"bly" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -26;
pixel_y = 28
},
@@ -28018,7 +27988,6 @@
"boz" = (
/obj/machinery/vending/clothing,
/obj/machinery/firealarm{
dir = 1;
pixel_y = 27
},
/obj/effect/turf_decal/tile/blue{
@@ -30048,7 +30017,7 @@
"bsB" = (
/obj/machinery/atmospherics/components/unary/thermomachine/freezer,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -26
},
/obj/structure/sign/poster/official/random{
@@ -30255,7 +30224,7 @@
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/green,
@@ -30384,7 +30353,7 @@
/obj/item/crowbar,
/obj/item/wrench,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -28
},
/obj/item/multitool,
@@ -30834,7 +30803,7 @@
/area/medical/chemistry)
"bun" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/yellow{
@@ -30872,7 +30841,7 @@
network = list("ss13","rd")
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/machinery/light{
@@ -31493,7 +31462,7 @@
dir = 1
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -28
},
/obj/effect/turf_decal/tile/purple{
@@ -34294,7 +34263,7 @@
/area/science/storage)
"bBH" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -28
},
/obj/effect/turf_decal/tile/purple{
@@ -34323,7 +34292,7 @@
"bBK" = (
/obj/structure/closet/bombcloset,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/structure/sign/poster/official/random{
@@ -35623,7 +35592,7 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/machinery/light{
@@ -35985,8 +35954,7 @@
dir = 1
},
/obj/machinery/vending/wallmed{
pixel_y = 28;
products = list(/obj/item/reagent_containers/syringe = 3, /obj/item/reagent_containers/pill/patch/styptic = 1, /obj/item/reagent_containers/pill/patch/silver_sulf = 1, /obj/item/reagent_containers/medspray/sterilizine = 1)
pixel_y = 28
},
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/obj/effect/landmark/blobstart,
@@ -36668,7 +36636,7 @@
"bGe" = (
/obj/machinery/portable_atmospherics/scrubber,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/effect/turf_decal/tile/neutral{
@@ -36714,7 +36682,7 @@
network = list("ss13","rd")
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/turf/open/floor/engine,
@@ -37147,7 +37115,7 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
@@ -37773,6 +37741,9 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/machinery/light_switch{
pixel_x = -22
},
/turf/open/floor/plasteel/white,
/area/medical/surgery)
"bIp" = (
@@ -37819,8 +37790,7 @@
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/vending/wallmed{
pixel_y = 28;
products = list(/obj/item/reagent_containers/syringe = 3, /obj/item/reagent_containers/pill/patch/styptic = 1, /obj/item/reagent_containers/pill/patch/silver_sulf = 1, /obj/item/reagent_containers/medspray/sterilizine = 1)
pixel_y = 28
},
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -38781,8 +38751,7 @@
/area/medical/medbay/central)
"bKw" = (
/obj/machinery/vending/wallmed{
pixel_y = 28;
products = list(/obj/item/reagent_containers/syringe = 3, /obj/item/reagent_containers/pill/patch/styptic = 1, /obj/item/reagent_containers/pill/patch/silver_sulf = 1, /obj/item/reagent_containers/medspray/sterilizine = 1)
pixel_y = 28
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 4
@@ -38852,10 +38821,6 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 1
},
/obj/machinery/firealarm{
dir = 8;
pixel_x = -26
},
/obj/effect/turf_decal/tile/blue{
dir = 1
},
@@ -39329,15 +39294,16 @@
/obj/item/clothing/gloves/color/latex,
/obj/item/clothing/mask/surgical,
/obj/item/clothing/suit/apron/surgical,
/obj/machinery/light_switch{
pixel_x = -22
},
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/machinery/firealarm{
dir = 4;
pixel_x = -26
},
/turf/open/floor/plasteel/white,
/area/medical/surgery)
"bLN" = (
@@ -41001,7 +40967,7 @@
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/yellow{
@@ -41139,6 +41105,7 @@
/area/engine/atmos)
"bQa" = (
/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
/obj/machinery/atmospherics/miner/n2o,
/turf/open/floor/engine/n2o,
/area/engine/atmos)
"bQb" = (
@@ -41224,7 +41191,6 @@
},
/obj/effect/turf_decal/stripes/line,
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/turf/open/floor/plasteel/dark,
@@ -41276,7 +41242,6 @@
},
/obj/item/stock_parts/cell/high/plus,
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/green{
@@ -42547,6 +42512,7 @@
/area/engine/atmos)
"bSX" = (
/obj/machinery/portable_atmospherics/canister/toxins,
/obj/machinery/atmospherics/miner/toxins,
/turf/open/floor/engine/plasma,
/area/engine/atmos)
"bSY" = (
@@ -42947,7 +42913,6 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/yellow{
@@ -44053,6 +44018,7 @@
/area/engine/atmos)
"bWf" = (
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
/obj/machinery/atmospherics/miner/carbon_dioxide,
/turf/open/floor/engine/co2,
/area/engine/atmos)
"bWg" = (
@@ -45349,7 +45315,6 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/stripes/corner{
@@ -46167,6 +46132,7 @@
/area/engine/atmos)
"cbt" = (
/obj/machinery/portable_atmospherics/canister/nitrogen,
/obj/machinery/atmospherics/miner/nitrogen,
/turf/open/floor/engine/n2,
/area/engine/atmos)
"cbu" = (
@@ -46174,6 +46140,7 @@
/area/engine/atmos)
"cbv" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/obj/machinery/atmospherics/miner/oxygen,
/turf/open/floor/engine/o2,
/area/engine/atmos)
"cbw" = (
@@ -47544,7 +47511,7 @@
/area/engine/engineering)
"cgV" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/line{
@@ -48363,7 +48330,7 @@
"ckD" = (
/obj/structure/chair/wood/normal,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -28
},
/turf/open/floor/plasteel/dark,
@@ -52189,7 +52156,6 @@
network = list("ss13","monastery")
},
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/turf/open/floor/plasteel/dark,
@@ -52882,6 +52848,19 @@
icon_state = "platingdmg3"
},
/area/maintenance/department/security/brig)
"cJd" = (
/obj/machinery/seed_extractor,
/obj/effect/turf_decal/tile/green{
dir = 1
},
/obj/effect/turf_decal/tile/green{
dir = 8
},
/obj/machinery/light{
dir = 4
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
"cJo" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
@@ -53223,6 +53202,21 @@
},
/turf/open/floor/plasteel/dark,
/area/chapel/office)
"dqi" = (
/obj/structure/table,
/obj/structure/bedsheetbin,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/structure/window/reinforced,
/obj/machinery/light/small{
dir = 4
},
/turf/open/floor/plasteel/cafeteria,
/area/security/prison)
"dqw" = (
/obj/machinery/door/airlock/maintenance{
req_access_txt = "0";
@@ -53835,7 +53829,7 @@
/area/maintenance/department/security/brig)
"ePS" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -28
},
/obj/machinery/light{
@@ -54220,7 +54214,7 @@
"fFv" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel/dark,
@@ -54358,7 +54352,7 @@
"gdL" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -28
},
/obj/effect/turf_decal/tile/purple{
@@ -55028,6 +55022,15 @@
/obj/item/clothing/glasses/regular,
/turf/open/floor/plating,
/area/maintenance/department/science)
"hyl" = (
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/turf/open/floor/plasteel/cafeteria,
/area/security/prison)
"hzc" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -55661,6 +55664,10 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"jdA" = (
/obj/machinery/smartfridge/organ/preloaded,
/turf/closed/wall,
/area/medical/surgery)
"jeq" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -56346,7 +56353,7 @@
dir = 8
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -27
},
/obj/effect/turf_decal/tile/green{
@@ -58617,6 +58624,12 @@
},
/turf/open/floor/plasteel/dark,
/area/science/explab)
"pED" = (
/obj/structure/cable{
icon_state = "2-8"
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
"pEL" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 1
@@ -59427,7 +59440,6 @@
pixel_y = 6
},
/obj/machinery/firealarm{
dir = 1;
pixel_y = 27
},
/turf/open/floor/plasteel/cafeteria,
@@ -59828,7 +59840,6 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/red{
@@ -60070,7 +60081,7 @@
},
/obj/item/hand_labeler,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 28
},
/obj/machinery/light{
@@ -60956,6 +60967,12 @@
},
/turf/open/floor/plating,
/area/maintenance/department/science)
"vtz" = (
/obj/structure/cable{
icon_state = "1-4"
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
"vtT" = (
/turf/open/floor/plating,
/area/maintenance/solars/port)
@@ -61727,7 +61744,6 @@
dir = 4
},
/obj/machinery/firealarm{
dir = 1;
pixel_y = 29
},
/obj/effect/turf_decal/tile/neutral{
@@ -62168,6 +62184,19 @@
},
/turf/open/floor/plating,
/area/maintenance/department/engine)
"yff" = (
/obj/machinery/vr_sleeper{
icon_state = "sleeper";
dir = 8
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/turf/open/floor/plasteel/cafeteria,
/area/security/prison)
"yfO" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/tile/yellow,
@@ -62184,6 +62213,15 @@
},
/turf/open/floor/plating,
/area/maintenance/department/cargo)
"yhs" = (
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/turf/open/floor/plasteel/cafeteria,
/area/security/prison)
"yjy" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/light{
@@ -81546,8 +81584,8 @@ aaa
aaa
adR
aaa
abI
aaa
aem
aem
aem
aem
aem
@@ -81804,8 +81842,8 @@ aaa
adR
aaa
aem
aem
aem
aeo
aeC
aeT
afn
agy
@@ -82060,9 +82098,9 @@ aaa
aaa
adR
abI
aem
aeo
aeC
aen
aep
aeD
aeU
aeU
afC
@@ -82317,9 +82355,9 @@ aaa
aaa
adR
aaa
aen
aep
aeD
aem
aeq
aeE
aeU
afo
afD
@@ -82574,9 +82612,9 @@ aaa
aaa
adR
abI
aem
aeq
aeE
aen
aer
aeF
aeU
afp
afE
@@ -82831,9 +82869,9 @@ aaa
aaa
adR
aaa
aen
aer
aeF
aem
aes
aeG
aeV
afq
afF
@@ -83088,10 +83126,10 @@ aaa
aaa
adR
abI
aem
aes
aeG
aeU
aen
aet
aeH
vtz
afo
afG
aeU
@@ -83345,10 +83383,10 @@ aaa
aaa
adR
aaa
aen
aet
aeH
aeH
aem
aeu
cJd
pED
aeH
afH
aeH
@@ -83603,8 +83641,8 @@ aaa
adR
abI
aem
aeu
aeI
agy
agy
lGp
aeU
aae
@@ -83860,9 +83898,9 @@ aaa
adR
aaa
aem
aem
aem
aeW
yhs
hyl
afr
agy
agc
@@ -84116,11 +84154,11 @@ aaa
aaa
adR
aaa
abI
aaa
aem
aeX
afs
dqi
yff
yff
agy
agd
agp
@@ -84372,8 +84410,6 @@ aaa
aaa
aaa
aaa
aed
adR
abI
aem
aem
@@ -84385,6 +84421,8 @@ aem
aem
aem
aem
aem
aem
ahL
ahL
ahL
@@ -84630,9 +84668,9 @@ aaa
aaa
aaa
aaa
aaa
aaa
aaa
aed
adR
abI
aaa
aaa
aaa
@@ -92174,7 +92212,7 @@ bFU
bFU
bIn
bJt
bFU
jdA
bFU
bFU
bFU
File diff suppressed because it is too large Load Diff
+14 -14
View File
@@ -3398,7 +3398,7 @@
/area/centcom/supply)
"iS" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/brown{
@@ -3883,7 +3883,7 @@
/area/centcom/control)
"jV" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/stripes/line{
@@ -4231,7 +4231,7 @@
icon_state = "plant-22"
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -5775,7 +5775,7 @@
req_access_txt = "109"
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -5799,7 +5799,7 @@
req_access_txt = "109"
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -6866,7 +6866,7 @@
/area/centcom/ferry)
"pM" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -6893,7 +6893,7 @@
/obj/item/clothing/gloves/color/black,
/obj/item/clothing/glasses/eyepatch,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/turf/open/floor/plasteel/grimy,
@@ -9214,7 +9214,7 @@
pixel_y = -32
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -11017,7 +11017,7 @@
dir = 8
},
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/blue{
@@ -12323,7 +12323,7 @@
/obj/item/book/manual/wiki/security_space_law,
/obj/item/taperecorder,
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -12390,7 +12390,7 @@
"CM" = (
/obj/structure/filingcabinet/medical,
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -14511,7 +14511,7 @@
/area/tdome/tdomeobserve)
"Hq" = (
/obj/machinery/firealarm{
dir = 4;
dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/white,
@@ -14554,7 +14554,7 @@
/area/tdome/tdomeobserve)
"Hu" = (
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/bar,
@@ -15835,7 +15835,7 @@
icon_state = "plant-21"
},
/obj/machinery/firealarm{
dir = 8;
dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
+2 -15
View File
@@ -379,15 +379,6 @@
/obj/item/camera,
/turf/open/indestructible/clock_spawn_room,
/area/reebe/city_of_cogs)
"Nz" = (
/obj/structure/table/bronze,
/obj/item/implantcase,
/obj/item/implantcase,
/obj/item/implantcase,
/obj/item/implanter,
/obj/item/storage/backpack/duffelbag/sec/surgery,
/turf/open/floor/clockwork/reebe,
/area/reebe/city_of_cogs)
"NH" = (
/obj/structure/table/bronze,
/obj/item/taperecorder,
@@ -409,10 +400,6 @@
"WT" = (
/turf/closed/wall/clockwork,
/area/reebe)
"Yy" = (
/obj/structure/table/optable,
/turf/open/floor/clockwork/reebe,
/area/reebe/city_of_cogs)
(1,1,1) = {"
zb
@@ -33918,7 +33905,7 @@ ab
ai
bE
aj
Yy
aj
aj
aj
aA
@@ -34175,7 +34162,7 @@ ab
ah
al
aj
Nz
aj
aj
aC
ah
+1
View File
@@ -0,0 +1 @@
#define FORCE_MAP "_maps/multiz_debug.json"
+6
View File
@@ -0,0 +1,6 @@
{
"map_name": "MultiZ Debug",
"map_path": "map_files/debug",
"map_file": "multiz.dmm",
"traits": [{"Up": 1}, {"Up": 1, "Down": -1}, {"Down": -1}]
}
+1 -1
View File
@@ -56,7 +56,7 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"ah" = (
/obj/machinery/computer/shuttle,
/obj/machinery/computer/emergency_shuttle,
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"ai" = (
+177 -176
View File
@@ -2,15 +2,21 @@
"aa" = (
/turf/template_noop,
/area/template_noop)
"ac" = (
/obj/machinery/porta_turret/syndicate{
"ab" = (
/obj/machinery/porta_turret/syndicate/shuttle{
dir = 9
},
/turf/closed/wall/mineral/plastitanium,
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/bridge)
"ac" = (
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/bridge)
"ad" = (
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/bridge)
/obj/machinery/porta_turret/syndicate/shuttle{
dir = 10
},
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/hallway)
"ae" = (
/obj/structure/window/plastitanium,
/obj/machinery/door/poddoor/shutters{
@@ -21,11 +27,8 @@
/turf/open/floor/plating,
/area/shuttle/syndicate/bridge)
"af" = (
/obj/machinery/porta_turret/syndicate{
dir = 5
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/bridge)
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/hallway)
"ag" = (
/obj/machinery/computer/med_data/syndie,
/obj/effect/turf_decal/bot_white,
@@ -144,7 +147,7 @@
/area/shuttle/syndicate/bridge)
"au" = (
/obj/machinery/status_display/evac,
/turf/closed/wall/mineral/plastitanium,
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/bridge)
"av" = (
/obj/machinery/door/airlock/hatch{
@@ -164,14 +167,14 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/syndicate/bridge)
"aw" = (
/obj/machinery/porta_turret/syndicate{
dir = 10
/obj/machinery/porta_turret/syndicate/shuttle{
dir = 9
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/hallway)
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/eva)
"ax" = (
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/hallway)
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/eva)
"ay" = (
/obj/structure/table/reinforced,
/obj/item/stack/cable_coil/white,
@@ -222,11 +225,8 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/syndicate/hallway)
"aB" = (
/obj/machinery/porta_turret/syndicate{
dir = 6
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/hallway)
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/airlock)
"aC" = (
/obj/structure/chair/comfy/shuttle{
dir = 4;
@@ -265,14 +265,17 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/syndicate/hallway)
"aF" = (
/obj/machinery/porta_turret/syndicate{
/obj/machinery/porta_turret/syndicate/shuttle{
dir = 5
},
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/armory)
"aG" = (
/obj/machinery/porta_turret/syndicate/shuttle{
dir = 9
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/eva)
"aG" = (
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/eva)
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/medical)
"aH" = (
/obj/structure/chair/comfy/shuttle{
dir = 4;
@@ -314,14 +317,11 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/syndicate/hallway)
"aJ" = (
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/airlock)
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/medical)
"aK" = (
/obj/machinery/porta_turret/syndicate{
dir = 5
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/armory)
/turf/closed/wall/r_wall/syndicate/nodiagonal,
/area/shuttle/syndicate/medical)
"aL" = (
/obj/machinery/suit_storage_unit/syndicate,
/obj/effect/turf_decal/stripes/line{
@@ -508,7 +508,7 @@
/obj/structure/sign/warning/vacuum/external{
layer = 4
},
/turf/closed/wall/mineral/plastitanium,
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/airlock)
"be" = (
/obj/machinery/suit_storage_unit/syndicate,
@@ -517,11 +517,6 @@
},
/turf/open/floor/mineral/plastitanium,
/area/shuttle/syndicate/eva)
"bf" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/effect/turf_decal/bot_white,
/turf/open/floor/plasteel/dark,
/area/shuttle/syndicate/eva)
"bg" = (
/obj/structure/grille,
/obj/structure/window/plastitanium,
@@ -543,31 +538,28 @@
/turf/open/floor/mineral/plastitanium/red,
/area/shuttle/syndicate/airlock)
"bj" = (
/obj/machinery/porta_turret/syndicate{
dir = 9
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/medical)
/turf/closed/wall/r_wall/syndicate/nodiagonal,
/area/shuttle/syndicate/armory)
"bk" = (
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/medical)
"bl" = (
/obj/machinery/status_display/ai,
/turf/closed/wall/mineral/plastitanium,
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/medical)
"bm" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/shuttle/syndicate/medical)
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/armory)
"bn" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/obj/machinery/status_display/evac,
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/armory)
"bo" = (
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/armory)
"bp" = (
/obj/machinery/status_display/evac,
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/armory)
/obj/machinery/nuclearbomb/syndicate{
anchored = 1
},
/obj/machinery/door/window{
dir = 1
},
/turf/open/floor/circuit/red,
/area/shuttle/syndicate/hallway)
"bq" = (
/obj/machinery/sleeper/syndie{
dir = 4
@@ -1043,14 +1035,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/shuttle/syndicate/hallway)
"cm" = (
/obj/machinery/nuclearbomb/syndicate,
/obj/machinery/door/window{
dir = 1;
name = "Theatre Stage"
},
/turf/open/floor/circuit/red,
/area/shuttle/syndicate/hallway)
"cn" = (
/obj/machinery/light{
dir = 4
@@ -1169,18 +1153,6 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating/airless,
/area/shuttle/syndicate/medical)
"cC" = (
/obj/machinery/porta_turret/syndicate{
dir = 6
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/medical)
"cD" = (
/obj/machinery/porta_turret/syndicate{
dir = 10
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate/armory)
"cE" = (
/obj/structure/shuttle/engine/propulsion/left,
/obj/effect/turf_decal/stripes/line,
@@ -1196,6 +1168,35 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating/airless,
/area/shuttle/syndicate/armory)
"dp" = (
/obj/machinery/porta_turret/syndicate/shuttle{
dir = 10
},
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/armory)
"pd" = (
/obj/machinery/porta_turret/syndicate/shuttle{
dir = 5
},
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/bridge)
"vv" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/effect/turf_decal/bot_white,
/turf/open/floor/plasteel/dark,
/area/shuttle/syndicate/eva)
"In" = (
/obj/machinery/porta_turret/syndicate/shuttle{
dir = 6
},
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/hallway)
"MJ" = (
/obj/machinery/porta_turret/syndicate/shuttle{
dir = 6
},
/turf/closed/wall/r_wall/syndicate,
/area/shuttle/syndicate/medical)
(1,1,1) = {"
aa
@@ -1211,16 +1212,16 @@ aa
aa
aa
aa
bj
bk
bk
bk
bk
bk
bk
bk
bk
bk
aG
aJ
aJ
aJ
aJ
aJ
aJ
aJ
aJ
aJ
"}
(2,1,1) = {"
aa
@@ -1230,13 +1231,13 @@ aa
aa
aa
aa
aF
aG
aG
aG
aG
aG
bk
aw
ax
ax
ax
ax
ax
aJ
bq
bC
bq
@@ -1255,13 +1256,13 @@ aa
aa
aa
aa
aG
ax
aL
aR
aR
aR
be
bk
aJ
br
bD
bH
@@ -1280,13 +1281,13 @@ aa
aa
aa
aa
aG
ax
aM
aM
aM
aM
aM
bl
bk
bs
bD
bI
@@ -1298,51 +1299,51 @@ cu
cB
"}
(5,1,1) = {"
ab
ac
ac
ac
ac
ad
ad
ad
ad
aa
aa
aG
ax
aM
aM
aM
aM
aM
bk
aJ
bt
bD
bJ
bT
cb
bm
bk
bk
cC
aK
aJ
aJ
MJ
"}
(6,1,1) = {"
ad
ac
ag
an
at
ac
ad
aw
aa
aG
ax
aN
aS
aU
aZ
bf
bk
vv
aJ
bu
bD
bJ
bT
cc
bk
aJ
aa
aa
aa
@@ -1352,24 +1353,24 @@ ae
ah
ao
at
ad
ac
af
af
ax
ax
ax
ax
aG
aG
aG
aG
ba
bg
bm
aK
bv
bv
bK
bv
bk
bk
ax
ax
aJ
aJ
af
af
aa
"}
(8,1,1) = {"
@@ -1417,7 +1418,7 @@ aD
bL
bU
az
cm
bo
cr
cw
aa
@@ -1427,7 +1428,7 @@ ae
ak
ap
at
ad
ac
aA
aE
aI
@@ -1452,75 +1453,75 @@ ae
al
ar
at
ad
ax
ax
ax
ax
aJ
aJ
ac
af
af
af
af
aB
aB
bb
bh
bn
bj
bw
bw
bM
bw
bo
bo
ax
ax
bm
bm
af
af
aa
"}
(12,1,1) = {"
ad
ac
am
as
at
ad
aB
ac
In
aa
aJ
aB
aO
aO
aX
bc
aO
bo
bm
bx
bG
bN
bV
ce
bo
bm
aa
aa
aa
"}
(13,1,1) = {"
af
ad
ad
ad
ad
pd
ac
ac
ac
ac
aa
aa
aJ
aB
aP
aP
aP
aP
aP
bo
bm
by
bG
bN
bV
cf
bn
bo
bo
cD
bj
bm
bm
dp
"}
(14,1,1) = {"
aa
@@ -1530,13 +1531,13 @@ aa
aa
aa
aa
aJ
aB
aP
aP
aP
aP
aP
bp
bn
bz
bG
bO
@@ -1555,13 +1556,13 @@ aa
aa
aa
aa
aJ
aB
aQ
aT
aT
aT
bi
bo
bm
bA
bG
bP
@@ -1580,13 +1581,13 @@ aa
aa
aa
aa
aK
aJ
aJ
aF
aB
aB
aY
bd
aJ
bo
aB
bm
bB
bG
bQ
@@ -1611,14 +1612,14 @@ aa
aa
aa
aa
aK
bo
bo
bo
bo
bo
bo
bo
bo
bo
aF
bm
bm
bm
bm
bm
bm
bm
bm
bm
"}
+10 -10
View File
@@ -2,12 +2,12 @@
#define MC_SPLIT_TICK_INIT(phase_count) var/original_tick_limit = Master.current_ticklimit; var/split_tick_phases = ##phase_count
#define MC_SPLIT_TICK \
if(split_tick_phases > 1){\
Master.current_ticklimit = ((original_tick_limit - TICK_USAGE) / split_tick_phases) + TICK_USAGE;\
--split_tick_phases;\
} else {\
Master.current_ticklimit = original_tick_limit;\
}
if(split_tick_phases > 1){\
Master.current_ticklimit = ((original_tick_limit - TICK_USAGE) / split_tick_phases) + TICK_USAGE;\
--split_tick_phases;\
} else {\
Master.current_ticklimit = original_tick_limit;\
}
// Used to smooth out costs to try and avoid oscillation.
#define MC_AVERAGE_FAST(average, current) (0.7 * (average) + 0.3 * (current))
@@ -65,14 +65,14 @@
#define SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/##X);\
/datum/controller/subsystem/##X/New(){\
NEW_SS_GLOBAL(SS##X);\
PreInit();\
NEW_SS_GLOBAL(SS##X);\
PreInit();\
}\
/datum/controller/subsystem/##X
#define PROCESSING_SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/processing/##X);\
/datum/controller/subsystem/processing/##X/New(){\
NEW_SS_GLOBAL(SS##X);\
PreInit();\
NEW_SS_GLOBAL(SS##X);\
PreInit();\
}\
/datum/controller/subsystem/processing/##X
+10 -4
View File
@@ -3,8 +3,8 @@
//Creates a global initializer with a given InitValue expression, do not use
#define GLOBAL_MANAGED(X, InitValue)\
/datum/controller/global_vars/proc/InitGlobal##X(){\
##X = ##InitValue;\
gvars_datum_init_order += #X;\
##X = ##InitValue;\
gvars_datum_init_order += #X;\
}
//Creates an empty global initializer, do not use
#define GLOBAL_UNMANAGED(X) /datum/controller/global_vars/proc/InitGlobal##X() { return; }
@@ -13,8 +13,8 @@
#ifndef TESTING
#define GLOBAL_PROTECT(X)\
/datum/controller/global_vars/InitGlobal##X(){\
..();\
gvars_datum_protected_varlist[#X] = TRUE;\
..();\
gvars_datum_protected_varlist[#X] = TRUE;\
}
#else
#define GLOBAL_PROTECT(X)
@@ -41,6 +41,12 @@
//Create a list global that is initialized as an empty list
#define GLOBAL_LIST_EMPTY(X) GLOBAL_LIST_INIT(X, list())
// Create a typed list global with an initializer expression
#define GLOBAL_LIST_INIT_TYPED(X, Typepath, InitValue) GLOBAL_RAW(/list##Typepath/X); GLOBAL_MANAGED(X, InitValue)
// Create a typed list global that is initialized as an empty list
#define GLOBAL_LIST_EMPTY_TYPED(X, Typepath) GLOBAL_LIST_INIT_TYPED(X, Typepath, list())
//Create a typed global with an initializer expression
#define GLOBAL_DATUM_INIT(X, Typepath, InitValue) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, InitValue)
+3 -3
View File
@@ -1,10 +1,10 @@
#define GENERAL_PROTECT_DATUM(Path)\
##Path/can_vv_get(var_name){\
return FALSE;\
return FALSE;\
}\
##Path/vv_edit_var(var_name, var_value){\
return FALSE;\
return FALSE;\
}\
##Path/CanProcCall(procname){\
return FALSE;\
return FALSE;\
}
+1
View File
@@ -69,6 +69,7 @@
#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device"
#define ADMIN_PUNISHMENT_FIREBALL "Fireball"
#define ADMIN_PUNISHMENT_ROD "Immovable Rod"
#define ADMIN_PUNISHMENT_SUPPLYPOD_QUICK "Supply Pod (Quick)"
#define ADMIN_PUNISHMENT_SUPPLYPOD "Supply Pod"
#define ADMIN_PUNISHMENT_MAZING "Puzzle"
#define ADMIN_PUNISHMENT_PIE "Cream Pie"
+17
View File
@@ -12,6 +12,7 @@
#define APPRENTICE_BLUESPACE "bluespace"
#define APPRENTICE_ROBELESS "robeless"
#define APPRENTICE_HEALING "healing"
#define APPRENTICE_MARTIAL "martial"
//ERT Types
@@ -40,3 +41,19 @@
#define NOT_DOMINATING -1
#define MAX_LEADERS_GANG 4
#define INITIAL_DOM_ATTEMPTS 3
//Bloodsucker defines
// Bloodsucker related antag datums
#define ANTAG_DATUM_BLOODSUCKER /datum/antagonist/bloodsucker
#define ANTAG_DATUM_VASSAL /datum/antagonist/vassal
//#define ANTAG_DATUM_HUNTER /datum/antagonist/vamphunter Disabled for now
// BLOODSUCKER
#define BLOODSUCKER_LEVEL_TO_EMBRACE 3
#define BLOODSUCKER_FRENZY_TIME 25 // How long the vamp stays in frenzy.
#define BLOODSUCKER_FRENZY_OUT_TIME 300 // How long the vamp goes back into frenzy.
#define BLOODSUCKER_STARVE_VOLUME 5 // Amount of blood, below which a Vamp is at risk of frenzy.
#define CAT_STRUCTURE "Structures"
#define MARTIALART_HUNTER "hunter-fu"
+31 -7
View File
@@ -9,12 +9,13 @@
#define META_GAS_FUSION_POWER 7
//ATMOS
//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 TCMB 2.7 // -270.3degC
#define TCRYO 225 // -48.15degC
#define T0C 273.15 // 0degC
#define T20C 293.15 // 20degC
#define R_IDEAL_GAS_EQUATION 8.31446261815324 //kPa*L/(K*mol)
#define ONE_ATMOSPHERE 101.325 //kPa
#define TCMB 2.7 // -270.3degC
#define TCRYO 225 // -48.15degC
#define T0C 273.15 // 0degC
#define T20C 293.15 // 20degC
#define STEFANBOLTZMANN (5.670373*10e-8) // W/(m^2*K^4)
#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
@@ -143,8 +144,24 @@
#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 ) )
#define CANATMOSPASS(A, O) ( A.CanAtmosPass == ATMOS_PASS_PROC ? A.CanAtmosPass(O) : ( A.CanAtmosPass == ATMOS_PASS_DENSITY ? !A.density : A.CanAtmosPass ) )
#define CANVERTICALATMOSPASS(A, O) ( A.CanAtmosPassVertical == ATMOS_PASS_PROC ? A.CanAtmosPass(O, TRUE) : ( A.CanAtmosPassVertical == ATMOS_PASS_DENSITY ? !A.density : A.CanAtmosPassVertical ) )
//OPEN TURF ATMOS
#define OPENTURF_DEFAULT_ATMOS "o2=22;n2=82;TEMP=293.15" //the default air mix that open turfs spawn
#define TCOMMS_ATMOS "n2=100;TEMP=80" //-193,15°C telecommunications. also used for xenobiology slime killrooms
#define AIRLESS_ATMOS "TEMP=2.7" //space
#define FROZEN_ATMOS "o2=22;n2=82;TEMP=180" //-93.15°C snow and ice turfs
#define BURNMIX_ATMOS "o2=2500;plasma=5000;TEMP=370" //used in the holodeck burn test program
//ATMOSPHERICS DEPARTMENT GAS TANK TURFS
#define ATMOS_TANK_N2O "n2o=6000;TEMP=293.15"
#define ATMOS_TANK_CO2 "co2=50000;TEMP=293.15"
#define ATMOS_TANK_PLASMA "plasma=70000;TEMP=293.15"
#define ATMOS_TANK_O2 "o2=100000;TEMP=293.15"
#define ATMOS_TANK_N2 "n2=100000;TEMP=293.15"
#define ATMOS_TANK_AIRMIX "o2=2644;n2=10580;TEMP=293.15"
//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"
@@ -249,6 +266,13 @@
out_var += cached_gases[total_moles_id];\
}
#ifdef TESTING
GLOBAL_LIST_INIT(atmos_adjacent_savings, list(0,0))
#define CALCULATE_ADJACENT_TURFS(T) if (SSadjacent_air.queue[T]) { GLOB.atmos_adjacent_savings[1] += 1 } else { GLOB.atmos_adjacent_savings[2] += 1; SSadjacent_air.queue[T] = 1 }
#else
#define CALCULATE_ADJACENT_TURFS(T) SSadjacent_air.queue[T] = 1
#endif
//Unomos - So for whatever reason, garbage collection actually drastically decreases the cost of atmos later in the round. Turning this into a define yields massively improved performance.
#define GAS_GARBAGE_COLLECT(GASGASGAS)\
var/list/CACHE_GAS = GASGASGAS;\
+1
View File
@@ -58,6 +58,7 @@
#define ANTAG_HUD_SOULLESS 21
#define ANTAG_HUD_CLOCKWORK 22
#define ANTAG_HUD_BROTHER 23
#define ANTAG_HUD_BLOODSUCKER 24
// Notification action types
#define NOTIFY_JUMP "jump"
+15 -13
View File
@@ -11,23 +11,25 @@
#define STYLE_FRUIT 11
#define STYLE_INVISIBLE 12
#define STYLE_GONDOLA 13
#define STYLE_SEETHROUGH 14
#define POD_ICON_STATE 1
#define POD_NAME 2
#define POD_DESC 3
#define POD_STYLES list(\
list("supplypod", "supply pod", "A Nanotrasen supply drop pod."),\
list("bluespacepod", "bluespace supply pod" , "A Nanotrasen Bluespace supply pod. Teleports back to CentCom after delivery."),\
list("centcompod", "\improper Centcom supply pod", "A Nanotrasen supply pod, this one has been marked with Central Command's designations. Teleports back to Centcom after delivery."),\
list("syndiepod", "blood-red supply pod", "A dark, intimidating supply pod, covered in the blood-red markings of the Syndicate. It's probably best to stand back from this."),\
list("squadpod", "\improper MK. II supply pod", "A Nanotrasen supply pod. This one has been marked the markings of some sort of elite strike team."),\
list("cultpod", "bloody supply pod", "A Nanotrasen supply pod covered in scratch-marks, blood, and strange runes."),\
list("missilepod", "cruise missile", "A big ass missile that didn't seem to fully detonate. It was likely launched from some far-off deep space missile silo. There appears to be an auxillery payload hatch on the side, though manually opening it is likely impossible."),\
list("smissilepod", "\improper Syndicate cruise missile", "A big ass, blood-red missile that didn't seem to fully detonate. It was likely launched from some deep space Syndicate missile silo. There appears to be an auxillery payload hatch on the side, though manually opening it is likely impossible."),\
list("boxpod", "\improper Aussec supply crate", "An incredibly sturdy supply crate, designed to withstand orbital re-entry. Has 'Aussec Armory - 2532' engraved on the side."),\
list("honkpod", "\improper HONK pod", "A brightly-colored supply pod. It likely originated from the Clown Federation."),\
list("fruitpod", "\improper Orange", "An angry orange."),\
list("", "\improper S.T.E.A.L.T.H. pod MKVII", "A supply pod that, under normal circumstances, is completely invisible to conventional methods of detection. How are you even seeing this?"),\
list("gondolapod", "gondola", "The silent walker. This one seems to be part of a delivery agency.")\
list("supplypod", "supply pod", "A Nanotrasen supply drop pod."),\
list("bluespacepod", "bluespace supply pod" , "A Nanotrasen Bluespace supply pod. Teleports back to CentCom after delivery."),\
list("centcompod", "\improper Centcom supply pod", "A Nanotrasen supply pod, this one has been marked with Central Command's designations. Teleports back to Centcom after delivery."),\
list("syndiepod", "blood-red supply pod", "A dark, intimidating supply pod, covered in the blood-red markings of the Syndicate. It's probably best to stand back from this."),\
list("squadpod", "\improper MK. II supply pod", "A Nanotrasen supply pod. This one has been marked the markings of some sort of elite strike team."),\
list("cultpod", "bloody supply pod", "A Nanotrasen supply pod covered in scratch-marks, blood, and strange runes."),\
list("missilepod", "cruise missile", "A big ass missile that didn't seem to fully detonate. It was likely launched from some far-off deep space missile silo. There appears to be an auxillery payload hatch on the side, though manually opening it is likely impossible."),\
list("smissilepod", "\improper Syndicate cruise missile", "A big ass, blood-red missile that didn't seem to fully detonate. It was likely launched from some deep space Syndicate missile silo. There appears to be an auxillery payload hatch on the side, though manually opening it is likely impossible."),\
list("boxpod", "\improper Aussec supply crate", "An incredibly sturdy supply crate, designed to withstand orbital re-entry. Has 'Aussec Armory - 2532' engraved on the side."),\
list("honkpod", "\improper HONK pod", "A brightly-colored supply pod. It likely originated from the Clown Federation."),\
list("fruitpod", "\improper Orange", "An angry orange."),\
list("", "\improper S.T.E.A.L.T.H. pod MKVII", "A supply pod that, under normal circumstances, is completely invisible to conventional methods of detection. How are you even seeing this?"),\
list("gondolapod", "gondola", "The silent walker. This one seems to be part of a delivery agency."),\
list("", "", "")\
)
+2 -2
View File
@@ -57,9 +57,9 @@
#define BALLS_SACK_SIZE_DEF 8
#define BALLS_SACK_SIZE_MAX 40
#define CUM_RATE 0.035
#define CUM_RATE 2 // holy shit what a really shitty define name - relates to units per arbitrary measure of time?
#define CUM_RATE_MULT 1
#define CUM_EFFICIENCY 1//amount of nutrition required per life()
#define CUM_EFFICIENCY 1 //amount of nutrition required per life()
#define EGG_GIRTH_MIN 1//inches
#define EGG_GIRTH_DEF 6
+1
View File
@@ -98,6 +98,7 @@
//the define for visible message range in combat
#define COMBAT_MESSAGE_RANGE 3
#define DEFAULT_MESSAGE_RANGE 7
//Shove knockdown lengths (deciseconds)
#define SHOVE_KNOCKDOWN_SOLID 30
+56 -8
View File
@@ -5,6 +5,17 @@
#define COMPONENT_INCOMPATIBLE 1
#define COMPONENT_NOTRANSFER 2
#define ELEMENT_INCOMPATIBLE 1 // Return value to cancel attaching
// /datum/element flags
/// Causes the detach proc to be called when the host object is being deleted
#define ELEMENT_DETACH (1 << 0)
/**
* Only elements created with the same arguments given after `id_arg_index` share an element instance
* The arguments are the same when the text and number values are the same and all other values have the same ref
*/
#define ELEMENT_BESPOKE (1 << 1)
// How multiple components of the exact same type are handled in the same datum
#define COMPONENT_DUPE_HIGHLANDER 0 //old component is deleted (default)
@@ -25,10 +36,12 @@
//////////////////////////////////////////////////////////////////
// /datum signals
#define COMSIG_COMPONENT_ADDED "component_added" //when a component is added to a datum: (/datum/component)
#define COMSIG_COMPONENT_REMOVING "component_removing" //before a component is removed from a datum because of RemoveComponent: (/datum/component)
#define COMSIG_COMPONENT_ADDED "component_added" //sent to the new datum parent when a component is added to them: (/datum/component)
#define COMSIG_COMPONENT_REMOVING "component_removing" //sent to the datum parent before a component is removed from them because of RemoveComponent: (/datum/component)
#define COMSIG_COMPONENT_UNREGISTER_PARENT "component_unregister_parent" //sent to the component itself when unregistered from a parent
#define COMSIG_COMPONENT_REGISTER_PARENT "component_register_parent" //sent to the component itself when registered to a parent
#define COMSIG_PARENT_PREQDELETED "parent_preqdeleted" //before a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation
#define COMSIG_PARENT_QDELETED "parent_qdeleted" //after a datum's Destroy() is called: (force, qdel_hint), at this point none of the other components chose to interrupt qdel and Destroy has been called
#define COMSIG_PARENT_QDELETING "parent_qdeleting" //just before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called
// /atom signals
#define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params)
@@ -70,13 +83,18 @@
#define COMSIG_ATOM_CANREACH "atom_can_reach" //from internal loop in atom/movable/proc/CanReach(): (list/next)
#define COMPONENT_BLOCK_REACH 1
#define COMSIG_ATOM_SCREWDRIVER_ACT "atom_screwdriver_act" //from base of atom/screwdriver_act(): (mob/living/user, obj/item/I)
#define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport" //called when teleporting into a protected turf: (channel, turf/origin)
#define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport" //called when teleporting into a protected turf: (channel, turf/origin, turf/destination)
#define COMPONENT_BLOCK_TELEPORT 1
#define COMSIG_ATOM_HEARER_IN_VIEW "atom_hearer_in_view" //called when an atom with HEAR_1 is added to the hearers on /proc/get_hearers_in_view(): (list/processing_list, list/hearers)
/////////////////
#define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" //from base of atom/attack_ghost(): (mob/dead/observer/ghost)
#define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" //from base of atom/attack_hand(): (mob/user)
#define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw" //from base of atom/attack_paw(): (mob/user)
#define COMPONENT_NO_ATTACK_HAND 1 //works on all 3.
//This signal return value bitflags can be found in __DEFINES/misc.dm
#define COMSIG_ATOM_INTERCEPT_Z_FALL "movable_intercept_z_impact" //called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels)
/////////////////
#define COMSIG_ENTER_AREA "enter_area" //from base of area/Entered(): (/area)
@@ -98,6 +116,7 @@
// /turf signals
#define COMSIG_TURF_CHANGE "turf_change" //from base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/transferring_comps)
#define COMSIG_TURF_HAS_GRAVITY "turf_has_gravity" //from base of atom/has_gravity(): (atom/asker, list/forced_gravities)
#define COMSIG_TURF_MULTIZ_NEW "turf_multiz_new" //from base of turf/New(): (turf/source, direction)
// /atom/movable signals
#define COMSIG_MOVABLE_MOVED "movable_moved" //from base of atom/movable/Moved(): (/atom, dir)
@@ -115,15 +134,30 @@
#define COMPONENT_CANCEL_THROW 1
#define COMSIG_MOVABLE_POST_THROW "movable_post_throw" //from base of atom/movable/throw_at(): (datum/thrownthing, spin)
#define COMSIG_MOVABLE_Z_CHANGED "movable_ztransit" //from base of atom/movable/onTransitZ(): (old_z, new_z)
#define COMSIG_MOVABLE_HEAR "movable_hear" //from base of atom/movable/Hear(): (message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)
#define COMSIG_MOVABLE_SECLUDED_LOCATION "movable_secluded" //called when the movable is placed in an unaccessible area, used for stationloving: ()
#define COMSIG_MOVABLE_HEAR "movable_hear" //from base of atom/movable/Hear(): (message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode, atom/movable/source)
#define HEARING_MESSAGE 1
#define HEARING_SPEAKER 2
// #define HEARING_LANGUAGE 3
#define HEARING_RAW_MESSAGE 4
/* #define HEARING_RADIO_FREQ 5
#define HEARING_SPANS 6
#define HEARING_MESSAGE_MODE 7
#define HEARING_SOURCE 8*/
#define COMSIG_MOVABLE_DISPOSING "movable_disposing" //called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)
#define COMSIG_MOVABLE_TELEPORTED "movable_teleported" //from base of do_teleport(): (channel, turf/origin, turf/destination)
// /mind signals
#define COMSIG_MIND_TRANSFER "mind_transfer" //from base of mind/transfer_to(): (new_character, old_character)
#define COMSIG_PRE_MIND_TRANSFER "pre_mind_transfer" //from base of mind/transfer_to() before it's done: (new_character, old_character)
#define COMPONENT_STOP_MIND_TRANSFER 1 //stops the mind transfer from happening.
#define COMSIG_MIND_TRANSFER "mind_transfer" //from base of mind/transfer_to() when it's done: (new_character, old_character)
// /mob signals
#define COMSIG_MOB_EXAMINATE "mob_examinate" //from base of /mob/verb/examinate(): (atom/A)
#define COMPONENT_ALLOW_EXAMINE 1
#define COMSIG_MOB_DEATH "mob_death" //from base of mob/death(): (gibbed)
#define COMSIG_MOB_GHOSTIZE "mob_ghostize" //from base of mob/Ghostize() (can_reenter_corpse)
#define COMPONENT_BLOCK_DEATH_BROADCAST 1 //stops the death from being broadcasted in deadchat.
#define COMSIG_MOB_GHOSTIZE "mob_ghostize" //from base of mob/Ghostize(): (can_reenter_corpse, special, penalize)
#define COMPONENT_BLOCK_GHOSTING 1
#define COMSIG_MOB_ALLOWED "mob_allowed" //from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj
#define COMSIG_MOB_RECEIVE_MAGIC "mob_receive_magic" //from base of mob/anti_magic_check(): (mob/user, magic, holy, tinfoil, chargecost, self, protection_sources)
@@ -131,10 +165,13 @@
#define COMSIG_MOB_HUD_CREATED "mob_hud_created" //from base of mob/create_mob_hud(): ()
#define COMSIG_MOB_ATTACK_HAND "mob_attack_hand" //from base of
#define COMSIG_MOB_ITEM_ATTACK "mob_item_attack" //from base of /obj/item/attack(): (mob/M, mob/user)
#define COMPONENT_ITEM_NO_ATTACK 1
#define COMSIG_MOB_ITEM_AFTERATTACK "mob_item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)
#define COMSIG_MOB_ATTACK_RANGED "mob_attack_ranged" //from base of mob/RangedAttack(): (atom/A, params)
#define COMSIG_MOB_THROW "mob_throw" //from base of /mob/throw_item(): (atom/target)
#define COMSIG_MOB_KEY_CHANGE "mob_key_change" //from base of /mob/transfer_ckey()
#define COMSIG_MOB_KEY_CHANGE "mob_key_change" //from base of /mob/transfer_ckey(): (new_character, old_character)
#define COMSIG_MOB_PRE_PLAYER_CHANGE "mob_pre_player_change" //sent to the target mob from base of /mob/transfer_ckey() and /mind/transfer_to(): (our_character, their_character)
// #define COMPONENT_STOP_MIND_TRANSFER 1
#define COMSIG_MOB_UPDATE_SIGHT "mob_update_sight" //from base of /mob/update_sight(): ()
#define COMSIG_MOB_SAY "mob_say" // from /mob/living/say(): (proc args list)
#define COMPONENT_UPPERCASE_SPEECH 1
@@ -148,11 +185,14 @@
#define SPEECH_FORCED 7 */
// /mob/living signals
#define COMSIG_LIVING_FULLY_HEAL "living_fully_healed" //from base of /mob/living/fully_heal(): (admin_revive)
#define COMSIG_LIVING_REGENERATE_LIMBS "living_regenerate_limbs" //from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)
#define COMSIG_LIVING_RESIST "living_resist" //from base of mob/living/resist() (/mob/living)
#define COMSIG_LIVING_IGNITED "living_ignite" //from base of mob/living/IgniteMob() (/mob/living)
#define COMSIG_LIVING_EXTINGUISHED "living_extinguished" //from base of mob/living/ExtinguishMob() (/mob/living)
#define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act" //from base of mob/living/electrocute_act(): (shock_damage)
#define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock" //sent by stuff like stunbatons and tasers: ()
#define COMSIG_LIVING_GUN_PROCESS_FIRE "living_gun_process_fire" //from base of /obj/item/gun/proc/process_fire(): (atom/target, params, zone_override)
// /mob/living/carbon signals
#define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity))
@@ -293,3 +333,11 @@
//Ouch my toes!
#define CALTROP_BYPASS_SHOES 1
#define CALTROP_IGNORE_WALKERS 2
//Xenobio hotkeys
#define COMSIG_XENO_SLIME_CLICK_CTRL "xeno_slime_click_ctrl" //from slime CtrlClickOn(): (/mob)
#define COMSIG_XENO_SLIME_CLICK_ALT "xeno_slime_click_alt" //from slime AltClickOn(): (/mob)
#define COMSIG_XENO_SLIME_CLICK_SHIFT "xeno_slime_click_shift" //from slime ShiftClickOn(): (/mob)
#define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift" //from turf ShiftClickOn(): (/mob)
#define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" //from turf AltClickOn(): (/mob)
#define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" //from monkey CtrlClickOn(): (/mob)
+6 -6
View File
@@ -1,10 +1,10 @@
#define DONATOR_GROUP_TIER_1_CONFIG_PATH /datum/config_entry/keyed_list/donator_group/tier_1_donators
#define DONATOR_GROUP_TIER_2_CONFIG_PATH /datum/config_entry/keyed_list/donator_group/tier_2_donators
#define DONATOR_GROUP_TIER_3_CONFIG_PATH /datum/config_entry/keyed_list/donator_group/tier_3_donators
#define DONATOR_GROUP_TIER_1_CONFIG_PATH /datum/config_entry/multi_keyed_flag/donator_group/tier_1_donators
#define DONATOR_GROUP_TIER_2_CONFIG_PATH /datum/config_entry/multi_keyed_flag/donator_group/tier_2_donators
#define DONATOR_GROUP_TIER_3_CONFIG_PATH /datum/config_entry/multi_keyed_flag/donator_group/tier_3_donators
#define DONATOR_GROUP_TIER_1_CONFIG_SUBPATH keyed_list/donator_group/tier_1_donators
#define DONATOR_GROUP_TIER_2_CONFIG_SUBPATH keyed_list/donator_group/tier_2_donators
#define DONATOR_GROUP_TIER_3_CONFIG_SUBPATH keyed_list/donator_group/tier_3_donators
#define DONATOR_GROUP_TIER_1_CONFIG_SUBPATH multi_keyed_flag/donator_group/tier_1_donators
#define DONATOR_GROUP_TIER_2_CONFIG_SUBPATH multi_keyed_flag/donator_group/tier_2_donators
#define DONATOR_GROUP_TIER_3_CONFIG_SUBPATH multi_keyed_flag/donator_group/tier_3_donators
#define TIER_1_DONATORS CONFIG_GET(DONATOR_GROUP_TIER_1_CONFIG_SUBPATH)
#define TIER_2_DONATORS CONFIG_GET(DONATOR_GROUP_TIER_2_CONFIG_SUBPATH)
+1
View File
@@ -32,6 +32,7 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define TESLA_IGNORE_1 (1<<13) // TESLA_IGNORE grants immunity from being targeted by tesla-style electricity
#define INITIALIZED_1 (1<<14) //Whether /atom/Initialize() has already run for the object
#define ADMIN_SPAWNED_1 (1<<15) //was this spawned by an admin? used for stat tracking stuff.
#define PREVENT_CONTENTS_EXPLOSION_1 (1<<16) /// should not get harmed if this gets caught by an explosion?
//turf-only flags
#define NOJAUNT_1 (1<<0)
+1
View File
@@ -11,6 +11,7 @@
#define GROSS (1<<10)
#define TOXIC (1<<11)
#define PINEAPPLE (1<<12)
#define BREAKFAST (1<<13)
#define DRINK_NICE 1
#define DRINK_GOOD 2
+3 -3
View File
@@ -4,9 +4,9 @@
#define WEIGHT_CLASS_TINY 1 //Usually items smaller then a human hand, ex: Playing Cards, Lighter, Scalpel, Coins/Money
#define WEIGHT_CLASS_SMALL 2 //Pockets can hold small and tiny items, ex: Flashlight, Multitool, Grenades, GPS Device
#define WEIGHT_CLASS_NORMAL 3 //Standard backpacks can carry tiny, small & normal items, ex: Fire extinguisher, Stunbaton, Gas Mask, Metal Sheets
#define WEIGHT_CLASS_BULKY 4 //Items that can be weilded or equipped but not stored in an inventory, ex: Defibrillator, Backpack, Space Suits
#define WEIGHT_CLASS_HUGE 5 //Usually represents objects that require two hands to operate, ex: Shotgun, Two Handed Melee Weapons
#define WEIGHT_CLASS_GIGANTIC 6 //Essentially means it cannot be picked up or placed in an inventory, ex: Mech Parts, Safe
#define WEIGHT_CLASS_BULKY 4 //Items that can be weilded or equipped but not stored in a normal bag, ex: Defibrillator, Backpack, Space Suits
#define WEIGHT_CLASS_HUGE 5 //Usually represents objects that require two hands to operate, ex: Shotgun, Two Handed Melee Weapons - Can not fit in Boh
#define WEIGHT_CLASS_GIGANTIC 6 //Essentially means it cannot be picked up or placed in an inventory, ex: Mech Parts, Safe - Can not fit in Boh
//Inventory depth: limits how many nested storage items you can access directly.
//1: stuff in mob, 2: stuff in backpack, 3: stuff in box in backpack, etc
+15
View File
@@ -9,6 +9,16 @@
//Turfs
//#define isturf(A) (istype(A, /turf)) This is actually a byond built-in. Added here for completeness sake.
GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
/turf/open/space,
/turf/open/chasm,
/turf/open/lava,
/turf/open/water,
/turf/open/openspace
)))
#define isgroundlessturf(A) (is_type_in_typecache(A, GLOB.turfs_without_ground))
#define isopenturf(A) (istype(A, /turf/open))
#define isindestructiblefloor(A) (istype(A, /turf/open/indestructible))
@@ -56,6 +66,7 @@
#define ishumanbasic(A) (is_species(A, /datum/species/human))
#define iscatperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/felinid) )
#define isdwarf(A) (is_species(A, /datum/species/dwarf))
#define isdullahan(A) (is_species(A, /datum/species/dullahan))
// Citadel specific species
#define isipcperson(A) (is_species(A, /datum/species/ipc))
@@ -107,6 +118,8 @@
#define ismouse(A) (istype(A, /mob/living/simple_animal/mouse))
#define iscow(A) (istype(A, /mob/living/simple_animal/cow))
#define isslime(A) (istype(A, /mob/living/simple_animal/slime))
#define isdrone(A) (istype(A, /mob/living/simple_animal/drone))
@@ -199,6 +212,8 @@ GLOBAL_LIST_INIT(heavyfootmob, typecacheof(list(
#define isitem(A) (istype(A, /obj/item))
#define isidcard(I) (istype(I, /obj/item/card/id))
#define isstructure(A) (istype(A, /obj/structure))
#define ismachinery(A) (istype(A, /obj/machinery))
+21 -17
View File
@@ -9,6 +9,7 @@
#define FLOOR_PLANE -2
#define GAME_PLANE -1
#define BLACKNESS_PLANE 0 //To keep from conflicts with SEE_BLACKNESS internals
#define SPACE_LAYER 1.8
//#define TURF_LAYER 2 //For easy recordkeeping; this is a byond define
#define MID_TURF_LAYER 2.02
@@ -83,25 +84,28 @@
#define ABOVE_LIGHTING_PLANE 16
#define ABOVE_LIGHTING_LAYER 16
#define BYOND_LIGHTING_PLANE 17
#define BYOND_LIGHTING_LAYER 17
#define FLOOR_OPENSPACE_PLANE 17
#define OPENSPACE_LAYER 17
#define CAMERA_STATIC_PLANE 18
#define CAMERA_STATIC_LAYER 18
#define BYOND_LIGHTING_PLANE 18
#define BYOND_LIGHTING_LAYER 18
#define CAMERA_STATIC_PLANE 19
#define CAMERA_STATIC_LAYER 19
//HUD layer defines
#define FULLSCREEN_PLANE 19
#define FLASH_LAYER 19
#define FULLSCREEN_LAYER 19.1
#define UI_DAMAGE_LAYER 19.2
#define BLIND_LAYER 19.3
#define CRIT_LAYER 19.4
#define CURSE_LAYER 19.5
#define FULLSCREEN_PLANE 20
#define FLASH_LAYER 20
#define FULLSCREEN_LAYER 20.1
#define UI_DAMAGE_LAYER 20.2
#define BLIND_LAYER 20.3
#define CRIT_LAYER 20.4
#define CURSE_LAYER 20.5
#define HUD_PLANE 20
#define HUD_LAYER 20
#define ABOVE_HUD_PLANE 21
#define ABOVE_HUD_LAYER 21
#define HUD_PLANE 21
#define HUD_LAYER 21
#define ABOVE_HUD_PLANE 22
#define ABOVE_HUD_LAYER 22
#define SPLASHSCREEN_LAYER 22
#define SPLASHSCREEN_PLANE 22
#define SPLASHSCREEN_LAYER 23
#define SPLASHSCREEN_PLANE 23
+4 -2
View File
@@ -59,11 +59,13 @@
#define LIGHT_RANGE_FIRE 3 //How many tiles standard fires glow.
#define LIGHTING_PLANE_ALPHA_VISIBLE 255
#define LIGHTING_PLANE_ALPHA_NV_TRAIT 250
#define LIGHTING_PLANE_ALPHA_NV_TRAIT 223
#define LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE 192
#define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 128 //For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell.
#define LIGHTING_PLANE_ALPHA_INVISIBLE 0
#define NIGHT_VISION_DARKSIGHT_RANGE 3
//lighting area defines
#define DYNAMIC_LIGHTING_DISABLED 0 //dynamic lighting disabled (area stays at full brightness)
#define DYNAMIC_LIGHTING_ENABLED 1 //dynamic lighting enabled
@@ -80,4 +82,4 @@
#define FLASH_LIGHT_DURATION 2
#define FLASH_LIGHT_POWER 3
#define FLASH_LIGHT_RANGE 3.8
#define FLASH_LIGHT_RANGE 3.8
+7 -1
View File
@@ -30,7 +30,8 @@
#define LIMBGROWER (1<<6) //Uses synthetic flesh
#define SMELTER (1<<7) //uses various minerals
#define AUTOYLATHE (1<<8) // CITADEL ADD
#define NANITE_COMPILER (1<<9) //Prints nanite disks
#define NANITE_COMPILER (1<<9) //Prints nanite disks
#define AUTOBOTTLER (1<<10) //Uses booze, for printing
//Note: More then one of these can be added to a design but imprinter and lathe designs are incompatable.
//Modular computer/NTNet defines
@@ -99,3 +100,8 @@
#define NUKE_OFF_UNLOCKED 1
#define NUKE_ON_TIMING 2
#define NUKE_ON_EXPLODING 3
//these flags are used to tell the DNA modifier if a plant gene cannot be extracted or modified.
#define PLANT_GENE_REMOVABLE (1<<0)
#define PLANT_GENE_EXTRACTABLE (1<<1)
+14 -13
View File
@@ -37,6 +37,7 @@ require only minor tweaks.
#define ZTRAIT_AWAY "Away Mission"
#define ZTRAIT_SPACE_RUINS "Space Ruins"
#define ZTRAIT_LAVA_RUINS "Lava Ruins"
#define ZTRAIT_ISOLATED_RUINS "Isolated Ruins" //Placing ruins on z levels with this trait will use turf reservation instead of usual placement.
// prevents certain turfs from being stripped by a singularity
#define ZTRAIT_PLANET "Planet"
@@ -52,12 +53,12 @@ require only minor tweaks.
// enum - how space transitions should affect this level
#define ZTRAIT_LINKAGE "Linkage"
// UNAFFECTED if absent - no space transitions
#define UNAFFECTED null
// SELFLOOPING - space transitions always self-loop
#define SELFLOOPING "Self"
// CROSSLINKED - mixed in with the cross-linked space pool
#define CROSSLINKED "Cross"
// UNAFFECTED if absent - no space transitions
#define UNAFFECTED null
// SELFLOOPING - space transitions always self-loop
#define SELFLOOPING "Self"
// CROSSLINKED - mixed in with the cross-linked space pool
#define CROSSLINKED "Cross"
// default trait definitions, used by SSmapping
#define ZTRAITS_CENTCOM list(ZTRAIT_CENTCOM = TRUE)
@@ -72,7 +73,7 @@ require only minor tweaks.
// must correspond to _basemap.dm for things to work correctly
#define DEFAULT_MAP_TRAITS list(\
DECLARE_LEVEL("CentCom", ZTRAITS_CENTCOM),\
DECLARE_LEVEL("CentCom", ZTRAITS_CENTCOM),\
)
// Camera lock flags
@@ -89,10 +90,10 @@ require only minor tweaks.
#define PLACEMENT_TRIES 100 //How many times we try to fit the ruin somewhere until giving up (really should just swap to some packing algo)
#define PLACE_DEFAULT "random"
#define PLACE_SAME_Z "same"
#define PLACE_SPACE_RUIN "space"
#define PLACE_LAVA_RUIN "lavaland"
#define PLACE_SAME_Z "same" //On same z level as original ruin
#define PLACE_SPACE_RUIN "space" //On space ruin z level(s)
#define PLACE_LAVA_RUIN "lavaland" //On lavaland ruin z levels(s)
#define PLACE_BELOW "below" //On z levl below - centered on same tile
#define PLACE_ISOLATED "isolated" //On isolated ruin z level
//Map type stuff.
#define MAP_TYPE_STATION "station"
#define MAP_TYPE_STATION "station"
+21 -6
View File
@@ -203,11 +203,12 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache)
#define LOCKED_SENSORS 2
//Wet floor type flags. Stronger ones should be higher in number.
#define TURF_DRY 0
#define TURF_WET_WATER 1
#define TURF_WET_PERMAFROST 2
#define TURF_WET_ICE 4
#define TURF_WET_LUBE 8
#define TURF_DRY (0)
#define TURF_WET_WATER (1<<0)
#define TURF_WET_PERMAFROST (1<<1)
#define TURF_WET_ICE (1<<2)
#define TURF_WET_LUBE (1<<3)
#define TURF_WET_SUPERLUBE (1<<4)
#define IS_WET_OPEN_TURF(O) O.GetComponent(/datum/component/wet_floor)
@@ -281,9 +282,11 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE))
#define PDA_SKIN_ALT "Holographic"
#define PDA_SKIN_RUGGED "Rugged"
#define PDA_SKIN_MODERN "Modern"
#define PDA_SKIN_MINIMAL "Minimal"
GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_SKIN_ALT = 'icons/obj/pda_alt.dmi',
PDA_SKIN_RUGGED = 'icons/obj/pda_rugged.dmi', PDA_SKIN_MODERN = 'icons/obj/pda_modern.dmi'))
PDA_SKIN_RUGGED = 'icons/obj/pda_rugged.dmi', PDA_SKIN_MODERN = 'icons/obj/pda_modern.dmi',
PDA_SKIN_MINIMAL = 'icons/obj/pda_minimal.dmi'))
/////////////////////////////////////
// atom.appearence_flags shortcuts //
@@ -506,10 +509,22 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S
#define AREASELECT_CORNERA "corner A"
#define AREASELECT_CORNERB "corner B"
#define VARSET_FROM_LIST(L, V) if(L && L[#V]) V = L[#V]
#define VARSET_FROM_LIST_IF(L, V, C...) if(L && L[#V] && (C)) V = L[#V]
#define VARSET_TO_LIST(L, V) if(L) L[#V] = V
#define VARSET_TO_LIST_IF(L, V, C...) if(L && (C)) L[#V] = V
#define PREF_SAVELOAD_COOLDOWN 5
#define VOMIT_TOXIC 1
#define VOMIT_PURPLE 2
// possible bitflag return values of intercept_zImpact(atom/movable/AM, levels = 1) calls
#define FALL_INTERCEPTED (1<<0) //Stops the movable from falling further and crashing on the ground
#define FALL_NO_MESSAGE (1<<1) //Used to suppress the "[A] falls through [old_turf]" messages where it'd make little sense at all, like going downstairs.
#define FALL_STOP_INTERCEPTING (1<<2) //Used in situations where halting the whole "intercept" loop would be better, like supermatter dusting (and thus deleting) the atom.
//Misc text define. Does 4 spaces. Used as a makeshift tabulator.
#define FOURSPACES "&nbsp;&nbsp;&nbsp;&nbsp;"
#define CRYOMOBS 'icons/obj/cryo_mobs.dmi'
+2
View File
@@ -201,6 +201,8 @@
#define SLIDE (1<<1)
#define GALOSHES_DONT_HELP (1<<2)
#define SLIDE_ICE (1<<3)
#define SLIP_WHEN_CRAWLING (1<<4) //clown planet ruin
#define SLIP_WHEN_JOGGING (1<<5) //slips prevented by walking are also dodged if the mob is not sprinting or fatigued... unless this flag is on.
#define MAX_CHICKENS 50
+1
View File
@@ -57,6 +57,7 @@
#define MOVESPEED_ID_PRONE_DRAGGING "PRONE_DRAG"
#define MOVESPEED_ID_HUMAN_CARRYING "HUMAN_CARRY"
#define MOVESPEED_ID_SHRINK_RAY "SHRUNKEN_SPEED_MODIFIER"
#define MOVESPEED_ID_TASED_STATUS "TASED"
+6 -6
View File
@@ -11,6 +11,7 @@
#define USES_TGUI (1<<7) //put on things that use tgui on ui_interact instead of custom/old UI.
#define FROZEN (1<<8)
#define SHOVABLE_ONTO (1<<9) //called on turf.shove_act() to consider whether an object should have a niche effect (defined in their own shove_act()) when someone is pushed onto it, or do a sanity CanPass() check.
#define BLOCK_Z_FALL (1<<10)
// If you add new ones, be sure to add them to /obj/Initialize as well for complete mapping support
@@ -24,23 +25,22 @@
#define NO_MAT_REDEMPTION (1<<5) //Stops you from putting things like an RCD or other items into an ORM or protolathe for materials.
#define DROPDEL (1<<6) //When dropped, it calls qdel on itself
#define NOBLUDGEON (1<<7) //when an item has this it produces no "X has been hit by Y with Z" message in the default attackby()
#define ABSTRACT (1<<8) //for all things that are technically items but used for various different stuff
#define ABSTRACT (1<<8) //for all things that are technically items but used for various different stuff
#define IMMUTABLE_SLOW (1<<9) //When players should not be able to change the slowdown of the item (Speed potions, ect)
#define SURGICAL_TOOL (1<<10) //Tool commonly used for surgery: won't attack targets in an active surgical operation on help intent (in case of mistakes)
#define NO_UNIFORM_REQUIRED (1<<11) //Can be worn on certain slots (currently belt and id) that would otherwise require an uniform.
#define NO_UNIFORM_REQUIRED (1<<11) //Can be worn on certain slots (currently belt and id) that would otherwise require an uniform.
// Flags for the clothing_flags var on /obj/item/clothing
#define LAVAPROTECT (1<<0)
#define STOPSPRESSUREDAMAGE (1<<1) //SUIT and HEAD items which stop pressure damage. To stop you taking all pressure damage you must have both a suit and head item with this flag.
#define BLOCK_GAS_SMOKE_EFFECT (1<<2) //blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
#define ALLOWINTERNALS (1<<3) //mask allows internals
#define ALLOWINTERNALS (1<<3) //mask allows internals
#define NOSLIP (1<<4) //prevents from slipping on wet floors, in space etc
#define THICKMATERIAL (1<<5) //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
#define VOICEBOX_TOGGLABLE (1<<6) //The voicebox in this clothing can be toggled.
#define VOICEBOX_DISABLED (1<<7) //The voicebox is currently turned off.
#define SNUG_FIT (1<<8) //Prevents knock-off from things like hat-throwing.
#define ANTI_TINFOIL_MANEUVER (1<<9) //Hats with negative effects when worn (i.e the tinfoil hat).
#define IGNORE_HAT_TOSS (1<<8) //Hats with negative effects when worn (i.e the tinfoil hat).
// Flags for the organ_flags var on /obj/item/organ
@@ -49,4 +49,4 @@
#define ORGAN_FAILING (1<<2) //Failing organs perform damaging effects until replaced or fixed
#define ORGAN_EXTERNAL (1<<3) //Was this organ implanted/inserted/etc, if true will not be removed during species change.
#define ORGAN_VITAL (1<<4) //Currently only the brain
#define ORGAN_NO_SPOIL (1<<5) //Do not spoil under any circumstances
#define ORGAN_NO_SPOIL (1<<5) //Do not spoil under any circumstances
+7
View File
@@ -75,3 +75,10 @@
#define JP_LOW 1
#define JP_MEDIUM 2
#define JP_HIGH 3
//Chaos levels for dynamic voting
#define CHAOS_NONE "None (Extended)"
#define CHAOS_LOW "Low"
#define CHAOS_MED "Medium"
#define CHAOS_HIGH "High"
#define CHAOS_MAX "Maximum"
+24
View File
@@ -0,0 +1,24 @@
/// Represents a proc or verb path.
///
/// Despite having no DM-defined static type, proc paths have some variables,
/// listed below. These are not modifiable, but for a given procpath P,
/// `new P(null, "Name", "Desc")` can be used to create a new procpath with the
/// same code but new `name` and `desc` values. The other variables cannot be
/// changed in this way.
///
/// This type exists only to act as an annotation, providing reasonable static
/// typing for procpaths. Previously, types like `/atom/verb` were used, with
/// the `name` and `desc` vars of `/atom` thus being accessible. Proc and verb
/// paths will fail `istype` and `ispath` checks against `/procpath`.
/procpath
// Although these variables are effectively const, if they are marked const
// below, their accesses are optimized away.
/// A text string of the verb's name.
var/name as text
/// The verb's help text or description.
var/desc as text
/// The category or tab the verb will appear in.
var/category as text
/// Only clients/mobs with `see_invisibility` higher can use the verb.
var/invisibility as num
+5 -1
View File
@@ -35,6 +35,8 @@
#define ROLE_LAVALAND "lavaland"
#define ROLE_INTERNAL_AFFAIRS "internal affairs agent"
#define ROLE_GANG "gangster"
#define ROLE_BLOODSUCKER "bloodsucker"
//#define ROLE_MONSTERHUNTER "monster hunter" Disabled for now
//Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR.
//The gamemode specific ones are just so the gamemodes can query whether a player is old enough
@@ -60,7 +62,9 @@ GLOBAL_LIST_INIT(special_roles, list(
ROLE_OVERTHROW = /datum/game_mode/overthrow,
ROLE_INTERNAL_AFFAIRS = /datum/game_mode/traitor/internal_affairs,
ROLE_SENTIENCE,
ROLE_GANG = /datum/game_mode/gang
ROLE_GANG = /datum/game_mode/gang,
ROLE_BLOODSUCKER = /datum/game_mode/bloodsucker
//ROLE_MONSTERHUNTER Disabled for now
))
//Job defines for what happens when you fail to qualify for any job during job selection
+8
View File
@@ -75,8 +75,16 @@
#define LINGHIVE_LING 2
#define LINGHIVE_LINK 3
//whether the emote is visible or audible.
#define EMOTE_VISIBLE 1
#define EMOTE_AUDIBLE 2
//Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam
#define MAX_MESSAGE_LEN 2048 //Citadel edit: What's the WORST that could happen?
#define MAX_NAME_LEN 42
#define MAX_BROADCAST_LEN 512
#define MAX_CHARTER_LEN 80
// Audio/Visual Flags. Used to determine what sense are required to notice a message.
#define MSG_VISUAL (1<<0)
#define MSG_AUDIBLE (1<<1)
+13
View File
@@ -0,0 +1,13 @@
// Interfaces for the SpacemanDMM linter, define'd to nothing when the linter
// is not in use.
// The SPACEMAN_DMM define is set by the linter and other tooling when it runs.
#ifdef SPACEMAN_DMM
#define RETURN_TYPE(X) set SpacemanDMM_return_type = X
#define SHOULD_CALL_PARENT(X) set SpacemanDMM_should_call_parent = X
#define UNLINT(X) SpacemanDMM_unlint(X)
#else
#define RETURN_TYPE(X)
#define SHOULD_CALL_PARENT(X)
#define UNLINT(X) X
#endif
+12 -1
View File
@@ -7,6 +7,8 @@
#define STATUS_EFFECT_REPLACE 2 //if it allows only one, but new instances replace
#define STATUS_EFFECT_REFRESH 3 // if it only allows one, and new instances just instead refresh the timer
///////////
// BUFFS //
///////////
@@ -44,7 +46,7 @@
#define STATUS_EFFECT_SLEEPING /datum/status_effect/incapacitating/sleeping //the affected is asleep
#define STATUS_EFFECT_TASED /datum/status_effect/electrode //the affected has been tased, preventing fine muscle control
#define STATUS_EFFECT_TASED /datum/status_effect/no_combat_mode/electrode/ //the affected has been tased, preventing fine muscle control
#define STATUS_EFFECT_PACIFY /datum/status_effect/pacify //the affected is pacified, preventing direct hostile actions
@@ -56,6 +58,8 @@
#define MAX_MANIA_SEVERITY 100 //how high the mania severity can go
#define MANIA_DAMAGE_TO_CONVERT 90 //how much damage is required before it'll convert affected targets
#define STATUS_EFFECT_CHOKINGSTRAND /datum/status_effect/strandling //Choking Strand
#define STATUS_EFFECT_HISWRATH /datum/status_effect/his_wrath //His Wrath.
#define STATUS_EFFECT_SUMMONEDGHOST /datum/status_effect/cultghost //is a cult ghost and can't use manifest runes
@@ -64,6 +68,8 @@
#define STATUS_EFFECT_SAWBLEED /datum/status_effect/saw_bleed //if the bleed builds up enough, takes a ton of damage
#define STATUS_EFFECT_NECKSLICE /datum/status_effect/neck_slice //Creates the flavor messages for the neck-slice
#define STATUS_EFFECT_NECROPOLIS_CURSE /datum/status_effect/necropolis_curse
#define CURSE_BLINDING 1 //makes the edges of the target's screen obscured
#define CURSE_SPAWNING 2 //spawns creatures that attack the target only
@@ -74,9 +80,14 @@
#define STATUS_EFFECT_ICHORIAL_STAIN /datum/status_effect/ichorial_stain //Prevents a servant from being revived by vitality matrices for one minute.
#define STATUS_EFFECT_SPASMS /datum/status_effect/spasms //causes random muscle spasms
#define STATUS_EFFECT_BREASTS_ENLARGEMENT /datum/status_effect/chem/breast_enlarger //Applied slowdown due to the ominous bulk.
#define STATUS_EFFECT_PENIS_ENLARGEMENT /datum/status_effect/chem/penis_enlarger //More applied slowdown, just like the above.
#define STATUS_EFFECT_NO_COMBAT_MODE /datum/status_effect/no_combat_mode //Wont allow combat mode and will disable it
#define STATUS_EFFECT_MESMERIZE /datum/status_effect/no_combat_mode/mesmerize //Just reskinned no_combat_mode
/////////////
// NEUTRAL //
/////////////
+6 -10
View File
@@ -26,10 +26,6 @@
#define TIMER_ID_NULL -1
//For servers that can't do with any additional lag, set this to none in flightpacks.dm in subsystem/processing.
#define FLIGHTSUIT_PROCESSING_NONE 0
#define FLIGHTSUIT_PROCESSING_FULL 1
#define INITIALIZATION_INSSATOMS 0 //New should not call Initialize
#define INITIALIZATION_INNEW_MAPLOAD 2 //New should call Initialize(TRUE)
#define INITIALIZATION_INNEW_REGULAR 1 //New should call Initialize(FALSE)
@@ -40,11 +36,11 @@
//type and all subtypes should always call Initialize in New()
#define INITIALIZE_IMMEDIATE(X) ##X/New(loc, ...){\
..();\
if(!(flags_1 & INITIALIZED_1)) {\
args[1] = TRUE;\
SSatoms.InitAtom(src, args);\
}\
..();\
if(!(flags_1 & INITIALIZED_1)) {\
args[1] = TRUE;\
SSatoms.InitAtom(src, args);\
}\
}
// Subsystem init_order, from highest priority to lowest priority
@@ -112,10 +108,10 @@
#define FIRE_PRIORITY_DEFAULT 50
#define FIRE_PRIORITY_PARALLAX 65
#define FIRE_PRIORITY_NPC 80
#define FIRE_PRIORITY_FLIGHTPACKS 80
#define FIRE_PRIORITY_MOBS 100
#define FIRE_PRIORITY_TGUI 110
#define FIRE_PRIORITY_TICKER 200
#define FIRE_PRIORITY_ATMOS_ADJACENCY 300
#define FIRE_PRIORITY_CHAT 400
#define FIRE_PRIORITY_OVERLAYS 500
#define FIRE_PRIORITY_INPUT 1000 // This must always always be the max highest priority. Player input must never be lost.
+20 -4
View File
@@ -66,6 +66,7 @@
#define TRAIT_HUSK "husk"
#define TRAIT_NOCLONE "noclone"
#define TRAIT_CLUMSY "clumsy"
#define TRAIT_CHUNKYFINGERS "chunkyfingers" //means that you can't use weapons with normal trigger guards.
#define TRAIT_DUMB "dumb"
#define TRAIT_MONKEYLIKE "monkeylike" //sets IsAdvancedToolUser to FALSE
#define TRAIT_PACIFISM "pacifism"
@@ -109,6 +110,7 @@
#define TRAIT_NOHARDCRIT "nohardcrit"
#define TRAIT_NOSOFTCRIT "nosoftcrit"
#define TRAIT_MINDSHIELD "mindshield"
#define TRAIT_SIXTHSENSE "sixthsense"
#define TRAIT_DISSECTED "dissected"
#define TRAIT_FEARLESS "fearless"
#define TRAIT_UNSTABLE "unstable"
@@ -116,14 +118,23 @@
#define TRAIT_PARALYSIS_R_ARM "para-r-arm"
#define TRAIT_PARALYSIS_L_LEG "para-l-leg"
#define TRAIT_PARALYSIS_R_LEG "para-r-leg"
#define TRAIT_DISK_VERIFIER "disk-verifier"
#define TRAIT_UNINTELLIGIBLE_SPEECH "unintelligible-speech"
#define TRAIT_SOOTHED_THROAT "soothed-throat"
#define TRAIT_LAW_ENFORCEMENT_METABOLISM "law-enforcement-metabolism"
#define TRAIT_STRONG_GRABBER "strong_grabber"
#define TRAIT_CALCIUM_HEALER "calcium_healer"
#define TRAIT_STRONG_GRABBER "strong_grabber"
#define TRAIT_CALCIUM_HEALER "calcium_healer"
#define TRAIT_MAGIC_CHOKE "magic_choke"
#define TRAIT_CAPTAIN_METABOLISM "captain-metabolism"
#define TRAIT_ABDUCTOR_TRAINING "abductor-training"
#define TRAIT_ABDUCTOR_SCIENTIST_TRAINING "abductor-scientist-training"
#define TRAIT_SURGEON "surgeon"
#define TRAIT_COLDBLOODED "coldblooded" // Your body is literal room temperature. Does not make you immune to the temp.
#define TRAIT_NONATURALHEAL "nonaturalheal" // Only Admins can heal you. NOTHING else does it unless it's given the god tag.
#define TRAIT_NORUNNING "norunning" // You walk!
#define TRAIT_NOMARROW "nomarrow" // You don't make blood, with chemicals or nanites.
#define TRAIT_NOPULSE "nopulse" // Your heart doesn't beat.
//non-mob traits
#define TRAIT_PARALYSIS "paralysis" //Used for limb-based paralysis, where replacing the limb will fix it
@@ -160,6 +171,7 @@
#define TRAIT_FRIENDLY "friendly"
#define TRAIT_ASSBLASTUSA "assblastusa"
#define TRAIT_CULT_EYES "cult_eyes"
#define TRAIT_FREESPRINT "free_sprinting"
// common trait sources
@@ -179,6 +191,7 @@
#define CULT_TRAIT "cult"
#define CURSED_ITEM_TRAIT "cursed-item" // The item is magically cursed
#define ABSTRACT_ITEM_TRAIT "abstract-item"
#define STATUS_EFFECT_TRAIT "status-effect"
#define ROUNDSTART_TRAIT "roundstart" //cannot be removed without admin intervention
// unique trait sources, still defines
@@ -192,7 +205,6 @@
#define STASIS_MUTE "stasis"
#define GENETICS_SPELL "genetics_spell"
#define EYES_COVERED "eyes_covered"
#define CULT_TRAIT "cult"
#define CLOWN_NUKE_TRAIT "clown-nuke"
#define STICKY_MOUSTACHE_TRAIT "sticky-moustache"
#define CHAINSAW_FRENZY_TRAIT "chainsaw-frenzy"
@@ -213,4 +225,8 @@
#define LOCKED_HELMET_TRAIT "locked-helmet"
#define NINJA_SUIT_TRAIT "ninja-suit"
#define ANTI_DROP_IMPLANT_TRAIT "anti-drop-implant"
#define ABDUCTOR_ANTAGONIST "abductor-antagonist"
#define SLEEPING_CARP_TRAIT "sleeping_carp"
#define ABDUCTOR_ANTAGONIST "abductor-antagonist"
#define MADE_UNCLONEABLE "made-uncloneable"
#define NUKEOP_TRAIT "nuke-op"
#define DEATHSQUAD_TRAIT "deathsquad"
+1
View File
@@ -3,3 +3,4 @@
#define CHANGETURF_FORCEOP 4
#define CHANGETURF_SKIP 8 // A flag for PlaceOnTop to just instance the new turf instead of calling ChangeTurf. Used for uninitialized turfs NOTHING ELSE
#define CHANGETURF_INHERIT_AIR 16 // Inherit air from previous turf. Implies CHANGETURF_IGNORE_AIR
#define CHANGETURF_RECALC_ADJACENT 32 //Immediately recalc adjacent atmos turfs instead of queuing.
+1 -1
View File
@@ -2,7 +2,7 @@
#define TYPEID_NULL "0"
#define TYPEID_NORMAL_LIST "f"
//helper macros
#define GET_TYPEID(ref) ( ( (lentext(ref) <= 10) ? "TYPEID_NULL" : copytext(ref, 4, lentext(ref)-6) ) )
#define GET_TYPEID(ref) ( ( (length(ref) <= 10) ? "TYPEID_NULL" : copytext(ref, 4, length(ref)-6) ) )
#define IS_NORMAL_LIST(L) (GET_TYPEID("\ref[L]") == TYPEID_NORMAL_LIST)
+10 -1
View File
@@ -124,6 +124,7 @@
//returns a new list with only atoms that are in typecache L
/proc/typecache_filter_list(list/atoms, list/typecache)
RETURN_TYPE(/list)
. = list()
for(var/thing in atoms)
var/atom/A = thing
@@ -131,6 +132,7 @@
. += A
/proc/typecache_filter_list_reverse(list/atoms, list/typecache)
RETURN_TYPE(/list)
. = list()
for(var/thing in atoms)
var/atom/A = thing
@@ -257,6 +259,7 @@
//Pick a random element from the list and remove it from the list.
/proc/pick_n_take(list/L)
RETURN_TYPE(L[_].type)
if(L.len)
var/picked = rand(1,L.len)
. = L[picked]
@@ -570,4 +573,10 @@
if(key in L1)
L1[key] += other_value
else
L1[key] = other_value
L1[key] = other_value
/proc/assoc_list_strip_value(list/input)
var/list/ret = list()
for(var/key in input)
ret += key
return ret
+1 -1
View File
@@ -7,7 +7,7 @@
#define WRITE_LOG(log, text) rustg_log_write(log, text)
//print a warning message to world.log
#define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [src] usr: [usr].")
#define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [UNLINT(src)] usr: [usr].")
/proc/warning(msg)
msg = "## WARNING: [msg]"
log_world(msg)
+30
View File
@@ -23,6 +23,9 @@ GLOBAL_VAR_INIT(cmp_field, "name")
/proc/cmp_records_dsc(datum/data/record/a, datum/data/record/b)
return sorttext(a.fields[GLOB.cmp_field], b.fields[GLOB.cmp_field])
/proc/cmp_filter_data_priority(list/A, list/B)
return A["priority"] - B["priority"]
/proc/cmp_ckey_asc(client/a, client/b)
return sorttext(b.ckey, a.ckey)
@@ -84,3 +87,30 @@ GLOBAL_VAR_INIT(cmp_field, "name")
/proc/cmp_job_display_asc(datum/job/A, datum/job/B)
return A.display_order - B.display_order
/proc/cmp_uplink_items_dsc(datum/uplink_item/A, datum/uplink_item/B)
return sorttext(initial(B.name), initial(A.name))
/proc/cmp_numbered_displays_name_asc(datum/numbered_display/A, datum/numbered_display/B)
return sorttext(A.sample_object.name, B.sample_object.name)
/proc/cmp_numbered_displays_name_dsc(datum/numbered_display/A, datum/numbered_display/B)
return sorttext(B.sample_object.name, A.sample_object.name)
/proc/cmp_quirk_asc(datum/quirk/A, datum/quirk/B)
var/a_sign = num2sign(initial(A.value) * -1)
var/b_sign = num2sign(initial(B.value) * -1)
// Neutral traits go last.
if(a_sign == 0)
a_sign = 2
if(b_sign == 0)
b_sign = 2
var/a_name = initial(A.name)
var/b_name = initial(B.name)
if(a_sign != b_sign)
return a_sign - b_sign
else
return sorttext(b_name, a_name)
+6 -5
View File
@@ -1,9 +1,9 @@
//supposedly the fastest way to do this according to https://gist.github.com/Giacom/be635398926bb463b42a
#define RANGE_TURFS(RADIUS, CENTER) \
block( \
locate(max(CENTER.x-(RADIUS),1), max(CENTER.y-(RADIUS),1), CENTER.z), \
locate(min(CENTER.x+(RADIUS),world.maxx), min(CENTER.y+(RADIUS),world.maxy), CENTER.z) \
)
block( \
locate(max(CENTER.x-(RADIUS),1), max(CENTER.y-(RADIUS),1), CENTER.z), \
locate(min(CENTER.x+(RADIUS),world.maxx), min(CENTER.y+(RADIUS),world.maxy), CENTER.z) \
)
#define Z_TURFS(ZLEVEL) block(locate(1,1,ZLEVEL), locate(world.maxx, world.maxy, ZLEVEL))
#define CULT_POLL_WAIT 2400
@@ -264,6 +264,7 @@
var/atom/A = processing_list[1]
if(A.flags_1 & HEAR_1)
. += A
SEND_SIGNAL(A, COMSIG_ATOM_HEARER_IN_VIEW, processing_list, .)
processing_list.Cut(1, 2)
processing_list += A.contents
@@ -446,7 +447,7 @@
var/list/candidates = list()
for(var/mob/dead/observer/G in GLOB.player_list)
if(G.can_reenter_round)
if(G.reenter_round_timeout < world.realtime)
candidates += G
return pollCandidates(Question, jobbanType, gametypeCheck, be_special_flag, poll_time, ignore_category, flashwindow, candidates)
+10
View File
@@ -97,6 +97,16 @@
var/datum/emote/E = new path()
E.emote_list[E.key] = E
//Uplink Items
for(var/path in subtypesof(/datum/uplink_item))
var/datum/uplink_item/I = path
if(!initial(I.item)) //We add categories to a separate list.
GLOB.uplink_categories |= initial(I.category)
continue
GLOB.uplink_items += path
//(sub)typesof entries are listed by the order they are loaded in the code, so we'll have to rearrange them here.
GLOB.uplink_items = sortList(GLOB.uplink_items, /proc/cmp_uplink_items_dsc)
init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes)
//creates every subtype of prototype (excluding prototype) and adds it to list L.
+6 -4
View File
@@ -522,12 +522,14 @@ GLOBAL_LIST_EMPTY(species_list)
else
prefs = new
var/adminoverride = 0
var/override = FALSE
if(M.client && M.client.holder && (prefs.chat_toggles & CHAT_DEAD))
adminoverride = 1
if(isnewplayer(M) && !adminoverride)
override = TRUE
if(HAS_TRAIT(M, TRAIT_SIXTHSENSE))
override = TRUE
if(isnewplayer(M) && !override)
continue
if(M.stat != DEAD && !adminoverride)
if(M.stat != DEAD && !override)
continue
if(speaker_key && speaker_key in prefs.ignoring)
continue
+12 -3
View File
@@ -314,7 +314,14 @@
parts += "[FOURSPACES]Threat left: [mode.threat]"
parts += "[FOURSPACES]Executed rules:"
for(var/datum/dynamic_ruleset/rule in mode.executed_rules)
parts += "[FOURSPACES][FOURSPACES][rule.ruletype] - <b>[rule.name]</b>: -[rule.cost] threat"
parts += "[FOURSPACES][FOURSPACES][rule.ruletype] - <b>[rule.name]</b>: -[rule.cost + rule.scaled_times * rule.scaling_cost] threat"
parts += "[FOURSPACES]Other threat changes:"
for(var/str in mode.threat_log)
parts += "[FOURSPACES][FOURSPACES][str]"
for(var/entry in mode.threat_tallies)
parts += "[FOURSPACES][FOURSPACES][entry] added [mode.threat_tallies[entry]]"
SSblackbox.record_feedback("tally","dynamic_threat",mode.threat_level,"Final threat level")
SSblackbox.record_feedback("tally","dynamic_threat",mode.threat,"Threat left")
return parts.Join("<br>")
/client/proc/roundend_report_file()
@@ -534,10 +541,12 @@
return parts.Join()
/proc/printobjectives(datum/mind/ply)
/proc/printobjectives(list/objectives)
if(!objectives || !objectives.len)
return
var/list/objective_parts = list()
var/count = 1
for(var/datum/objective/objective in ply.objectives)
for(var/datum/objective/objective in objectives)
if(objective.check_completion())
objective_parts += "<b>Objective #[count]</b>: [objective.explanation_text] <span class='greentext'>Success!</span>"
else
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -304,9 +304,9 @@
//is in the other string at the same spot (assuming it is not a replace char).
//This is used for fingerprints
var/newtext = text
if(lentext(text) != lentext(compare))
if(length(text) != length(compare))
return 0
for(var/i = 1, i < lentext(text), i++)
for(var/i = 1, i < length(text), i++)
var/a = copytext(text,i,i+1)
var/b = copytext(compare,i,i+1)
//if it isn't both the same letter, or if they are both the replacement character
@@ -326,7 +326,7 @@
if(!text || !character)
return 0
var/count = 0
for(var/i = 1, i <= lentext(text), i++)
for(var/i = 1, i <= length(text), i++)
var/a = copytext(text,i,i+1)
if(a == character)
count++
@@ -607,8 +607,8 @@ GLOBAL_LIST_INIT(binary, list("0","1"))
continue
var/buffer = ""
var/early_culling = TRUE
for(var/pos = 1, pos <= lentext(string), pos++)
var/let = copytext(string, pos, (pos + 1) % lentext(string))
for(var/pos = 1, pos <= length(string), pos++)
var/let = copytext(string, pos, (pos + 1) % length(string))
if(early_culling && !findtext(let,GLOB.is_alphanumeric))
continue
early_culling = FALSE
@@ -616,9 +616,9 @@ GLOBAL_LIST_INIT(binary, list("0","1"))
if(!findtext(buffer,GLOB.is_alphanumeric))
continue
var/punctbuffer = ""
var/cutoff = lentext(buffer)
for(var/pos = lentext(buffer), pos >= 0, pos--)
var/let = copytext(buffer, pos, (pos + 1) % lentext(buffer))
var/cutoff = length(buffer)
for(var/pos = length(buffer), pos >= 0, pos--)
var/let = copytext(buffer, pos, (pos + 1) % length(buffer))
if(findtext(let,GLOB.is_alphanumeric))
break
if(findtext(let,GLOB.is_punctuation))
@@ -628,8 +628,8 @@ GLOBAL_LIST_INIT(binary, list("0","1"))
var/exclaim = FALSE
var/question = FALSE
var/periods = 0
for(var/pos = lentext(punctbuffer), pos >= 0, pos--)
var/punct = copytext(punctbuffer, pos, (pos + 1) % lentext(punctbuffer))
for(var/pos = length(punctbuffer), pos >= 0, pos--)
var/punct = copytext(punctbuffer, pos, (pos + 1) % length(punctbuffer))
if(!exclaim && findtext(punct,"!"))
exclaim = TRUE
if(!question && findtext(punct,"?"))
@@ -651,7 +651,7 @@ GLOBAL_LIST_INIT(binary, list("0","1"))
buffer = copytext(buffer, 1, cutoff) + punctbuffer
if(!findtext(buffer,GLOB.is_alphanumeric))
continue
if(!buffer || lentext(buffer) > 280 || lentext(buffer) <= cullshort || buffer in accepted)
if(!buffer || length(buffer) > 280 || length(buffer) <= cullshort || buffer in accepted)
continue
accepted += buffer
+2 -2
View File
@@ -9,8 +9,8 @@
return t
proc/TextPreview(var/string,var/len=40)
if(lentext(string) <= len)
if(!lentext(string))
if(length(string) <= len)
if(!length(string))
return "\[...\]"
else
return string
+10 -2
View File
@@ -759,7 +759,7 @@ GLOBAL_LIST_INIT(can_embed_types, typecacheof(list(
/obj/item/pipe)))
/proc/can_embed(obj/item/W)
if(W.is_sharp())
if(W.get_sharpness())
return 1
if(is_pointed(W))
return 1
@@ -1548,4 +1548,12 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
/proc/CallAsync(datum/source, proctype, list/arguments)
set waitfor = FALSE
return call(source, proctype)(arglist(arguments))
return call(source, proctype)(arglist(arguments))
/proc/num2sign(numeric)
if(numeric > 0)
return 1
else if(numeric < 0)
return -1
else
return 0
+1 -1
View File
@@ -11,7 +11,7 @@
var/dest_y
/datum/projectile_data/New(var/src_x, var/src_y, var/time, var/distance, \
var/power_x, var/power_y, var/dest_x, var/dest_y)
var/power_x, var/power_y, var/dest_x, var/dest_y)
src.src_x = src_x
src.src_y = src_y
src.time = time
+2 -3
View File
@@ -142,8 +142,7 @@ GLOBAL_LIST_INIT(bitfields, list(
"THICKMATERIAL" = THICKMATERIAL,
"VOICEBOX_TOGGLABLE" = VOICEBOX_TOGGLABLE,
"VOICEBOX_DISABLED" = VOICEBOX_DISABLED,
"SNUG_FIT" = SNUG_FIT,
"ANTI_TINFOIL_MANEUVER" = ANTI_TINFOIL_MANEUVER,
"IGNORE_HAT_TOSS" = IGNORE_HAT_TOSS,
),
"tesla_flags" = list(
"TESLA_MOB_DAMAGE" = TESLA_MOB_DAMAGE,
@@ -193,7 +192,7 @@ GLOBAL_LIST_INIT(bitfields, list(
"clear_conversion" = list(
"REACTION_CLEAR_IMPURE" = REACTION_CLEAR_IMPURE,
"REACTION_CLEAR_INVERSE" = REACTION_CLEAR_INVERSE
),
),
"organ_flags" = list(
"ORGAN_SYNTHETIC" = ORGAN_SYNTHETIC,
"ORGAN_FROZEN" = ORGAN_FROZEN,
+30 -7
View File
@@ -7,15 +7,15 @@ GLOBAL_LIST_EMPTY(facial_hair_styles_list) //stores /datum/sprite_accessory/faci
GLOBAL_LIST_EMPTY(facial_hair_styles_male_list) //stores only hair names
GLOBAL_LIST_EMPTY(facial_hair_styles_female_list) //stores only hair names
//Underwear
GLOBAL_LIST_EMPTY(underwear_list) //stores /datum/sprite_accessory/underwear/bottom indexed by name
GLOBAL_LIST_EMPTY_TYPED(underwear_list, /datum/sprite_accessory/underwear/bottom) //stores bottoms indexed by name
GLOBAL_LIST_EMPTY(underwear_m) //stores only underwear name
GLOBAL_LIST_EMPTY(underwear_f) //stores only underwear name
//Undershirts
GLOBAL_LIST_EMPTY(undershirt_list) //stores /datum/sprite_accessory/underwear/top indexed by name
GLOBAL_LIST_EMPTY_TYPED(undershirt_list, /datum/sprite_accessory/underwear/top) //stores tops indexed by name
GLOBAL_LIST_EMPTY(undershirt_m) //stores only undershirt name
GLOBAL_LIST_EMPTY(undershirt_f) //stores only undershirt name
//Socks
GLOBAL_LIST_EMPTY(socks_list) //stores /datum/sprite_accessory/underwear/socks indexed by name
GLOBAL_LIST_EMPTY_TYPED(socks_list, /datum/sprite_accessory/underwear/socks) //stores socks indexed by name
//Lizard Bits (all datum lists indexed by name)
GLOBAL_LIST_EMPTY(body_markings_list)
GLOBAL_LIST_EMPTY(tails_list_lizard)
@@ -46,10 +46,15 @@ GLOBAL_LIST_INIT(ai_core_display_screens, list(
":thinking:",
"Alien",
"Angel",
"Angryface",
"AtlantisCZE",
"Banned",
"Bliss",
"Blue",
"Clown",
"Boy",
"Boy-Malf",
"Girl",
"Girl-Malf",
"Database",
"Dorf",
"Firewall",
@@ -61,26 +66,44 @@ GLOBAL_LIST_INIT(ai_core_display_screens, list(
"Hades",
"Heartline",
"Helios",
"Hotdog",
"Hourglass",
"House",
"Inverted",
"Jack",
"Matrix",
"Monochrome",
"Mothman",
"Murica",
"Nanotrasen",
"Not Malf",
"Patriot",
"Pirate",
"President",
"Random",
"Rainbow",
"Red",
"Clown",
"Random",
"Ravensdale",
"Red October",
"Red",
"Royal",
"Searif",
"Serithi",
"SilveryFerret",
"Smiley",
"Static",
"Syndicat Meow",
"TechDemon",
"Terminal",
"Text",
"Too Deep",
"Triumvirate",
"Triumvirate-M",
"Weird"))
"Wasp",
"Weird",
"Xerxes",
"Yes-Man"
))
/proc/resolve_ai_icon(input)
if(!input || !(input in GLOB.ai_core_display_screens))
+14 -2
View File
@@ -1,6 +1,16 @@
GLOBAL_LIST_INIT(cardinals, list(NORTH, SOUTH, EAST, WEST))
GLOBAL_LIST_INIT(alldirs, list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST))
GLOBAL_LIST_INIT(cardinals_multiz, list(NORTH, SOUTH, EAST, WEST, UP, DOWN))
GLOBAL_LIST_INIT(diagonals, list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST))
GLOBAL_LIST_INIT(corners_multiz, list(UP|NORTHEAST, UP|NORTHWEST, UP|SOUTHEAST, UP|SOUTHWEST, DOWN|NORTHEAST, DOWN|NORTHWEST, DOWN|SOUTHEAST, DOWN|SOUTHWEST))
GLOBAL_LIST_INIT(diagonals_multiz, list(
NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST,
UP|NORTH, UP|SOUTH, UP|EAST, UP|WEST, UP|NORTHEAST, UP|NORTHWEST, UP|SOUTHEAST, UP|SOUTHWEST,
DOWN|NORTH, DOWN|SOUTH, DOWN|EAST, DOWN|WEST, DOWN|NORTHEAST, DOWN|NORTHWEST, DOWN|SOUTHEAST, DOWN|SOUTHWEST))
GLOBAL_LIST_INIT(alldirs_multiz, list(
NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST,
UP, UP|NORTH, UP|SOUTH, UP|EAST, UP|WEST, UP|NORTHEAST, UP|NORTHWEST, UP|SOUTHEAST, UP|SOUTHWEST,
DOWN, DOWN|NORTH, DOWN|SOUTH, DOWN|EAST, DOWN|WEST, DOWN|NORTHEAST, DOWN|NORTHWEST, DOWN|SOUTHEAST, DOWN|SOUTHWEST))
GLOBAL_LIST_INIT(alldirs, list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST))
GLOBAL_LIST_EMPTY(landmarks_list) //list of all landmarks created
GLOBAL_LIST_EMPTY(start_landmarks_list) //list of all spawn points created
@@ -35,6 +45,8 @@ GLOBAL_LIST_EMPTY(vr_spawnpoints)
//used by jump-to-area etc. Updated by area/updateName()
GLOBAL_LIST_EMPTY(sortedAreas)
/// An association from typepath to area instance. Only includes areas with `unique` set.
GLOBAL_LIST_EMPTY(areas_by_type)
GLOBAL_LIST_EMPTY_TYPED(areas_by_type, /area)
GLOBAL_LIST_EMPTY(all_abstract_markers)
GLOBAL_LIST_EMPTY(stationroom_landmarks) //List of all spawns for stationrooms
+2
View File
@@ -1,6 +1,8 @@
GLOBAL_LIST_EMPTY(clients) //all clients
GLOBAL_LIST_EMPTY(admins) //all clients whom are admins
GLOBAL_PROTECT(admins)
GLOBAL_LIST_EMPTY(mentors) //all clients whom are mentors
GLOBAL_PROTECT(mentors)
GLOBAL_LIST_EMPTY(deadmins) //all ckeys who have used the de-admin verb.
GLOBAL_LIST_EMPTY(directory) //all ckeys with associated client
+2
View File
@@ -19,6 +19,8 @@ GLOBAL_LIST(chemical_reagents_list) //list of all /datum/reagent datums index
GLOBAL_LIST_EMPTY(materials_list) //list of all /datum/material datums indexed by material id.
GLOBAL_LIST_EMPTY(tech_list) //list of all /datum/tech datums indexed by id.
GLOBAL_LIST_EMPTY(surgeries_list) //list of all surgeries by name, associated with their path.
GLOBAL_LIST_EMPTY(uplink_items) //list of all uplink item typepaths, ascendingly sorted by their initial name.
GLOBAL_LIST_EMPTY(uplink_categories) //list of all uplink categories, listed by the order they are loaded in code. Be careful.
GLOBAL_LIST_EMPTY(crafting_recipes) //list of all table craft recipes
GLOBAL_LIST_EMPTY(rcd_list) //list of Rapid Construction Devices.
GLOBAL_LIST_EMPTY(apcs_list) //list of all Area Power Controller machines, separate from machines for powernet speeeeeeed.
+8
View File
@@ -13,6 +13,10 @@
#define POLL_IGNORE_GOLEM "golem"
#define POLL_IGNORE_SWARMER "swarmer"
#define POLL_IGNORE_DRONE "drone"
#define POLL_IGNORE_IMAGINARYFRIEND "imaginary_friend"
#define POLL_IGNORE_SPLITPERSONALITY "split_personality"
#define POLL_IGNORE_DEMON "demon"
#define POLL_IGNORE_WIZARD "wizard"
#define POLL_IGNORE_CLONE "clone"
GLOBAL_LIST_INIT(poll_ignore_desc, list(
@@ -29,6 +33,10 @@ GLOBAL_LIST_INIT(poll_ignore_desc, list(
POLL_IGNORE_GOLEM = "Golems",
POLL_IGNORE_SWARMER = "Swarmer shells",
POLL_IGNORE_DRONE = "Drone shells",
POLL_IGNORE_IMAGINARYFRIEND = "Imaginary Friend",
POLL_IGNORE_SPLITPERSONALITY = "Split Personality",
POLL_IGNORE_DEMON = "Demons",
POLL_IGNORE_WIZARD = "Wizards",
POLL_IGNORE_CLONE = "Defective/SDGF clones"
))
GLOBAL_LIST_INIT(poll_ignore, init_poll_ignore())
+2
View File
@@ -10,3 +10,5 @@ GLOBAL_LIST_INIT(typecache_living, typecacheof(/mob/living))
GLOBAL_LIST_INIT(typecache_stack, typecacheof(/obj/item/stack))
GLOBAL_LIST_INIT(typecache_machine_or_structure, typecacheof(list(/obj/machinery, /obj/structure)))
GLOBAL_LIST_INIT(freezing_objects, typecacheof(list(/obj/structure/closet/crate/freezer, /obj/structure/closet/secure_closet/freezer, /obj/structure/bodycontainer, /obj/item/autosurgeon, /obj/machinery/smartfridge/organ))) //list of all cold objects, that freeze organs when inside
+33 -33
View File
@@ -1,37 +1,37 @@
#define js_dropdowns {"
function dropdowns() {
var divs = document.getElementsByTagName('div');
var headers = new Array();
var links = new Array();
for(var i=0;i<divs.length;i++){
if(divs\[i\].className=='header') {
divs\[i\].className='header closed';
divs\[i\].innerHTML = divs\[i\].innerHTML+' +';
headers.push(divs\[i\]);
}
if(divs\[i\].className=='links') {
divs\[i\].className='links hidden';
links.push(divs\[i\]);
}
}
for(var i=0;i<headers.length;i++){
if(typeof(links\[i\])!== 'undefined' && links\[i\]!=null) {
headers\[i\].onclick = (function(elem) {
return function() {
if(elem.className.search('visible')>=0) {
elem.className = elem.className.replace('visible','hidden');
this.className = this.className.replace('open','closed');
this.innerHTML = this.innerHTML.replace('-','+');
}
else {
elem.className = elem.className.replace('hidden','visible');
this.className = this.className.replace('closed','open');
this.innerHTML = this.innerHTML.replace('+','-');
}
return false;
}
})(links\[i\]);
}
}
var divs = document.getElementsByTagName('div');
var headers = new Array();
var links = new Array();
for(var i=0;i<divs.length;i++){
if(divs\[i\].className=='header') {
divs\[i\].className='header closed';
divs\[i\].innerHTML = divs\[i\].innerHTML+' +';
headers.push(divs\[i\]);
}
if(divs\[i\].className=='links') {
divs\[i\].className='links hidden';
links.push(divs\[i\]);
}
}
for(var i=0;i<headers.length;i++){
if(typeof(links\[i\])!== 'undefined' && links\[i\]!=null) {
headers\[i\].onclick = (function(elem) {
return function() {
if(elem.className.search('visible')>=0) {
elem.className = elem.className.replace('visible','hidden');
this.className = this.className.replace('open','closed');
this.innerHTML = this.innerHTML.replace('-','+');
}
else {
elem.className = elem.className.replace('hidden','visible');
this.className = this.className.replace('closed','open');
this.innerHTML = this.innerHTML.replace('+','-');
}
return false;
}
})(links\[i\]);
}
}
}
"}
+3 -2
View File
@@ -68,9 +68,10 @@
/atom/movable/Adjacent(var/atom/neighbor)
if(neighbor == loc)
return TRUE
if(!isturf(loc))
var/turf/T = loc
if(!istype(T))
return FALSE
if(loc.Adjacent(neighbor,target = neighbor, mover = src))
if(T.Adjacent(neighbor, neighbor, src))
return TRUE
return FALSE
+8 -3
View File
@@ -114,7 +114,8 @@
/mob/living/silicon/ai/CtrlClickOn(var/atom/A)
A.AICtrlClick(src)
/mob/living/silicon/ai/AltClickOn(var/atom/A)
A.AIAltClick(src)
if(!A.AIAltClick(src))
altclick_listed_turf(A)
/*
The following criminally helpful code is just the previous code cleaned up;
@@ -125,9 +126,10 @@
/* Atom Procs */
/atom/proc/AICtrlClick()
return
/atom/proc/AIAltClick(mob/living/silicon/ai/user)
AltClick(user)
return
return AltClick(user)
/atom/proc/AIShiftClick()
return
/atom/proc/AICtrlShiftClick()
@@ -151,6 +153,7 @@
shock_perm(usr)
else
shock_restore(usr)
return TRUE
/obj/machinery/door/airlock/AIShiftClick() // Opens and closes doors!
if(obj_flags & EMAGGED)
@@ -185,10 +188,12 @@
return
toggle_on()
add_fingerprint(usr)
return TRUE
/* Holopads */
/obj/machinery/holopad/AIAltClick(mob/living/silicon/ai/user)
hangup_all_calls()
return TRUE
//
// Override TurfAdjacent for AltClicking
+13 -16
View File
@@ -321,8 +321,7 @@
return
/atom/proc/ShiftClick(mob/user)
SEND_SIGNAL(src, COMSIG_CLICK_SHIFT, user)
if(user.client && user.client.eye == user || user.client.eye == user.loc)
user.examinate(src)
user.examinate(src)
return
/*
@@ -354,8 +353,17 @@
Unused except for AI
*/
/mob/proc/AltClickOn(atom/A)
A.AltClick(src)
return
if(!A.AltClick(src))
altclick_listed_turf(A)
/mob/proc/altclick_listed_turf(atom/A)
var/turf/T = get_turf(A)
if(T == A.loc || T == A)
if(T == listed_turf)
listed_turf = null
else if(TurfAdjacent(T))
listed_turf = T
client.statpanel = T.name
/mob/living/carbon/AltClickOn(atom/A)
if(!stat && mind && iscarbon(A) && A != src)
@@ -367,18 +375,7 @@
..()
/atom/proc/AltClick(mob/user)
SEND_SIGNAL(src, COMSIG_CLICK_ALT, user)
var/turf/T = get_turf(src)
if(T && user.TurfAdjacent(T))
user.listed_turf = T
user.client.statpanel = T.name
// Use this instead of /mob/proc/AltClickOn(atom/A) where you only want turf content listing without additional atom alt-click interaction
/atom/proc/AltClickNoInteract(mob/user, atom/A)
var/turf/T = get_turf(A)
if(T && user.TurfAdjacent(T))
user.listed_turf = T
user.client.statpanel = T.name
. = SEND_SIGNAL(src, COMSIG_CLICK_ALT, user)
/mob/proc/TurfAdjacent(turf/T)
return T.Adjacent(src)
+7 -9
View File
@@ -110,7 +110,8 @@
/mob/living/silicon/robot/CtrlClickOn(atom/A)
A.BorgCtrlClick(src)
/mob/living/silicon/robot/AltClickOn(atom/A)
A.BorgAltClick(src)
if(!A.BorgAltClick(src))
altclick_listed_turf(A)
/atom/proc/BorgCtrlShiftClick(mob/living/silicon/robot/user) //forward to human click if not overridden
CtrlShiftClick(user)
@@ -154,20 +155,17 @@
..()
/atom/proc/BorgAltClick(mob/living/silicon/robot/user)
AltClick(user)
return
return AltClick(user)
/obj/machinery/door/airlock/BorgAltClick(mob/living/silicon/robot/user) // Eletrifies doors. Forwards to AI code.
if(get_dist(src,user) <= user.interaction_range)
AIAltClick()
else
..()
return AIAltClick()
return ..()
/obj/machinery/turretid/BorgAltClick(mob/living/silicon/robot/user) //turret lethal on/off. Forwards to AI code.
if(get_dist(src,user) <= user.interaction_range)
AIAltClick()
else
..()
return AIAltClick()
return ..()
/*
As with AI, these are not used in click code,
+4
View File
@@ -107,6 +107,10 @@
#define ui_internal "EAST-1:28,CENTER+1:19"//CIT CHANGE - moves internal icon up a little bit to accommodate for the stamina meter
#define ui_mood "EAST-1:28,CENTER-3:10"
//living
#define ui_living_pull "EAST-1:28,CENTER-2:15"
#define ui_living_health "EAST-1:28,CENTER:15"
//borgs
#define ui_borg_health "EAST-1:28,CENTER-1:15" //borgs have the health display where humans have the pressure damage indicator.
+4 -3
View File
@@ -113,7 +113,7 @@
name = "Show Buttons"
else
name = "Hide Buttons"
UpdateIcon()
update_icon()
usr.update_action_buttons()
/obj/screen/movable/action_button/hide_toggle/AltClick(mob/user)
@@ -125,6 +125,7 @@
moved = FALSE
user.update_action_buttons(TRUE)
to_chat(user, "<span class='notice'>Action button positions have been reset.</span>")
return TRUE
/obj/screen/movable/action_button/hide_toggle/proc/InitialiseIcon(datum/hud/owner_hud)
@@ -134,9 +135,9 @@
hide_icon = settings["toggle_icon"]
hide_state = settings["toggle_hide"]
show_state = settings["toggle_show"]
UpdateIcon()
update_icon()
/obj/screen/movable/action_button/hide_toggle/proc/UpdateIcon()
/obj/screen/movable/action_button/hide_toggle/update_icon()
cut_overlays()
add_overlay(mutable_appearance(hide_icon, hidden ? show_state : hide_state))
+16
View File
@@ -213,6 +213,22 @@ or something covering your eyes."
desc = "Whoa man, you're tripping balls! Careful you don't get addicted... if you aren't already."
icon_state = "high"
/obj/screen/alert/mind_control
name = "Mind Control"
desc = "Your mind has been hijacked! Click to view the mind control command."
icon_state = "mind_control"
var/command
/obj/screen/alert/mind_control/Click()
var/mob/living/L = usr
to_chat(L, "<span class='mind_control'>[command]</span>")
/obj/screen/alert/hypnosis
name = "Hypnosis"
desc = "Something's hypnotizing you, but you're not really sure about what."
icon_state = "hypnosis"
var/phrase
/obj/screen/alert/drunk //Not implemented
name = "Drunk"
desc = "All that alcohol you've been drinking is impairing your speech, motor skills, and mental cognition. Make sure to act like it."
+7
View File
@@ -349,6 +349,13 @@
devilsouldisplay = new /obj/screen/devil/soul_counter
infodisplay += devilsouldisplay
blood_display = new /obj/screen/bloodsucker/blood_counter // Blood Volume
infodisplay += blood_display
vamprank_display = new /obj/screen/bloodsucker/rank_counter // Vampire Rank
infodisplay += vamprank_display
sunlight_display = new /obj/screen/bloodsucker/sunlight_counter // Sunlight
infodisplay += sunlight_display
zone_select = new /obj/screen/zone_sel()
zone_select.icon = ui_style
zone_select.update_icon(mymob)
+16
View File
@@ -0,0 +1,16 @@
/datum/hud/lavaland_elite
ui_style = 'icons/mob/screen_elite.dmi'
/datum/hud/lavaland_elite/New(mob/living/simple_animal/hostile/asteroid/elite)
..()
pull_icon = new /obj/screen/pull()
pull_icon.icon = ui_style
pull_icon.update_icon()
pull_icon.screen_loc = ui_living_pull
pull_icon.hud = src
static_inventory += pull_icon
healths = new /obj/screen/healths/lavaland_elite()
healths.hud = src
infodisplay += healths
+22
View File
@@ -16,6 +16,28 @@
//Trust me, you need one. Period. If you don't think you do, you're doing something extremely wrong.
/obj/screen/plane_master/proc/backdrop(mob/mymob)
/obj/screen/plane_master/openspace
name = "open space plane master"
plane = FLOOR_OPENSPACE_PLANE
appearance_flags = PLANE_MASTER
blend_mode = BLEND_MULTIPLY
alpha = 255
/obj/screen/plane_master/openspace/backdrop(mob/mymob)
filters = list()
filters += filter(type = "drop_shadow", color = "#04080FAA", size = -10)
filters += filter(type = "drop_shadow", color = "#04080FAA", size = -15)
filters += filter(type = "drop_shadow", color = "#04080FAA", size = -20)
/obj/screen/plane_master/proc/outline(_size, _color)
filters += filter(type = "outline", size = _size, color = _color)
/obj/screen/plane_master/proc/shadow(_size, _offset = 0, _x = 0, _y = 0, _color = "#04080FAA")
filters += filter(type = "drop_shadow", x = _x, y = _y, color = _color, size = _size, offset = _offset)
/obj/screen/plane_master/proc/clear_filters()
filters = list()
/obj/screen/plane_master/floor
name = "floor plane master"
plane = FLOOR_PLANE
+7 -1
View File
@@ -25,7 +25,7 @@
return ..()
/obj/screen/examine(mob/user)
return
return list()
/obj/screen/orbit()
return
@@ -644,6 +644,12 @@
screen_loc = ui_construct_health
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
/obj/screen/healths/lavaland_elite
icon = 'icons/mob/screen_elite.dmi'
icon_state = "elite_health0"
screen_loc = ui_health
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
/obj/screen/healthdoll
name = "health doll"
screen_loc = ui_healthdoll
+3 -15
View File
@@ -39,23 +39,12 @@
if(..())
return TRUE
user.changeNext_move(CLICK_CD_MELEE)
if(user.a_intent == INTENT_HARM && stat == DEAD && (butcher_results || guaranteed_butcher_results)) //can we butcher it?
var/datum/component/butchering/butchering = I.GetComponent(/datum/component/butchering)
if(butchering && butchering.butchering_enabled)
to_chat(user, "<span class='notice'>You begin to butcher [src]...</span>")
playsound(loc, butchering.butcher_sound, 50, TRUE, -1)
if(do_mob(user, src, butchering.speed) && Adjacent(I))
butchering.Butcher(user, src)
return 1
else if(I.is_sharp() && !butchering) //give sharp objects butchering functionality, for consistency
I.AddComponent(/datum/component/butchering, 80 * I.toolspeed)
attackby(I, user, params) //call the attackby again to refresh and do the butchering check again
return
return I.attack(src, user)
/obj/item/proc/attack(mob/living/M, mob/living/user)
SEND_SIGNAL(src, COMSIG_ITEM_ATTACK, M, user)
if(SEND_SIGNAL(src, COMSIG_ITEM_ATTACK, M, user) & COMPONENT_ITEM_NO_ATTACK)
return
SEND_SIGNAL(user, COMSIG_MOB_ITEM_ATTACK, M, user)
if(item_flags & NOBLUDGEON)
return
@@ -121,7 +110,7 @@
totitemdamage *= 0.5
//CIT CHANGES END HERE
apply_damage(totitemdamage, I.damtype) //CIT CHANGE - replaces I.force with totitemdamage
if(I.damtype == BRUTE)
if(I.damtype == BRUTE && !HAS_TRAIT(src, TRAIT_NOMARROW))
if(prob(33))
I.add_mob_blood(src)
var/turf/location = get_turf(src)
@@ -174,4 +163,3 @@
/obj/item/proc/getweight()
return total_mass || w_class * 1.25
+1 -1
View File
@@ -31,7 +31,7 @@
ShiftClickOn(A)
return
if(modifiers["alt"])
AltClickNoInteract(src, A)
altclick_listed_turf(A)
return
if(modifiers["ctrl"])
CtrlClickOn(A)
+2 -3
View File
@@ -106,9 +106,8 @@
/obj/item/tk_grab/examine(user)
if (focus)
focus.examine(user)
else
..()
return focus.examine(user)
return ..()
/obj/item/tk_grab/attack_self(mob/user)
if(!focus)
+28 -1
View File
@@ -151,6 +151,7 @@
var/key_mode
var/value_mode
var/splitter = " "
var/lowercase = TRUE
/datum/config_entry/keyed_list/New()
. = ..()
@@ -167,7 +168,9 @@
var/key_value = null
if(key_pos || value_mode == VALUE_MODE_FLAG)
key_name = lowertext(copytext(str_val, 1, key_pos))
key_name = copytext(str_val, 1, key_pos)
if(lowercase)
key_name = lowertext(key_name)
key_value = copytext(str_val, key_pos + 1)
var/new_key
var/new_value
@@ -211,3 +214,27 @@
/datum/config_entry/keyed_list/vv_edit_var(var_name, var_value)
return var_name != "splitter" && ..()
//snowflake for donator things being on one line smh
/datum/config_entry/multi_keyed_flag
vv_VAS = FALSE
abstract_type = /datum/config_entry/multi_keyed_flag
config_entry_value = list()
var/delimiter = "|"
/datum/config_entry/multi_keyed_flag/vv_edit_var(var_name, var_value)
if(var_name == NAMEOF(src, delimiter))
return FALSE
return ..()
/datum/config_entry/multi_keyed_flag/ValidateAndSet(str_val)
if(!VASProcCallGuard(str_val))
return FALSE
str_val = trim(str_val)
var/list/keys = splittext(str_val, delimiter)
for(var/i in keys)
config_entry_value[process_key(i)] = TRUE
return length(keys)? TRUE : FALSE
/datum/config_entry/multi_keyed_flag/proc/process_key(key)
return trim(key)
@@ -34,7 +34,7 @@
if(_directory)
directory = _directory
if(entries)
CRASH("[THIS_PROC_TYPE_WEIRD] called more than once!")
CRASH("/datum/controller/configuration/Load() called more than once!")
InitEntries()
LoadModes()
if(fexists("[directory]/config.txt") && LoadEntries("config.txt") <= 1)
@@ -1,22 +1,23 @@
/datum/config_entry/keyed_list/donator_group
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_FLAG
abstract_type = /datum/config_entry/keyed_list/donator_group
/datum/config_entry/multi_keyed_flag/donator_group
abstract_type = /datum/config_entry/multi_keyed_flag/donator_group
//If we're in the middle of a config load, only do the regeneration afterwards to prevent this from wasting a massive amount of CPU for list regenerations.
/datum/config_entry/keyed_list/donator_group/ValidateAndSet(str_val, during_load)
/datum/config_entry/multi_keyed_flag/donator_group/ValidateAndSet(str_val, during_load)
. = ..()
if(. && during_load)
if(. && !during_load)
regenerate_donator_grouping_list()
/datum/config_entry/keyed_list/donator_group/OnPostload()
/datum/config_entry/multi_keyed_flag/donator_group/process_key(key)
return ckey(key)
/datum/config_entry/multi_keyed_flag/donator_group/OnPostload()
. = ..()
regenerate_donator_grouping_list()
//This is kinda weird in that the config entries are defined here but all the handling/calculations are in __HELPERS/donator_groupings.dm
/datum/config_entry/keyed_list/donator_group/tier_1_donators
/datum/config_entry/multi_keyed_flag/donator_group/tier_1_donators
/datum/config_entry/keyed_list/donator_group/tier_2_donators
/datum/config_entry/multi_keyed_flag/donator_group/tier_2_donators
/datum/config_entry/keyed_list/donator_group/tier_3_donators
/datum/config_entry/multi_keyed_flag/donator_group/tier_3_donators
@@ -0,0 +1,90 @@
/datum/config_entry/flag/dynamic_voting
/datum/config_entry/number/dynamic_high_pop_limit
config_entry_value = 55
min_val = 1
/datum/config_entry/number/dynamic_pop_per_requirement
config_entry_value = 6
min_val = 1
/datum/config_entry/number/dynamic_midround_delay_min
config_entry_value = 15
min_val = 1
/datum/config_entry/number/dynamic_midround_delay_max
config_entry_value = 35
min_val = 1
/datum/config_entry/number/dynamic_latejoin_delay_min
config_entry_value = 5
min_val = 1
/datum/config_entry/number/dynamic_latejoin_delay_max
config_entry_value = 25
min_val = 1
/datum/config_entry/number/dynamic_first_midround_delay_min
config_entry_value = 20
min_val = 1
/datum/config_entry/number/dynamic_first_midround_delay_max
config_entry_value = 40
min_val = 1
/datum/config_entry/number/dynamic_first_latejoin_delay_min
config_entry_value = 10
min_val = 1
/datum/config_entry/number/dynamic_first_latejoin_delay_max
config_entry_value = 30
min_val = 1
/datum/config_entry/keyed_list/dynamic_cost
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/keyed_list/dynamic_weight
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/keyed_list/dynamic_requirements
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM_LIST
/datum/config_entry/keyed_list/dynamic_high_population_requirement
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/number_list/dynamic_second_rule_requirements
/datum/config_entry/number_list/dynamic_third_rule_requirements
/datum/config_entry/number/dynamic_second_rule_high_pop_requirement
config_entry_value = 50
/datum/config_entry/number/dynamic_third_rule_high_pop_requirement
config_entry_value = 70
/datum/config_entry/number_list/dynamic_hijack_requirements
/datum/config_entry/number/dynamic_hijack_high_population_requirement
config_entry_value = 25
/datum/config_entry/number/dynamic_hijack_cost
config_entry_value = 5
/datum/config_entry/number/dynamic_glorious_death_cost
config_entry_value = 5
/datum/config_entry/number/dynamic_assassinate_cost
config_entry_value = 2
/datum/config_entry/number/dynamic_warops_requirement
config_entry_value = 60
min_val = 0
/datum/config_entry/number/dynamic_warops_cost
config_entry_value = 10
min_val = 0
@@ -139,6 +139,14 @@
min_val = 0
max_val = 1
/datum/config_entry/number/suicide_reenter_round_timer
config_entry_value = 30
min_val = 0
/datum/config_entry/number/roundstart_suicide_time_limit
config_entry_value = 30
min_val = 0
/datum/config_entry/number/shuttle_refuel_delay
config_entry_value = 12000
min_val = 0
@@ -368,46 +376,19 @@
/datum/config_entry/flag/disable_stambuffer
/datum/config_entry/keyed_list/box_random_engine
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_FLAG
lowercase = FALSE
splitter = "-"
/datum/config_entry/number/auto_transfer_delay
config_entry_value = 72000
min_val = 0
/datum/config_entry/number/dynamic_high_pop_limit
config_entry_value = 55
min_val = 1
/datum/config_entry/number/marauder_delay_non_reebe
config_entry_value = 1800
min_val = 0
/datum/config_entry/number/dynamic_pop_per_requirement
config_entry_value = 6
min_val = 1
/datum/config_entry/number/dynamic_midround_delay_min
config_entry_value = 15
min_val = 1
/datum/config_entry/number/dynamic_midround_delay_max
config_entry_value = 35
min_val = 1
/datum/config_entry/number/dynamic_latejoin_delay_min
config_entry_value = 5
min_val = 1
/datum/config_entry/number/dynamic_latejoin_delay_max
config_entry_value = 25
min_val = 1
/datum/config_entry/keyed_list/dynamic_cost
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/keyed_list/dynamic_weight
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/keyed_list/dynamic_requirements
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM_LIST
/datum/config_entry/keyed_list/dynamic_high_population_requirement
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_NUM
/datum/config_entry/flag/allow_clockwork_marauder_on_station
config_entry_value = TRUE
@@ -141,6 +141,11 @@
/datum/config_entry/flag/load_legacy_ranks_only //Loads admin ranks only from legacy admin_ranks.txt, while enabled ranks are mirrored to the database
protection = CONFIG_ENTRY_LOCKED
/datum/config_entry/flag/mentors_mobname_only
/datum/config_entry/flag/mentor_legacy_system //Defines whether the server uses the legacy mentor system with mentors.txt or the SQL system
protection = CONFIG_ENTRY_LOCKED
/datum/config_entry/string/hostedby
/datum/config_entry/flag/norespawn
@@ -0,0 +1,35 @@
SUBSYSTEM_DEF(adjacent_air)
name = "Atmos Adjacency"
flags = SS_BACKGROUND
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
wait = 10
priority = FIRE_PRIORITY_ATMOS_ADJACENCY
var/list/queue = list()
/datum/controller/subsystem/adjacent_air/stat_entry()
#ifdef TESTING
..("P:[length(queue)], S:[GLOB.atmos_adjacent_savings[1]], T:[GLOB.atmos_adjacent_savings[2]]")
#else
..("P:[length(queue)]")
#endif
/datum/controller/subsystem/adjacent_air/Initialize()
while(length(queue))
fire(mc_check = FALSE)
return ..()
/datum/controller/subsystem/adjacent_air/fire(resumed = FALSE, mc_check = TRUE)
var/list/queue = src.queue
while (length(queue))
var/turf/currT = queue[1]
queue.Cut(1,2)
currT.ImmediateCalculateAdjacentTurfs()
if(mc_check)
if(MC_TICK_CHECK)
break
else
CHECK_TICK
+3
View File
@@ -382,6 +382,9 @@ SUBSYSTEM_DEF(air)
CHECK_TICK
/datum/controller/subsystem/air/proc/setup_template_machinery(list/atmos_machines)
if(!initialized)
return
for(var/A in atmos_machines)
var/obj/machinery/atmospherics/AM = A
AM.atmosinit()
+14 -1
View File
@@ -1,6 +1,6 @@
SUBSYSTEM_DEF(chat)
name = "Chat"
flags = SS_TICKER|SS_NO_INIT
flags = SS_TICKER
wait = 1
priority = FIRE_PRIORITY_CHAT
init_order = INIT_ORDER_CHAT
@@ -29,6 +29,7 @@ SUBSYSTEM_DEF(chat)
target = GLOB.clients
//Some macros remain in the string even after parsing and fuck up the eventual output
var/original_message = message
message = replacetext(message, "\improper", "")
message = replacetext(message, "\proper", "")
if(handle_whitespace)
@@ -45,6 +46,12 @@ SUBSYSTEM_DEF(chat)
for(var/I in target)
var/client/C = CLIENT_FROM_VAR(I) //Grab us a client if possible
if(!C)
return
//Send it to the old style output window.
SEND_TEXT(C, original_message)
if(!C?.chatOutput || C.chatOutput.broken) //A player who hasn't updated his skin file.
continue
@@ -57,6 +64,12 @@ SUBSYSTEM_DEF(chat)
else
var/client/C = CLIENT_FROM_VAR(target) //Grab us a client if possible
if(!C)
return
//Send it to the old style output window.
SEND_TEXT(C, original_message)
if(!C?.chatOutput || C.chatOutput.broken) //A player who hasn't updated his skin file.
return

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