diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index ca0e6ad997..f79100f563 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -2,6 +2,8 @@
"recommendations": [
"gbasood.byond-dm-language-support",
"platymuus.dm-langclient",
- "EditorConfig.EditorConfig"
+ "EditorConfig.EditorConfig",
+ "arcanis.vscode-zipfs",
+ "dbaeumer.vscode-eslint"
]
}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000..f95b8f7cc6
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,18 @@
+{
+ "eslint.nodePath": "tgui/.yarn/sdks",
+ "eslint.workingDirectories": [
+ "./tgui"
+ ],
+ "search.exclude": {
+ "tgui/.yarn": true,
+ "tgui/.pnp.*": true
+ },
+ "workbench.editorAssociations": [
+ {
+ "filenamePattern": "*.dmi",
+ "viewType": "imagePreview.previewEditor"
+ }
+ ],
+ "files.eol": "\n",
+ "gitlens.advanced.blame.customArguments": ["-w"]
+}
diff --git a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm
index 9ef45ab30a..1aed2fdbb0 100644
--- a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm
+++ b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm
@@ -1552,10 +1552,14 @@
/turf/open/floor/plasteel/freezer,
/area/mine/living_quarters)
"yZ" = (
-/obj/docking_port/stationary/public_mining_dock{
+/obj/docking_port/stationary{
+ area_type = /area/lavaland/surface/outdoors;
dir = 8;
+ dwidth = 3;
+ height = 7;
id = "lavaland_common_away";
- name = "Mining Station Public Wing"
+ name = "Lavaland Mining Public Wing";
+ width = 7
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm
index f651d1df7c..7287da6cb3 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -6308,7 +6308,9 @@
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
"alF" = (
-/obj/machinery/atmospherics/components/unary/tank/air,
+/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{
+ dir = 8
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"alG" = (
@@ -6702,28 +6704,21 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"amD" = (
-/obj/structure/sink{
- dir = 8;
- pixel_x = -12;
- pixel_y = 2
- },
+/obj/item/trash/sosjerky,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"amE" = (
-/obj/structure/bed,
-/obj/effect/landmark/xeno_spawn,
-/obj/item/bedsheet,
+/obj/item/electronics/airalarm,
+/obj/item/circuitboard/machine/seed_extractor,
+/obj/structure/table,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 4;
+ name = "4maintenance loot spawner"
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"amF" = (
-/obj/machinery/computer/slot_machine{
- balance = 15;
- money = 500
- },
-/obj/item/coin/iron,
-/obj/item/coin/diamond,
-/obj/item/coin/diamond,
-/obj/item/coin/diamond,
+/obj/machinery/atmospherics/components/unary/tank/air,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"amG" = (
@@ -7000,8 +6995,10 @@
/turf/open/floor/plating,
/area/maintenance/solars/port/fore)
"anj" = (
-/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{
- dir = 8
+/obj/structure/sink{
+ dir = 8;
+ pixel_x = -12;
+ pixel_y = 2
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -7012,23 +7009,25 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"anl" = (
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
- dir = 9
- },
+/obj/structure/bed,
+/obj/effect/landmark/xeno_spawn,
+/obj/item/bedsheet,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"anm" = (
-/obj/item/trash/sosjerky,
+/obj/machinery/computer/slot_machine{
+ balance = 15;
+ money = 500
+ },
+/obj/item/coin/iron,
+/obj/item/coin/diamond,
+/obj/item/coin/diamond,
+/obj/item/coin/diamond,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"ann" = (
-/obj/item/electronics/airalarm,
-/obj/item/circuitboard/machine/seed_extractor,
-/obj/structure/table,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 4;
- name = "4maintenance loot spawner"
- },
+/obj/effect/spawner/lootdrop/maintenance,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"ano" = (
@@ -7201,16 +7200,21 @@
/turf/open/floor/plating,
/area/maintenance/solars/port/fore)
"anJ" = (
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,
+/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
+ dir = 4
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"anK" = (
-/obj/effect/decal/cleanable/egg_smudge,
+/obj/structure/table,
+/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"anL" = (
-/obj/structure/table,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/decal/cleanable/vomit,
+/obj/structure/chair{
+ dir = 1
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"anM" = (
@@ -7413,8 +7417,8 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aok" = (
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
- dir = 6
+/obj/structure/chair{
+ dir = 1
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -7435,8 +7439,10 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aoo" = (
-/obj/structure/rack,
-/obj/item/circuitboard/machine/monkey_recycler,
+/obj/effect/decal/cleanable/blood/old,
+/obj/structure/chair{
+ dir = 1
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aop" = (
@@ -7697,21 +7703,21 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aoR" = (
-/obj/machinery/atmospherics/components/trinary/filter{
- dir = 4
+/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
+ dir = 10
},
+/obj/machinery/meter,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aoS" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 4
- },
-/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aoT" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 8
+/obj/structure/closet,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 3;
+ name = "3maintenance loot spawner"
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -7719,17 +7725,13 @@
/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
dir = 9
},
-/obj/structure/bed,
-/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aoV" = (
/turf/open/space,
/area/space)
"aoW" = (
-/obj/structure/table,
-/obj/item/stamp,
-/obj/item/poster/random_official,
+/obj/structure/grille,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aoX" = (
@@ -8073,31 +8075,37 @@
/turf/open/floor/plasteel/dark,
/area/security/brig)
"apL" = (
-/obj/structure/table,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 2;
- name = "2maintenance loot spawner"
+/obj/machinery/power/apc{
+ areastring = "/area/maintenance/port/fore";
+ dir = 1;
+ name = "Port Bow Maintenance APC";
+ pixel_x = -1;
+ pixel_y = 26
},
-/turf/open/floor/plasteel,
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating,
/area/maintenance/port/fore)
"apM" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible,
-/obj/machinery/light/small{
- dir = 1
- },
-/turf/open/floor/plasteel,
+/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,
+/turf/closed/wall,
/area/maintenance/port/fore)
"apN" = (
/turf/open/floor/plating,
/area/construction/mining/aux_base)
"apO" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
+/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
+ dir = 5
},
-/turf/open/floor/plating,
+/turf/closed/wall,
/area/maintenance/port/fore)
"apP" = (
-/obj/effect/spawner/structure/window,
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 3;
+ name = "3maintenance loot spawner"
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"apQ" = (
@@ -8554,23 +8562,6 @@
/obj/structure/lattice/catwalk,
/turf/open/space,
/area/solar/port/fore)
-"aqK" = (
-/obj/structure/chair/stool,
-/turf/open/floor/plasteel,
-/area/maintenance/port/fore)
-"aqL" = (
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
- dir = 5
- },
-/turf/open/floor/plating,
-/area/maintenance/port/fore)
-"aqM" = (
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
- dir = 10
- },
-/obj/machinery/meter,
-/turf/open/floor/plating,
-/area/maintenance/port/fore)
"aqN" = (
/obj/structure/closet/secure_closet/warden,
/obj/structure/sign/poster/official/ion_rifle{
@@ -8591,23 +8582,20 @@
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
"aqO" = (
-/obj/structure/closet,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 3;
- name = "3maintenance loot spawner"
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aqP" = (
-/obj/machinery/power/apc{
- areastring = "/area/maintenance/port/fore";
- dir = 1;
- name = "Port Bow Maintenance APC";
- pixel_x = -1;
- pixel_y = 26
+/obj/structure/cable{
+ icon_state = "1-8"
},
/obj/structure/cable{
- icon_state = "0-2"
+ icon_state = "4-8"
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -8925,30 +8913,18 @@
},
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
-"arF" = (
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
- dir = 5
- },
-/turf/closed/wall,
-/area/maintenance/port/fore)
"arG" = (
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
- dir = 4
- },
-/turf/closed/wall,
+/obj/effect/decal/cleanable/glass,
+/obj/structure/table_frame,
+/turf/open/floor/plating,
/area/maintenance/port/fore)
"arH" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
- dir = 4
- },
-/turf/open/floor/plating,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall,
/area/maintenance/port/fore)
"arI" = (
/obj/structure/cable{
- icon_state = "2-4"
+ icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
dir = 4
@@ -8956,11 +8932,8 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"arJ" = (
-/obj/structure/cable{
- icon_state = "1-8"
- },
-/obj/structure/cable{
- icon_state = "4-8"
+/obj/machinery/door/airlock/maintenance/abandoned{
+ req_access_txt = "12"
},
/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
dir = 4
@@ -8968,44 +8941,38 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"arK" = (
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
- dir = 9
- },
-/turf/open/floor/plating{
- icon_state = "platingdmg3"
- },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
/area/maintenance/port/fore)
"arL" = (
-/obj/structure/cable{
- icon_state = "1-8"
+/turf/open/floor/plating{
+ icon_state = "platingdmg1"
},
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
- dir = 4
- },
-/turf/open/floor/plating,
/area/maintenance/port/fore)
"arM" = (
-/obj/structure/closet/crate{
- icon_state = "crateopen"
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
},
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 2;
- name = "2maintenance loot spawner"
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ icon_state = "platingdmg1"
},
-/turf/open/floor/plating,
/area/maintenance/port/fore)
"arN" = (
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 2;
- name = "2maintenance loot spawner"
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/obj/machinery/door/airlock/external{
+ name = "External Access";
+ req_access_txt = "13"
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
"arO" = (
-/obj/item/clothing/gloves/color/rainbow,
-/obj/item/clothing/head/soft/rainbow,
-/obj/item/clothing/shoes/sneakers/rainbow,
-/obj/item/clothing/under/color/rainbow,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"arP" = (
@@ -9106,12 +9073,15 @@
/turf/open/floor/plasteel/dark,
/area/security/warden)
"asc" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"asd" = (
@@ -9121,11 +9091,9 @@
/turf/closed/wall,
/area/crew_quarters/dorms)
"ase" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/cable{
- icon_state = "2-4"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 6
+ icon_state = "1-2"
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -9168,26 +9136,17 @@
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"ash" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+/obj/machinery/atmospherics/components/trinary/filter{
dir = 4
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
"asi" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
+ dir = 10
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -9460,8 +9419,9 @@
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
"asO" = (
-/obj/structure/reagent_dispensers/fueltank,
-/turf/open/floor/plating,
+/turf/open/floor/wood{
+ icon_state = "wood-broken2"
+ },
/area/maintenance/port/fore)
"asP" = (
/obj/structure/chair/stool,
@@ -9632,10 +9592,10 @@
/turf/open/floor/wood,
/area/crew_quarters/dorms)
"atn" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 6
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
},
-/turf/closed/wall,
+/turf/open/floor/plating,
/area/maintenance/port/fore)
"atp" = (
/obj/machinery/door/airlock/external{
@@ -9644,10 +9604,11 @@
/turf/open/floor/plating,
/area/construction/mining/aux_base)
"atq" = (
+/obj/item/wrench,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/turf/closed/wall,
+/turf/open/floor/plating,
/area/maintenance/port/fore)
"atr" = (
/obj/structure/cable{
@@ -9764,14 +9725,18 @@
/turf/open/floor/plating,
/area/security/vacantoffice/b)
"atL" = (
-/obj/structure/reagent_dispensers/watertank,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"atM" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 6
+/obj/structure/table,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 2;
+ name = "2maintenance loot spawner"
},
-/turf/closed/wall,
+/turf/open/floor/plasteel,
/area/maintenance/port/fore)
"atN" = (
/obj/structure/cable{
@@ -9787,25 +9752,24 @@
/turf/closed/wall,
/area/maintenance/port/fore)
"atP" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 10
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/machinery/light/small{
+ dir = 1
},
-/turf/closed/wall,
+/turf/open/floor/plasteel,
/area/maintenance/port/fore)
"atS" = (
/turf/closed/wall,
/area/space/nearstation)
"atU" = (
-/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 2;
- name = "2maintenance loot spawner"
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
"atW" = (
/obj/structure/chair/stool,
-/turf/open/floor/plating,
+/turf/open/floor/plasteel,
/area/maintenance/port/fore)
"atY" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -10109,50 +10073,43 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"auV" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/closed/wall,
+/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
+ dir = 5
+ },
+/turf/open/floor/plating,
/area/maintenance/port/fore)
"auX" = (
-/obj/structure/mirror{
- icon_state = "mirror_broke";
- pixel_y = 28
+/obj/machinery/door/airlock/external{
+ name = "External Access";
+ req_access_txt = "13"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
},
-/obj/machinery/iv_drip,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"auY" = (
-/obj/structure/mirror{
- icon_state = "mirror_broke";
- pixel_y = 28
+/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
+ dir = 4
},
-/obj/item/shard{
- icon_state = "medium"
- },
-/obj/item/circuitboard/computer/operating,
-/turf/open/floor/plating,
+/turf/closed/wall,
/area/maintenance/port/fore)
"auZ" = (
-/obj/structure/frame/computer,
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"ava" = (
-/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/structure/chair,
-/obj/item/reagent_containers/blood/random,
+/obj/structure/table/glass,
+/obj/item/storage/bag/trash,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"avb" = (
-/turf/open/floor/plasteel/airless{
- icon_state = "damaged3"
- },
-/area/space/nearstation)
+/obj/structure/bookcase/random/reference,
+/turf/open/floor/wood,
+/area/maintenance/port/fore)
"avc" = (
-/obj/structure/closet,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 4;
- name = "4maintenance loot spawner"
- },
-/turf/open/floor/plating,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/wood,
/area/maintenance/port/fore)
"avg" = (
/obj/machinery/door/airlock{
@@ -10472,7 +10429,8 @@
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"avS" = (
-/obj/item/wrench,
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"avT" = (
@@ -10488,38 +10446,31 @@
/turf/open/space,
/area/space/nearstation)
"avU" = (
-/obj/item/paper/crumpled,
-/turf/open/floor/plasteel/airless{
- icon_state = "damaged2"
+/obj/structure/chair/comfy/plywood{
+ dir = 8
},
-/area/space/nearstation)
+/turf/open/floor/wood{
+ icon_state = "wood-broken5"
+ },
+/area/maintenance/port/fore)
"avV" = (
-/obj/structure/table,
-/obj/machinery/cell_charger,
-/turf/open/floor/plating,
+/obj/structure/table/wood,
+/obj/item/reagent_containers/food/snacks/burger/ghost,
+/turf/open/floor/wood,
/area/maintenance/port/fore)
"avW" = (
-/obj/structure/table,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 2;
- name = "2maintenance loot spawner"
+/turf/open/floor/plating{
+ icon_state = "platingdmg2"
},
-/turf/open/floor/plating,
/area/maintenance/port/fore)
"avX" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/structure/chair/stool,
+/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"avY" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/spawner/structure/window/reinforced,
+/obj/effect/turf_decal,
/turf/open/floor/plating,
-/area/maintenance/fore)
+/area/maintenance/port/fore)
"avZ" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -11026,18 +10977,26 @@
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
"axe" = (
-/obj/machinery/sleeper{
- dir = 4
+/obj/structure/mirror{
+ icon_state = "mirror_broke";
+ pixel_y = 28
},
+/obj/machinery/iv_drip,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"axf" = (
-/obj/effect/landmark/blobstart,
+/obj/structure/frame/computer,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"axg" = (
-/obj/structure/table/glass,
-/obj/item/storage/bag/trash,
+/obj/structure/mirror{
+ icon_state = "mirror_broke";
+ pixel_y = 28
+ },
+/obj/item/shard{
+ icon_state = "medium"
+ },
+/obj/item/circuitboard/computer/operating,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"axh" = (
@@ -11055,17 +11014,17 @@
},
/area/hallway/secondary/entry)
"axi" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/chair,
+/obj/item/reagent_containers/blood/random,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"axj" = (
-/obj/machinery/door/airlock/maintenance/abandoned{
- name = "Firefighting equipment";
- req_access_txt = "12"
- },
-/turf/open/floor/plating,
+/obj/structure/table/wood,
+/obj/item/flashlight/lamp/green,
+/obj/effect/decal/cleanable/cobweb,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/wood,
/area/maintenance/port/fore)
"axk" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -11074,16 +11033,12 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"axl" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/plating,
+/obj/structure/table/wood,
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/wood,
/area/maintenance/port/fore)
"axn" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
+/obj/structure/closet/crate/coffin,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"axo" = (
@@ -11249,10 +11204,12 @@
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
"axK" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 8
+/obj/structure/sign/plaques/kiddie/library{
+ pixel_y = 29
+ },
+/turf/open/floor/wood{
+ icon_state = "wood-broken4"
},
-/turf/closed/wall,
/area/maintenance/port/fore)
"axL" = (
/obj/machinery/holopad,
@@ -11430,21 +11387,21 @@
/turf/open/floor/plasteel/white/corner,
/area/hallway/secondary/entry)
"ays" = (
-/obj/structure/closet/wardrobe/white,
-/obj/item/clothing/shoes/jackboots,
-/obj/item/reagent_containers/blood/random,
-/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,
-/turf/open/floor/plating,
+/obj/structure/bookcase/random/fiction,
+/turf/open/floor/wood,
/area/maintenance/port/fore)
"ayt" = (
-/obj/structure/table/glass,
-/obj/item/hemostat,
-/turf/open/floor/plating,
+/obj/structure/bookcase/random/adult,
+/turf/open/floor/wood,
/area/maintenance/port/fore)
"ayu" = (
-/obj/structure/table/glass,
-/obj/item/restraints/handcuffs/cable/zipties,
-/obj/item/reagent_containers/blood/random,
+/obj/structure/table/optable{
+ name = "Robotics Operating Table"
+ },
+/obj/item/surgical_drapes,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"ayv" = (
@@ -11465,8 +11422,18 @@
/turf/open/floor/plating,
/area/maintenance/port/fore)
"ayx" = (
-/obj/structure/closet/firecloset,
-/turf/open/floor/plating,
+/obj/structure/table/wood,
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/item/paper{
+ icon_state = "paper_onfire";
+ name = "Burning Note";
+ text = "I sign here with my last breath to sell my soul to curse you all..."
+ },
+/obj/item/pen/fountain{
+ pixel_x = 5;
+ pixel_y = 1
+ },
+/turf/open/floor/wood,
/area/maintenance/port/fore)
"ayy" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -11861,10 +11828,8 @@
/turf/closed/wall,
/area/hydroponics/garden)
"azG" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 9
- },
-/turf/closed/wall,
+/obj/item/ectoplasm,
+/turf/open/floor/wood,
/area/maintenance/port/fore)
"azH" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -12282,10 +12247,11 @@
/obj/structure/cable{
icon_state = "1-4"
},
-/obj/effect/spawner/lootdrop/maintenance,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
},
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aAW" = (
@@ -13082,8 +13048,9 @@
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
"aCW" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/spawner/lootdrop/maintenance,
+/obj/machinery/sleeper{
+ dir = 4
+ },
/turf/open/floor/plating,
/area/maintenance/port/fore)
"aCX" = (
@@ -14089,7 +14056,6 @@
/turf/open/floor/plasteel,
/area/security/checkpoint/auxiliary)
"aFJ" = (
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,
/obj/effect/landmark/event_spawn,
/turf/open/floor/plating,
/area/maintenance/port/fore)
@@ -16437,10 +16403,9 @@
/turf/open/floor/plasteel/dark,
/area/chapel/main)
"aLt" = (
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 4
+/turf/open/floor/wood{
+ icon_state = "wood-broken"
},
-/turf/closed/wall,
/area/maintenance/port/fore)
"aLu" = (
/obj/machinery/door/airlock/engineering{
@@ -29676,11 +29641,11 @@
/turf/open/floor/plasteel/white,
/area/science/robotics/lab)
"bsU" = (
-/obj/structure/table/optable{
- name = "Robotics Operating Table"
+/mob/living/simple_animal/hostile/retaliate/ghost,
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
},
-/obj/item/surgical_drapes,
-/turf/open/floor/plating,
+/turf/open/floor/wood,
/area/maintenance/port/fore)
"bsV" = (
/obj/structure/cable{
@@ -38466,11 +38431,9 @@
/turf/open/floor/plasteel,
/area/engine/atmos)
"bNb" = (
-/obj/item/airlock_painter,
-/obj/structure/lattice,
-/obj/structure/closet,
-/turf/open/space,
-/area/space/nearstation)
+/obj/structure/bookcase/random/nonfiction,
+/turf/open/floor/wood,
+/area/maintenance/port/fore)
"bNc" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall/r_wall,
@@ -38877,10 +38840,11 @@
/turf/closed/wall/r_wall,
/area/engine/atmos)
"bOi" = (
-/turf/open/floor/plasteel/airless{
- icon_state = "damaged5"
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/wood{
+ icon_state = "wood-broken4"
},
-/area/space/nearstation)
+/area/maintenance/port/fore)
"bOj" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 8
@@ -45549,7 +45513,11 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/closed/wall,
+/obj/machinery/door/airlock/atmos{
+ name = "Atmospherics";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating,
/area/maintenance/disposal/incinerator)
"cfW" = (
/obj/structure/cable{
@@ -46032,11 +46000,8 @@
/turf/open/floor/plasteel/cafeteria,
/area/engine/atmos)
"che" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/airlock/external{
- name = "Atmospherics External Airlock";
+/obj/machinery/door/airlock/atmos{
+ name = "Atmospherics";
req_access_txt = "24"
},
/turf/open/floor/plating,
@@ -46094,6 +46059,8 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
+/obj/structure/reagent_dispensers/fueltank,
+/obj/item/storage/toolbox/emergency,
/turf/open/floor/plasteel,
/area/maintenance/disposal/incinerator)
"chm" = (
@@ -46892,8 +46859,6 @@
/turf/open/floor/plasteel,
/area/construction)
"cjp" = (
-/obj/structure/reagent_dispensers/fueltank,
-/obj/item/storage/toolbox/emergency,
/obj/machinery/atmospherics/pipe/simple/dark/visible{
dir = 4
},
@@ -51069,6 +51034,10 @@
},
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"cwS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"cwT" = (
/obj/machinery/camera{
c_tag = "Arrivals Escape Pod 2";
@@ -51216,12 +51185,17 @@
/turf/open/floor/plating,
/area/hallway/secondary/entry)
"cyC" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/obj/machinery/door/airlock/external{
- name = "External Access";
- req_access_txt = "13"
+/obj/machinery/door/airlock/maintenance/abandoned{
+ name = "abandoned library";
+ req_access_txt = "12"
},
-/turf/open/floor/plating,
+/obj/structure/barricade/wooden{
+ name = "wooden barricade (CLOSED)"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating/rust,
/area/maintenance/port/fore)
"cyD" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
@@ -52126,6 +52100,11 @@
/obj/machinery/deepfryer,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
+"cCs" = (
+/obj/structure/closet/emcloset,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"cCt" = (
/obj/structure/closet,
/obj/effect/spawner/lootdrop/maintenance{
@@ -52210,7 +52189,7 @@
/area/space/nearstation)
"cCS" = (
/obj/structure/lattice,
-/turf/closed/wall/r_wall,
+/turf/closed/wall,
/area/engine/atmos)
"cCT" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -52244,6 +52223,12 @@
/obj/machinery/vending/engivend,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cDs" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/plating{
+ icon_state = "panelscorched"
+ },
+/area/maintenance/port/fore)
"cDB" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -52311,6 +52296,12 @@
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet/locker)
+"cGf" = (
+/obj/structure/sign/poster/contraband/random{
+ pixel_y = 32
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"cGz" = (
/obj/structure/table/wood,
/obj/item/instrument/violin,
@@ -52878,6 +52869,9 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/security/prison)
+"cPb" = (
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/port/fore)
"cPn" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/freezer,
@@ -53371,6 +53365,10 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plasteel,
/area/security/brig)
+"dal" = (
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"daq" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible{
dir = 1
@@ -53407,6 +53405,13 @@
/obj/machinery/meter,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"ddI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating,
+/area/maintenance/fore)
"ddM" = (
/obj/structure/sign/poster/official/the_owl{
pixel_x = 32
@@ -53636,6 +53641,12 @@
/mob/living/simple_animal/bot/secbot/grievous/toy,
/turf/open/floor/light/colour_cycle/dancefloor_a,
/area/maintenance/starboard/aft)
+"dIu" = (
+/obj/structure/chair/sofa{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"dJL" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -53746,6 +53757,15 @@
dir = 4
},
/area/crew_quarters/fitness/pool)
+"edj" = (
+/obj/structure/sign/poster/contraband/random{
+ pixel_y = 32
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/fore)
"edA" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -53804,6 +53824,17 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall,
/area/security/execution/transfer)
+"enJ" = (
+/obj/structure/girder,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
+"enS" = (
+/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"eoD" = (
/obj/structure/table/wood/poker,
/turf/open/floor/plating,
@@ -53901,6 +53932,10 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
+"eyq" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"eyM" = (
/obj/machinery/mineral/ore_redemption{
input_dir = 2;
@@ -53942,6 +53977,17 @@
/obj/machinery/vending/cola/space_up,
/turf/open/floor/plasteel/dark,
/area/hallway/primary/central)
+"eCm" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/obj/machinery/door/airlock/external{
+ name = "Atmospherics External Airlock";
+ req_access_txt = "24"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engine/atmos)
"eCr" = (
/obj/structure/closet{
name = "Suit Closet"
@@ -54104,6 +54150,14 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/engine,
/area/science/storage)
+"fcd" = (
+/obj/structure/chair/sofa/right{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ icon_state = "platingdmg1"
+ },
+/area/maintenance/port/fore)
"fcn" = (
/obj/structure/lattice,
/turf/closed/wall/r_wall,
@@ -54155,6 +54209,16 @@
dir = 4
},
/area/crew_quarters/theatre)
+"fhu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/rack,
+/obj/item/clothing/under/costume/owl,
+/obj/item/clothing/suit/toggle/owlwings,
+/obj/item/clothing/mask/gas/owl_mask,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"fiy" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 10
@@ -54205,6 +54269,12 @@
/obj/item/seeds/cannabis/white,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
+"fmJ" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/port/fore)
"fne" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
@@ -54614,6 +54684,15 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"geg" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/item/trash/plate,
+/obj/item/reagent_containers/food/snacks/egg/yellow,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"gfC" = (
/obj/effect/turf_decal/tile/red,
/obj/structure/chair{
@@ -54689,11 +54768,10 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness)
"gsM" = (
-/obj/machinery/door/airlock/maintenance/abandoned{
- req_access_txt = "12"
- },
+/obj/structure/table,
+/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
-/area/maintenance/fore)
+/area/maintenance/port/fore)
"gvX" = (
/turf/open/floor/plasteel/yellowsiding,
/area/crew_quarters/fitness/pool)
@@ -54797,6 +54875,11 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/space/nearstation)
+"gJN" = (
+/obj/structure/rack,
+/obj/item/book/manual/wiki/engineering_singulo_tesla,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"gKl" = (
/obj/structure/cable/white,
/obj/structure/cable/white{
@@ -54807,6 +54890,16 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
+"gKo" = (
+/obj/structure/table/glass,
+/obj/item/restraints/handcuffs/cable/zipties,
+/obj/item/reagent_containers/blood/random,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
+"gKG" = (
+/obj/structure/bedsheetbin/towel,
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/fore)
"gLz" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -54817,14 +54910,15 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
+"gLG" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/heater/on,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"gLH" = (
-/obj/machinery/door/airlock/external{
- name = "External Access";
- req_access_txt = "13"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
+/obj/structure/closet/wardrobe/white,
+/obj/item/clothing/shoes/jackboots,
+/obj/item/reagent_containers/blood/random,
+/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"gMl" = (
@@ -54870,6 +54964,12 @@
},
/turf/open/floor/plating,
/area/crew_quarters/fitness)
+"gQr" = (
+/obj/machinery/atmospherics/components/binary/valve/digital{
+ name = "gas to sauna"
+ },
+/turf/open/floor/plating,
+/area/maintenance/fore)
"gQX" = (
/obj/machinery/button/door{
id = "LockerShitter4";
@@ -54934,6 +55034,19 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
+"gYo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/closet/crate{
+ icon_state = "crateopen"
+ },
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 2;
+ name = "2maintenance loot spawner"
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"gZG" = (
/obj/structure/closet/crate/freezer/surplus_limbs,
/obj/item/reagent_containers/glass/beaker/synthflesh,
@@ -55001,6 +55114,10 @@
/obj/item/reagent_containers/food/snacks/cherrycupcake,
/turf/open/floor/wood,
/area/crew_quarters/bar)
+"hho" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"hiV" = (
/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
@@ -55034,6 +55151,12 @@
},
/turf/closed/wall,
/area/crew_quarters/dorms)
+"hnc" = (
+/obj/structure/chair/pew/left{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/port/fore)
"hnU" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -55066,6 +55189,10 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"htu" = (
+/obj/item/kirbyplants/random,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"hxn" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/green/visible,
@@ -55088,6 +55215,11 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
+"hCn" = (
+/obj/structure/closet/firecloset,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"hGH" = (
/obj/machinery/door/airlock{
desc = "Private study room where nerds are probably playing Dungeons and Dragons 13e, or a place for blood cult rituals.";
@@ -55453,6 +55585,17 @@
/obj/effect/decal/cleanable/blood/gibs/ipc/limb,
/turf/open/floor/plasteel/dark,
/area/maintenance/starboard/aft)
+"iII" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/closet,
+/obj/item/clothing/head/bowler,
+/obj/item/clothing/neck/tie/red,
+/obj/item/clothing/mask/cigarette/pipe,
+/obj/item/clothing/mask/fakemoustache,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"iIS" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/cyan/visible{
@@ -55461,6 +55604,10 @@
/obj/machinery/atmospherics/pipe/layer_manifold,
/turf/open/floor/plating,
/area/engine/atmos)
+"iKV" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/floor/plating,
+/area/engine/atmos)
"iLJ" = (
/obj/item/reagent_containers/glass/bucket,
/mob/living/simple_animal/pet/bumbles,
@@ -55578,6 +55725,14 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"jaG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ icon_state = "platingdmg3"
+ },
+/area/maintenance/port/fore)
"jaH" = (
/obj/structure/door_assembly/door_assembly_mai,
/obj/item/electronics/airlock,
@@ -55599,6 +55754,17 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/service)
+"jbp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/flashlight,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
+"jbr" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/maintenance/port/fore)
"jdj" = (
/obj/docking_port/stationary/random{
dir = 4;
@@ -55670,6 +55836,12 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
+"jon" = (
+/obj/machinery/atmospherics/components/binary/valve/digital{
+ name = "gas to sauna"
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"jqv" = (
/obj/structure/chair/wood/normal{
dir = 1
@@ -55698,6 +55870,12 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos)
+"juy" = (
+/obj/structure/mopbucket,
+/obj/item/mop,
+/obj/item/reagent_containers/spray/cleaner,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"juG" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
@@ -55803,6 +55981,10 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos)
+"jDZ" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden,
+/turf/closed/wall,
+/area/maintenance/port/fore)
"jEc" = (
/obj/machinery/vr_sleeper{
dir = 8
@@ -55818,6 +56000,13 @@
dir = 1
},
/area/crew_quarters/fitness)
+"jFB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"jFH" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
@@ -55892,6 +56081,13 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
+"jIW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/maintenance/fore)
"jJF" = (
/obj/machinery/door/airlock/maintenance,
/obj/structure/cable{
@@ -55925,6 +56121,11 @@
},
/turf/open/space,
/area/space)
+"jLJ" = (
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/machinery/light/small,
+/turf/open/floor/wood,
+/area/maintenance/port/fore)
"jLT" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -55957,6 +56158,13 @@
},
/turf/open/floor/plasteel,
/area/science/circuit)
+"jUV" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"jVl" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -56104,6 +56312,22 @@
},
/turf/open/floor/plasteel/dark,
/area/hallway/primary/central)
+"kil" = (
+/obj/machinery/atmospherics/pipe/simple/dark/visible{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/engine/atmos)
+"kiW" = (
+/obj/machinery/button/door{
+ id = "Sauna";
+ name = "Sauna Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_y = -25;
+ specialfunctions = 4
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/port/fore)
"kiY" = (
/obj/machinery/door/airlock/external{
name = "Port Docking Bay 4"
@@ -56113,6 +56337,13 @@
},
/turf/open/floor/plating,
/area/hallway/secondary/entry)
+"klN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"kmw" = (
/obj/structure/chair/comfy/black{
dir = 1
@@ -56158,6 +56389,15 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
+"kqo" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/obj/structure/chair/pew{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/port/fore)
"kqI" = (
/obj/structure/window,
/turf/open/floor/wood,
@@ -56197,6 +56437,10 @@
},
/turf/open/floor/plasteel,
/area/security/range)
+"kuL" = (
+/obj/item/trash/candy,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"kvl" = (
/obj/structure/grille,
/turf/closed/wall/r_wall,
@@ -56212,6 +56456,12 @@
},
/turf/open/floor/wood,
/area/bridge/meeting_room)
+"kwY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/closed/wall,
+/area/maintenance/port/fore)
"kxf" = (
/obj/machinery/vr_sleeper{
dir = 4
@@ -56600,10 +56850,12 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
-"lxP" = (
-/mob/living/simple_animal/opossum,
+"lzk" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ dir = 8
+ },
/turf/closed/wall,
-/area/science/xenobiology)
+/area/maintenance/fore)
"lzt" = (
/obj/machinery/portable_atmospherics/pump,
/obj/effect/turf_decal/stripes/line,
@@ -56773,6 +57025,13 @@
},
/turf/closed/wall,
/area/crew_quarters/fitness/pool)
+"lZN" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Sauna";
+ name = "Sauna"
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/port/fore)
"maT" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall,
@@ -56950,6 +57209,11 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
+"mwS" = (
+/turf/open/floor/plating{
+ icon_state = "platingdmg3"
+ },
+/area/maintenance/port/fore)
"mxn" = (
/obj/machinery/door/airlock/external{
name = "Escape Pod Three"
@@ -57169,6 +57433,13 @@
"naI" = (
/turf/open/space,
/area/space/station_ruins)
+"nbr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating,
+/area/maintenance/fore)
"nbT" = (
/obj/structure/cable{
icon_state = "0-8"
@@ -57282,6 +57553,12 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/starboard/fore)
+"noL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"noT" = (
/turf/open/floor/wood{
icon_state = "wood-broken4"
@@ -57313,6 +57590,12 @@
"nsA" = (
/turf/closed/wall,
/area/crew_quarters/abandoned_gambling_den)
+"ntt" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"nuw" = (
/obj/structure/table,
/obj/effect/spawner/lootdrop/maintenance{
@@ -57351,12 +57634,10 @@
/turf/closed/wall,
/area/maintenance/disposal/incinerator)
"nBI" = (
-/obj/item/cigbutt/cigarbutt,
-/obj/effect/decal/cleanable/blood/old,
-/obj/structure/chair{
- dir = 1
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
},
-/turf/open/floor/plating,
+/turf/closed/wall,
/area/maintenance/port/fore)
"nEj" = (
/obj/effect/spawner/structure/window/reinforced,
@@ -57477,6 +57758,11 @@
},
/turf/open/floor/plasteel,
/area/hydroponics)
+"nXg" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"nYe" = (
/obj/structure/safe,
/obj/item/clothing/head/bearpelt,
@@ -57806,6 +58092,16 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard)
+"oCF" = (
+/obj/structure/closet/crate{
+ icon_state = "crateopen"
+ },
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 3;
+ name = "3maintenance loot spawner"
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"oDm" = (
/obj/machinery/gulag_teleporter,
/turf/open/floor/plasteel,
@@ -57989,6 +58285,14 @@
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/fore)
+"pkq" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ icon_state = "panelscorched"
+ },
+/area/maintenance/port/fore)
"pkF" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/extinguisher_cabinet{
@@ -58060,6 +58364,13 @@
},
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
+"ppw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"pqe" = (
/obj/structure/chair/sofa,
/obj/structure/window{
@@ -58074,6 +58385,19 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
+"pqR" = (
+/obj/structure/chair/pew/right{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/port/fore)
+"psf" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/sign/poster/official/the_owl{
+ pixel_y = 32
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"psk" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -58105,6 +58429,14 @@
dir = 1
},
/area/crew_quarters/fitness)
+"pvJ" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 3;
+ name = "3maintenance loot spawner"
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"pzk" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 4
@@ -58286,6 +58618,12 @@
},
/turf/open/floor/plasteel/dark,
/area/hallway/primary/central)
+"pRj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/closed/wall,
+/area/maintenance/port/fore)
"pRs" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 5
@@ -58321,6 +58659,14 @@
},
/turf/open/floor/plating,
/area/engine/atmos)
+"pVi" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ icon_state = "wood-broken2"
+ },
+/area/maintenance/port/fore)
"pYQ" = (
/obj/structure/reagent_dispensers/watertank,
/obj/item/reagent_containers/glass/bucket,
@@ -58407,6 +58753,20 @@
},
/turf/closed/wall,
/area/quartermaster/miningdock)
+"qjo" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 4;
+ name = "4maintenance loot spawner"
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
+"qll" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/maintenance/port/fore)
"qlY" = (
/obj/item/kirbyplants/random,
/turf/open/floor/plating{
@@ -58499,6 +58859,12 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/starboard/aft)
+"qGw" = (
+/obj/structure/chair/pew/right{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/fore)
"qIw" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -58520,6 +58886,12 @@
/obj/structure/lattice,
/turf/open/space,
/area/space/nearstation)
+"qLy" = (
+/obj/structure/chair/sofa/left{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"qLR" = (
/obj/structure/mirror{
pixel_y = 32
@@ -58614,6 +58986,16 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space/nearstation)
+"qZD" = (
+/obj/effect/decal/cleanable/egg_smudge,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
+"raH" = (
+/obj/machinery/atmospherics/pipe/manifold/orange/hidden{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"rba" = (
/obj/structure/cable/white{
icon_state = "0-8"
@@ -58912,6 +59294,12 @@
},
/turf/open/floor/plasteel,
/area/security/brig)
+"rGo" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"rGq" = (
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
@@ -58944,8 +59332,9 @@
/turf/open/floor/plating,
/area/security/brig)
"rJw" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating/airless,
+/obj/structure/table/glass,
+/obj/item/hemostat,
+/turf/open/floor/plating,
/area/maintenance/port/fore)
"rKP" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
@@ -59053,6 +59442,12 @@
dir = 1
},
/area/engine/atmos)
+"rWw" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/fore)
"rXl" = (
/obj/structure/chair/office/light,
/obj/machinery/firealarm{
@@ -59064,6 +59459,14 @@
},
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
+"rYa" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/closet,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"rZQ" = (
/obj/docking_port/stationary{
dir = 8;
@@ -59159,6 +59562,15 @@
/obj/structure/closet/crate,
/turf/open/floor/plasteel,
/area/engine/atmos)
+"spR" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/obj/structure/chair/pew{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/fore)
"sqg" = (
/obj/structure/table/wood,
/obj/item/clothing/under/misc/pj/red,
@@ -59267,6 +59679,11 @@
icon_state = "wood-broken6"
},
/area/maintenance/bar)
+"sCa" = (
+/obj/structure/rack,
+/obj/item/circuitboard/machine/monkey_recycler,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"sEi" = (
/obj/machinery/vr_sleeper{
dir = 4
@@ -59437,6 +59854,11 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall/r_wall,
/area/engine/engine_smes)
+"sRd" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/girder,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"sRH" = (
/obj/machinery/autolathe/secure{
name = "public autolathe"
@@ -59504,6 +59926,18 @@
/obj/structure/filingcabinet/employment,
/turf/open/floor/wood,
/area/crew_quarters/heads/captain)
+"thg" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/poster/contraband/random{
+ pixel_y = 32
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"thB" = (
/obj/structure/sign/warning/securearea{
pixel_y = -32
@@ -59563,6 +59997,12 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
+"tqG" = (
+/obj/structure/chair/pew/left{
+ dir = 8
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/fore)
"trb" = (
/obj/machinery/light{
dir = 4
@@ -59629,9 +60069,9 @@
/area/crew_quarters/fitness/pool)
"tAH" = (
/obj/machinery/atmospherics/pipe/simple/orange/visible,
-/obj/structure/lattice,
-/turf/open/space/basic,
-/area/space/nearstation)
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/engine/atmos)
"tCa" = (
/obj/structure/table/wood,
/obj/item/instrument/guitar{
@@ -59810,12 +60250,29 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
+"tVE" = (
+/obj/item/chair/wood{
+ dir = 4
+ },
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/wood{
+ icon_state = "wood-broken5"
+ },
+/area/maintenance/port/fore)
"tWj" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
/turf/open/floor/wood,
/area/crew_quarters/theatre)
+"tXs" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ icon_state = "platingdmg3"
+ },
+/area/maintenance/port/fore)
"tXL" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
@@ -59829,6 +60286,12 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"tZu" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"uaw" = (
/obj/machinery/power/apc{
areastring = "/area/maintenance/bar";
@@ -59909,6 +60372,14 @@
},
/turf/open/floor/plasteel,
/area/engine/atmos)
+"ugq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/fore)
"ugu" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -60099,6 +60570,13 @@
},
/turf/open/floor/wood,
/area/crew_quarters/bar)
+"uBf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"uCo" = (
/obj/structure/chair{
dir = 1
@@ -60662,6 +61140,15 @@
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/crew_quarters/cryopod)
+"vHo" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/obj/machinery/door/airlock/external{
+ name = "Atmospherics External Airlock";
+ req_access_txt = "24"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/turf/open/floor/plating,
+/area/engine/atmos)
"vHz" = (
/obj/structure/chair{
dir = 8
@@ -60902,6 +61389,16 @@
"wkN" = (
/turf/closed/wall,
/area/science/circuit)
+"wlg" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"wly" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/maintenance{
@@ -61115,13 +61612,8 @@
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"wWi" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/door/airlock/external{
- name = "Atmospherics External Airlock";
- req_access_txt = "24"
- },
+/obj/machinery/atmospherics/pipe/simple/dark/visible,
+/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/engine/atmos)
"wWT" = (
@@ -61188,6 +61680,12 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/pool)
+"xbi" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/maintenance/fore)
"xbn" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 9
@@ -61465,6 +61963,13 @@
/obj/machinery/vending/wardrobe/curator_wardrobe,
/turf/open/floor/carpet,
/area/library)
+"xFM" = (
+/obj/item/clothing/gloves/color/rainbow,
+/obj/item/clothing/head/soft/rainbow,
+/obj/item/clothing/shoes/sneakers/rainbow,
+/obj/item/clothing/under/color/rainbow,
+/turf/open/floor/plating,
+/area/maintenance/port/fore)
"xGQ" = (
/obj/structure/sign/plaques/golden{
pixel_y = 32
@@ -61711,10 +62216,9 @@
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"yds" = (
-/obj/effect/decal/cleanable/vomit,
-/obj/structure/chair{
- dir = 1
- },
+/obj/structure/table,
+/obj/item/stamp,
+/obj/item/poster/random_official,
/turf/open/floor/plating,
/area/maintenance/port/fore)
"ydD" = (
@@ -61732,6 +62236,12 @@
/obj/machinery/status_display/evac,
/turf/closed/wall,
/area/hallway/primary/central)
+"ygb" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/floor/wood/wood_diagonal,
+/area/maintenance/port/fore)
"yhx" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 5
@@ -74429,15 +74939,15 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
aaf
aaf
aaf
aaf
alU
+avS
atJ
amC
+amC
aKf
bEJ
axb
@@ -74685,16 +75195,16 @@ aaa
aaa
aaa
aaa
-aae
-aaa
aaa
aag
alU
alU
alU
alU
-aCW
+rGo
amC
+aKY
+aoW
asK
alU
alU
@@ -74943,13 +75453,13 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
aag
-cyC
+arN
amC
amC
-gLH
+auX
+arM
+ase
ase
avq
aum
@@ -75200,20 +75710,20 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
gJi
alU
alU
alU
alU
-asc
-atn
-aLt
-aue
-aue
+aqO
+alU
+alU
+kwY
+qll
aue
aue
+ayy
+ayy
aAe
aBJ
aCs
@@ -75458,19 +75968,19 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
alU
-apL
-aqK
+atM
+atW
+alU
+aqO
alU
-asc
-atq
aon
-amC
-axe
-ays
+aAY
+aCW
+gLH
alU
+hho
+aKY
auT
aBI
aCY
@@ -75714,20 +76224,20 @@ aaa
aaa
aaa
aaa
-aaa
-aaf
alU
alU
-apM
-aqL
+atP
+auV
alU
-asc
+aqO
+alU
+axe
atq
-auX
-avS
amC
amC
alU
+pvJ
+mwS
auT
aBI
aDc
@@ -75970,21 +76480,21 @@ aaf
aaf
aaf
aaf
-aaa
-aaa
-aaa
+aaf
alU
-aoS
+arO
amC
aom
ank
-asc
-atq
-auZ
-bsU
+aqO
+alU
axf
+ayu
+auZ
amC
alU
+gJN
+amC
auT
aBI
aDf
@@ -76228,20 +76738,20 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
alU
+ash
+atU
aoR
apO
-aqM
-arF
-asc
-atq
-auY
-amC
-amC
-ayt
+aqO
alU
+axg
+aAY
+amC
+rJw
+alU
+cGf
+aKY
aAw
aBl
aCZ
@@ -76484,20 +76994,20 @@ aaf
aaf
aaf
aaf
-aaa
-aaa
-aaa
+aaf
alU
+atn
+amC
aoT
-amC
+auY
aqO
-arG
-asc
-atq
+alU
+axi
+aAY
ava
+gKo
+alU
amC
-axg
-ayu
azF
azF
azF
@@ -76742,19 +77252,19 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
alU
alU
alU
alU
-arG
-ash
-atq
-alU
+auY
+aqO
+alU
+alU
+nBI
alU
alU
alU
+amC
azF
aAP
aAP
@@ -76999,14 +77509,14 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaf
-aaa
+gXs
ali
-aoX
-arI
-asi
+aok
+aKY
+anJ
+asc
+aol
+aol
atr
atN
atN
@@ -77256,18 +77766,18 @@ aaf
aaf
aaf
aaa
-aaa
-aaa
-aaf
-aaa
+gXs
ali
+aok
amC
+anJ
+asi
+arH
+cCs
+ann
+ann
+hCn
arH
-atP
-auV
-auV
-auV
-axK
ayh
azi
aAx
@@ -77515,16 +78025,16 @@ alR
alR
alR
alR
-alU
-alU
-alU
+apL
+pkq
+wlg
aqP
-arJ
alU
-avb
-aaH
-bOi
-atO
+alU
+alU
+alU
+alU
+juy
asK
azF
aAT
@@ -77773,15 +78283,15 @@ amy
ang
alR
aoj
-amC
-apP
-amC
-arH
+kuL
+anJ
+tXs
alU
-aaH
+axj
+ayx
bNb
-aaf
-atO
+asO
+alU
asK
azF
aAS
@@ -78030,15 +78540,15 @@ amA
ani
anI
aol
-aol
-aol
-aol
-arL
+jUV
+arI
+atL
alU
+axl
avU
avb
bOi
-atO
+alU
asK
azF
aAU
@@ -78286,17 +78796,17 @@ alS
amz
anh
anH
+oCF
amC
-aok
anJ
aFJ
-arK
alU
+axK
+azG
+aLt
+jLJ
alU
-ali
-alU
-atO
-asK
+thg
azF
aAP
aAP
@@ -78543,16 +79053,16 @@ alR
alR
alR
alR
-amC
-aom
-apP
-amC
-arN
-amC
-amC
-amC
-amC
-axi
+alU
+alU
+arJ
+alU
+alU
+ays
+asO
+bsU
+tVE
+alU
asK
azF
azF
@@ -78796,20 +79306,20 @@ aaf
aaa
aaa
aaa
-aaa
alU
+amF
alF
-anj
-anJ
+aoS
+apM
+enS
aoU
+aoW
alU
-amC
-arM
-alU
+ayt
avc
-asO
+pVi
avV
-atO
+alU
ayw
atN
aAV
@@ -79053,22 +79563,22 @@ aaf
aaf
aaf
aaf
-gXs
alU
-alF
-anl
+amF
+aoU
amC
alU
-alU
-amC
-alU
-alU
apP
+arK
+amC
alU
alU
-atP
-auV
-axK
+alU
+cyC
+alU
+pRj
+cwS
+cwS
aAN
aBL
aDd
@@ -79310,22 +79820,22 @@ aaf
aaa
aaa
aaa
-aaa
alU
alU
ank
alU
alU
-alU
+aoW
amC
-amC
-amC
-arN
-alU
avW
+axn
+alU
+nXg
+jaG
+alU
+rYa
amC
-ayx
-atO
+sRd
aAL
aBQ
aDb
@@ -79567,22 +80077,22 @@ aaS
aaa
aaa
aaa
-aaa
alU
+anj
amD
-anm
-amC
-amC
-ali
amC
alU
-asO
-atL
-alU
-avX
-axf
+arG
+amC
+arK
+axn
+alU
+aoW
+ntt
+alU
+fhu
+amC
amC
-atO
aAY
aBQ
aDl
@@ -79824,23 +80334,23 @@ aaS
aaf
aaf
aaf
-gXs
alU
amC
+arK
amC
+ank
amC
+arL
amC
-ali
+aoW
+dal
+arK
+noL
+arH
+psf
+arK
amC
-alU
-alU
-alU
-alU
-alU
-axj
-alU
-atO
-aAY
+klN
aBQ
aDk
aDo
@@ -80081,23 +80591,23 @@ aaS
aaa
aaa
aaa
-aaa
alU
+anl
amE
-ann
-amC
amC
alU
-amC
+qjo
alU
-arN
-atU
alU
-atU
+alU
+alU
+alU
+alU
+alU
+ntt
amC
-atJ
-atO
-aAY
+avW
+gYo
aBQ
aDn
aDo
@@ -80338,23 +80848,23 @@ aaa
aaa
aaa
aaa
-aaa
alU
alU
alU
-ank
-alU
-alU
-amC
-amC
-amC
amC
alU
-avc
+alU
+alU
+avX
amC
-atJ
-atO
-aAY
+arK
+amC
+amC
+jFB
+ppw
+enJ
+amC
+iII
aBQ
aDm
aDo
@@ -80595,22 +81105,22 @@ aaa
aaa
aaa
aaa
-aaa
alU
-amF
+anm
alU
amC
alU
+xFM
alU
-alU
-alU
+gLG
+raH
+jon
+atU
amC
+uBf
+amC
+aKY
amC
-alU
-atM
-axl
-auV
-azG
aAY
aBQ
aDp
@@ -80852,21 +81362,21 @@ aaa
aaa
aaa
aaa
-aaa
alU
alU
alU
+ank
+alU
+alU
+alU
+alU
+jbr
+alU
+alU
amC
-alU
-aaH
-rJw
-arO
-amC
-amC
-avc
-atO
+ntt
axk
-ayy
+jbp
ayy
aAO
aBN
@@ -81110,20 +81620,20 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
ali
+aok
+qZD
anK
-ali
-aaf
+geg
alU
-rJw
-alU
-atW
-atW
-atO
-axn
+pqR
+kqo
+hnc
alU
+amC
+ntt
+aAY
+amC
aoX
atJ
aBQ
@@ -81367,19 +81877,19 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
ali
+aok
+amC
aKY
-ali
-aaf
-aoV
-aaf
+cDs
alU
-ali
-ali
-atO
-axo
+fmJ
+ygb
+kiW
+alU
+amC
+ntt
+nbr
ayz
ayz
ayz
@@ -81617,26 +82127,26 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
ali
ali
+alU
+alU
+ali
+alU
+alU
+alU
+rGo
amC
-alU
-alU
-alU
-aaf
-aoV
-aae
-aaH
-avY
-axo
+amC
+amC
+lZN
+cPb
+ygb
+cPb
+lZN
+amC
+jIW
+ddI
arP
fgG
rqW
@@ -81871,29 +82381,29 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
aae
aaa
aaa
ali
-yds
+anL
+avY
+tZu
amC
aon
-aoW
+yds
+alU
+amC
+amC
+amC
+htu
+alU
+edj
+rWw
+gKG
arP
-aqQ
-aqQ
-aqQ
-aqQ
-avZ
-axo
+aqR
+awb
+ugq
arP
rPU
fne
@@ -82131,24 +82641,24 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
ali
+amC
+avY
aKY
amC
amC
amC
-gsM
-aqR
-aqR
+ank
+amC
+fcd
+dIu
+qLy
+alU
+tqG
+spR
+qGw
+arP
aGh
-aqR
awb
axo
arP
@@ -82388,21 +82898,21 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
ali
-nBI
-anL
aoo
+avY
+amC
+gsM
+sCa
aoX
+alU
+ali
+ali
+ali
+ali
+alU
arP
-arP
+lzk
arP
arP
arP
@@ -82645,21 +83155,21 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-ali
ali
ali
alU
alU
-arP
-aqR
+ali
+alU
+alU
+alU
+aaa
+aaa
+aaa
+eyq
+jDZ
+gQr
+xbi
wje
rQJ
uUi
@@ -97126,9 +97636,9 @@ cCI
cCJ
cCI
cCP
-bLK
+bMK
chg
-bLK
+bMK
aaf
aoV
aoV
@@ -97641,11 +98151,11 @@ cdD
bOh
cCQ
cCS
-wWi
+chg
cCS
-aaa
-aaa
-aaa
+bLK
+bLK
+bLK
gXs
aaa
aaa
@@ -97898,11 +98408,11 @@ cbH
bOh
cCG
tAH
-dCt
-fty
-dCt
-dCt
-dCt
+iKV
+vHo
+iKV
+iKV
+eCm
fty
dCt
dCt
@@ -98154,12 +98664,12 @@ ccD
cbH
bOh
aaf
-aaa
-aaa
-aaa
-aaa
-aaa
-aoV
+bMK
+chg
+bMK
+bLK
+bLK
+bLK
aaf
aoV
aoV
@@ -98411,9 +98921,9 @@ bOh
bOh
bOh
xcl
-caJ
-ciC
-gXs
+wWi
+kil
+cCS
gXs
tSo
kcx
@@ -107389,7 +107899,7 @@ bLe
bMr
bNr
bIT
-lxP
+bJN
bJN
bJN
bJN
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 0ac49d7328..611a9b5715 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -1309,6 +1309,45 @@
/obj/item/toy/poolnoodle/blue,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/pool)
+"acy" = (
+/obj/machinery/conveyor_switch/oneway{
+ dir = 8;
+ id = "cargounload"
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/quartermaster/storage)
+"acz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/quartermaster/storage)
+"acA" = (
+/obj/machinery/conveyor{
+ dir = 9;
+ id = "cargounload"
+ },
+/turf/open/floor/plating,
+/area/quartermaster/storage)
+"acB" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/light/floor,
+/turf/open/floor/plasteel,
+/area/quartermaster/storage)
"acF" = (
/obj/docking_port/stationary{
dir = 2;
@@ -12918,18 +12957,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
-"aAH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/conveyor_switch/oneway{
- dir = 8;
- id = "cargounload"
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/quartermaster/storage)
"aAI" = (
/obj/structure/cable/white,
/obj/structure/cable/white{
@@ -13616,14 +13643,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
-"aBZ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/quartermaster/storage)
"aCa" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/tile/brown,
@@ -14264,23 +14283,6 @@
},
/turf/open/floor/plasteel,
/area/quartermaster/storage)
-"aDf" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/airlock/external{
- name = "Supply Dock Airlock";
- req_access_txt = "31"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/quartermaster/storage)
"aDg" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/stripes/line{
@@ -125650,14 +125652,6 @@
},
/turf/open/floor/plasteel,
/area/maintenance/department/electrical)
-"hdH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/conveyor{
- dir = 9;
- id = "cargoload"
- },
-/turf/open/floor/plating,
-/area/quartermaster/storage)
"hic" = (
/obj/structure/table/reinforced,
/obj/item/integrated_electronics/analyzer,
@@ -171852,7 +171846,7 @@ azy
aAG
aDb
aAG
-aAG
+acB
azy
azy
aAG
@@ -173134,7 +173128,7 @@ axk
ayB
azE
azE
-aBZ
+acz
azE
azE
azE
@@ -173390,9 +173384,9 @@ aoF
axl
ayC
azF
-aAH
-aCa
-aCa
+acy
+aEf
+aEf
aEf
aEf
aCa
@@ -173648,8 +173642,8 @@ axm
ayD
ayD
ayD
-hdH
-azD
+acA
+aEe
aaq
azD
kam
@@ -173906,7 +173900,7 @@ ayE
azG
aAI
aCb
-aDf
+aFk
avW
aFk
aGD
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index 4582400c1a..bf0e1dc797 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -2927,13 +2927,6 @@
/obj/machinery/capture_the_flag/red,
/turf/open/floor/circuit/green/anim,
/area/ctf)
-"hH" = (
-/obj/machinery/light{
- dir = 1
- },
-/obj/machinery/computer/slot_machine,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"hI" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -4178,6 +4171,10 @@
"ku" = (
/turf/closed/indestructible/fakeglass,
/area/syndicate_mothership)
+"kv" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
"kw" = (
/turf/open/floor/plasteel/yellowsiding,
/area/centcom/supply)
@@ -4505,6 +4502,10 @@
icon_state = "alien15"
},
/area/abductor_ship)
+"ll" = (
+/obj/machinery/vending/autodrobe,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"ln" = (
/obj/machinery/light,
/obj/effect/turf_decal/tile/brown,
@@ -4762,11 +4763,15 @@
/turf/open/floor/plasteel/dark,
/area/centcom/control)
"lS" = (
-/obj/machinery/door/airlock/wood{
- id_tag = "Ninja1";
- name = "Dorm 1"
+/obj/machinery/light{
+ dir = 1
},
-/turf/open/floor/wood,
+/obj/item/soap,
+/obj/item/soap,
+/obj/item/soap,
+/obj/item/janiupgrade,
+/obj/vehicle/ridden/janicart,
+/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"lT" = (
/obj/machinery/door/airlock/centcom{
@@ -4828,14 +4833,14 @@
},
/area/abductor_ship)
"ma" = (
-/obj/machinery/button/door{
- id = "Ninja7";
- name = "Dorm Bolt Control";
- normaldoorcontrol = 1;
- pixel_x = 25;
- specialfunctions = 4
+/obj/structure/closet/secure_closet/personal/cabinet{
+ desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here.";
+ name = "Personal ID-Locked Closet"
},
-/turf/open/indestructible/hotelwood,
+/obj/item/reagent_containers/rag/towel,
+/obj/item/reagent_containers/rag/towel,
+/obj/item/reagent_containers/rag/towel,
+/turf/open/floor/carpet/royalblue,
/area/centcom/holding)
"mb" = (
/obj/structure/table/reinforced,
@@ -6427,6 +6432,23 @@
/obj/effect/turf_decal/tile/brown,
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
+"oV" = (
+/obj/structure/toilet{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/centcom/holding)
+"oW" = (
+/obj/structure/table/wood,
+/obj/item/soap,
+/obj/item/soap,
+/obj/item/soap,
+/obj/item/lightreplacer,
+/obj/item/lightreplacer,
+/obj/item/storage/bag/trash,
+/obj/item/storage/bag/trash,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"oX" = (
/obj/structure/bookcase/random,
/obj/machinery/light{
@@ -6769,14 +6791,6 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/control)
-"px" = (
-/obj/structure/table,
-/obj/item/storage/backpack/duffelbag/med/surgery,
-/obj/machinery/light{
- dir = 8
- },
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
"py" = (
/obj/machinery/smartfridge,
/turf/closed/indestructible{
@@ -6792,6 +6806,41 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/supplypod)
+"pB" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/machinery/chem_master/condimaster{
+ desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments.";
+ name = "BrewMaster 2199";
+ pixel_x = -4
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"pG" = (
+/obj/machinery/biogenerator,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"pH" = (
/obj/structure/table/wood,
/obj/machinery/recharger,
@@ -7289,6 +7338,16 @@
"qE" = (
/turf/closed/indestructible/riveted/uranium,
/area/wizard_station)
+"qF" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/window/reinforced/tinted{
+ dir = 1
+ },
+/obj/machinery/washing_machine,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"qI" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/light{
@@ -7296,13 +7355,6 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
-"qP" = (
-/obj/structure/chair/comfy/brown{
- color = "#596479";
- dir = 1
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"qQ" = (
/obj/machinery/door/airlock/centcom{
name = "Administrative Office";
@@ -7397,6 +7449,22 @@
/obj/machinery/vending/coffee,
/turf/open/floor/plasteel,
/area/syndicate_mothership)
+"rg" = (
+/obj/structure/table,
+/obj/item/clothing/mask/luchador,
+/turf/open/floor/holofloor/wood,
+/area/holodeck/rec_center/wrestlingarena)
+"rh" = (
+/obj/structure/table/wood,
+/obj/item/camera/detective{
+ desc = "A polaroid camera with extra capacity for social media marketing.";
+ name = "Professional camera"
+ },
+/obj/item/camera_film,
+/obj/item/paper_bin,
+/obj/item/pen/fountain,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"rk" = (
/obj/structure/table/reinforced,
/obj/item/book/manual/wiki/security_space_law,
@@ -7889,10 +7957,6 @@
},
/turf/open/floor/engine/cult,
/area/wizard_station)
-"sa" = (
-/obj/item/hilbertshotel/ghostdojo,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"sc" = (
/obj/docking_port/stationary{
area_type = /area/syndicate_mothership/control;
@@ -7905,12 +7969,11 @@
/turf/open/floor/plating,
/area/syndicate_mothership)
"sf" = (
-/obj/machinery/vending/wallmed{
- name = "Emergency NanoMed";
- pixel_y = 28;
- use_power = 0
+/obj/effect/landmark/holding_facility,
+/mob/living/simple_animal/bot/medbot{
+ name = "Syndicate Hospitality Drone"
},
-/turf/open/floor/plasteel/white,
+/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"si" = (
/obj/structure/table/wood,
@@ -7928,6 +7991,12 @@
},
/turf/open/floor/plasteel,
/area/syndicate_mothership)
+"sk" = (
+/obj/machinery/door/airlock/wood{
+ name = "Bathroom"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/centcom/holding)
"sq" = (
/obj/machinery/computer/shuttle/white_ship{
dir = 4
@@ -8341,6 +8410,31 @@
/obj/item/reagent_containers/food/drinks/bottle/vodka,
/turf/open/floor/wood,
/area/syndicate_mothership)
+"ta" = (
+/obj/structure/closet{
+ anchored = 1;
+ desc = "A storage unit for plasmaman internals, courtesy of the Spider Clan.";
+ icon_state = "emergency";
+ name = "Plasmaman emergency closet"
+ },
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/obj/item/tank/internals/plasmaman/belt/full,
+/obj/item/tank/internals/plasmaman/belt/full,
+/obj/item/tank/internals/plasmaman/belt/full,
+/obj/item/tank/internals/plasmaman/belt/full,
+/obj/item/tank/internals/plasmaman/belt/full,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"tc" = (
+/obj/machinery/door/airlock/wood/glass{
+ name = "Dorms"
+ },
+/turf/open/floor/wood,
+/area/centcom/holding)
"td" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -8427,6 +8521,9 @@
},
/turf/open/floor/plasteel,
/area/centcom/ferry)
+"tv" = (
+/turf/open/floor/holofloor/wood,
+/area/holodeck/rec_center/wrestlingarena)
"tx" = (
/obj/structure/table/wood,
/obj/item/storage/dice,
@@ -8712,13 +8809,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plasteel,
/area/centcom/supplypod)
-"tZ" = (
-/obj/structure/chair/wood/normal,
-/obj/machinery/light{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"uc" = (
/obj/effect/turf_decal/tile/green{
dir = 1
@@ -8734,6 +8824,10 @@
/obj/item/storage/crayons,
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
+"ue" = (
+/obj/machinery/autolathe/toy,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"uf" = (
/obj/effect/turf_decal/tile/brown{
dir = 8
@@ -8743,12 +8837,14 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/three)
+"ug" = (
+/obj/structure/table,
+/obj/machinery/dish_drive,
+/turf/open/floor/plasteel/cafeteria,
+/area/centcom/holding)
"uh" = (
-/obj/machinery/door/airlock/wood{
- id_tag = "Ninja2";
- name = "Dorm 2"
- },
-/turf/open/floor/wood,
+/obj/structure/dresser,
+/turf/open/floor/carpet/royalblue,
/area/centcom/holding)
"uj" = (
/obj/item/clipboard,
@@ -9033,6 +9129,16 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/centcom/evac)
+"uH" = (
+/obj/structure/closet/crate,
+/obj/item/stack/sheet/paperframes/fifty,
+/obj/item/stack/sheet/paperframes/fifty,
+/obj/item/storage/fancy/candle_box,
+/obj/item/storage/fancy/candle_box,
+/obj/item/storage/fancy/candle_box,
+/obj/item/storage/box/lights/mixed,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"uJ" = (
/obj/effect/baseturf_helper/asteroid/snow,
/turf/closed/indestructible/riveted,
@@ -9318,19 +9424,13 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod)
-"vs" = (
-/obj/machinery/vending/hydronutrients,
-/obj/effect/turf_decal/tile/green{
- dir = 1
+"vp" = (
+/obj/structure/bed,
+/obj/item/bedsheet/hos{
+ desc = "A fancy red bedsheet.";
+ name = "red bedsheet"
},
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
+/turf/open/floor/carpet/red,
/area/centcom/holding)
"vt" = (
/obj/structure/rack,
@@ -9348,17 +9448,6 @@
},
/turf/open/floor/plasteel,
/area/syndicate_mothership)
-"vv" = (
-/obj/structure/closet,
-/obj/item/storage/backpack/duffelbag/med/surgery,
-/obj/machinery/iv_drip,
-/obj/item/roller,
-/obj/item/storage/firstaid/regular,
-/obj/item/reagent_containers/medspray/synthflesh,
-/obj/item/reagent_containers/medspray/synthflesh,
-/obj/item/reagent_containers/medspray/synthflesh,
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
"vw" = (
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
@@ -9367,6 +9456,12 @@
/mob/living/simple_animal/hostile/carp/cayenne,
/turf/open/floor/plasteel,
/area/syndicate_mothership)
+"vx" = (
+/obj/structure/sign/barsign{
+ pixel_y = 32
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"vy" = (
/obj/effect/turf_decal/tile/green{
dir = 8
@@ -9733,6 +9828,15 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/three)
+"wi" = (
+/obj/effect/landmark/mafia_game_area,
+/turf/open/space/basic,
+/area/space)
+"wj" = (
+/obj/structure/bed,
+/obj/item/bedsheet/random,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"wl" = (
/obj/structure/table/wood,
/obj/item/paicard,
@@ -9997,6 +10101,13 @@
/obj/item/toy/cards/deck,
/turf/open/floor/carpet,
/area/wizard_station)
+"wU" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Ninja7";
+ name = "Dorm 7"
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"wX" = (
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
@@ -10005,10 +10116,12 @@
/obj/structure/chair/stool,
/turf/open/floor/plasteel,
/area/syndicate_mothership)
-"wZ" = (
-/obj/structure/bed,
-/obj/item/bedsheet/syndie,
-/obj/effect/landmark/holding_facility,
+"wY" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/easel,
+/obj/item/canvas/twentythreeXtwentythree,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"xa" = (
@@ -10228,6 +10341,16 @@
/obj/machinery/light,
/turf/open/floor/carpet,
/area/wizard_station)
+"xB" = (
+/obj/machinery/button/door{
+ id = "Ninja3";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_y = -25;
+ specialfunctions = 4
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"xG" = (
/obj/structure/closet/syndicate/personal,
/obj/effect/turf_decal/stripes/line{
@@ -10244,13 +10367,18 @@
/obj/item/bedsheet/syndie,
/turf/open/floor/plasteel/dark,
/area/syndicate_mothership)
-"xO" = (
-/obj/structure/curtain,
-/obj/machinery/shower,
-/obj/structure/window{
- dir = 8
+"xL" = (
+/obj/structure/table/wood/bar,
+/obj/structure/mirror{
+ pixel_y = 28
},
-/turf/open/floor/mineral/titanium/blue,
+/obj/item/lightreplacer,
+/obj/item/lightreplacer,
+/obj/item/lightreplacer,
+/obj/item/storage/bag/trash,
+/obj/item/storage/bag/trash,
+/obj/item/storage/bag/trash,
+/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"xQ" = (
/obj/effect/turf_decal/delivery,
@@ -10375,6 +10503,10 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"yf" = (
+/obj/structure/closet/crate/freezer/blood,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"yg" = (
/obj/structure/chair,
/turf/open/floor/mineral/titanium,
@@ -10628,13 +10760,6 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
-"yS" = (
-/obj/machinery/door/airlock/wood{
- id_tag = "Ninja7";
- name = "Dorm 7"
- },
-/turf/open/floor/wood,
-/area/centcom/holding)
"yU" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/centcom{
@@ -10654,13 +10779,23 @@
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
"yW" = (
-/obj/structure/window/reinforced{
- dir = 1
+/obj/structure/mirror{
+ pixel_y = 28
},
-/obj/machinery/light{
- dir = 4
+/obj/structure/sink{
+ dir = 1;
+ pixel_y = 25
},
-/turf/open/floor/grass,
+/mob/living/simple_animal/bot/cleanbot,
+/turf/open/floor/mineral/titanium/blue,
+/area/centcom/holding)
+"yX" = (
+/obj/structure/curtain,
+/obj/machinery/shower,
+/obj/structure/window{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
/area/centcom/holding)
"yY" = (
/obj/structure/table/wood,
@@ -10891,6 +11026,10 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/syndicate_mothership)
+"zy" = (
+/obj/structure/mineral_door/paperframe,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"zz" = (
/obj/structure/table/wood,
/obj/item/storage/box/drinkingglasses,
@@ -10948,6 +11087,21 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
+"zE" = (
+/obj/machinery/plantgenes/seedvault,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/structure/table,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"zF" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -11071,15 +11225,6 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
-"zS" = (
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/floor/plasteel/freezer,
-/area/centcom/holding)
-"zT" = (
-/turf/open/indestructible/boss/air,
-/area/centcom/holding)
"zU" = (
/obj/structure/closet/crate/freezer,
/turf/open/floor/plasteel/cafeteria,
@@ -11095,13 +11240,6 @@
/obj/item/reagent_containers/food/snacks/carpmeat,
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
-"zW" = (
-/obj/machinery/door/airlock/wood{
- id_tag = "Ninja5";
- name = "Dorm 5"
- },
-/turf/open/floor/wood,
-/area/centcom/holding)
"zX" = (
/obj/structure/table,
/obj/machinery/light{
@@ -11111,12 +11249,14 @@
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
"zY" = (
-/obj/item/bedsheet/wiz{
- desc = "A glow in the dark blue bedsheet.";
- name = "blue bedsheet"
+/obj/machinery/light{
+ dir = 8
},
-/obj/structure/bed,
-/turf/open/floor/carpet/royalblue,
+/obj/structure/musician/piano,
+/obj/structure/sign/painting{
+ pixel_x = -32
+ },
+/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Aa" = (
/turf/open/floor/mech_bay_recharge_floor,
@@ -11356,16 +11496,6 @@
/obj/effect/decal/remains/xeno,
/turf/open/floor/grass,
/area/wizard_station)
-"AC" = (
-/obj/machinery/button/door{
- id = "Ninja5";
- name = "Dorm Bolt Control";
- normaldoorcontrol = 1;
- pixel_y = 25;
- specialfunctions = 4
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"AD" = (
/obj/machinery/door/airlock/centcom{
name = "Leader's Room";
@@ -11373,10 +11503,6 @@
},
/turf/open/floor/plasteel,
/area/syndicate_mothership)
-"AE" = (
-/obj/machinery/vending/coffee,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"AG" = (
/obj/structure/ladder/unbreakable/binary/space,
/turf/open/indestructible/airblock,
@@ -11595,15 +11721,13 @@
/obj/machinery/mech_bay_recharge_port,
/turf/open/floor/plating,
/area/syndicate_mothership)
-"Bq" = (
-/obj/machinery/sleeper{
- dir = 8
+"Bm" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/structure/sign/painting{
+ pixel_x = 32
},
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
-"Bs" = (
-/obj/structure/table/wood,
-/obj/machinery/computer/libraryconsole/bookmanagement,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Bu" = (
@@ -12458,13 +12582,6 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/evac)
-"CQ" = (
-/obj/effect/landmark/holding_facility,
-/mob/living/simple_animal/bot/medbot{
- name = "Syndicate Hospitality Drone"
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"CR" = (
/obj/machinery/computer/security{
dir = 8
@@ -12484,8 +12601,37 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/evac)
-"CV" = (
-/obj/structure/chair/stool,
+"CS" = (
+/obj/structure/chair/wood/normal{
+ dir = 1
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"CT" = (
+/obj/structure/bedsheetbin/towel,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/centcom/holding)
+"CU" = (
+/obj/structure/closet,
+/obj/item/stack/sheet/mineral/wood/fifty,
+/obj/item/stack/tile/wood{
+ amount = 24
+ },
+/obj/item/stack/tile/carpet/black/fifty,
+/obj/item/stack/tile/carpet/blackred/fifty,
+/obj/item/stack/tile/carpet/blue/fifty,
+/obj/item/stack/tile/carpet/cyan/fifty,
+/obj/item/stack/tile/carpet/fifty,
+/obj/item/stack/tile/carpet/green/fifty,
+/obj/item/stack/tile/carpet/monochrome/fifty,
+/obj/item/stack/tile/carpet/orange/fifty,
+/obj/item/stack/tile/carpet/purple/fifty,
+/obj/item/stack/tile/carpet/red/fifty,
+/obj/item/stack/tile/carpet/royalblack/fifty,
+/obj/item/stack/tile/carpet/royalblue/fifty,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"CX" = (
@@ -12680,9 +12826,20 @@
/obj/structure/table,
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
-"Dl" = (
-/obj/structure/mineral_door/paperframe,
-/turf/open/indestructible/hotelwood,
+"Dm" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Ninja2";
+ name = "Dorm 2"
+ },
+/turf/open/floor/wood,
+/area/centcom/holding)
+"Dn" = (
+/obj/machinery/vending/wallmed{
+ name = "Emergency NanoMed";
+ pixel_y = 28;
+ use_power = 0
+ },
+/turf/open/floor/plasteel/white,
/area/centcom/holding)
"Do" = (
/obj/effect/turf_decal/tile/bar,
@@ -13277,14 +13434,6 @@
/obj/structure/barricade/wooden,
/turf/open/floor/engine/cult,
/area/wizard_station)
-"ED" = (
-/obj/machinery/vending/boozeomat,
-/turf/closed/indestructible{
- icon = 'icons/turf/walls/wood_wall.dmi';
- icon_state = "wood";
- smooth = 1
- },
-/area/centcom/holding)
"EE" = (
/obj/structure/closet/crate/bin,
/obj/effect/turf_decal/tile/neutral{
@@ -13495,6 +13644,19 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"Fb" = (
+/obj/structure/chair/stool,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"Fe" = (
+/turf/closed/indestructible/wood,
+/area/centcom/holding)
+"Ff" = (
+/obj/machinery/door/airlock/wood/glass{
+ name = "Cryo"
+ },
+/turf/open/floor/wood,
+/area/centcom/holding)
"Fg" = (
/obj/structure/flora/grass/brown,
/obj/effect/light_emitter,
@@ -13503,9 +13665,9 @@
"Fh" = (
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
-"Fl" = (
-/obj/structure/bedsheetbin/towel,
-/turf/open/floor/plasteel/white,
+"Fj" = (
+/obj/structure/closet/crate/bin,
+/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Fm" = (
/obj/machinery/shower{
@@ -13973,6 +14135,13 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"Gt" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/computer/slot_machine,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Gu" = (
/obj/machinery/door/airlock/silver{
name = "Shower"
@@ -14423,24 +14592,7 @@
/turf/open/floor/plasteel/white,
/area/tdome/tdomeobserve)
"Hj" = (
-/obj/machinery/light{
- dir = 8
- },
-/obj/structure/musician/piano,
-/obj/structure/sign/painting{
- pixel_x = -32
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Hk" = (
-/obj/structure/table/wood,
-/obj/item/camera/detective{
- desc = "A polaroid camera with extra capacity for social media marketing.";
- name = "Professional camera"
- },
-/obj/item/camera_film,
-/obj/item/paper_bin,
-/obj/item/pen/fountain,
+/obj/structure/bedsheetbin,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Hm" = (
@@ -14594,6 +14746,13 @@
},
/turf/open/floor/plasteel/white,
/area/tdome/tdomeobserve)
+"Hy" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Ninja3";
+ name = "Dorm 3"
+ },
+/turf/open/floor/wood,
+/area/centcom/holding)
"HA" = (
/obj/structure/sink{
dir = 8;
@@ -14653,6 +14812,13 @@
},
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
+"HE" = (
+/obj/structure/dresser,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"HF" = (
/obj/structure/sink{
dir = 4;
@@ -15515,11 +15681,8 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeadmin)
"Jq" = (
-/obj/machinery/camera{
- c_tag = "Arena";
- network = list("thunder");
- pixel_x = 10;
- resistance_flags = 64
+/obj/machinery/camera/motion/thunderdome{
+ pixel_x = 10
},
/turf/open/floor/circuit/green,
/area/tdome/arena)
@@ -15785,12 +15948,6 @@
},
/turf/open/floor/plasteel/dark,
/area/tdome/tdomeadmin)
-"JV" = (
-/obj/structure/table,
-/obj/item/stack/packageWrap,
-/obj/item/reagent_containers/glass/beaker,
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"JX" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/line{
@@ -15846,13 +16003,6 @@
},
/turf/open/floor/plasteel/dark,
/area/tdome/tdomeadmin)
-"Kf" = (
-/obj/structure/closet/secure_closet/personal/cabinet,
-/obj/item/reagent_containers/rag/towel,
-/obj/item/reagent_containers/rag/towel,
-/obj/item/reagent_containers/rag/towel,
-/turf/open/floor/carpet/red,
-/area/centcom/holding)
"Kg" = (
/turf/closed/indestructible/fakedoor{
name = "Thunderdome Admin"
@@ -15869,16 +16019,6 @@
},
/turf/open/floor/plasteel,
/area/tdome/tdomeadmin)
-"Ki" = (
-/obj/structure/closet/secure_closet/personal/cabinet{
- desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here.";
- name = "Personal ID-Locked Closet"
- },
-/obj/item/reagent_containers/rag/towel,
-/obj/item/reagent_containers/rag/towel,
-/obj/item/reagent_containers/rag/towel,
-/turf/open/floor/carpet/royalblue,
-/area/centcom/holding)
"Kj" = (
/obj/machinery/door/airlock/external{
name = "Backup Emergency Escape Shuttle"
@@ -16299,6 +16439,11 @@
},
/turf/open/floor/mineral/titanium/blue,
/area/centcom/evac)
+"Ld" = (
+/obj/structure/table,
+/obj/item/clothing/mask/luchador/rudos,
+/turf/open/floor/holofloor/wood,
+/area/holodeck/rec_center/wrestlingarena)
"Lh" = (
/obj/machinery/sleeper{
dir = 8
@@ -16311,44 +16456,29 @@
},
/turf/open/floor/mineral/titanium/blue,
/area/centcom/evac)
-"Lk" = (
-/obj/structure/table,
-/obj/item/storage/box/bodybags,
-/obj/item/storage/box/bodybags,
-/obj/item/storage/box/bodybags,
-/obj/item/storage/box/bodybags,
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
-"Ll" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/easel,
-/obj/item/canvas/twentythreeXtwentythree,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Lm" = (
-/obj/machinery/shower{
- dir = 4
- },
-/turf/open/floor/plasteel/freezer,
-/area/centcom/holding)
-"Ln" = (
-/obj/structure/toilet{
+"Lj" = (
+/obj/machinery/light{
dir = 4
},
/turf/open/floor/mineral/titanium/blue,
/area/centcom/holding)
+"Lm" = (
+/obj/structure/table,
+/obj/item/clothing/mask/luchador/tecnicos,
+/turf/open/floor/holofloor/wood,
+/area/holodeck/rec_center/wrestlingarena)
"Lp" = (
/obj/structure/chair{
dir = 4
},
/turf/open/floor/mineral/titanium/blue,
/area/centcom/evac)
-"Lr" = (
-/obj/structure/mopbucket,
-/obj/item/mop,
-/turf/open/indestructible/hotelwood,
+"Lq" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Ninja6";
+ name = "Dorm 6"
+ },
+/turf/open/floor/wood,
/area/centcom/holding)
"Ls" = (
/obj/docking_port/stationary{
@@ -16379,6 +16509,13 @@
},
/turf/open/floor/mineral/titanium/blue,
/area/centcom/evac)
+"Ly" = (
+/obj/structure/bed,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"LA" = (
/obj/structure/table,
/obj/structure/bedsheetbin,
@@ -16611,6 +16748,14 @@
},
/turf/open/floor/plasteel,
/area/tdome/arena)
+"Mj" = (
+/obj/item/bedsheet/wiz{
+ desc = "A glow in the dark blue bedsheet.";
+ name = "blue bedsheet"
+ },
+/obj/structure/bed,
+/turf/open/floor/carpet/royalblue,
+/area/centcom/holding)
"Mk" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -16620,8 +16765,22 @@
"Mm" = (
/turf/open/floor/grass,
/area/centcom/holding)
-"Ms" = (
-/obj/effect/mob_spawn/human/ghostcafe{
+"Mn" = (
+/obj/machinery/vr_sleeper/hugbox{
+ dir = 8
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"Mq" = (
+/obj/machinery/seed_extractor,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
dir = 8
},
/turf/open/indestructible/hotelwood,
@@ -16640,6 +16799,16 @@
/obj/item/storage/fancy/donut_box,
/turf/open/floor/plasteel,
/area/centcom/supplypod)
+"Mw" = (
+/obj/machinery/button/door{
+ id = "Ninja7";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Mx" = (
/obj/machinery/light{
dir = 4
@@ -16666,13 +16835,10 @@
/turf/open/floor/plating/asteroid/snow/airless,
/area/syndicate_mothership)
"Mz" = (
-/obj/structure/closet/crate,
-/obj/item/stack/sheet/paperframes/fifty,
-/obj/item/stack/sheet/paperframes/fifty,
-/obj/item/storage/fancy/candle_box,
-/obj/item/storage/fancy/candle_box,
-/obj/item/storage/fancy/candle_box,
-/obj/item/storage/box/lights/mixed,
+/obj/machinery/light{
+ dir = 1;
+ light_color = "#cee5d2"
+ },
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"MB" = (
@@ -16723,11 +16889,8 @@
"MI" = (
/turf/open/floor/plating,
/area/syndicate_mothership)
-"MJ" = (
-/obj/structure/bed,
-/obj/machinery/light/small{
- dir = 1
- },
+"ML" = (
+/obj/structure/table/wood/fancy,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"MM" = (
@@ -16740,9 +16903,13 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/supplypod)
-"MR" = (
-/obj/machinery/light{
- dir = 4
+"MQ" = (
+/obj/machinery/button/door{
+ id = "Ninja5";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_y = 25;
+ specialfunctions = 4
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
@@ -16758,6 +16925,29 @@
/obj/effect/turf_decal/tile/brown,
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
+"MW" = (
+/obj/structure/mopbucket,
+/obj/item/mop,
+/obj/structure/sink/kitchen{
+ desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
+ name = "sink";
+ pixel_y = 28
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"MX" = (
+/obj/structure/table,
+/obj/item/storage/box/bodybags,
+/obj/item/storage/box/bodybags,
+/obj/item/storage/box/bodybags,
+/obj/item/storage/box/bodybags,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
+"Na" = (
+/obj/item/paicard,
+/obj/structure/table/wood,
+/turf/open/floor/engine/cult,
+/area/wizard_station)
"Nc" = (
/obj/effect/turf_decal/tile/brown{
dir = 8
@@ -16775,7 +16965,27 @@
},
/area/centcom/holding)
"Nf" = (
-/obj/machinery/autolathe/toy,
+/obj/structure/table,
+/obj/item/storage/backpack/duffelbag/med/surgery,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
+"Ng" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/table/wood,
+/obj/item/canvas/twentythreeXtwentythree,
+/obj/item/canvas/twentythreeXtwentythree,
+/obj/item/canvas/twentythreeXtwentythree,
+/obj/item/canvas/twentythreeXnineteen,
+/obj/item/canvas/twentythreeXnineteen,
+/obj/item/canvas/twentythreeXnineteen,
+/obj/item/canvas/nineteenXnineteen,
+/obj/item/canvas/nineteenXnineteen,
+/obj/item/canvas/nineteenXnineteen,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Ni" = (
@@ -16804,24 +17014,50 @@
},
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
-"Nt" = (
-/obj/structure/bedsheetbin/color,
+"Nl" = (
+/turf/open/floor/carpet/royalblue,
+/area/centcom/holding)
+"Nn" = (
+/obj/machinery/vending/hydronutrients,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"Np" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Ninja7";
+ name = "Dorm 7"
+ },
+/turf/open/floor/wood,
+/area/centcom/holding)
+"Ns" = (
+/obj/structure/mopbucket,
+/obj/item/mop,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Nu" = (
/turf/open/floor/wood,
/area/syndicate_mothership)
+"Nv" = (
+/obj/machinery/vending/boozeomat,
+/turf/closed/indestructible{
+ icon = 'icons/turf/walls/wood_wall.dmi';
+ icon_state = "wood";
+ smooth = 1
+ },
+/area/centcom/holding)
"Nw" = (
/obj/machinery/recharge_station,
/turf/open/floor/plasteel/white,
/area/centcom/holding)
-"Nx" = (
-/obj/machinery/processor,
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"Nz" = (
/obj/effect/turf_decal/tile/brown{
dir = 8
@@ -16831,28 +17067,11 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
-"NA" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/table/wood,
-/obj/item/canvas/twentythreeXtwentythree,
-/obj/item/canvas/twentythreeXtwentythree,
-/obj/item/canvas/twentythreeXtwentythree,
-/obj/item/canvas/twentythreeXnineteen,
-/obj/item/canvas/twentythreeXnineteen,
-/obj/item/canvas/twentythreeXnineteen,
-/obj/item/canvas/nineteenXnineteen,
-/obj/item/canvas/nineteenXnineteen,
-/obj/item/canvas/nineteenXnineteen,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"NE" = (
-/obj/machinery/light{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
+"NB" = (
+/obj/structure/table,
+/obj/item/storage/belt/champion/wrestling/holodeck,
+/turf/open/floor/holofloor/wood,
+/area/holodeck/rec_center/wrestlingarena)
"NF" = (
/obj/structure/ladder/unbreakable/binary,
/turf/open/indestructible/airblock,
@@ -16868,9 +17087,14 @@
},
/turf/open/floor/plasteel,
/area/centcom/control)
-"NN" = (
-/obj/item/storage/box/bodybags,
-/obj/item/storage/box/bodybags,
+"NP" = (
+/obj/machinery/button/crematorium{
+ id = "crematoriumGhostDojo";
+ pixel_x = -25
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"NS" = (
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"NT" = (
@@ -16897,11 +17121,10 @@
/obj/machinery/vending/cola/sodie,
/turf/open/floor/plasteel,
/area/syndicate_mothership)
-"NZ" = (
-/obj/structure/table/wood/bar,
-/obj/structure/safe/floor,
-/obj/item/seeds/cherry/bomb,
-/obj/item/key/janitor,
+"NX" = (
+/obj/structure/chair/comfy/brown{
+ dir = 1
+ },
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Oa" = (
@@ -16930,15 +17153,18 @@
/obj/machinery/deepfryer,
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
-"Of" = (
-/turf/open/floor/carpet/red,
-/area/centcom/holding)
"Oh" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/floor/plasteel/dark,
/area/centcom/supplypod)
+"Oi" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
"Oj" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/centcom{
@@ -16952,9 +17178,8 @@
},
/turf/open/floor/plasteel,
/area/centcom/control)
-"Ol" = (
-/obj/structure/table/wood/fancy,
-/turf/open/indestructible/hotelwood,
+"Ok" = (
+/turf/open/indestructible/boss/air,
/area/centcom/holding)
"Om" = (
/obj/effect/turf_decal/tile/brown,
@@ -16963,9 +17188,13 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/three)
-"On" = (
-/obj/structure/sign/painting{
- pixel_x = 32
+"Oo" = (
+/obj/machinery/button/door{
+ id = "Ninja1";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_y = -25;
+ specialfunctions = 4
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
@@ -16983,23 +17212,20 @@
/mob/living/simple_animal/bot/cleanbot,
/turf/open/floor/plasteel/white,
/area/centcom/holding)
+"Oq" = (
+/obj/structure/closet/secure_closet/personal/cabinet{
+ desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here.";
+ name = "Personal ID-Locked Closet"
+ },
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Or" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
-"Os" = (
-/obj/structure/chair/wood/normal{
- dir = 1
- },
-/obj/machinery/light{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Ot" = (
-/obj/machinery/washing_machine,
-/turf/open/floor/mineral/titanium/blue,
-/area/centcom/holding)
"Ou" = (
/turf/closed/indestructible/fakedoor{
name = "Cold Storage"
@@ -17009,12 +17235,22 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel/dark,
/area/centcom/supplypod)
-"Ox" = (
-/obj/machinery/door/airlock/wood/glass{
- name = "Cryo"
+"Ow" = (
+/obj/machinery/vending/kink{
+ extended_inventory = 1
},
/turf/open/floor/wood,
/area/centcom/holding)
+"Oy" = (
+/obj/machinery/shower{
+ dir = 1
+ },
+/obj/structure/window{
+ dir = 8
+ },
+/obj/structure/curtain,
+/turf/open/floor/mineral/titanium/blue,
+/area/centcom/holding)
"Oz" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -17038,17 +17274,14 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod)
-"OG" = (
-/obj/structure/dresser,
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"OH" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plasteel/dark,
/area/centcom/supplypod)
+"OI" = (
+/obj/structure/bedsheetbin/towel,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"OL" = (
/obj/structure/mineral_door/paperframe{
name = "Dojo"
@@ -17066,14 +17299,20 @@
/obj/item/storage/box/handcuffs,
/turf/open/floor/mineral/plastitanium/red,
/area/centcom/evac)
+"OO" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 11
+ },
+/obj/structure/mirror{
+ pixel_x = 28
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/centcom/holding)
"OS" = (
/obj/structure/mecha_wreckage/mauler,
/turf/open/floor/plasteel/dark,
/area/syndicate_mothership)
-"OT" = (
-/obj/structure/table,
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
"OU" = (
/obj/item/clothing/under/costume/jabroni,
/obj/item/clothing/under/costume/geisha,
@@ -17088,47 +17327,16 @@
},
/turf/open/floor/wood,
/area/syndicate_mothership)
-"OW" = (
-/obj/structure/bedsheetbin/towel,
-/obj/machinery/light{
- dir = 8
- },
-/turf/open/floor/mineral/titanium/blue,
-/area/centcom/holding)
"OZ" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/plating,
/area/syndicate_mothership)
-"Pc" = (
-/obj/structure/sink/kitchen{
- desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
- name = "sink";
- pixel_y = 28
- },
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/obj/item/paper/guides/jobs/hydroponics,
-/obj/item/book/manual/hydroponics_pod_people,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Pg" = (
/obj/machinery/light{
dir = 1
},
/turf/open/floor/plasteel/dark,
/area/centcom/supplypod)
-"Ph" = (
-/obj/structure/closet/crate/bin,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Pl" = (
/obj/structure/window/reinforced,
/obj/structure/window/reinforced{
@@ -17147,6 +17355,14 @@
},
/turf/open/indestructible/boss/air,
/area/centcom/holding)
+"Pp" = (
+/obj/structure/table,
+/obj/machinery/microwave{
+ pixel_x = -3;
+ pixel_y = 6
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/centcom/holding)
"Pr" = (
/obj/structure/table,
/obj/item/book/manual/chef_recipes,
@@ -17170,6 +17386,15 @@
/obj/machinery/light/small,
/turf/open/floor/wood,
/area/syndicate_mothership)
+"Px" = (
+/obj/machinery/shower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
+"Pz" = (
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
"PA" = (
/obj/structure/window/reinforced{
dir = 4
@@ -17179,13 +17404,8 @@
"PD" = (
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
-"PG" = (
-/obj/structure/table/reinforced,
-/obj/item/camera,
-/turf/open/floor/plasteel,
-/area/centcom/supplypod)
-"PI" = (
-/obj/machinery/biogenerator,
+"PE" = (
+/obj/machinery/vending/hydroseeds,
/obj/effect/turf_decal/tile/green{
dir = 1
},
@@ -17198,6 +17418,28 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"PG" = (
+/obj/structure/table/reinforced,
+/obj/item/camera,
+/turf/open/floor/plasteel,
+/area/centcom/supplypod)
+"PI" = (
+/obj/structure/table,
+/obj/machinery/reagentgrinder,
+/obj/item/reagent_containers/glass/beaker/large,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/machinery/light,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"PJ" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -17205,17 +17447,16 @@
/turf/open/floor/plating,
/area/syndicate_mothership)
"PL" = (
-/obj/machinery/autolathe,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"PM" = (
-/obj/machinery/vending/clothing{
- extended_inventory = 1
+/obj/machinery/light{
+ dir = 8
},
-/turf/open/floor/wood,
+/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"PO" = (
/obj/machinery/hydroponics/constructable,
+/obj/machinery/light{
+ dir = 8
+ },
/obj/effect/turf_decal/tile/green{
dir = 1
},
@@ -17234,11 +17475,6 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
-"PQ" = (
-/obj/structure/closet/secure_closet,
-/obj/item/coin/silver,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"PS" = (
/obj/machinery/computer/shuttle/syndicate/recall,
/obj/effect/turf_decal/tile/bar,
@@ -17268,6 +17504,9 @@
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"PY" = (
+/obj/structure/closet/secure_closet/hydroponics{
+ locked = 0
+ },
/obj/effect/turf_decal/tile/green{
dir = 1
},
@@ -17278,6 +17517,10 @@
/obj/effect/turf_decal/tile/green{
dir = 8
},
+/obj/item/seeds/ambrosia/gaia,
+/obj/item/seeds/ambrosia/gaia,
+/obj/item/seeds/pumpkin/blumpkin,
+/obj/item/seeds/pumpkin/blumpkin,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"PZ" = (
@@ -17294,18 +17537,20 @@
},
/turf/open/floor/mineral/titanium,
/area/centcom/evac)
-"Qc" = (
-/obj/effect/landmark/mafia_game_area,
-/turf/open/space/basic,
-/area/space)
+"Qd" = (
+/obj/structure/table/optable,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"Qe" = (
/turf/open/ai_visible,
/area/ai_multicam_room)
-"Qi" = (
-/obj/item/paicard,
-/obj/structure/table/wood,
-/turf/open/floor/engine/cult,
-/area/wizard_station)
+"Qh" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Ninja1";
+ name = "Dorm 1"
+ },
+/turf/open/floor/wood,
+/area/centcom/holding)
"Qk" = (
/obj/structure/flora/ausbushes/fullgrass,
/obj/structure/flora/ausbushes/ppflowers,
@@ -17313,31 +17558,27 @@
/obj/structure/window/reinforced/fulltile,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Ql" = (
-/obj/machinery/light,
-/obj/effect/landmark/holding_facility,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Qm" = (
/obj/singularity/wizard/mapped,
/turf/open/indestructible/binary,
/area/fabric_of_reality)
"Qn" = (
-/obj/machinery/vr_sleeper/hugbox{
- dir = 8
- },
+/obj/machinery/door/airlock/wood,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Qo" = (
/turf/open/floor/mineral/plastitanium/red,
/area/centcom/evac)
-"Qp" = (
-/obj/structure/bedsheetbin,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Qq" = (
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
+"Qs" = (
+/obj/structure/table/wood/bar,
+/obj/structure/safe/floor,
+/obj/item/seeds/cherry/bomb,
+/obj/item/key/janitor,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Qt" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/food/snacks/pizzaslice/mushroom,
@@ -17347,20 +17588,33 @@
},
/turf/open/floor/plasteel,
/area/syndicate_mothership)
-"Qu" = (
-/obj/machinery/door/airlock/wood/glass{
- name = "Dorms"
- },
-/turf/open/floor/wood,
-/area/centcom/holding)
"Qw" = (
-/turf/open/floor/plasteel/freezer,
-/area/centcom/holding)
+/obj/structure/table,
+/obj/item/clothing/gloves/boxing,
+/obj/item/clothing/gloves/boxing/blue,
+/obj/item/clothing/gloves/boxing/green,
+/obj/item/clothing/gloves/boxing/yellow,
+/turf/open/floor/holofloor/wood,
+/area/holodeck/rec_center/wrestlingarena)
"Qy" = (
-/obj/structure/closet/crate/bin,
-/turf/open/floor/plasteel/white,
+/obj/structure/table/wood/fancy/royalblue,
+/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Qz" = (
+"QA" = (
+/obj/machinery/deepfryer,
+/turf/open/floor/plasteel/cafeteria,
+/area/centcom/holding)
+"QB" = (
+/obj/machinery/computer/telecrystals/uplinker,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/mineral/plastitanium/red,
+/area/syndicate_mothership)
+"QE" = (
+/turf/open/floor/plasteel,
+/area/centcom/supplypod)
+"QF" = (
/obj/item/coin/silver,
/obj/item/coin/silver,
/obj/item/coin/silver,
@@ -17379,42 +17633,6 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"QA" = (
-/obj/machinery/deepfryer,
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
-"QB" = (
-/obj/machinery/computer/telecrystals/uplinker,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/mineral/plastitanium/red,
-/area/syndicate_mothership)
-"QC" = (
-/obj/machinery/door/airlock/wood{
- name = "Bathroom"
- },
-/turf/open/floor/mineral/titanium/blue,
-/area/centcom/holding)
-"QE" = (
-/turf/open/floor/plasteel,
-/area/centcom/supplypod)
-"QF" = (
-/obj/machinery/button/door{
- id = "Ninja3";
- name = "Dorm Bolt Control";
- normaldoorcontrol = 1;
- pixel_y = -25;
- specialfunctions = 4
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"QJ" = (
-/obj/structure/sign/barsign{
- pixel_y = 32
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"QK" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
@@ -17426,11 +17644,18 @@
/obj/structure/window/reinforced/fulltile,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"QN" = (
-/obj/machinery/light{
- dir = 4
+"QM" = (
+/obj/effect/mob_spawn/human/ghostcafe{
+ dir = 8
},
-/turf/open/floor/mineral/titanium/blue,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"QN" = (
+/obj/structure/closet/secure_closet/personal/cabinet,
+/obj/item/reagent_containers/rag/towel,
+/obj/item/reagent_containers/rag/towel,
+/obj/item/reagent_containers/rag/towel,
+/turf/open/floor/carpet/red,
/area/centcom/holding)
"QP" = (
/obj/machinery/computer/mech_bay_power_console{
@@ -17450,6 +17675,15 @@
/obj/item/storage/box/donkpockets,
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
+"QS" = (
+/obj/structure/chair/wood/normal{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"QT" = (
/obj/machinery/chem_dispenser/drinks,
/turf/closed/indestructible{
@@ -17501,26 +17735,6 @@
},
/turf/open/floor/grass,
/area/centcom/holding)
-"Ri" = (
-/obj/structure/chair/wood/normal{
- dir = 1
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Rj" = (
-/obj/machinery/vending/hydroseeds,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Rl" = (
/obj/structure/mirror{
pixel_x = -28
@@ -17535,39 +17749,14 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Ro" = (
-/obj/structure/closet{
- anchored = 1;
- desc = "A storage unit for plasmaman internals, courtesy of the Spider Clan.";
- icon_state = "emergency";
- name = "Plasmaman emergency closet"
- },
-/obj/item/clothing/mask/breath,
-/obj/item/clothing/mask/breath,
-/obj/item/clothing/mask/breath,
-/obj/item/clothing/mask/breath,
-/obj/item/clothing/mask/breath,
-/obj/item/tank/internals/plasmaman/belt/full,
-/obj/item/tank/internals/plasmaman/belt/full,
-/obj/item/tank/internals/plasmaman/belt/full,
-/obj/item/tank/internals/plasmaman/belt/full,
-/obj/item/tank/internals/plasmaman/belt/full,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Rq" = (
-/obj/machinery/light{
- dir = 1;
- light_color = "#cee5d2"
- },
-/turf/open/indestructible/hotelwood,
+/obj/machinery/washing_machine,
+/turf/open/floor/mineral/titanium/blue,
/area/centcom/holding)
"Ru" = (
-/obj/structure/fireplace,
-/turf/open/floor/carpet/red,
-/area/centcom/holding)
-"Rv" = (
-/obj/structure/dresser,
-/turf/open/floor/carpet/royalblue,
+/obj/structure/table,
+/obj/item/storage/backpack/duffelbag/med/surgery,
+/turf/open/floor/plasteel/white,
/area/centcom/holding)
"Rz" = (
/obj/effect/turf_decal/loading_area,
@@ -17583,48 +17772,12 @@
},
/turf/open/floor/holofloor,
/area/holodeck/rec_center/basketball)
-"RK" = (
-/obj/structure/closet/crate/freezer/blood,
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
-"RL" = (
-/obj/machinery/vending/cola,
+"RM" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479"
+ },
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"RN" = (
-/obj/structure/table,
-/obj/machinery/reagentgrinder,
-/obj/item/reagent_containers/glass/beaker/large,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/obj/machinery/light,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"RO" = (
-/obj/machinery/shower{
- dir = 1
- },
-/obj/structure/window{
- dir = 8
- },
-/obj/structure/curtain,
-/turf/open/floor/mineral/titanium/blue,
-/area/centcom/holding)
-"RP" = (
-/obj/machinery/door/airlock/wood{
- id_tag = "Ninja4";
- name = "Dorm 4"
- },
-/turf/open/floor/wood,
-/area/centcom/holding)
"RQ" = (
/obj/item/kirbyplants{
icon_state = "plant-21";
@@ -17647,12 +17800,6 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"RX" = (
-/obj/structure/chair/comfy/brown{
- color = "#596479"
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"RZ" = (
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
@@ -17671,6 +17818,9 @@
/turf/open/floor/plasteel/dark,
/area/syndicate_mothership)
"Sd" = (
+/obj/structure/sign/painting{
+ pixel_x = 32
+ },
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Sf" = (
@@ -17698,13 +17848,6 @@
/obj/item/toy/nuke,
/turf/open/floor/wood,
/area/syndicate_mothership)
-"Sj" = (
-/obj/machinery/vending/autodrobe{
- extended_inventory = 1
- },
-/obj/machinery/light,
-/turf/open/floor/wood,
-/area/centcom/holding)
"So" = (
/obj/structure/chair/wood/wings{
dir = 4
@@ -17714,21 +17857,15 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Sw" = (
-/obj/machinery/hydroponics/constructable,
-/obj/machinery/light{
- dir = 8
- },
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
+"St" = (
+/obj/machinery/shower{
dir = 4
},
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
+"Sv" = (
+/obj/structure/closet/secure_closet,
+/obj/item/coin/silver,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Sy" = (
@@ -17755,6 +17892,13 @@
/obj/item/mop,
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
+"SE" = (
+/obj/structure/chair/wood/normal,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"SF" = (
/obj/effect/turf_decal/tile/brown{
dir = 1
@@ -17764,14 +17908,6 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod)
-"SG" = (
-/obj/structure/table,
-/obj/machinery/microwave{
- pixel_x = -3;
- pixel_y = 6
- },
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"SH" = (
/obj/effect/turf_decal/tile/green{
dir = 8
@@ -17789,6 +17925,13 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
+"SM" = (
+/obj/machinery/vending/autodrobe{
+ extended_inventory = 1
+ },
+/obj/machinery/light,
+/turf/open/floor/wood,
+/area/centcom/holding)
"SN" = (
/obj/structure/mopbucket,
/obj/item/mop,
@@ -17798,16 +17941,12 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/space/basic,
/area/centcom/supplypod)
-"SR" = (
-/obj/machinery/door/airlock/wood{
- id_tag = "Ninja7";
- name = "Dorm 7"
+"SU" = (
+/obj/machinery/light{
+ dir = 4
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"ST" = (
-/turf/open/floor/mineral/titanium/blue,
-/area/centcom/holding)
"SV" = (
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
@@ -17817,7 +17956,14 @@
/turf/open/floor/plasteel,
/area/syndicate_mothership)
"SW" = (
-/obj/machinery/seed_extractor,
+/obj/structure/closet/crate/hydroponics,
+/obj/item/shovel/spade,
+/obj/item/wirecutters,
+/obj/item/wrench,
+/obj/item/watertank,
+/obj/item/cultivator,
+/obj/item/reagent_containers/glass/bucket,
+/obj/item/reagent_containers/glass/bucket,
/obj/effect/turf_decal/tile/green{
dir = 1
},
@@ -17834,28 +17980,18 @@
/obj/structure/table/wood,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"SZ" = (
-/obj/machinery/door/airlock/wood{
- id_tag = "Ninja3";
- name = "Dorm 3"
- },
-/turf/open/floor/wood,
-/area/centcom/holding)
-"Tc" = (
-/obj/machinery/button/door{
- id = "Ninja2";
- name = "Dorm Bolt Control";
- normaldoorcontrol = 1;
- pixel_y = -25;
- specialfunctions = 4
- },
-/turf/open/indestructible/hotelwood,
+"Td" = (
+/obj/structure/fireplace,
+/turf/open/floor/carpet/red,
/area/centcom/holding)
"Tf" = (
-/obj/machinery/shower{
- dir = 8
- },
-/turf/open/floor/plasteel/freezer,
+/obj/machinery/light,
+/obj/effect/landmark/holding_facility,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"Tg" = (
+/obj/structure/closet/crate/bin,
+/turf/open/floor/plasteel/white,
/area/centcom/holding)
"Tj" = (
/obj/effect/turf_decal/tile/bar,
@@ -17875,26 +18011,14 @@
"To" = (
/turf/open/indestructible/airblock,
/area/fabric_of_reality)
-"Tq" = (
-/obj/structure/table/wood/bar,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/sheet/metal/fifty,
-/obj/item/storage/toolbox/mechanical,
-/obj/item/stack/sheet/plastic/fifty,
-/obj/item/multitool,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Tr" = (
/obj/structure/closet/chefcloset,
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
-"Tt" = (
-/obj/structure/toilet{
+"Ts" = (
+/obj/machinery/light{
dir = 4
},
-/obj/structure/window/reinforced/tinted{
- dir = 1
- },
/turf/open/floor/plasteel/white,
/area/centcom/holding)
"Tu" = (
@@ -17905,38 +18029,6 @@
/obj/structure/window/reinforced/fulltile,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Tw" = (
-/obj/structure/closet{
- anchored = 1;
- name = "Plasmaman suits"
- },
-/obj/item/clothing/under/plasmaman,
-/obj/item/clothing/under/plasmaman,
-/obj/item/clothing/under/plasmaman,
-/obj/item/clothing/under/plasmaman,
-/obj/item/clothing/under/plasmaman,
-/obj/item/clothing/head/helmet/space/plasmaman,
-/obj/item/clothing/head/helmet/space/plasmaman,
-/obj/item/clothing/head/helmet/space/plasmaman,
-/obj/item/clothing/head/helmet/space/plasmaman,
-/obj/item/clothing/head/helmet/space/plasmaman,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Tx" = (
-/obj/machinery/plantgenes/seedvault,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/obj/structure/table,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Tz" = (
/obj/effect/light_emitter,
/turf/open/floor/plating/asteroid/snow/airless,
@@ -17951,17 +18043,9 @@
/obj/structure/reagent_dispensers/cooking_oil,
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
-"TC" = (
-/obj/machinery/light,
-/turf/open/floor/plasteel/freezer,
-/area/centcom/holding)
"TD" = (
-/obj/machinery/light{
- dir = 4
- },
-/obj/structure/sign/painting{
- pixel_x = 32
- },
+/obj/structure/table/wood,
+/obj/machinery/computer/libraryconsole/bookmanagement,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"TF" = (
@@ -17973,15 +18057,12 @@
},
/turf/open/floor/holofloor,
/area/holodeck/rec_center/basketball)
-"TG" = (
-/obj/machinery/light{
- dir = 8
+"TJ" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Ninja5";
+ name = "Dorm 5"
},
-/obj/structure/window/reinforced/tinted{
- dir = 1
- },
-/obj/machinery/washing_machine,
-/turf/open/floor/plasteel/white,
+/turf/open/floor/wood,
/area/centcom/holding)
"TM" = (
/mob/living/simple_animal/bot/medbot{
@@ -18008,24 +18089,46 @@
},
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
-"TY" = (
-/obj/machinery/light{
- dir = 1
+"TS" = (
+/obj/structure/closet{
+ anchored = 1;
+ name = "Plasmaman suits"
},
-/obj/item/soap,
-/obj/item/soap,
-/obj/item/soap,
-/obj/item/janiupgrade,
-/obj/vehicle/ridden/janicart,
+/obj/item/clothing/under/plasmaman,
+/obj/item/clothing/under/plasmaman,
+/obj/item/clothing/under/plasmaman,
+/obj/item/clothing/under/plasmaman,
+/obj/item/clothing/under/plasmaman,
+/obj/item/clothing/head/helmet/space/plasmaman,
+/obj/item/clothing/head/helmet/space/plasmaman,
+/obj/item/clothing/head/helmet/space/plasmaman,
+/obj/item/clothing/head/helmet/space/plasmaman,
+/obj/item/clothing/head/helmet/space/plasmaman,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"TV" = (
+/obj/structure/table,
+/obj/item/stack/packageWrap,
+/obj/item/reagent_containers/glass/beaker,
+/turf/open/floor/plasteel/cafeteria,
+/area/centcom/holding)
+"TY" = (
+/obj/structure/bedsheetbin/color,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"TZ" = (
+/obj/machinery/sleeper{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"Uc" = (
-/obj/machinery/vending/sustenance,
+/obj/structure/bodycontainer/crematorium{
+ dir = 4;
+ id = "crematoriumGhostDojo"
+ },
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Ud" = (
-/turf/closed/indestructible/wood,
-/area/centcom/holding)
"Ug" = (
/obj/machinery/door/poddoor/shuttledock{
checkdir = 1;
@@ -18045,11 +18148,6 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Ui" = (
-/obj/structure/table,
-/obj/item/clothing/mask/luchador/tecnicos,
-/turf/open/floor/holofloor/wood,
-/area/holodeck/rec_center/wrestlingarena)
"Uj" = (
/obj/machinery/door/airlock/centcom{
name = "Restroom";
@@ -18058,23 +18156,7 @@
/turf/open/floor/plasteel,
/area/syndicate_mothership)
"Uk" = (
-/obj/structure/closet/crate,
-/obj/item/vending_refill/autodrobe,
-/obj/item/vending_refill/autodrobe,
-/obj/item/vending_refill/boozeomat,
-/obj/item/vending_refill/boozeomat,
-/obj/item/vending_refill/cigarette,
-/obj/item/vending_refill/cigarette,
-/obj/item/vending_refill/clothing,
-/obj/item/vending_refill/coffee,
-/obj/item/vending_refill/coffee,
-/obj/item/vending_refill/cola,
-/obj/item/vending_refill/cola,
-/obj/item/vending_refill/wallmed,
-/obj/item/vending_refill/wallmed,
-/obj/item/vending_refill/snack,
-/obj/item/vending_refill/snack,
-/turf/open/indestructible/hotelwood,
+/turf/open/floor/mineral/titanium/blue,
/area/centcom/holding)
"Ul" = (
/obj/structure/table,
@@ -18083,15 +18165,27 @@
},
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
-"Um" = (
-/obj/structure/closet/crate/hydroponics,
-/obj/item/shovel/spade,
-/obj/item/wirecutters,
-/obj/item/wrench,
-/obj/item/watertank,
-/obj/item/cultivator,
-/obj/item/reagent_containers/glass/bucket,
-/obj/item/reagent_containers/glass/bucket,
+"Un" = (
+/obj/machinery/door/airlock/centcom{
+ name = "Thunderdome";
+ req_access_txt = "101"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/turf/open/floor/plasteel,
+/area/tdome/tdomeobserve)
+"Uq" = (
+/obj/machinery/button/door{
+ id = "Ninja2";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_y = -25;
+ specialfunctions = 4
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"Ur" = (
+/obj/machinery/hydroponics/constructable,
/obj/effect/turf_decal/tile/green{
dir = 1
},
@@ -18104,29 +18198,6 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Un" = (
-/obj/machinery/door/airlock/centcom{
- name = "Thunderdome";
- req_access_txt = "101"
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/turf/open/floor/plasteel,
-/area/tdome/tdomeobserve)
-"Uq" = (
-/obj/structure/table/wood,
-/obj/item/soap,
-/obj/item/soap,
-/obj/item/soap,
-/obj/item/lightreplacer,
-/obj/item/lightreplacer,
-/obj/item/storage/bag/trash,
-/obj/item/storage/bag/trash,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Ur" = (
-/turf/open/floor/carpet/royalblue,
-/area/centcom/holding)
"Uu" = (
/obj/machinery/light{
dir = 8
@@ -18143,30 +18214,19 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/centcom/evac)
+"Ux" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"Uy" = (
/obj/structure/flora/bush,
/obj/effect/light_emitter,
/turf/open/floor/plating/asteroid/snow/airless,
/area/syndicate_mothership)
-"Uz" = (
-/obj/structure/table,
-/obj/machinery/dish_drive,
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"UC" = (
/obj/machinery/vending/cola,
/turf/open/floor/plasteel,
/area/centcom/supplypod)
-"UD" = (
-/obj/structure/closet/secure_closet/personal/cabinet{
- desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here.";
- name = "Personal ID-Locked Closet"
- },
-/obj/item/coin/silver,
-/obj/item/coin/silver,
-/obj/item/coin/silver,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"UE" = (
/obj/structure/chair/stool/bar,
/turf/open/indestructible/hotelwood,
@@ -18177,6 +18237,13 @@
/obj/effect/light_emitter,
/turf/open/floor/plating/asteroid/snow/airless,
/area/syndicate_mothership)
+"UI" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Ninja4";
+ name = "Dorm 4"
+ },
+/turf/open/floor/wood,
+/area/centcom/holding)
"UL" = (
/obj/effect/turf_decal/tile/brown,
/obj/effect/turf_decal/tile/brown{
@@ -18187,17 +18254,6 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod)
-"UN" = (
-/obj/structure/mirror{
- pixel_y = 28
- },
-/obj/structure/sink{
- dir = 1;
- pixel_y = 25
- },
-/mob/living/simple_animal/bot/cleanbot,
-/turf/open/floor/mineral/titanium/blue,
-/area/centcom/holding)
"UO" = (
/obj/machinery/door/airlock/centcom{
name = "CentCom Security";
@@ -18211,6 +18267,10 @@
},
/turf/open/floor/plasteel,
/area/centcom/control)
+"UP" = (
+/obj/structure/chair/comfy/brown,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"UQ" = (
/obj/effect/turf_decal/tile/brown,
/obj/effect/turf_decal/tile/brown{
@@ -18221,16 +18281,21 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/one)
-"US" = (
-/obj/machinery/gibber,
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"UT" = (
/obj/structure/chair/wood/wings{
dir = 1
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"UU" = (
+/obj/structure/table/wood/bar,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/stack/sheet/plastic/fifty,
+/obj/item/multitool,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"UV" = (
/obj/machinery/computer/arcade,
/turf/open/indestructible/hotelwood,
@@ -18292,11 +18357,11 @@
/obj/structure/window/reinforced/tinted,
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
-"Vk" = (
-/obj/structure/table,
-/obj/item/storage/belt/champion/wrestling/holodeck,
-/turf/open/floor/holofloor/wood,
-/area/holodeck/rec_center/wrestlingarena)
+"Vn" = (
+/obj/item/storage/box/bodybags,
+/obj/item/storage/box/bodybags,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Vt" = (
/obj/item/paper/fluff/stations/centcom/disk_memo,
/obj/structure/noticeboard{
@@ -18359,6 +18424,16 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/one)
+"VC" = (
+/obj/machinery/button/door{
+ id = "Ninja6";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_y = 25;
+ specialfunctions = 4
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"VF" = (
/obj/structure/rack,
/obj/item/nullrod/scythe/vibro{
@@ -18367,11 +18442,16 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"VL" = (
-/obj/machinery/button/crematorium{
- id = "crematoriumGhostDojo";
- pixel_x = -25
- },
+"VH" = (
+/obj/machinery/vending/sustenance,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"VI" = (
+/obj/machinery/autolathe,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"VK" = (
+/obj/machinery/vending/clothing,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"VO" = (
@@ -18406,6 +18486,10 @@
/obj/effect/landmark/shuttle_import,
/turf/open/space/basic,
/area/space)
+"VY" = (
+/obj/machinery/vending/cola,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Wb" = (
/obj/machinery/door/window/westleft,
/turf/open/indestructible/boss/air,
@@ -18423,6 +18507,10 @@
},
/turf/open/floor/plasteel,
/area/centcom/evac)
+"We" = (
+/obj/machinery/vending/coffee,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Wi" = (
/obj/effect/turf_decal/tile/brown,
/obj/effect/turf_decal/tile/brown{
@@ -18440,58 +18528,38 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
-"Wl" = (
-/obj/machinery/door/airlock/wood,
-/turf/open/indestructible/hotelwood,
+"Wp" = (
+/obj/machinery/processor,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/centcom/holding)
+"Wq" = (
+/obj/machinery/gibber,
+/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
"Wr" = (
/turf/open/floor/plasteel/dark,
/area/centcom/supplypod)
-"Ws" = (
-/obj/machinery/door/airlock/wood{
- id_tag = "Ninja6";
- name = "Dorm 6"
+"Wu" = (
+/obj/effect/turf_decal/tile/green{
+ dir = 1
},
-/turf/open/floor/wood,
-/area/centcom/holding)
-"Ww" = (
-/obj/structure/bodycontainer/crematorium{
- dir = 4;
- id = "crematoriumGhostDojo"
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Wx" = (
-/obj/structure/table,
-/obj/item/clothing/mask/luchador,
-/turf/open/floor/holofloor/wood,
-/area/holodeck/rec_center/wrestlingarena)
-"Wz" = (
-/obj/structure/table,
-/obj/item/storage/backpack/duffelbag/med/surgery,
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
"WC" = (
/obj/structure/table/reinforced,
/obj/item/pen,
/turf/open/floor/mineral/plastitanium/red,
/area/centcom/evac)
-"WD" = (
-/obj/structure/mopbucket,
-/obj/item/mop,
-/obj/structure/sink/kitchen{
- desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
- name = "sink";
- pixel_y = 28
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"WE" = (
-/obj/machinery/vending/kink{
- extended_inventory = 1
- },
-/turf/open/floor/wood,
-/area/centcom/holding)
"WH" = (
/obj/structure/table/reinforced,
/obj/item/reagent_containers/food/drinks/bottle/whiskey{
@@ -18523,16 +18591,6 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"WN" = (
-/obj/machinery/button/door{
- id = "Ninja6";
- name = "Dorm Bolt Control";
- normaldoorcontrol = 1;
- pixel_y = 25;
- specialfunctions = 4
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"WO" = (
/obj/effect/turf_decal/tile/brown,
/obj/effect/turf_decal/tile/brown{
@@ -18554,27 +18612,44 @@
},
/turf/open/floor/plasteel,
/area/centcom/ferry)
+"WR" = (
+/obj/structure/bed,
+/obj/item/bedsheet/syndie,
+/obj/effect/landmark/holding_facility,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"WS" = (
/obj/structure/closet/syndicate/personal,
/turf/open/floor/wood,
/area/syndicate_mothership)
"WV" = (
-/obj/structure/bed,
-/obj/item/bedsheet/hos{
- desc = "A fancy red bedsheet.";
- name = "red bedsheet"
+/obj/machinery/vending/cigarette,
+/obj/machinery/light{
+ dir = 4
},
-/turf/open/floor/carpet/red,
+/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"WW" = (
/obj/machinery/processor,
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
-"WY" = (
-/obj/machinery/vending/cigarette,
-/obj/machinery/light{
- dir = 4
- },
+"Xb" = (
+/obj/structure/closet/crate,
+/obj/item/vending_refill/autodrobe,
+/obj/item/vending_refill/autodrobe,
+/obj/item/vending_refill/boozeomat,
+/obj/item/vending_refill/boozeomat,
+/obj/item/vending_refill/cigarette,
+/obj/item/vending_refill/cigarette,
+/obj/item/vending_refill/clothing,
+/obj/item/vending_refill/coffee,
+/obj/item/vending_refill/coffee,
+/obj/item/vending_refill/cola,
+/obj/item/vending_refill/cola,
+/obj/item/vending_refill/wallmed,
+/obj/item/vending_refill/wallmed,
+/obj/item/vending_refill/snack,
+/obj/item/vending_refill/snack,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Xd" = (
@@ -18584,23 +18659,6 @@
/obj/structure/window/reinforced/fulltile,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Xe" = (
-/obj/machinery/vending/autodrobe,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Xf" = (
-/obj/structure/table/wood/bar,
-/obj/structure/mirror{
- pixel_y = 28
- },
-/obj/item/lightreplacer,
-/obj/item/lightreplacer,
-/obj/item/lightreplacer,
-/obj/item/storage/bag/trash,
-/obj/item/storage/bag/trash,
-/obj/item/storage/bag/trash,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Xg" = (
/obj/effect/turf_decal/tile/red{
dir = 4
@@ -18613,6 +18671,15 @@
},
/turf/open/floor/holofloor,
/area/holodeck/rec_center/basketball)
+"Xk" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/centcom/holding)
"Xl" = (
/obj/structure/closet/syndicate/personal,
/obj/effect/turf_decal/stripes/line{
@@ -18620,9 +18687,14 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/syndicate_mothership)
-"Xn" = (
-/obj/structure/bed,
-/obj/item/bedsheet/random,
+"Xm" = (
+/obj/machinery/button/door{
+ id = "Ninja4";
+ name = "Dorm Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_y = 25;
+ specialfunctions = 4
+ },
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Xo" = (
@@ -18646,10 +18718,6 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/four)
-"Xs" = (
-/obj/structure/chair/comfy/brown,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Xt" = (
/obj/machinery/door/airlock/centcom{
name = "CentCom Security";
@@ -18669,10 +18737,6 @@
/obj/effect/turf_decal/tile/green,
/turf/open/floor/holofloor,
/area/holodeck/rec_center/firingrange)
-"Xw" = (
-/obj/structure/table/wood/fancy/royalblue,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Xy" = (
/obj/machinery/door/airlock/external{
name = "Ferry Airlock"
@@ -18685,16 +18749,6 @@
},
/turf/open/floor/plasteel,
/area/centcom/ferry)
-"XD" = (
-/obj/machinery/button/door{
- id = "Ninja4";
- name = "Dorm Bolt Control";
- normaldoorcontrol = 1;
- pixel_y = 25;
- specialfunctions = 4
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"XE" = (
/obj/machinery/door/airlock/centcom{
name = "Kitchen";
@@ -18712,25 +18766,8 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"XS" = (
-/obj/structure/closet/secure_closet/hydroponics{
- locked = 0
- },
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/obj/item/seeds/ambrosia/gaia,
-/obj/item/seeds/ambrosia/gaia,
-/obj/item/seeds/pumpkin/blumpkin,
-/obj/item/seeds/pumpkin/blumpkin,
-/turf/open/indestructible/hotelwood,
+"XN" = (
+/turf/open/floor/carpet/red,
/area/centcom/holding)
"XT" = (
/obj/structure/table/wood,
@@ -18743,6 +18780,12 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/centcom/evac)
+"XW" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -27
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"XX" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/food/drinks/bottle/sake,
@@ -18755,14 +18798,8 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
-"Ya" = (
-/obj/machinery/button/door{
- id = "Ninja1";
- name = "Dorm Bolt Control";
- normaldoorcontrol = 1;
- pixel_y = -25;
- specialfunctions = 4
- },
+"XZ" = (
+/obj/effect/landmark/holding_facility,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Yc" = (
@@ -18794,30 +18831,14 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
-"Yh" = (
-/obj/structure/extinguisher_cabinet{
- pixel_x = -27
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Yi" = (
/obj/structure/dresser,
/turf/open/floor/plasteel/dark,
/area/syndicate_mothership)
-"Yj" = (
-/obj/structure/table/optable,
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
"Ym" = (
/obj/machinery/computer/arcade/orion_trail,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Yo" = (
-/obj/machinery/light{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Ys" = (
/obj/structure/table/reinforced,
/turf/open/floor/mineral/plastitanium/red,
@@ -18839,11 +18860,6 @@
},
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
-"Yv" = (
-/obj/structure/table,
-/obj/item/clothing/mask/luchador/rudos,
-/turf/open/floor/holofloor/wood,
-/area/holodeck/rec_center/wrestlingarena)
"Yw" = (
/turf/closed/indestructible/fakedoor{
name = "External Access"
@@ -18853,9 +18869,23 @@
/obj/machinery/door/airlock/titanium,
/turf/open/floor/mineral/titanium,
/area/centcom/evac)
-"YC" = (
-/turf/open/floor/holofloor/wood,
-/area/holodeck/rec_center/wrestlingarena)
+"Yz" = (
+/obj/structure/chair/comfy/brown{
+ color = "#596479";
+ dir = 1
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"YF" = (
+/obj/machinery/vending/clothing{
+ extended_inventory = 1
+ },
+/turf/open/floor/wood,
+/area/centcom/holding)
+"YH" = (
+/obj/item/hilbertshotel/ghostdojo,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"YJ" = (
/obj/item/reagent_containers/food/condiment/enzyme,
/obj/item/reagent_containers/food/drinks/shaker,
@@ -18864,10 +18894,6 @@
/obj/structure/closet/crate,
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
-"YL" = (
-/obj/machinery/vending/clothing,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"YN" = (
/obj/structure/window/reinforced{
dir = 8
@@ -18875,10 +18901,24 @@
/mob/living/simple_animal/chicken,
/turf/open/floor/grass,
/area/centcom/holding)
-"YO" = (
-/obj/structure/chair/comfy/brown{
+"YP" = (
+/obj/structure/sink/kitchen{
+ desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
+ name = "sink";
+ pixel_y = 28
+ },
+/obj/effect/turf_decal/tile/green{
dir = 1
},
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/item/paper/guides/jobs/hydroponics,
+/obj/item/book/manual/hydroponics_pod_people,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"YU" = (
@@ -18929,17 +18969,24 @@
/turf/open/floor/plasteel,
/area/centcom/supplypod)
"Zl" = (
-/obj/structure/table,
-/obj/item/clothing/gloves/boxing,
-/obj/item/clothing/gloves/boxing/blue,
-/obj/item/clothing/gloves/boxing/green,
-/obj/item/clothing/gloves/boxing/yellow,
-/turf/open/floor/holofloor/wood,
-/area/holodeck/rec_center/wrestlingarena)
+/obj/structure/bed/dogbed,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Zr" = (
/obj/machinery/light,
/turf/open/floor/plasteel/dark,
/area/syndicate_mothership)
+"Zv" = (
+/obj/structure/closet,
+/obj/item/storage/backpack/duffelbag/med/surgery,
+/obj/machinery/iv_drip,
+/obj/item/roller,
+/obj/item/storage/firstaid/regular,
+/obj/item/reagent_containers/medspray/synthflesh,
+/obj/item/reagent_containers/medspray/synthflesh,
+/obj/item/reagent_containers/medspray/synthflesh,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"Zw" = (
/obj/structure/bed,
/obj/item/bedsheet/syndie,
@@ -18958,20 +19005,6 @@
/obj/effect/landmark/start/nukeop_leader,
/turf/open/floor/wood,
/area/syndicate_mothership)
-"ZB" = (
-/obj/effect/landmark/holding_facility,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"ZE" = (
-/obj/structure/sink{
- dir = 4;
- pixel_x = 11
- },
-/obj/structure/mirror{
- pixel_x = 28
- },
-/turf/open/floor/mineral/titanium/blue,
-/area/centcom/holding)
"ZF" = (
/obj/effect/turf_decal/tile/brown,
/obj/effect/turf_decal/tile/brown{
@@ -19008,26 +19041,6 @@
/turf/open/floor/mineral/plastitanium/red,
/area/syndicate_mothership)
"ZL" = (
-/obj/structure/closet,
-/obj/item/stack/sheet/mineral/wood/fifty,
-/obj/item/stack/tile/wood{
- amount = 24
- },
-/obj/item/stack/tile/carpet/black/fifty,
-/obj/item/stack/tile/carpet/blackred/fifty,
-/obj/item/stack/tile/carpet/blue/fifty,
-/obj/item/stack/tile/carpet/cyan/fifty,
-/obj/item/stack/tile/carpet/fifty,
-/obj/item/stack/tile/carpet/green/fifty,
-/obj/item/stack/tile/carpet/monochrome/fifty,
-/obj/item/stack/tile/carpet/orange/fifty,
-/obj/item/stack/tile/carpet/purple/fifty,
-/obj/item/stack/tile/carpet/red/fifty,
-/obj/item/stack/tile/carpet/royalblack/fifty,
-/obj/item/stack/tile/carpet/royalblue/fifty,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"ZN" = (
/obj/machinery/vending/snack,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
@@ -19044,8 +19057,13 @@
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
"ZR" = (
-/obj/structure/bed/dogbed,
-/turf/open/indestructible/hotelwood,
+/obj/structure/toilet{
+ dir = 4
+ },
+/obj/structure/window/reinforced/tinted{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
/area/centcom/holding)
"ZT" = (
/mob/living/simple_animal/cow,
@@ -19082,27 +19100,6 @@
},
/turf/open/floor/plasteel,
/area/centcom/supply)
-"ZZ" = (
-/obj/machinery/light{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/obj/machinery/chem_master/condimaster{
- desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments.";
- name = "BrewMaster 2199";
- pixel_x = -4
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
(1,1,1) = {"
aa
@@ -26210,7 +26207,7 @@ lI
lI
lI
Ax
-Qi
+Na
qZ
qZ
Ax
@@ -43442,50 +43439,50 @@ aa
aa
aa
Nd
-SW
-PO
-PO
-Sw
-PO
-PO
-PO
+Mq
+Ur
+Ur
PO
+Ur
+Ur
+Ur
+Ur
Nd
-Tt
-Tt
-TG
+ZR
+ZR
+qF
Op
Nd
Rm
Tn
UT
yd
-Sd
-Sd
+NS
+NS
XM
NT
UV
-CV
-Sd
+Fb
+NS
Nd
-OW
-Ln
+CT
+oV
Nd
-Lm
-Lm
-Lm
+St
+St
+St
Nd
-PQ
-Sd
-ZR
+Sv
+NS
+Zl
Nd
-RL
-Yo
-Uq
+VY
+PL
+oW
Nd
-VL
-Ww
-NN
+NP
+Uc
+Vn
Nd
aa
aa
@@ -43699,49 +43696,49 @@ aa
aa
aa
Nd
-Pc
-PY
-PY
-PY
-PY
-PY
-PY
-PY
+YP
+Wu
+Wu
+Wu
+Wu
+Wu
+Wu
+Wu
Nd
ZW
ZW
ZW
ZW
Za
-Sd
-Sd
-Sd
+NS
+NS
+NS
Tu
-Sd
-Sd
+NS
+NS
Tn
NT
RQ
-Sd
-Sd
+NS
+NS
Nd
-UN
-ST
+yW
+Uk
Nd
-zS
-Qw
-TC
+Oi
+Pz
+kv
Nd
-MJ
-Sd
-Sd
+Ly
+NS
+NS
Nd
-AE
-Sd
-Ph
+We
+NS
+Fj
Nd
Gs
-Sd
+NS
HH
Nd
aa
@@ -43947,59 +43944,59 @@ aa
aa
aa
aa
-Ud
-Ud
-Ud
-Ud
-Ud
+Fe
+Fe
+Fe
+Fe
+Fe
aa
aa
aa
Nd
-ZZ
-PY
-PY
-PY
-PY
-PY
-PY
-RN
+pB
+Wu
+Wu
+Wu
+Wu
+Wu
+Wu
+PI
Nd
SB
ZW
ZW
ZW
Nd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+NS
+NS
+NS
+NS
+NS
+NS
GY
NT
UV
-CV
-Sd
+Fb
+NS
Nd
-Ot
-ST
+Rq
+Uk
Nd
-Tf
-Qw
-Tf
+Px
+Pz
+Px
Nd
-ma
-Sd
-Sd
-Nd
-ZN
-Sd
-Sd
+Mw
+NS
+NS
Nd
ZL
-Sd
-Lr
+NS
+NS
+Nd
+CU
+NS
+Ns
Nd
aa
aa
@@ -44204,58 +44201,58 @@ aa
aa
aa
aa
-Ud
-Uc
-ZB
-ZB
-Ud
+Fe
+VH
+XZ
+XZ
+Fe
aa
aa
aa
Nd
-PI
-PY
-PY
-PY
-PY
-PY
-PY
-Rj
+pG
+Wu
+Wu
+Wu
+Wu
+Wu
+Wu
+PE
Nd
SB
-NE
-Fl
+Ts
+OI
Nw
Nd
-Sd
-Sd
-Sd
-Ph
-Sd
+NS
+NS
+NS
+Fj
+NS
Tu
Vu
Nd
-hH
-Sd
-Sd
+Gt
+NS
+NS
Nd
Nd
-Wl
+Qn
Nd
Nd
-Wl
+Qn
Nd
Nd
Nd
-yS
+Np
Nd
Nd
-WD
-Sd
+MW
+NS
HH
Nd
Nd
-Ox
+Ff
Nd
Nd
aa
@@ -44461,59 +44458,59 @@ aa
aa
aa
aa
-Ud
-ZB
-CQ
-Ql
-Ud
+Fe
+XZ
+sf
+Tf
+Fe
aa
aa
aa
Nd
-Tx
+zE
+Wu
+Wu
+Wu
+SW
PY
-PY
-PY
-Um
-XS
-PY
-vs
+Wu
+Nn
Nd
Nd
Nd
Nd
Nd
Nd
-Sd
-Sd
+NS
+NS
XM
QL
-Sd
-Sd
+NS
+NS
XM
NT
PX
-CV
-Sd
+Fb
+NS
NT
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+NS
+NS
+NS
+NS
+NS
+NS
Nd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-WE
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+Ow
Nd
aa
aa
@@ -44718,11 +44715,11 @@ aa
aa
aa
aa
-Ud
-wZ
-ZB
-Qn
-Ud
+Fe
+WR
+XZ
+Mn
+Fe
aa
aa
aa
@@ -44736,41 +44733,41 @@ Nd
py
Nd
Nd
-Yh
-Sd
-Yo
-Sd
-Wl
-Sd
-Sd
+XW
+NS
+PL
+NS
+Qn
+NS
+NS
Tn
Tu
-Sd
-Sd
+NS
+NS
Tn
NT
Zh
-Sd
-Sd
-Dl
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Qu
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sj
+NS
+NS
+zy
+NS
+NS
+NS
+NS
+NS
+NS
+tc
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+SM
Nd
aa
aa
@@ -44975,59 +44972,59 @@ aa
aa
aa
aa
-Ud
-Ud
-Ud
-Ud
-Ud
+Fe
+Fe
+Fe
+Fe
+Fe
aa
aa
aa
Nd
-Lr
-Sd
-Yo
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+Ns
+NS
+PL
+NS
+NS
+NS
+NS
+NS
+NS
+NS
Nd
Nd
Nd
Nd
Gs
-Sd
+NS
GY
Tu
-Sd
-Sd
+NS
+NS
GY
NT
Ym
-CV
-Sd
+Fb
+NS
NT
-Sd
-MR
-Sd
-Sd
-MR
-Sd
+NS
+SU
+NS
+NS
+SU
+NS
Nd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-PM
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+NS
+YF
Nd
aa
aa
@@ -45241,31 +45238,31 @@ aa
aa
aa
Nd
-Tq
-Sd
+UU
+NS
MG
YN
Nd
-US
+Wq
Fh
Fh
zV
Nd
Nd
-Hj
+zY
Fa
KT
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+NS
+NS
+NS
+NS
+NS
+NS
HH
Nd
-Sd
-Sd
-Sd
+NS
+NS
+NS
Nd
Nd
Nd
@@ -45278,8 +45275,8 @@ Nd
Nd
Nd
Nd
-Rq
-Sd
+Mz
+NS
HH
Nd
Nd
@@ -45498,31 +45495,31 @@ aa
aa
aa
Nd
-ZL
-Sd
+CU
+NS
Rh
Mm
Nd
-Nx
+Wp
Fh
Fh
Yu
Nd
-AE
-CV
-Sd
-Ll
-CV
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+We
+Fb
+NS
+wY
+Fb
+NS
+NS
+NS
+NS
+NS
+NS
Re
-Sd
-Sd
-Sd
+NS
+NS
+NS
NT
vt
YV
@@ -45531,17 +45528,17 @@ OU
RS
VF
Nd
-UD
-tZ
+Oq
+SE
SY
Nd
-Sd
-Sd
-Sd
+NS
+NS
+NS
Nd
SY
-Os
-UD
+QS
+Oq
Nd
aa
aa
@@ -45755,9 +45752,9 @@ aa
aa
aa
Nd
-ZN
-Sd
-yW
+ZL
+NS
+Xk
ZT
Nd
Pr
@@ -45765,40 +45762,40 @@ Fh
Fh
QW
Nd
-QJ
-Sd
-Sd
-NA
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+vx
+NS
+NS
+Ng
+NS
+NS
+NS
+NS
+NS
+NS
+NS
Nd
Gs
Zx
-Sd
+NS
OL
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+NS
+NS
+NS
+NS
+NS
+NS
Nd
-Sd
-Sd
-Sd
-lS
-Sd
-Sd
-Sd
-RP
-Sd
-Sd
-Sd
+NS
+NS
+NS
+Qh
+NS
+NS
+NS
+UI
+NS
+NS
+NS
Nd
aa
aa
@@ -46022,40 +46019,40 @@ Fh
Fh
Vv
Nd
-Sd
-Sd
-Sd
+NS
+NS
+NS
FW
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+NS
+NS
+NS
+NS
+NS
+NS
+NS
Re
-Sd
-Sd
-Sd
+NS
+NS
+NS
NT
So
XM
-Sd
+NS
XM
XM
-Sd
+NS
Nd
-Xn
-Sd
-Ya
+wj
+NS
+Oo
Nd
-Sd
-Sd
-Sd
+NS
+NS
+NS
Nd
-XD
-Sd
-Xn
+Xm
+NS
+wj
Nd
aa
aa
@@ -46269,46 +46266,46 @@ aa
aa
aa
Nd
-NZ
-Sd
-Yo
+Qs
+NS
PL
+VI
Nd
-SG
+Pp
Fh
Fh
Fh
-Wl
+Qn
+NS
+Bm
Sd
-TD
-On
FX
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+NS
+NS
+NS
+NS
+NS
+NS
HH
Nd
WM
-Sd
-Sd
+NS
+NS
NT
Nj
Po
Wb
Po
ZU
-Sd
+NS
Nd
Nd
Nd
Nd
Nd
-Sd
-Sd
-Sd
+NS
+NS
+NS
Nd
Nd
Nd
@@ -46526,50 +46523,50 @@ aa
aa
aa
Nd
-OG
-Sd
-Sd
-Tq
+HE
+NS
+NS
+UU
Nd
zX
Fh
Fh
-JV
+TV
Nd
-Dl
+zy
Nd
Nd
Nd
Gs
-Sd
+NS
XM
Tu
-Sd
-Sd
+NS
+NS
XM
NT
-Sd
-Sd
-Sd
+NS
+NS
+NS
NT
YU
-zT
-zT
-zT
+Ok
+Ok
+Ok
MM
-Sd
+NS
Nd
-UD
-tZ
+Oq
+SE
SY
Nd
-Sd
-Sd
-Sd
+NS
+NS
+NS
Nd
SY
-Os
-UD
+QS
+Oq
Nd
aa
aa
@@ -46783,50 +46780,50 @@ aa
aa
aa
Nd
-Xf
-Sd
-Sd
-Nf
+xL
+NS
+NS
+ue
Nd
QA
Fh
Fh
-Uz
-ED
-Sd
-Yo
+ug
+Nv
+NS
+PL
Yf
UE
-Sd
-Sd
+NS
+NS
Tn
Xd
-Sd
-Sd
+NS
+NS
Tn
NT
-Sd
-Sd
-Sd
+NS
+NS
+NS
NT
YU
-zT
-zT
-zT
+Ok
+Ok
+Ok
MM
TM
Nd
-Sd
-Sd
-Sd
-uh
-Sd
-Sd
-Sd
-zW
-Sd
-Sd
-Sd
+NS
+NS
+NS
+Dm
+NS
+NS
+NS
+TJ
+NS
+NS
+NS
Nd
aa
aa
@@ -47040,50 +47037,50 @@ aa
aa
aa
Nd
-YL
-Sd
-Sd
-Uk
+VK
+NS
+NS
+Xb
Nd
Xo
Fh
Fh
Fh
py
-Sd
-Sd
+NS
+NS
SY
UE
-Sd
-Sd
+NS
+NS
GY
Tu
-Sd
-Sd
+NS
+NS
GY
NT
-Sd
-Sd
-Sd
+NS
+NS
+NS
NT
YU
-zT
-zT
-zT
+Ok
+Ok
+Ok
MM
-Sd
+NS
Nd
-Xn
-Sd
-Tc
+wj
+NS
+Uq
Nd
-Sd
-Sd
-Sd
+NS
+NS
+NS
Nd
-AC
-Sd
-Xn
+MQ
+NS
+wj
Nd
aa
aa
@@ -47297,45 +47294,45 @@ aa
aa
aa
Nd
-Xe
-Sd
-Sd
-ZL
+ll
+NS
+NS
+CU
Nd
TB
Fh
Fh
Fh
BV
-Sd
-Sd
+NS
+NS
XT
UE
-Sd
-Sd
-Sd
-Ph
-Sd
+NS
+NS
+NS
+Fj
+NS
Qk
Vu
Nd
Gs
-Sd
-Sd
+NS
+NS
NT
Mt
PA
Ra
PA
Pl
-Sd
+NS
Nd
Nd
Nd
Nd
Nd
-Rq
-Sd
+Mz
+NS
HH
Nd
Nd
@@ -47554,50 +47551,50 @@ aa
aa
aa
Nd
-TY
-Sd
-Sd
-Sd
+lS
+NS
+NS
+NS
Nd
Vz
Fh
Fh
YJ
QT
-Sd
-Sd
+NS
+NS
SY
UE
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+NS
+NS
+NS
+NS
+NS
+NS
XM
NT
-Sd
-Sd
-Sd
+NS
+NS
+NS
NT
Ye
GY
-Sd
+NS
GY
GY
-Sd
+NS
Nd
-Xs
-Ol
-YO
+UP
+ML
+NX
Nd
-Sd
-Sd
-Sd
+NS
+NS
+NS
Nd
-RX
-Xw
-qP
+RM
+Qy
+Yz
Nd
aa
aa
@@ -47811,49 +47808,49 @@ aa
aa
aa
Nd
-Bs
-Ri
-Sd
-Sd
+TD
+CS
+NS
+NS
XL
Fh
Fh
Fh
Fh
XL
-Sd
-Sd
+NS
+NS
XX
UE
-Sd
-Sd
-Sd
+NS
+NS
+NS
Tu
-Sd
-Sd
+NS
+NS
Tn
NT
-Sd
-Sd
-Sd
+NS
+NS
+NS
OL
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+NS
+NS
+NS
+NS
+NS
+NS
Nd
Gs
-Sd
-Sd
-SZ
-Sd
-Sd
-Sd
-Ws
-Sd
-Sd
+NS
+NS
+Hy
+NS
+NS
+NS
+Lq
+NS
+NS
HH
Nd
aa
@@ -48068,50 +48065,50 @@ aa
aa
aa
Nd
-Hk
-Sd
-MR
-Mz
+rh
+NS
+SU
+uH
Nd
SN
pV
pV
Tr
Nd
-WY
-Ph
+WV
+Fj
Nd
Nd
Rm
Tn
UT
Hm
-Sd
-Sd
+NS
+NS
GY
NT
-Tw
-Ms
-Ro
+TS
+QM
+ta
NT
vt
Mx
-Sd
-Sd
+NS
+NS
Uh
tW
Nd
-Ru
-Of
-QF
+Td
+XN
+xB
Nd
-Sd
-Sd
-Sd
+NS
+NS
+NS
Nd
-WN
-Ur
-Ki
+VC
+Nl
+ma
Nd
aa
aa
@@ -48353,22 +48350,22 @@ Nd
Nd
Nd
Nd
-Sd
-Sd
+NS
+NS
Nd
Nd
Nd
-Kf
-WV
-Sd
+QN
+vp
+NS
Nd
-sa
-Sd
-Sd
+YH
+NS
+NS
Nd
-Sd
-zY
-Rv
+NS
+Mj
+uh
Nd
aa
aa
@@ -48608,22 +48605,22 @@ aa
aa
aa
Nd
-vv
+Zv
VA
ZW
ZW
-px
-Lk
+Nf
+MX
Nd
Nd
Nd
-QC
+sk
Nd
Nd
-SR
+wU
Nd
Nd
-QC
+sk
Nd
Nd
Nd
@@ -48865,24 +48862,24 @@ aa
aa
aa
Nd
-sf
+Dn
ZW
ZW
ZW
ZW
-OT
+Ux
Nd
-Ln
-ST
-ST
+oV
+Uk
+Uk
Nd
-Qp
-Sd
-Nt
+Hj
+NS
+TY
Nd
-ST
-ST
-Ln
+Uk
+Uk
+oV
Nd
aa
aa
@@ -49122,24 +49119,24 @@ aa
aa
aa
Nd
-Bq
-RK
-Qy
-Yj
+TZ
+yf
+Tg
+Qd
ZW
-Wz
+Ru
Nd
-xO
-QN
-ZE
+yX
+Lj
+OO
Nd
-Qp
-Qz
-Nt
+Hj
+QF
+TY
Nd
-ZE
-QN
-RO
+OO
+Lj
+Oy
Nd
aa
aa
@@ -58969,7 +58966,7 @@ aa
aa
aa
aa
-Qc
+wi
aa
aa
aa
@@ -72327,16 +72324,16 @@ aa
aa
aa
bj
-YC
-YC
-YC
-YC
-YC
-YC
-YC
-YC
-YC
-YC
+tv
+tv
+tv
+tv
+tv
+tv
+tv
+tv
+tv
+tv
fx
aa
aa
@@ -72584,16 +72581,16 @@ aa
aa
aa
bj
-Vk
-YC
-YC
-YC
-YC
-YC
-YC
-YC
-YC
-Vk
+NB
+tv
+tv
+tv
+tv
+tv
+tv
+tv
+tv
+NB
fx
aa
aa
@@ -72841,16 +72838,16 @@ aa
aa
aa
bj
-Vk
-YC
-YC
-YC
-YC
-YC
-YC
-YC
-YC
-Vk
+NB
+tv
+tv
+tv
+tv
+tv
+tv
+tv
+tv
+NB
fx
aa
aa
@@ -73098,16 +73095,16 @@ aa
aa
aa
bj
-Vk
-YC
-YC
-YC
-YC
-YC
-YC
-YC
-YC
-Vk
+NB
+tv
+tv
+tv
+tv
+tv
+tv
+tv
+tv
+NB
fx
aa
aa
@@ -73355,16 +73352,16 @@ aa
aa
aa
bj
-YC
-YC
-Wx
-YC
-Yv
-Ui
-YC
-Zl
-YC
-YC
+tv
+tv
+rg
+tv
+Ld
+Lm
+tv
+Qw
+tv
+tv
fx
aa
aa
diff --git a/_maps/shuttles/mining_common_kilo.dmm b/_maps/shuttles/mining_common_kilo.dmm
index 96208b7d4b..111944d08c 100644
--- a/_maps/shuttles/mining_common_kilo.dmm
+++ b/_maps/shuttles/mining_common_kilo.dmm
@@ -88,7 +88,7 @@
dir = 8;
dwidth = 3;
height = 5;
- id = "mining_common";
+ id = "mining_shuttle_common";
name = "lavaland shuttle";
port_direction = 4;
width = 7
diff --git a/_maps/shuttles/mining_common_meta.dmm b/_maps/shuttles/mining_common_meta.dmm
index f04f8e1a3b..c47d3b806f 100644
--- a/_maps/shuttles/mining_common_meta.dmm
+++ b/_maps/shuttles/mining_common_meta.dmm
@@ -37,7 +37,7 @@
dir = 8;
dwidth = 3;
height = 5;
- id = "mining_common";
+ id = "mining_shuttle_common";
name = "lavaland shuttle";
port_direction = 4;
width = 7
diff --git a/_maps/templates/hilbertshotel.dmm b/_maps/templates/hilbertshotel.dmm
index da5d13d93e..5654e0428f 100644
--- a/_maps/templates/hilbertshotel.dmm
+++ b/_maps/templates/hilbertshotel.dmm
@@ -72,7 +72,7 @@
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"n" = (
-/obj/effect/landmark/xmastree,
+/obj/effect/landmark/xmastree/hilbert,
/turf/open/indestructible/hotelwood,
/area/hilbertshotel)
"o" = (
diff --git a/code/__DEFINES/_flags/_flags.dm b/code/__DEFINES/_flags/_flags.dm
index a1d8006dbd..6e018b1eeb 100644
--- a/code/__DEFINES/_flags/_flags.dm
+++ b/code/__DEFINES/_flags/_flags.dm
@@ -162,3 +162,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
REMOVE_TRAIT(x, TRAIT_KEEP_TOGETHER, KEEP_TOGETHER_ORIGINAL);\
else if(!HAS_TRAIT(x, TRAIT_KEEP_TOGETHER))\
x.appearance_flags &= ~KEEP_TOGETHER
+
+/// 33554431 (2^24 - 1) is the maximum value our bitflags can reach.
+#define MAX_BITFLAG_DIGITS 8
diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm
index 1d47549685..68515426c3 100644
--- a/code/__DEFINES/antagonists.dm
+++ b/code/__DEFINES/antagonists.dm
@@ -70,6 +70,7 @@
///Heretics --
#define IS_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic))
+#define IS_HERETIC_MONSTER(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic_monster))
#define PATH_SIDE "Side"
diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm
index 7eebada734..d12fe77448 100644
--- a/code/__DEFINES/combat.dm
+++ b/code/__DEFINES/combat.dm
@@ -81,6 +81,8 @@
//stamina stuff
/// crit for stamina damage. forces a rest, and stops movement until stamina goes back to stamina softcrit
#define STAMINA_CRIT 140
+/// Threshold for leaving stamina critical
+#define STAMINA_CRIT_REMOVAL_THRESHOLD 100
/// Threshold under for which you are unable to draw from stamina health to replace stamina buffer
#define STAMINA_NO_OVERDRAW_THRESHOLD 100
diff --git a/code/__DEFINES/combat/stamina_combat.dm b/code/__DEFINES/combat/stamina_combat.dm
index 1f781ca3e0..351009f27f 100644
--- a/code/__DEFINES/combat/stamina_combat.dm
+++ b/code/__DEFINES/combat/stamina_combat.dm
@@ -10,7 +10,7 @@
/// Usage for eyestabbing with a screwdriver
#define STAMINA_COST_ITEM_EYESTAB 7.5
/// Usage for shoving yourself off the ground instantly
-#define STAMINA_COST_SHOVE_UP 10
+#define STAMINA_COST_SHOVE_UP 15
//items total mass, used to calculate their attacks' stamina costs. If not defined, the cost will be (w_class * 1.25)
#define TOTAL_MASS_TINY_ITEM 1.25
diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm
index 7b214df421..51a5fb3ece 100644
--- a/code/__DEFINES/dcs/signals.dm
+++ b/code/__DEFINES/dcs/signals.dm
@@ -490,6 +490,17 @@
#define COMPONENT_PROGRAM_INSTALLED 1 //Installation successful
#define COMPONENT_PROGRAM_NOT_INSTALLED 2 //Installation failed, but there are still nanites
#define COMSIG_NANITE_SYNC "nanite_sync" //(datum/component/nanites, full_overwrite, copy_activation) Called to sync the target's nanites to a given nanite component
+/// Checks if a nanite component is able to be controlled by console
+#define COMSIG_NANITE_CHECK_CONSOLE_LOCK "is_console_locked"
+/// Checks if a nanite component is able to be interfaced with by a host with innate nanite control
+#define COMSIG_NANITE_CHECK_HOST_LOCK "is_host_locked"
+/// Checks if a nanite component is able to be overwritten by viral replica
+#define COMSIG_NANITE_CHECK_VIRAL_PREVENTION "is_virus_locked"
+ #define NANITE_CHANGES_LOCKED 1
+// Internal signals that programs register to and respond with to not require for loops
+#define COMSIG_NANITE_INTERNAL_CONSOLE_LOCK_CHECK "naniteiconsolelocked"
+#define COMSIG_NANITE_INTERNAL_HOST_LOCK_CHECK "naniteihostlocked"
+#define COMSIG_NANITE_INTERNAL_VIRAL_PREVENTION_CHECK "naniteiviruslocked"
// /datum/component/storage signals
#define COMSIG_CONTAINS_STORAGE "is_storage" //() - returns bool.
diff --git a/code/__DEFINES/loadout.dm b/code/__DEFINES/loadout.dm
index 6f1740cc9f..7fe5fa4876 100644
--- a/code/__DEFINES/loadout.dm
+++ b/code/__DEFINES/loadout.dm
@@ -67,3 +67,13 @@
#define LOADOUT_LIMB_AMPUTATED "Amputated"
#define LOADOUT_LIMBS list(LOADOUT_LIMB_NORMAL,LOADOUT_LIMB_PROSTHETIC,LOADOUT_LIMB_AMPUTATED) //you can amputate your legs/arms though
+
+//loadout saving/loading specific defines
+#define MAXIMUM_LOADOUT_SAVES 5
+#define LOADOUT_ITEM "loadout_item"
+#define LOADOUT_COLOR "loadout_color"
+
+//loadout item flags
+#define LOADOUT_CAN_NAME (1<<0) //renaming items
+#define LOADOUT_CAN_DESCRIPTION (1<<1) //adding a custom description to items
+#define LOADOUT_CAN_COLOR_POLYCHROMIC (1<<2)
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 0704947dda..30162594d6 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -159,6 +159,7 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache)
#define BLOOD_COLOR_LIZARD "#db004D"
#define BLOOD_COLOR_UNIVERSAL "#db3300"
#define BLOOD_COLOR_BUG "#a37c0f"
+#define BLOOD_COLOR_PLANT "#3d610e"
//suit sensors: sensor_mode defines
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index e8849d04c8..153a82ad5e 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -48,6 +48,8 @@
#define MOB_EPIC (1 << 7) // Megafauna
#define MOB_REPTILE (1 << 8)
#define MOB_SPIRIT (1 << 9)
+/// Mobs that otherwise support nanites
+#define MOB_NANITES (1 << 10)
// Organ defines for carbon mobs
#define ORGAN_ORGANIC 1
@@ -56,6 +58,7 @@
#define BODYPART_ORGANIC 1
#define BODYPART_ROBOTIC 2
#define BODYPART_HYBRID 3
+#define BODYPART_NANITES 4
#define HYBRID_BODYPART_DAMAGE_THRESHHOLD 25 //How much damage has to be suffered until the damage threshhold counts as passed
#define HYBRID_BODYPART_THESHHOLD_MINDAMAGE 15 //Which damage value this limb cannot be healed out of via easy nonsurgical means if the threshhold has been passed, state resets if damage value goes below mindamage.
diff --git a/code/__DEFINES/mobs/innate_abilities.dm b/code/__DEFINES/mobs/innate_abilities.dm
new file mode 100644
index 0000000000..d2d3dbbc67
--- /dev/null
+++ b/code/__DEFINES/mobs/innate_abilities.dm
@@ -0,0 +1,29 @@
+// helpers
+
+// sources
+/// Species
+#define ABILITY_SOURCE_SPECIES "species"
+/// Changeling
+#define ABILITY_SOURCE_CHANGELING "changeling"
+
+// abilities
+/// Full customization and transformation of mutantparts/hair/sprite accessories/etc - excludes name by default
+#define INNATE_ABILITY_HUMANOID_CUSTOMIZATION "humanoid_customization"
+/// Slime blobform
+#define INNATE_ABILITY_SLIME_BLOBFORM "slime_blobform"
+/// limb regrowth
+#define INNATE_ABILITY_LIMB_REGROWTH "limb_regrowth"
+
+/// ability properties
+// customization/body change
+/// is this silent?
+#define PROPERTY_CUSTOMIZATION_SILENT "silent"
+// blobform
+/// Blobform color
+#define PROPERTY_BLOBFORM_COLOR "color"
+// limb regrwoth
+/// limb regrowth usage type
+#define PROPERTY_LIMB_REGROWTH_USAGE_TYPE "cost"
+ /// blood
+ #define REGROWTH_USES_BLOOD "blood"
+
diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm
index e70955845c..2562bfe4d3 100644
--- a/code/__DEFINES/tgs.dm
+++ b/code/__DEFINES/tgs.dm
@@ -1,6 +1,6 @@
// tgstation-server DMAPI
-#define TGS_DMAPI_VERSION "5.2.8"
+#define TGS_DMAPI_VERSION "5.2.9"
// All functions and datums outside this document are subject to change with any version and should not be relied on.
@@ -117,22 +117,22 @@
//REQUIRED HOOKS
/**
- * Call this somewhere in [/world/proc/New] that is always run. This function may sleep!
- *
- * * event_handler - Optional user defined [/datum/tgs_event_handler].
- * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED].
- */
+ * Call this somewhere in [/world/proc/New] that is always run. This function may sleep!
+ *
+ * * event_handler - Optional user defined [/datum/tgs_event_handler].
+ * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED].
+ */
/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE)
return
/**
- * Call this when your initializations are complete and your game is ready to play before any player interactions happen.
- *
- * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running.
- * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184
- * Before this point, note that any static files or directories may be in use by another server. Your code should account for this.
- * This function should not be called before ..() in [/world/proc/New].
- */
+ * Call this when your initializations are complete and your game is ready to play before any player interactions happen.
+ *
+ * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running.
+ * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184
+ * Before this point, note that any static files or directories may be in use by another server. Your code should account for this.
+ * This function should not be called before ..() in [/world/proc/New].
+ */
/world/proc/TgsInitializationComplete()
return
@@ -140,8 +140,8 @@
#define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return
/**
- * Call this at the beginning of [world/proc/Reboot].
- */
+ * Call this at the beginning of [world/proc/Reboot].
+ */
/world/proc/TgsReboot()
return
@@ -175,16 +175,16 @@
var/deprefixed_parameter
/**
- * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] contains wildcards.
- */
+ * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] contains wildcards.
+ */
/datum/tgs_version/proc/Wildcard()
return
/**
- * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] equals some other version.
- *
- * other_version - The [/datum/tgs_version] to compare against.
- */
+ * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] equals some other version.
+ *
+ * other_version - The [/datum/tgs_version] to compare against.
+ */
/datum/tgs_version/proc/Equals(datum/tgs_version/other_version)
return
@@ -234,10 +234,10 @@
var/datum/tgs_chat_channel/channel
/**
- * User definable callback for handling TGS events.
- *
- * event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each
- */
+ * User definable callback for handling TGS events.
+ *
+ * event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each
+ */
/datum/tgs_event_handler/proc/HandleEvent(event_code, ...)
set waitfor = FALSE
return
@@ -252,11 +252,11 @@
var/admin_only = FALSE
/**
- * Process command activation. Should return a string to respond to the issuer with.
- *
- * sender - The [/datum/tgs_chat_user] who issued the command.
- * params - The trimmed string following the command `/datum/tgs_chat_command/var/name].
- */
+ * Process command activation. Should return a string to respond to the issuer with.
+ *
+ * sender - The [/datum/tgs_chat_user] who issued the command.
+ * params - The trimmed string following the command `/datum/tgs_chat_command/var/name].
+ */
/datum/tgs_chat_command/proc/Run(datum/tgs_chat_user/sender, params)
CRASH("[type] has no implementation for Run()")
@@ -271,48 +271,48 @@
return
/**
- * Returns [TRUE] if DreamDaemon was launched under TGS, the API matches, and was properly initialized. [FALSE] will be returned otherwise.
- */
+ * Returns [TRUE] if DreamDaemon was launched under TGS, the API matches, and was properly initialized. [FALSE] will be returned otherwise.
+ */
/world/proc/TgsAvailable()
return
// No function below this succeeds if it TgsAvailable() returns FALSE or if TgsNew() has yet to be called.
/**
- * Forces a hard reboot of DreamDaemon by ending the process.
- *
- * Unlike del(world) clients will try to reconnect.
- * If TGS has not requested a [TGS_REBOOT_MODE_SHUTDOWN] DreamDaemon will be launched again
- */
+ * Forces a hard reboot of DreamDaemon by ending the process.
+ *
+ * Unlike del(world) clients will try to reconnect.
+ * If TGS has not requested a [TGS_REBOOT_MODE_SHUTDOWN] DreamDaemon will be launched again
+ */
/world/proc/TgsEndProcess()
return
/**
- * Send a message to connected chats.
- *
- * message - The string to send.
- * admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies.
- */
+ * Send a message to connected chats.
+ *
+ * message - The string to send.
+ * admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies.
+ */
/world/proc/TgsTargetedChatBroadcast(message, admin_only = FALSE)
return
/**
- * Send a private message to a specific user.
- *
- * message - The string to send.
- * user: The [/datum/tgs_chat_user] to PM.
- */
+ * Send a private message to a specific user.
+ *
+ * message - The string to send.
+ * user: The [/datum/tgs_chat_user] to PM.
+ */
/world/proc/TgsChatPrivateMessage(message, datum/tgs_chat_user/user)
return
// The following functions will sleep if a call to TgsNew() is sleeping
/**
- * Send a message to connected chats that are flagged as game-related in TGS.
- *
- * message - The string to send.
- * channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to.
- */
+ * Send a message to connected chats that are flagged as game-related in TGS.
+ *
+ * message - The string to send.
+ * channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to.
+ */
/world/proc/TgsChatBroadcast(message, list/channels = null)
return
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 4b08dbc446..2275c4b90b 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -205,7 +205,7 @@
#define TRAIT_THERMAL_VISION "thermal_vision"
#define TRAIT_NO_TELEPORT "no-teleport" //you just can't
#define TRAIT_NO_INTERNALS "no-internals"
-#define TRAIT_NO_ALCOHOL "alcohol_intolerance"
+#define TRAIT_TOXIC_ALCOHOL "alcohol_intolerance"
#define TRAIT_MUTATION_STASIS "mutation_stasis" //Prevents processed genetics mutations from processing.
#define TRAIT_FAST_PUMP "fast_pump"
#define TRAIT_NO_PROCESS_FOOD "no-process-food" // You don't get benefits from nutriment, nor nutrition from reagent consumables
@@ -213,6 +213,10 @@
#define TRAIT_NO_STAMINA_BUFFER_REGENERATION "block_stamina_buffer_regen" /// Prevents stamina buffer regeneration
#define TRAIT_NO_STAMINA_REGENERATION "block_stamina_regen" /// Prevents stamina regeneration
#define TRAIT_ARMOR_BROKEN "armor_broken" //acts as if you are wearing no clothing when taking damage, does not affect non-clothing sources of protection
+/// forces update_density to make us not dense
+#define TRAIT_LIVING_NO_DENSITY "living_no_density"
+/// forces us to not render our overlays
+#define TRAIT_HUMAN_NO_RENDER "human_no_render"
// mobility flag traits
// IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it)
diff --git a/code/__HELPERS/custom_holoforms.dm b/code/__HELPERS/custom_holoforms.dm
index 0e97314f1f..34b31cc1c7 100644
--- a/code/__HELPERS/custom_holoforms.dm
+++ b/code/__HELPERS/custom_holoforms.dm
@@ -46,17 +46,29 @@
I = getPAIHologramIcon(I)
return I
-//Errors go to user.
-/proc/generate_custom_holoform_from_prefs_safe(datum/preferences/prefs, mob/user)
- if(user)
- if(user.client.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY)
- to_chat(user, "You are attempting to set your custom holoform too fast!")
- return
- return generate_custom_holoform_from_prefs(prefs, null, null, TRUE, TRUE)
-
//Prompts this client for custom holoform parameters.
/proc/user_interface_custom_holoform(client/C)
var/datum/preferences/target_prefs = C.prefs
+ if(target_prefs.path)
+ var/list/characters = list()
+ var/savefile/S = new /savefile(target_prefs.path)
+ if(S)
+ var/name
+ var/max_save_slots = C.prefs.max_save_slots
+ for(var/i=1, i<=max_save_slots, i++)
+ S.cd = "/character[i]"
+ S["real_name"] >> name
+ if(name)
+ characters[name] = i
+ var/chosen_name = input(C, "Which character do you wish to use as your appearance.") as anything in characters
+ if(chosen_name)
+ if(C.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY)
+ to_chat(C.mob, "You are attempting to set your custom holoform too fast!")
+ return
+ target_prefs = new(C)
+ if(!target_prefs.load_character(characters[chosen_name], TRUE))
+ target_prefs = C.prefs
+
ASSERT(target_prefs)
//In the future, maybe add custom path allowances a la admin create outfit but for now..
- return generate_custom_holoform_from_prefs_safe(target_prefs, C.mob)
+ return generate_custom_holoform_from_prefs(target_prefs, null, null, TRUE, TRUE)
diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm
index d32eae3be3..4e593ba904 100644
--- a/code/_globalvars/traits.dm
+++ b/code/_globalvars/traits.dm
@@ -104,7 +104,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_AUTO_CATCH_ITEM" = TRAIT_AUTO_CATCH_ITEM,
"TRAIT_FREESPRINT" = TRAIT_FREESPRINT,
"TRAIT_NO_INTERNALS" = TRAIT_NO_INTERNALS,
- "TRAIT_NO_ALCOHOL" = TRAIT_NO_ALCOHOL,
+ "TRAIT_TOXIC_ALCOHOL" = TRAIT_TOXIC_ALCOHOL,
"TRAIT_MUTATION_STASIS" = TRAIT_MUTATION_STASIS,
"TRAIT_HEAVY_SLEEPER" = TRAIT_HEAVY_SLEEPER,
"TRAIT_LIGHT_STEP" = TRAIT_LIGHT_STEP,
diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm
index 3ea4d0a870..0fd09d297d 100644
--- a/code/controllers/configuration/configuration.dm
+++ b/code/controllers/configuration/configuration.dm
@@ -391,6 +391,8 @@ Example config:
for(var/T in storyteller_cache)
var/datum/dynamic_storyteller/S = T
var/config_tag = initial(S.config_tag)
+ if(!config_tag)
+ continue
var/probability = (config_tag in probabilities) ? probabilities[config_tag] : initial(S.weight)
var/min_players = (config_tag in min_player_counts) ? min_player_counts[config_tag] : initial(S.min_players)
if(probability <= 0)
diff --git a/code/controllers/subsystem/input.dm b/code/controllers/subsystem/input.dm
index bc3f6cf51b..9b292a219d 100644
--- a/code/controllers/subsystem/input.dm
+++ b/code/controllers/subsystem/input.dm
@@ -6,6 +6,12 @@ SUBSYSTEM_DEF(input)
priority = FIRE_PRIORITY_INPUT
runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY
+ /// KEEP THIS UP TO DATE!
+ var/static/list/all_macrosets = list(
+ SKIN_MACROSET_HOTKEYS,
+ SKIN_MACROSET_CLASSIC_HOTKEYS,
+ SKIN_MACROSET_CLASSIC_INPUT
+ )
/// Classic mode input focused macro set. Manually set because we can't define ANY or ANY+UP for classic.
var/static/list/macroset_classic_input
/// Classic mode map focused macro set. Manually set because it needs to be clientside and go to macroset_classic_input.
@@ -51,11 +57,6 @@ SUBSYSTEM_DEF(input)
// let's play the ascii game of A to Z (UPPERCASE)
for(var/i in 65 to 90)
classic_ctrl_override_keys += ascii2text(i)
- // let's play the game of clientside bind overrides!
- classic_ctrl_override_keys -= list("T", "O", "M", "L")
- macroset_classic_input["Ctrl+T"] = "say"
- macroset_classic_input["Ctrl+O"] = "ooc"
- macroset_classic_input["Ctrl+L"] = "looc"
// let's play the list iteration game x2
for(var/key in classic_ctrl_override_keys)
// make sure to double double quote to ensure things are treated as a key combo instead of addition/semicolon logic.
@@ -67,20 +68,6 @@ SUBSYSTEM_DEF(input)
// FINALLY, WE CAN DO SOMETHING MORE NORMAL FOR THE SNOWFLAKE-BUT-LESS KEYSET.
- // HAHA - SIKE. Because of BYOND weirdness (tl;dr not specifically binding this way results in potentially duplicate chatboxes when
- // conflicts occur with something like say indicator vs say), we're going to snowflake this anyways
- var/list/hard_binds = list(
- "O" = "ooc",
- "T" = "say",
- "L" = "looc",
- "M" = "me"
- )
- var/list/hard_bind_anti_collision = list()
- var/list/anti_collision_modifiers = list("Ctrl", "Alt", "Shift", "Ctrl+Alt", "Ctrl+Shift", "Alt+Shift", "Ctrl+Alt+Shift")
- for(var/key in hard_binds)
- for(var/modifier in anti_collision_modifiers)
- hard_bind_anti_collision["[modifier]+[key]"] = ".NONSENSICAL_VERB_THAT_DOES_NOTHING"
-
macroset_classic_hotkey = list(
"Any" = "\"KeyDown \[\[*\]\]\"",
"Any+UP" = "\"KeyUp \[\[*\]\]\"",
@@ -89,9 +76,6 @@ SUBSYSTEM_DEF(input)
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"",
)
- macroset_classic_hotkey |= hard_binds
- macroset_classic_hotkey |= hard_bind_anti_collision
-
// And finally, the modern set.
macroset_hotkey = list(
"Any" = "\"KeyDown \[\[*\]\]\"",
@@ -101,16 +85,12 @@ SUBSYSTEM_DEF(input)
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"",
)
- macroset_hotkey |= hard_binds
- macroset_hotkey |= hard_bind_anti_collision
-
// Badmins just wanna have fun ♪
/datum/controller/subsystem/input/proc/refresh_client_macro_sets()
var/list/clients = GLOB.clients
for(var/i in 1 to clients.len)
var/client/user = clients[i]
- user.set_macros()
- user.update_movement_keys()
+ user.full_macro_assert()
/datum/controller/subsystem/input/fire()
var/list/clients = GLOB.clients // Let's sing the list cache song
@@ -118,7 +98,8 @@ SUBSYSTEM_DEF(input)
var/client/C = clients[i]
C.keyLoop()
+#define NONSENSICAL_VERB "NONSENSICAL_VERB_THAT_DOES_NOTHING"
/// *sigh
/client/verb/NONSENSICAL_VERB_THAT_DOES_NOTHING()
- set name = ".NONSENSICAL_VERB_THAT_DOES_NOTHING"
+ set name = "NONSENSICAL_VERB_THAT_DOES_NOTHING"
set hidden = TRUE
diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm
index 0f936bdeff..4963e33cc3 100644
--- a/code/controllers/subsystem/job.dm
+++ b/code/controllers/subsystem/job.dm
@@ -670,11 +670,12 @@ SUBSYSTEM_DEF(job)
var/mob/the_mob = N
if(!the_mob)
the_mob = M // cause this doesn't get assigned if player is a latejoiner
- if(the_mob.client && the_mob.client.prefs && (the_mob.client.prefs.chosen_gear && the_mob.client.prefs.chosen_gear.len))
+ var/list/chosen_gear = the_mob.client.prefs.loadout_data["SAVE_[the_mob.client.prefs.loadout_slot]"]
+ if(the_mob.client && the_mob.client.prefs && (chosen_gear && chosen_gear.len))
if(!ishuman(M))//no silicons allowed
return
- for(var/i in the_mob.client.prefs.chosen_gear)
- var/datum/gear/G = i
+ for(var/i in chosen_gear)
+ var/datum/gear/G = istext(i[LOADOUT_ITEM]) ? text2path(i[LOADOUT_ITEM]) : i[LOADOUT_ITEM]
G = GLOB.loadout_items[initial(G.category)][initial(G.subcategory)][initial(G.name)]
if(!G)
continue
@@ -690,6 +691,19 @@ SUBSYSTEM_DEF(job)
if(!permitted)
continue
var/obj/item/I = new G.path
+ if(I && length(i[LOADOUT_COLOR])) //handle loadout colors
+ //handle polychromic items
+ if((G.loadout_flags & LOADOUT_CAN_COLOR_POLYCHROMIC) && length(G.loadout_initial_colors))
+ var/datum/element/polychromic/polychromic = I.comp_lookup["item_worn_overlays"] //stupid way to do it but GetElement does not work for this
+ if(polychromic && istype(polychromic))
+ var/list/polychromic_entry = polychromic.colors_by_atom[I]
+ if(polychromic_entry)
+ polychromic.colors_by_atom[I] = i[LOADOUT_COLOR]
+ I.update_icon()
+ else
+ //handle non-polychromic items (they only have one color)
+ I.add_atom_colour(i[LOADOUT_COLOR][1], FIXED_COLOUR_PRIORITY)
+ I.update_icon()
if(!M.equip_to_slot_if_possible(I, G.slot, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // If the job's dresscode compliant, try to put it in its slot, first
if(iscarbon(M))
var/mob/living/carbon/C = M
diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm
index 29add286be..4e0ce3fc16 100644
--- a/code/datums/components/nanites.dm
+++ b/code/datums/components/nanites.dm
@@ -17,6 +17,44 @@
var/stealth = FALSE //if TRUE, does not appear on HUDs and health scans
var/diagnostics = TRUE //if TRUE, displays program list when scanned by nanite scanners
+ /// Delete ourselves when we're depleted.
+ var/qdel_self_on_depletion = TRUE
+ /// Allow deletion
+ var/can_be_deleted = TRUE
+ /// Whether or not we can survive no cloud syncing without errors
+ var/requires_cloud_sync = TRUE
+ /// Permanent programs - can never be deleted. does not count towards max_programs.
+ var/list/datum/nanite_program/permanent_programs = list()
+
+ // Vulnerabilities
+ /// EMP flat deletion upper
+ var/emp_flat_deletion_upper = 35
+ /// EMP flat deletion lower
+ var/emp_flat_deletion_lower = 20
+ /// EMP percent deletion upper
+ var/emp_percent_deletion_upper = 0.35
+ /// EMP percent deletion lower
+ var/emp_percent_deletion_lower = 0.30
+ /// EMP severity multiplier, capping to 0 to 100
+ var/emp_severity_mod = 1
+ /// EMP severity div for cloudsync reset chance
+ var/emp_desync_mod = 0.25
+
+ /// Shock flat deletion upper
+ var/shock_flat_deletion_upper = 45
+ /// Shock flat deletion lower
+ var/shock_flat_deletion_lower = 25
+ /// Shock percent deletion upper
+ var/shock_percent_deletion_upper = 0.25
+ /// Shock percent deletion lower
+ var/shock_percent_deletion_lower = 0.20
+
+
+ /// minor shock deletion lower
+ var/minor_shock_deletion_lower = 5
+ /// minor shock deletion upper
+ var/minor_shock_deletion_upper = 15
+
/datum/component/nanites/Initialize(amount = 100, cloud = 0)
if(!isliving(parent) && !istype(parent, /datum/nanite_cloud_backup))
return COMPONENT_INCOMPATIBLE
@@ -55,6 +93,9 @@
RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, .proc/add_program)
RegisterSignal(parent, COMSIG_NANITE_SCAN, .proc/nanite_scan)
RegisterSignal(parent, COMSIG_NANITE_SYNC, .proc/sync)
+ RegisterSignal(parent, COMSIG_NANITE_CHECK_CONSOLE_LOCK, .proc/check_console_locking)
+ RegisterSignal(parent, COMSIG_NANITE_CHECK_HOST_LOCK, .proc/check_host_lockout)
+ RegisterSignal(parent, COMSIG_NANITE_CHECK_VIRAL_PREVENTION, .proc/check_viral_prevention)
if(isliving(parent))
RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp)
@@ -118,13 +159,63 @@
next_sync = world.time + NANITE_SYNC_DELAY
set_nanite_bar()
+/**
+ * Called when nanites are depleted.
+ * Deletes ourselves by default.
+ */
+/datum/component/nanites/proc/nanites_depleted()
+ if(qdel_self_on_depletion)
+ delete_nanites()
+/**
+ * Used to rid ourselves
+ */
/datum/component/nanites/proc/delete_nanites()
- qdel(src)
+ if(can_be_deleted)
+ qdel(src)
+
+/**
+ * Adds permanent programs
+ *
+ * WARNING: Has no sanity checks. Make sure you know what you are doing! (make sure programs do not conflict)
+ */
+/datum/component/nanites/proc/add_permanent_program(list/program, immutable = FALSE)
+ if(!islist(program))
+ program = list(program)
+ for(var/i in program)
+ if(i in permanent_programs)
+ continue
+ var/datum/nanite_program/P = i
+ permanent_programs += P
+ if(immutable)
+ P.immutable = TRUE
+ for(var/e in programs)
+ var/datum/nanite_program/E = e
+ if(E.unique && (E.type == P.type))
+ qdel(e)
+ programs += P
+
+/**
+ * Checks if we can block out console modification
+ */
+/datum/component/nanites/proc/check_console_locking()
+ return SEND_SIGNAL(src, COMSIG_NANITE_INTERNAL_CONSOLE_LOCK_CHECK)
+
+/**
+ * Checks if we can lock out host internal conscious modification
+ */
+/datum/component/nanites/proc/check_host_lockout()
+ return SEND_SIGNAL(src, COMSIG_NANITE_INTERNAL_HOST_LOCK_CHECK)
+
+/**
+ * Checks if we can block out viral replica
+ */
+/datum/component/nanites/proc/check_viral_prevention()
+ return SEND_SIGNAL(src, COMSIG_NANITE_INTERNAL_VIRAL_PREVENTION_CHECK)
//Syncs the nanite component to another, making it so programs are the same with the same programming (except activation status)
/datum/component/nanites/proc/sync(datum/signal_source, datum/component/nanites/source, full_overwrite = TRUE, copy_activation = FALSE)
- var/list/programs_to_remove = programs.Copy()
+ var/list/programs_to_remove = programs.Copy() - permanent_programs
var/list/programs_to_add = source.programs.Copy()
for(var/X in programs)
var/datum/nanite_program/NP = X
@@ -151,7 +242,7 @@
sync(null, cloud_copy)
return
//Without cloud syncing nanites can accumulate errors and/or defects
- if(prob(8) && programs.len)
+ if(prob(8) && programs.len && requires_cloud_sync)
var/datum/nanite_program/NP = pick(programs)
NP.software_error()
@@ -159,8 +250,11 @@
for(var/X in programs)
var/datum/nanite_program/NP = X
if(NP.unique && NP.type == new_program.type)
- qdel(NP)
- if(programs.len >= max_programs)
+ if(NP in permanent_programs)
+ return COMPONENT_PROGRAM_NOT_INSTALLED
+ else
+ qdel(NP)
+ if((programs.len - length(permanent_programs)) >= max_programs)
return COMPONENT_PROGRAM_NOT_INSTALLED
if(source_program)
source_program.copy_programming(new_program)
@@ -177,7 +271,7 @@
/datum/component/nanites/proc/adjust_nanites(datum/source, amount)
nanite_volume = clamp(nanite_volume + amount, 0, max_nanites)
if(nanite_volume <= 0) //oops we ran out
- qdel(src)
+ nanites_depleted()
/datum/component/nanites/proc/set_nanite_bar(remove = FALSE)
var/image/holder = host_mob.hud_list[DIAG_NANITE_FULL_HUD]
@@ -191,28 +285,28 @@
holder.icon_state = "nanites[nanite_percent]"
/datum/component/nanites/proc/on_emp(datum/source, severity)
- nanite_volume *= (rand(60, 90) * 0.01) //Lose 10-40% of nanites
- adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume
- if(prob(40/severity))
+ severity *= emp_severity_mod
+ var/loss = (severity / 100) * (rand(emp_percent_deletion_lower, emp_percent_deletion_upper) * nanite_volume) + rand(emp_flat_deletion_lower, emp_flat_deletion_upper)
+ adjust_nanites(null, -loss)
+ if(prob(severity * emp_desync_mod))
cloud_id = 0
for(var/X in programs)
var/datum/nanite_program/NP = X
NP.on_emp(severity)
-
/datum/component/nanites/proc/on_shock(datum/source, shock_damage, siemens_coeff = 1, flags = NONE)
if(shock_damage < 1)
return
if(!HAS_TRAIT_NOT_FROM(host_mob, TRAIT_SHOCKIMMUNE, "nanites"))//Another shock protection must protect nanites too, but nanites protect only host
- nanite_volume *= (rand(45, 80) * 0.01) //Lose 20-55% of nanites
- adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume
+ var/loss = (rand(shock_percent_deletion_lower, shock_percent_deletion_upper) * nanite_volume) + rand(shock_flat_deletion_lower, shock_flat_deletion_upper)
+ adjust_nanites(null, -loss)
for(var/X in programs)
var/datum/nanite_program/NP = X
NP.on_shock(shock_damage)
/datum/component/nanites/proc/on_minor_shock(datum/source)
- adjust_nanites(null, -(rand(5, 15))) //Lose 5-15 flat nanite volume
+ adjust_nanites(null, -(rand(minor_shock_deletion_lower, minor_shock_deletion_upper))) //Lose 5-15 flat nanite volume
for(var/X in programs)
var/datum/nanite_program/NP = X
NP.on_minor_shock()
@@ -237,7 +331,7 @@
NP.receive_comm_signal(comm_code, comm_message, comm_source)
/datum/component/nanites/proc/check_viable_biotype()
- if(!(host_mob.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD)))
+ if(!(host_mob.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD|MOB_NANITES)))
qdel(src) //bodytype no longer sustains nanites
/datum/component/nanites/proc/check_access(datum/source, obj/O)
@@ -378,3 +472,10 @@
id++
mob_programs += list(mob_program)
data["mob_programs"] = mob_programs
+
+/**
+ * Subtype that doesn't erase itself from running out
+ */
+/datum/component/nanites/permanent
+ qdel_self_on_depletion = FALSE
+ can_be_deleted = FALSE
diff --git a/code/datums/dna.dm b/code/datums/dna.dm
index fe041c41ff..b6b93bdddc 100644
--- a/code/datums/dna.dm
+++ b/code/datums/dna.dm
@@ -660,27 +660,34 @@
return
if(dna.stability > 0)
return
- var/instability = -dna.stability
+ var/instability = - dna.stability
dna.remove_all_mutations()
dna.stability = 100
- if(prob(max(70-instability,0)))
+ if(prob(max(70 - instability,0)))
switch(rand(0,3)) //not complete and utter death
if(0)
monkeyize()
if(1)
gain_trauma(/datum/brain_trauma/severe/paralysis)
if(2)
+ unequip_everything()
+ drop_all_held_items()
corgize()
if(3)
to_chat(src, "Oh, we actually feel quite alright!")
else
switch(rand(0,3))
if(0)
+ unequip_everything()
+ drop_all_held_items()
gib()
if(1)
+ unequip_everything()
+ drop_all_held_items()
dust()
-
if(2)
+ unequip_everything()
+ drop_all_held_items()
death()
petrify(INFINITY)
if(3)
@@ -689,6 +696,8 @@
if(BP)
BP.dismember()
else
+ unequip_everything()
+ drop_all_held_items()
gib()
else
set_species(/datum/species/dullahan)
diff --git a/code/datums/elements/polychromic.dm b/code/datums/elements/polychromic.dm
index 7ae0d04b05..600bf9250e 100644
--- a/code/datums/elements/polychromic.dm
+++ b/code/datums/elements/polychromic.dm
@@ -170,7 +170,7 @@
if(istype(source,/obj/item/clothing/suit/hooded)) //so how come it be like this, where toggleable headslots are named separately (helmet/hood) anyways?
var/obj/item/clothing/suit/hooded/sourcesuit = source
H = sourcesuit.hood
- else if(istype(source,/obj/item/clothing/suit/space/hardsuit))
+ else if(istype(source,/obj/item/clothing/suit/space/hardsuit))
var/obj/item/clothing/suit/space/hardsuit/sourcesuit = source
H = sourcesuit.helmet
else
diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm
index 14f3eae689..5683367c55 100644
--- a/code/datums/emotes.dm
+++ b/code/datums/emotes.dm
@@ -55,7 +55,7 @@
return
user.log_message(msg, LOG_EMOTE)
- msg = "[user] " + msg
+ msg = "[user] [msg]"
for(var/mob/M in GLOB.dead_mob_list)
if(!M.client || isnewplayer(M))
@@ -144,7 +144,7 @@
var/sound //Sound to play when emote is called
var/vary = FALSE //used for the honk borg emote
var/volume = 50
- mob_type_allowed_typecache = list(/mob/living/brain, /mob/living/silicon)
+ mob_type_allowed_typecache = list(/mob/living/brain, /mob/living/silicon, /mob/camera/aiEye)
/datum/emote/sound/run_emote(mob/user, params)
. = ..()
diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm
index 1abe077980..90982a00ec 100644
--- a/code/datums/mood_events/generic_negative_events.dm
+++ b/code/datums/mood_events/generic_negative_events.dm
@@ -163,7 +163,7 @@
timeout = 3 MINUTES
/datum/mood_event/gates_of_mansus
- description = "LIVING IN A PERFORMANCE IS WORSE THAN DEATH\n"
+ description = "I HAD A GLIMPSE OF THE HORROR BEYOND THIS WORLD. REALITY UNCOILED BEFORE MY EYES!\n"
mood_change = -25
timeout = 4 MINUTES
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index cabdd7cfb8..19b12410bc 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -586,7 +586,7 @@
var/list/mob/living/targets = list()
for(var/mob/living/potential_target in oview(owner, 1))
- if(IS_HERETIC(potential_target) || potential_target.mind?.has_antag_datum(/datum/antagonist/heretic_monster))
+ if(IS_HERETIC(potential_target) || IS_HERETIC_MONSTER(potential_target))
continue
targets += potential_target
if(LAZYLEN(targets))
diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm
index e92564a3b4..73813fd253 100644
--- a/code/datums/traits/neutral.dm
+++ b/code/datums/traits/neutral.dm
@@ -109,7 +109,7 @@
name = "Alcohol Intolerance"
desc = "You take toxin damage from alcohol rather than getting drunk."
value = 0
- mob_trait = TRAIT_NO_ALCOHOL
+ mob_trait = TRAIT_TOXIC_ALCOHOL
medical_record_text = "Patient's body does not react properly to ethyl alcohol."
/datum/quirk/alcohol_intolerance/add()
diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm
index 43ea487894..e7f8c63d4a 100644
--- a/code/game/area/areas/shuttles.dm
+++ b/code/game/area/areas/shuttles.dm
@@ -150,7 +150,6 @@
/area/shuttle/escape/luxury
name = "Luxurious Emergency Shuttle"
- noteleport = TRUE
/area/shuttle/escape/arena
name = "The Arena"
diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm
index d103e2a856..e515f56196 100644
--- a/code/game/machinery/camera/motion.dm
+++ b/code/game/machinery/camera/motion.dm
@@ -75,3 +75,38 @@
if (!area_motion)
if(isliving(AM))
newTarget(AM)
+
+/obj/machinery/camera/motion/thunderdome
+ name = "entertainment camera"
+ network = list("thunder")
+ c_tag = "Arena"
+ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF
+
+/obj/machinery/camera/motion/thunderdome/Initialize()
+ . = ..()
+ proximity_monitor.SetRange(7)
+
+/obj/machinery/camera/motion/thunderdome/HasProximity(atom/movable/AM as mob|obj)
+ if (!isliving(AM) || get_area(AM) != get_area(src))
+ return
+ localMotionTargets |= WEAKREF(AM)
+ if (!detectTime)
+ for(var/obj/machinery/computer/security/telescreen/entertainment/TV in GLOB.machines)
+ TV.notify(TRUE)
+ detectTime = world.time + 30 SECONDS
+
+/obj/machinery/camera/motion/thunderdome/process()
+ if (!detectTime)
+ return
+
+ for (var/datum/weakref/targetref in localMotionTargets)
+ var/mob/target = targetref.resolve()
+ if(QDELETED(target) || target.stat == DEAD || get_dist(src, target) > 7 || get_area(src) != get_area(target))
+ localMotionTargets -= targetref
+
+ if (localMotionTargets.len)
+ detectTime = world.time + 30 SECONDS
+ else if (world.time > detectTime)
+ detectTime = 0
+ for(var/obj/machinery/computer/security/telescreen/entertainment/TV in GLOB.machines)
+ TV.notify(FALSE)
\ No newline at end of file
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index d42291cd3c..03a5a17493 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -246,10 +246,12 @@
network = list("thunder")
density = FALSE
circuit = null
- interaction_flags_atom = NONE // interact() is called by BigClick()
+ //interaction_flags_atom = NONE // interact() is called by BigClick()
var/icon_state_off = "entertainment_blank"
var/icon_state_on = "entertainment"
+/* If someone would like to try to get this long-distance viewing thing working, be my guest. I tried everything I could possibly think of and it just refused to operate correctly.
+
/obj/machinery/computer/security/telescreen/entertainment/Initialize()
. = ..()
RegisterSignal(src, COMSIG_CLICK, .proc/BigClick)
@@ -258,6 +260,8 @@
/obj/machinery/computer/security/telescreen/entertainment/proc/BigClick()
interact(usr)
+*/
+
/obj/machinery/computer/security/telescreen/entertainment/proc/notify(on)
if(on && icon_state == icon_state_off)
say(pick(
@@ -278,7 +282,7 @@
name = "circuitry telescreen"
desc = "Used for watching the other eggheads from the safety of the circuitry lab."
network = list("rd")
-
+
/obj/machinery/computer/security/telescreen/ce
name = "\improper Chief Engineer's telescreen"
desc = "Used for watching the engine, telecommunications and the minisat."
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index a2a395c51c..5bc0ed20b0 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -361,8 +361,12 @@
// them win or lose based on cryo is silly so we remove the objective.
if(istype(O,/datum/objective/mutiny) && O.target == mob_occupant.mind)
qdel(O)
- else if(O.target && istype(O.target, /datum/mind) && !O.check_midround_completion())
- if(O.target == mob_occupant.mind && O.owner?.current)
+ else if(O.target && istype(O.target, /datum/mind))
+ if(O.target != mob_occupant.mind)
+ continue
+ if(O.check_midround_completion())
+ continue
+ if(O.owner && O.owner.current)
to_chat(O.owner.current, "
You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")
O.target = null
spawn(10) //This should ideally fire after the occupant is deleted.
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 3cd2011334..bed006d0b5 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -55,6 +55,7 @@
icon_state = "[src.base_state]open"
/obj/machinery/door/window/update_atom_colour()
+ . = ..()
if((color && (color_hex2num(color) < 255)))
visible = TRUE
if(density)
diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm
index d5f53b2f1c..b0e801137d 100644
--- a/code/game/objects/effects/mines.dm
+++ b/code/game/objects/effects/mines.dm
@@ -16,7 +16,7 @@
return
. = ..()
- if(AM.movement_type & FLYING)
+ if(AM.movement_type & FLYING || iseffect(AM))
return
triggermine(AM)
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 32d65041bc..8526727464 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -388,6 +388,8 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \
new/datum/stack_recipe("mining satchel", /obj/item/storage/bag/ore, 4), \
new/datum/stack_recipe("chemistry bag", /obj/item/storage/bag/chemistry, 4), \
new/datum/stack_recipe("bio bag", /obj/item/storage/bag/bio, 4), \
+ new/datum/stack_recipe("material bag", /obj/item/storage/bag/material, 4), \
+ new/datum/stack_recipe("construction bag", /obj/item/storage/bag/construction, 4), \
null, \
new/datum/stack_recipe("string", /obj/item/weaponcrafting/string, 1, time = 10), \
new/datum/stack_recipe("improvised gauze", /obj/item/stack/medical/gauze/improvised, 1, 2, 6), \
diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm
index ab1aab32a0..3dd48237d6 100644
--- a/code/game/objects/items/storage/bags.dm
+++ b/code/game/objects/items/storage/bags.dm
@@ -457,6 +457,9 @@
STR.display_numerical_stacking = FALSE
STR.can_hold = typecacheof(list(/obj/item/ammo_box/magazine, /obj/item/ammo_casing))
+/*
+Bag for holding materials
+*/
/obj/item/storage/bag/material
name = "material pouch"
desc = "A pouch for sheets and RCD ammunition that manages to hang where you would normally put things in your pocket."
@@ -474,3 +477,24 @@
STR.max_items = 2
STR.display_numerical_stacking = TRUE
STR.can_hold = typecacheof(list(/obj/item/rcd_ammo, /obj/item/stack/sheet))
+
+/*
+ * Construction bag (for engineering, holds stock parts and electronics)
+ */
+
+/obj/item/storage/bag/construction
+ name = "construction bag"
+ icon = 'icons/obj/tools.dmi'
+ icon_state = "construction_bag"
+ desc = "A bag for storing small construction components."
+ w_class = WEIGHT_CLASS_TINY
+ resistance_flags = FLAMMABLE
+
+/obj/item/storage/bag/construction/ComponentInitialize()
+ . = ..()
+ var/datum/component/storage/STR = GetComponent(/datum/component/storage)
+ STR.max_combined_w_class = 100
+ STR.max_items = 50
+ STR.max_w_class = WEIGHT_CLASS_SMALL
+ STR.insert_preposition = "in"
+ STR.can_hold = typecacheof(list(/obj/item/stack/ore/bluespace_crystal, /obj/item/assembly, /obj/item/stock_parts, /obj/item/reagent_containers/glass/beaker, /obj/item/stack/cable_coil, /obj/item/circuitboard, /obj/item/electronics,/obj/item/wallframe/camera))
diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm
index cde6f5bd5a..4080a45af0 100644
--- a/code/game/objects/items/storage/fancy.dm
+++ b/code/game/objects/items/storage/fancy.dm
@@ -17,9 +17,6 @@
/obj/item/storage/fancy
icon = 'icons/obj/food/containers.dmi'
- icon_state = "donutbox6"
- name = "donut box"
- desc = "Mmm. Donuts."
resistance_flags = FLAMMABLE
var/icon_type = "donut"
var/spawn_type = null
@@ -59,18 +56,22 @@
fancy_open = TRUE
update_icon()
+#define DONUT_INBOX_SPRITE_WIDTH 3
+
/*
* Donut Box
*/
/obj/item/storage/fancy/donut_box
- icon = 'icons/obj/food/containers.dmi'
- icon_state = "donutbox6"
- icon_type = "donut"
name = "donut box"
+ desc = "Mmm. Donuts."
+ icon = 'icons/obj/food/donut.dmi'
+ icon_state = "donutbox_inner"
+ icon_type = "donut"
spawn_type = /obj/item/reagent_containers/food/snacks/donut
fancy_open = TRUE
custom_price = PRICE_NORMAL
+ appearance_flags = KEEP_TOGETHER
/obj/item/storage/fancy/donut_box/ComponentInitialize()
. = ..()
@@ -78,6 +79,36 @@
STR.max_items = 6
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/donut))
+/obj/item/storage/fancy/donut_box/PopulateContents()
+ . = ..()
+ update_icon()
+
+/obj/item/storage/fancy/donut_box/update_icon_state()
+ if(fancy_open)
+ icon_state = "donutbox_inner"
+ else
+ icon_state = "donutbox"
+
+/obj/item/storage/fancy/donut_box/update_overlays()
+ . = ..()
+
+ if (!fancy_open)
+ return
+
+ var/donuts = 0
+
+ for (var/_donut in contents)
+ var/obj/item/reagent_containers/food/snacks/donut/donut = _donut
+ if (!istype(donut))
+ continue
+
+ . += image(icon = initial(icon), icon_state = donut.in_box_sprite(), pixel_x = donuts * DONUT_INBOX_SPRITE_WIDTH)
+ donuts += 1
+
+ . += image(icon = initial(icon), icon_state = "donutbox_top")
+
+#undef DONUT_INBOX_SPRITE_WIDTH
+
/*
* Egg Box
*/
diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm
index 2a4856f60e..acddf27b6f 100644
--- a/code/game/objects/structures/barsigns.dm
+++ b/code/game/objects/structures/barsigns.dm
@@ -271,6 +271,11 @@
icon = "the_lightbulb"
desc = "A cafe popular among moths and moffs. Once shut down for a week after the bartender used mothballs to protect her spare uniforms."
+/datum/barsign/goose
+ name = "The Loose Goose"
+ icon = "goose"
+ desc = "Drink till you puke and/or break the laws of reality!"
+
/datum/barsign/cybersylph
name = "Cyber Sylph's"
icon = "cybersylph"
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index 05798df953..3cbeae1ce8 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -30,6 +30,8 @@
new /obj/item/construction/rcd/loaded/upgraded(src)
new /obj/item/clothing/suit/hooded/wintercoat/ce(src)
new /obj/item/clothing/head/beret/ce/white(src)
+ new /obj/item/storage/bag/construction(src)
+ new /obj/item/storage/bag/material(src)
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies locker"
@@ -78,6 +80,8 @@
new /obj/item/clothing/glasses/meson/engine(src)
new /obj/item/storage/box/emptysandbags(src)
new /obj/item/cartridge/engineering(src)
+ new /obj/item/storage/bag/construction(src)
+ new /obj/item/storage/bag/material(src)
/obj/structure/closet/secure_closet/atmospherics
name = "\proper atmospheric technician's locker"
@@ -99,6 +103,8 @@
new /obj/item/clothing/glasses/meson/engine/tray(src)
new /obj/item/extinguisher/advanced(src)
new /obj/item/cartridge/atmos(src)
+ new /obj/item/storage/bag/construction(src)
+ new /obj/item/storage/bag/material(src)
/*
* Empty lockers
diff --git a/code/game/say.dm b/code/game/say.dm
index a5691ad11f..61dd9c0879 100644
--- a/code/game/say.dm
+++ b/code/game/say.dm
@@ -96,18 +96,16 @@ GLOBAL_LIST_INIT(freqtospan, list(
return "[say_mod(input, message_mode)][spanned ? ", \"[spanned]\"" : ""]"
// Citadel edit [spanned ? ", \"[spanned]\"" : ""]"
-#define ENCODE_HTML_EPHASIS(input, char, html, varname) \
- var/static/regex/##varname = regex("[char]{2}(.+?)[char]{2}", "g");\
- input = varname.Replace_char(input, "<[html]>$1[html]>")
-
+/// Converts specific characters, like +, |, and _ to formatted output.
/atom/movable/proc/say_emphasis(input)
- ENCODE_HTML_EPHASIS(input, "\\|", "i", italics)
- ENCODE_HTML_EPHASIS(input, "\\+", "b", bold)
- ENCODE_HTML_EPHASIS(input, "_", "u", underline)
+ var/static/regex/italics = regex(@"\|(\S[\w\W]*?\S)\|", "g")
+ input = italics.Replace_char(input, "$1")
+ var/static/regex/bold = regex(@"\+(\S[\w\W]*?\S)\+", "g")
+ input = bold.Replace_char(input, "$1")
+ var/static/regex/underline = regex(@"_(\S[\w\W]*?\S)_", "g")
+ input = underline.Replace_char(input, "$1")
return input
-#undef ENCODE_HTML_EPHASIS
-
/// Quirky citadel proc for our custom sayverbs to strip the verb out. Snowflakey as hell, say rewrite 3.0 when?
/atom/movable/proc/quoteless_say_quote(input, list/spans = list(speech_span), message_mode)
if((input[1] == "!") && (length_char(input) > 1))
diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm
index 346f0e9790..05f7465b03 100644
--- a/code/modules/admin/permissionedit.dm
+++ b/code/modules/admin/permissionedit.dm
@@ -287,7 +287,7 @@
R = rank_names[new_rank]
if(!R) //rank with that name doesn't exist yet - make it
if(D)
- R = new(new_rank, D.rank.rights) //duplicate our previous admin_rank but with a new name
+ R = new(new_rank, D.rank.rights, D.rank.exclude_rights, D.rank.can_edit_rights) //duplicate our previous admin_rank but with a new name
else
R = new(new_rank) //blank new admin_rank
GLOB.admin_ranks += R
diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm
index 41662c1cad..ffe5371619 100644
--- a/code/modules/admin/secrets.dm
+++ b/code/modules/admin/secrets.dm
@@ -131,7 +131,7 @@
for(var/mob/living/mob in thunderdome)
qdel(mob) //Clear mobs
for(var/obj/obj in thunderdome)
- if(!istype(obj, /obj/machinery/camera))
+ if(!istype(obj, /obj/machinery/camera) && !istype(obj, /obj/effect/abstract/proximity_checker))
qdel(obj) //Clear objects
var/area/template = locate(/area/tdome/arena_source)
diff --git a/code/modules/admin/verbs/individual_logging.dm b/code/modules/admin/verbs/individual_logging.dm
index ed5f9af6fe..9ad07ac1b2 100644
--- a/code/modules/admin/verbs/individual_logging.dm
+++ b/code/modules/admin/verbs/individual_logging.dm
@@ -5,7 +5,7 @@
var/ntype = text2num(type)
//Add client links
- var/dat = ""
+ var/list/dat = list()
if(M.client)
dat += "
Client